From a133079a9b6cf3ca6d453f9c96a32be6fc5de4cd Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov Date: Sat, 30 Oct 2021 10:31:26 -0400 Subject: [PATCH] ducking-proxy: init at 2021-07-23 Quoting official README, The Duckling proxy is a scheme-specific filtering proxy for Gemini clients to access the web. It behaves as a normal Gemini server, except it retrieves its content from the web. You can tailor its behaviour when it starts, to tailor how web pages are transformed to gemtext. It is scheme-specific, i.e. it is designed to handle HTTP requests only. Web pages are translated to text/gemini. Other web resources are returned directly. The primary intended use case for this proxy is as a personal proxy to make the web accessible to your favourite Gemini client. --- pkgs/servers/duckling-proxy/default.nix | 21 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/servers/duckling-proxy/default.nix diff --git a/pkgs/servers/duckling-proxy/default.nix b/pkgs/servers/duckling-proxy/default.nix new file mode 100644 index 000000000000..445e78234fbb --- /dev/null +++ b/pkgs/servers/duckling-proxy/default.nix @@ -0,0 +1,21 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule { + pname = "duckling-proxy"; + version = "2021-07-23-unstable"; + + src = fetchFromGitHub { + owner = "LukeEmmet"; + repo = "duckling-proxy"; + rev = "e2bfd73a60d7afa43f13a9d420d514131fee8fd1"; + sha256 = "134hnfa4f5sb1z1j5684wmqzascsrlagx8z36i1470yggb00j4hr"; + }; + vendorSha256 = "0wxk1a5gn9a7q2kgq11a783rl5cziipzhndgp71i365y3p1ssqyf"; + + meta = with lib; { + description = "Gemini proxy to access the Small Web"; + homepage = "https://github.com/LukeEmmet/duckling-proxy"; + license = licenses.mit; + maintainers = with maintainers; [ kaction ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9865a76b7b12..18480cb0a1ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21374,6 +21374,8 @@ with pkgs; squid = callPackage ../servers/squid { }; + duckling-proxy = callPackage ../servers/duckling-proxy { }; + sslh = callPackage ../servers/sslh { }; thttpd = callPackage ../servers/http/thttpd { };