Jakub Narebski wrote:
The ISP I use (Telekomunikacja Polska S.A., aka TP) made some
unannounced changes for ADSL service (Neostrada) which made it block
repo.or.cz (and of course its aliases, including git.or.cz where git
wiki resides).
Thank you all for your help with arriving at solution. I'll describe it
below; perhaps it would help somebody else (now that it is in mailing
list archive).
First, let me explain what I am working with:
I have access to shell account with set up SSH key access; let's name
this machine host.example.com. I don't have admin rights there, and
quota is quite tight; I have installed netcat (nc) in ~/bin - it is
only 22 kB.
I don't know where to find SOCKS5 proxy, and I don't have 'tsocks'
installed either on my computer, or on shell account... I think.
Now, solutions:
1. For reading gitweb at repo.or.cz, and for reading and editing git
wiki at http://git.or.cz/gitwiki/ I use one of free HTTP proxies:
http://www.4proxy.de (first such proxy I have found that has an
option to _not_ obfuscate URLs; it still unnecessary escapes some
things like '/' in the query argument).
2. For pushing changes to repo.or.cz I use SSH tunnel (I could have
used ProxyCommand solution with netcat instead[1]). I run:
$ autossh -M 2000 -f -N -L 2222:repo.or.cz:22 jnareb@host.example.com
at startup, and I have set the following in ~/.ssh/config:
# TP S.A. blocks repo.or.cz
Host repo.or.cz
#ssh -f -N -L 2222:repo.or.cz:22 host.example.com
NoHostAuthenticationForLocalhost yes
HostName localhost
Port 2222
[1] Alternate solution:
# TP S.A. blocks repo.or.cz
Host repo.or.cz
ProxyCommand ssh host.example.com exec /home/jnareb/bin/nc %h %p
3. For fetching changes via git:// protocol from repo.or.cz I use the
following setup in git config:
[core]
gitProxy = ssh-proxy for "repo.or.cz"
Unfortunately example from Documentation/config.txt with "ssh" as
git proxy command doesn't work, and neither putting command with
options (e.g. "ssh host.example.com /home/jnareb/bin/nc") doesn't
work: the command is _not_ split on whitespace. So I had to use
helper script ~/bin/ssh-proxy:
#!/bin/sh
ssh host.example.com /home/jnareb/bin/nc "$1" "$2"
I hope that would help somebody... and if somebody notices better
solution, hs/she would provide me with it :-)
--
Jakub Narebski
Poland