depot/third_party/nixpkgs/pkgs/tools/networking/http2tcp/default.nix

48 lines
1.2 KiB
Nix
Raw Normal View History

{ 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 = "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;
};
}