Is it possible to use bzr on Launchpad without using port 22?

I'm trying to pull from and push to bazaar branches hosted at launchpad.net but my internet provider is blocking port 22. Is it possible to use port 80 or 443 instead?


Solution 1:

Apparently! With corkscrew.

sudo apt-get install corkscrew

And edit ~/.ssh/config

Host *.launchpad.net
   ProxyCommand corkscrew <proxy> <port> %h %p
   User <your launchpad account name>

Obviously sub out all the <fields> but after that any ssh command (including bzr+ssh commands) should use your proxy. I'm certain some proxies will not allow this but there are enough people suggesting this to hint that this might work for you.

Edit: Re-reading your question, I suspect there's every possibility where there's no proxy in place, or at least if there is, it's transparent and not something you can declare, as this requires you do.

In that case, you may need to fall back on an external proxy. If you have your own server, installing tinyproxy or another proxy solution (even mod_proxy in Apache) on it. As long as it's not a million miles away from you, it shouldn't add too much lag and remember, this only applies to SSH to launchpad.

I you continue to get gyp from shoddy ISPs, cut them out completely. Most ISPs support VPN connections and do nothing to interfere with them because people require them for work. If you can VPN into a better network, you can do whatever you like.

Solution 2:

Pulls seem to work with this syntax:

bzr pull http://bazaar.launchpad.net:80/~ubuntu-branches/ubuntu/raring/gnome-control-center/raring/

Pushes fail with this error:

bzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net:80/~ubuntu-branches/ubuntu/raring/gnome-control-center/raring/.bzr/branch/lock): Transport operation not possible: http does not support mkdir()