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-----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-----