From 3a30b891be6a208b56b0343f58321497457254be Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 19 Sep 2023 15:41:54 +0000 Subject: [PATCH] sane-vpn-{up,down}: consolidate --- hosts/common/programs/assorted.nix | 3 +- pkgs/additional/sane-scripts/default.nix | 9 ++---- pkgs/additional/sane-scripts/src/sane-vpn | 29 +++++++++++++++++++ .../additional/sane-scripts/src/sane-vpn-down | 20 ------------- pkgs/additional/sane-scripts/src/sane-vpn-up | 20 ------------- 5 files changed, 32 insertions(+), 49 deletions(-) create mode 100755 pkgs/additional/sane-scripts/src/sane-vpn delete mode 100755 pkgs/additional/sane-scripts/src/sane-vpn-down delete mode 100755 pkgs/additional/sane-scripts/src/sane-vpn-up diff --git a/hosts/common/programs/assorted.nix b/hosts/common/programs/assorted.nix index d736f555..123e073c 100644 --- a/hosts/common/programs/assorted.nix +++ b/hosts/common/programs/assorted.nix @@ -44,8 +44,7 @@ in "sane-scripts.ssl-dump" "sane-scripts.sudo-redirect" "sane-scripts.sync-from-servo" - "sane-scripts.vpn-down" - "sane-scripts.vpn-up" + "sane-scripts.vpn" "sane-scripts.which" "sane-scripts.wipe-browser" ]; diff --git a/pkgs/additional/sane-scripts/default.nix b/pkgs/additional/sane-scripts/default.nix index 1fe9ad00..3f84627d 100644 --- a/pkgs/additional/sane-scripts/default.nix +++ b/pkgs/additional/sane-scripts/default.nix @@ -197,13 +197,8 @@ let pkgs = [ "ffmpeg" "sox" ]; pyPkgs = [ "unidecode" ]; }; - vpn-down = static-nix-shell.mkBash { - pname = "sane-vpn-down"; - src = ./src; - pkgs = [ "coreutils-full" "gnugrep" "gnused" "sane-scripts.ip-check" "systemd" ]; - }; - vpn-up = static-nix-shell.mkBash { - pname = "sane-vpn-up"; + vpn = static-nix-shell.mkBash { + pname = "sane-vpn"; src = ./src; pkgs = [ "coreutils-full" "gnugrep" "gnused" "sane-scripts.ip-check" "systemd" ]; }; diff --git a/pkgs/additional/sane-scripts/src/sane-vpn b/pkgs/additional/sane-scripts/src/sane-vpn new file mode 100755 index 00000000..48ed9df5 --- /dev/null +++ b/pkgs/additional/sane-scripts/src/sane-vpn @@ -0,0 +1,29 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils-full -p gnugrep -p gnused -p sane-scripts.ip-check -p systemd + +oper="$1" +region="$2" +# region should be e.g. `us` or `ukr` + +vpns=$(systemctl list-unit-files | grep wg-quick-ovpnd- | cut -f 1 -d ' ' | sed s'/^wg-quick-ovpnd-\([a-zA-Z-]*\)\.service$/\1/g') + +if ! [ $(echo "$vpns" | grep "^$region$") ] +then + echo "invalid vpn name '$region'" + echo "choices:" + echo "$vpns" + exit 1 +fi + +iface=wg-quick-ovpnd-$region.service + +echo before: $(sane-ip-check --no-upnp) +if [ "$oper" == up ]; then + sudo systemctl start $iface +elif [ "$oper" == down ]; then + sudo systemctl stop $iface +else + echo "invalid operation '$oper'" + exit 1 +fi +echo after: $(sane-ip-check --no-upnp) diff --git a/pkgs/additional/sane-scripts/src/sane-vpn-down b/pkgs/additional/sane-scripts/src/sane-vpn-down deleted file mode 100755 index 20d711dd..00000000 --- a/pkgs/additional/sane-scripts/src/sane-vpn-down +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p coreutils-full -p gnugrep -p gnused -p sane-scripts.ip-check -p systemd - -# first arg should be the region, e.g. `us` or `ukr` - -vpns=$(systemctl list-unit-files | grep wg-quick-ovpnd- | cut -f 1 -d ' ' | sed s'/^wg-quick-ovpnd-\([a-zA-Z-]*\)\.service$/\1/g') - -if ! [ $(echo "$vpns" | grep "^$1$") ] -then - echo "invalid vpn name '$1'" - echo "choices:" - echo "$vpns" - exit 1 -fi - -iface=wg-quick-ovpnd-$1.service - -echo vpn: $(sane-ip-check --no-upnp) -sudo systemctl stop $iface -echo plain: $(sane-ip-check --no-upnp) diff --git a/pkgs/additional/sane-scripts/src/sane-vpn-up b/pkgs/additional/sane-scripts/src/sane-vpn-up deleted file mode 100755 index 885358c5..00000000 --- a/pkgs/additional/sane-scripts/src/sane-vpn-up +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p coreutils-full -p gnugrep -p gnused -p sane-scripts.ip-check -p systemd - -# first arg should be the region, e.g. `us` or `ukr` - -vpns=$(systemctl list-unit-files | grep wg-quick-ovpnd- | cut -f 1 -d ' ' | sed s'/^wg-quick-ovpnd-\([a-zA-Z-]*\)\.service$/\1/g') - -if ! [ $(echo "$vpns" | grep "^$1$") ] -then - echo "invalid vpn name '$1'" - echo "choices:" - echo "$vpns" - exit 1 -fi - -iface=wg-quick-ovpnd-$1.service - -echo plain: $(sane-ip-check --no-upnp) -sudo systemctl start $iface -echo vpn: $(sane-ip-check --no-upnp)