Guest User

Untitled

a guest
Sep 4th, 2017
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #! /bin/bash
  2. #
  3. # Enable port forwarding
  4. #
  5. # Requirements:
  6. # your Private Internet Access user and password as arguments
  7. #
  8. # Usage:
  9. # ./port_forward.sh <user> <password>
  10.  
  11. error( )
  12. {
  13. echo "$@" 1>&2
  14. exit 1
  15. }
  16.  
  17. error_and_usage( )
  18. {
  19. echo "$@" 1>&2
  20. usage_and_exit 1
  21. }
  22.  
  23. usage( )
  24. {
  25. echo "Usage: `dirname $0`/$PROGRAM <user> <password>"
  26. }
  27.  
  28. usage_and_exit( )
  29. {
  30. usage
  31. exit $1
  32. }
  33.  
  34. version( )
  35. {
  36. echo "$PROGRAM version $VERSION"
  37. }
  38.  
  39.  
  40. port_forward_assignment( )
  41. {
  42. #echo 'Loading port forward assignment information..'
  43. if [ "$(uname)" == "Linux" ]; then
  44. local_ip=`/sbin/ifconfig tun0|grep -oE "inet *10\.[0-9]+\.[0-9]+\.[0-9]+"|tr -d "a-z :"|tee /tmp/vpn_ip`
  45. client_id=`head -n 100 /dev/urandom | md5sum | tr -d " -"`
  46. fi
  47. if [ "$(uname)" == "Darwin" ]; then
  48. local_ip=`/sbin/ifconfig tun0 | grep "inet " | cut -d\ -f2|tee /tmp/vpn_ip`
  49. client_id=`head -n 100 /dev/urandom | md5 -r | tr -d " -"`
  50. fi
  51. json=`wget -q --post-data="user=$USER&pass=$PASSWORD&client_id=$client_id&local_ip=$local_ip" -O - 'https://www.privateinternetaccess.com/vpninfo/port_forward_assignment' | head -1`
  52. echo $json
  53. }
  54.  
  55. EXITCODE=0
  56. PROGRAM=`basename $0`
  57. VERSION=1.0
  58. USER=$1
  59. PASSWORD=$2
  60.  
  61. while test $# -lt 2
  62. do
  63. case $1 in
  64. --usage | --help | -h )
  65. usage_and_exit 0
  66. ;;
  67. --version | -v )
  68. version
  69. exit 0
  70. ;;
  71. *)
  72. error_and_usage "Unrecognized option: $1"
  73. ;;
  74. esac
  75. shift
  76. done
  77.  
  78. port_forward_assignment
  79.  
  80. exit 0
Add Comment
Please, Sign In to add comment