http2tcp tunnel

The http2tcp tools allow to tunnel tcp connections (presumably ssh) via syntactically correct http requests. It is designed to work in the presence of so-called "transparent" store-and-forward proxies disallowing POST requests.

It also turned out to be useful to stabilise connections where the client's internet connection is unreliable (frequent long network outages, rapidly changing IP address, etc).

http2tcp-server acts as a scgi server and so can be scgi-mounted in the configuration of your web server. It is implemented using the wsgitools.

http2tcp-client is a stand-alone program realising a tcp connection via http to the server. The intended use is to have it as ProxyCommand in your ssh configuration file.


The latest release of http2tcp is 0.5 (Changelog). It is freely available and may be distributed under terms and conditions of a 3-clause BSD-style licence. You can either download it as tar ball, browse its contents, or install it as a FreeBSD port.

The http2tcp tools are also available via anonymous git. Just use the following command.

git clone git://isilmar.linta.de/aehlig/http2tcp.git

For any questions or bug reports please feel free to contact me (Klaus Aehlig). Patches and pull requests are welcome.



All versions are available on the following stable URLs.

http2tcp-0.5.tar.gz
http2tcp-0.5.port.shar
http2tcp-0.4.tar.gz
http2tcp-0.4.port.shar
http2tcp-0.3.tar.gz
http2tcp-0.3.port.shar
http2tcp-0.2.tar.gz
http2tcp-0.2.port.shar
http2tcp-0.1.tar.gz
http2tcp-0.1.port.shar
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

MD5 (http2tcp-0.5.tar.gz) = 02165b55077738a782e3fae98e899138
SHA256 (http2tcp-0.5.tar.gz) = 34fb83c091689dee398ca80db76487e0c39abb17cef390d845ffd888009a5caa
MD5 (http2tcp-0.5.port.shar) = 5f7cb650204a22d38e33fd7026d1a475
SHA256 (http2tcp-0.5.port.shar) = fb5e8075af24e41cfbb199ed0eed97e347b554ec0e80b77531f242c4bff4a133
MD5 (http2tcp-0.4.tar.gz) = 83653df9cfaf72fc30fefdc2acd77afd
SHA256 (http2tcp-0.4.tar.gz) = b43bda6be838d30a7e873f2956273085f5e7aa267b1d7319ac9112a328bbceec
MD5 (http2tcp-0.4.port.shar) = 851dff002952914a88f650c3db726988
SHA256 (http2tcp-0.4.port.shar) = 57fef613f2b6f6064a077d2d29677440fc7bb3438bb6b70946ca3ff44f5f687d
MD5 (http2tcp-0.3.tar.gz) = b03a9d14da98600c170d4586e9518a3f
SHA256 (http2tcp-0.3.tar.gz) = d2446277b3beb0e3adee7839015c469baa8122a1acb79674d9c747cac832d8ab
MD5 (http2tcp-0.3.port.shar) = 204e27a138692b42143dfc58a6c89a55
SHA256 (http2tcp-0.3.port.shar) = 4f8af9bf581c15430006bbfa1500b88d20730268ec676682f0a3399516e1026b
MD5 (http2tcp-0.2.tar.gz) = fcd9c4e8add7674dd399dd9ab82a15a3
SHA256 (http2tcp-0.2.tar.gz) = dd85bbd52284352fdc8978bef26c480f499f57261bba2349c81a9cee37b56360
MD5 (http2tcp-0.2.port.shar) = 94895c7e4fbc3730690805ce6efb541e
SHA256 (http2tcp-0.2.port.shar) = 076c8ec8b5f5c967db0be380d5adafa67c290bf1dc88e01ea05a937de1e26682
MD5 (http2tcp-0.1.tar.gz) = 81635ddd43e2aebb5fd02aec2c4458b4
SHA256 (http2tcp-0.1.tar.gz) = 79fc7a4375228d9ca68f62fe233f596aa3e5f231c13037ee488bf18049d7567b
MD5 (http2tcp-0.1.port.shar) = 92b225ccaa0f4171fd0bccaaec8fc4b0
SHA256 (http2tcp-0.1.port.shar) = 30fcf208061684417827a308494a049e7d2f9c479ebcc5d49c807d5e89b1f464

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEVGdlfIbrcljV/NX93T75Y5kfHsIFAl5kIH4ACgkQ3T75Y5kf
HsLXfw//SBoGmnbwe7LpGMRLBo/D5xr1ZcHHdNpCUYSvHtKhojhIIbp5m8Lt7fTB
EbaVvE2hK9OqmCI1/i4ici1UdaLnzS9HDNUdmwTRLGDnKObPs1G9be6LgvXIZIMJ
jKeybTU/4nmXJvGvBReH+rS9UkSy8zUq33BtE5/w1QtjOegaZx4M6arRAnu5VJCU
WhFsZY+ozLxd1ItI4KDUNqkRVc5BDrg6PpzBwqPboxZJRBU1bMz5yPd2nGLrm5L0
b+nm6SQOBW+4L3wtpXwwVD/KtmWLZu3l/sa1iziQNeA0Id4aaI+2ftMrtJaIpf35
uJf9pmqMgyfu9Ff6nxyLzjkxi4YaErlfQ3Qu3DGbBE/3ZtpIzsQbFwWbUC1qJA8F
gII0HgG+495hlZ+04l65GK14HGO9scJqp0YcUnxG19eL5HVArvPUnr+j7JrFQjvt
FqZZXm2Oh6Fotp7ozqVgx5Vj+ent5fmX1eB2c/uP+zCEnMax/GT6pXCl4HZpIToN
sh35i67kVNPOmWtx/71NVFhj2ikOz4c0e6X5h2+nibIFx2VAv/HdcWayC/fTcht9
FX3tjVFSmSEUAIkA1SUQy5N49v4R06oFOdJHtnz/rJA/otLcwe/eBmNRzy5vT8ie
m+PTRg/kQ0QBvy1+2DJyJa2ZwaSXXFGa8SMJSs8xaqwOjxUHItM=
=hVl3
-----END PGP SIGNATURE-----