summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/networking/curl-impersonate/default.nix27
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 29 insertions, 0 deletions
diff --git a/pkgs/tools/networking/curl-impersonate/default.nix b/pkgs/tools/networking/curl-impersonate/default.nix
new file mode 100644
index 00000000000..e00b1a77ef2
--- /dev/null
+++ b/pkgs/tools/networking/curl-impersonate/default.nix
@@ -0,0 +1,27 @@
+#TODO: It should be possible to build this from source, but it's currently a lot faster to just package the binaries.
+{ lib, stdenv, fetchzip, zlib, autoPatchelfHook }:
+stdenv.mkDerivation rec {
+  pname = "curl-impersonate-bin";
+  version = "v0.5.3";
+
+  src = fetchzip {
+    url = "https://github.com/lwthiker/curl-impersonate/releases/download/${version}/curl-impersonate-${version}.x86_64-linux-gnu.tar.gz";
+    sha256 = "sha256-+cH1swAIadIrWG9anzf0dcW6qyBjcKsUHFWdv75F49g=";
+    stripRoot = false;
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook zlib ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp * $out/bin
+  '';
+
+  meta = with lib; {
+    description = "curl-impersonate: A special build of curl that can impersonate Chrome & Firefox ";
+    homepage = "https://github.com/lwthiker/curl-impersonate";
+    license = with licenses; [ curl mit ];
+    maintainers = with maintainers; [ deliciouslytyped ];
+    platforms = platforms.linux; #TODO I'm unsure about the restrictions here, feel free to expand the platforms it if it works elsewhere.
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 37400140bb0..3ff47c6e953 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5511,6 +5511,8 @@ with pkgs;
 
   curlWithGnuTls = curl.override { gnutlsSupport = true; opensslSupport = false; };
 
+  curl-impersonate-bin = callPackage ../tools/networking/curl-impersonate { };
+
   curlie = callPackage ../tools/networking/curlie { };
 
   cunit = callPackage ../tools/misc/cunit { };