48 lines
1.3 KiB
Nix
48 lines
1.3 KiB
Nix
{ lib
|
|
, python3
|
|
, stdenv
|
|
, fetchurl
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "http2tcp";
|
|
version = "0.5";
|
|
|
|
src = fetchurl {
|
|
url = "https://www.linta.de/~aehlig/http2tcp/${pname}-${version}.tar.gz";
|
|
sha256 = "34fb83c091689dee398ca80db76487e0c39abb17cef390d845ffd888009a5caa";
|
|
};
|
|
|
|
buildInputs = [
|
|
(python3.withPackages (ps: [
|
|
ps.wsgitools
|
|
]))
|
|
];
|
|
|
|
dontBuild = true;
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/{bin,share/${pname}}
|
|
cp http2tcp* $out/bin
|
|
cp Protocol $out/share/${pname}/
|
|
'';
|
|
|
|
meta = with lib; {
|
|
maintainers = with maintainers; [ clkamp ];
|
|
description = "A tool for tunneling TCP connections via HTTP GET requests";
|
|
longDescription = ''
|
|
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).
|
|
'';
|
|
homepage = "https://www.linta.de/~aehlig/http2tcp/";
|
|
license = licenses.bsd3;
|
|
platforms = platforms.all;
|
|
};
|
|
}
|