diff options
-rw-r--r-- | pkgs/applications/networking/protonvpn-cli/default.nix | 46 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/applications/networking/protonvpn-cli/default.nix b/pkgs/applications/networking/protonvpn-cli/default.nix new file mode 100644 index 0000000000000..e79ca515b5182 --- /dev/null +++ b/pkgs/applications/networking/protonvpn-cli/default.nix @@ -0,0 +1,46 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, coreutils +, openvpn, python, dialog, wget, update-resolv-conf }: + +let + expectedUpdateResolvPath = "/etc/openvpn/update-resolv-conf"; + actualUpdateResolvePath = "${update-resolv-conf}/libexec/openvpn/update-resolv-conf"; + +in stdenv.mkDerivation rec { + name = "protonvpn-cli"; + version = "1.1.2"; + + src = fetchFromGitHub { + owner = "ProtonVPN"; + repo = "protonvpn-cli"; + rev = "v${version}"; + sha256 = "0xvflr8zf267n3dv63nkk4wjxhbckw56sqmyca3krf410vrd7zlv"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p "$out/bin" + substituteInPlace protonvpn-cli.sh \ + --replace ${expectedUpdateResolvPath} ${actualUpdateResolvePath} \ + --replace \$UID 0 \ + --replace /etc/resolv.conf /dev/null \ + --replace \ + " echo \"Connecting...\"" \ + " sed -ri 's@${expectedUpdateResolvPath}@${actualUpdateResolvePath}@g' \"\$openvpn_config\"; echo \"Connecting...\"" + cp protonvpn-cli.sh "$out/bin/protonvpn-cli" + ln -s "$out/bin/protonvpn-cli" "$out/bin/pvpn" + ''; + + postInstallPhase = '' + wrapProgram $out/protonvpn-cli \ + --prefix PATH : ${lib.makeBinPath [ coreutils openvpn python dialog wget update-resolv-conf ]} + ''; + + meta = with stdenv.lib; { + description = "ProtonVPN Command-Line Tool"; + homepage = https://github.com/ProtonVPN/protonvpn-cli; + maintainers = with maintainers; [ caugner ]; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 092fefd429e11..7070661441326 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18791,6 +18791,8 @@ in protonmail-bridge = libsForQt5.callPackage ../applications/networking/protonmail-bridge { }; + protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { }; + psi = callPackage ../applications/networking/instant-messengers/psi { }; psi-plus = callPackage ../applications/networking/instant-messengers/psi-plus { }; |