Вы пробовали TCP-туннель на основе ssh?Если у вас есть сервер ssh, который (a) находится за пределами вашего брандмауэра и (b) позволяет переадресацию IP, вы можете сделать:
ssh -L localhost:9418:<remote>:9418 me@remote-ssh-server
или, если вам нужно запустить sshd на порту 443, чтобы обойти вашfirewall,
ssh -P 443 -L localhost:9418:<remote-host>:9418 me@remote-ssh-server
Затем, локально:
git checkout git://localhost/...
Очевидно, что это не прозрачно, и это немного запутанно - нет никаких инструментов сомнения, которые более конкретно нацелены наэта проблема.Тем не менее, я обычно использую этот метод, потому что он использует инструменты, которые я должен передать (ssh и дешевый виртуальный сервер, который я арендую).
(я на самом деле никогда не пробовал это с git-соединением, но не вижу причинпочему это не сработало. Я использовал его со многими другими протоколами с одним TCP-портом без проблем.)