diff --git a/pkgs/tools/networking/curl-impersonate/default.nix b/pkgs/tools/networking/curl-impersonate/default.nix new file mode 100644 index 000000000000..e00b1a77ef2b --- /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 37400140bb00..3ff47c6e953a 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 { };