Advertisement
vicf

ras_nordvpn

Apr 6th, 2020
50,831
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.57 KB | None | 0 0
  1. #! /bin/bash
  2. # $PROG: shell script for connecting NordVPN service with GUI
  3. # openvpn,zenity must be installed
  4. # nordvpn ovpn file must be store in /etc/openvpn
  5. # follow instruction download nordvpn ovpn file @ https://pimylifeup.com/raspberry-pi-nordvpn/
  6. # must using auto login,input these commands as below
  7. #
  8. # cd /etc/openvpn
  9. # sudo echo "nordvpn_userid" > pass.txt  ##change to your nord_id
  10. # sudo echo "nordvpn_password" >> pass.txt   ##change to your nord_password
  11. # sudo chmod 600 pass.txt
  12. # sudo for i in *.ovpn ; do sed -i 's/^auth-user-pass$/auth-user-pass pass.txt/' "$i" ; done
  13.  
  14. f_main(){
  15.     zenity --list --title="NordVPN" \
  16.     --column="Action" \
  17.     "Connect VPN service" \
  18.     "Disconnect VPN service" \
  19.     "Get My IP"
  20. }
  21.  
  22. n_vpn(){
  23.     #pick sg,jp,hk server only
  24.     server=($(ls jp*.ovpn sg*.ovpn hk*.ovpn kr*.ovpn))
  25.     howmany=${#server[@]}
  26.     r_pick=${server[$RANDOM % ${howmany}]}
  27.     echo "$r_pick"
  28. }
  29.  
  30. cd /etc/openvpn || { echo "Cannot change to /etc/openvpn path" >&2 ; exit 1 ; }
  31.  
  32. choice=$(f_main)
  33. r_server=$(n_vpn)
  34.  
  35. RET=0
  36. case "$choice" in
  37.        Connect*) process=$(pgrep openvpn)
  38.              if [ -z "$process" ]  ; then
  39.                  sudo openvpn "$r_server" 2> /dev/null >> /dev/null &
  40.              else
  41.                  zenity --warning  --title="NordVPN" \
  42.                 --width=200 --height=100 \
  43.                 --text="Already Connected"
  44.                  RET=2
  45.              fi
  46.              ;;
  47.     Disconnect*) sudo killall -9 openvpn &> /dev/null
  48.              ;;
  49.            Get*) zenity --info --text=$(wget -qO- ifconfig.co) \
  50.                 --title="MY IP" \
  51.                 --width=200 --height=100
  52.              ;;
  53.  
  54. esac
  55.  
  56. exit $RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement