All Projects → hook-s3c → vpngate-automator

hook-s3c / vpngate-automator

Licence: MIT license
Python script to pull down valid OpenVPN configs from vpngate.net, and launch

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to vpngate-automator

droidovpn
An unofficial VPN Gate client for Android.
Stars: ✭ 65 (+333.33%)
Mutual labels:  vpn, vpngate
Geolocate-IP-Browser-Extension
A browser extension, which shows you the origin of your IP address.
Stars: ✭ 21 (+40%)
Mutual labels:  vpn
grpc-vpn
🍄 VPN supporting authentication such as Google OpenID Connect or AWS IAM ..., over GRPC.
Stars: ✭ 49 (+226.67%)
Mutual labels:  vpn
VPN
Personal vpn using v2ray and shadowsocks hosted on heroku
Stars: ✭ 154 (+926.67%)
Mutual labels:  vpn
iit-kgp-network
Information repository and Solutions on IIT KGP Internet Problems.
Stars: ✭ 28 (+86.67%)
Mutual labels:  vpn
autovpn2
OpenVPN VPN Gate Client for Linux, connects you to a random Free VPN in a country of your choice by country code.
Stars: ✭ 30 (+100%)
Mutual labels:  vpn
mozilla-vpn-client
A fast, secure and easy to use VPN. Built by the makers of Firefox.
Stars: ✭ 261 (+1640%)
Mutual labels:  vpn
ip2proxy-nodejs
IP2Proxy Node.js module allows users to query an IP address to determine if it was being used as open proxy, web proxy, VPN anonymizer and TOR exits.
Stars: ✭ 35 (+133.33%)
Mutual labels:  vpn
EtornamVpnFlutter
A UI implementation of a VPN app in Flutter
Stars: ✭ 62 (+313.33%)
Mutual labels:  vpn
hide.client.linux
Hide.me CLI VPN client for Linux
Stars: ✭ 41 (+173.33%)
Mutual labels:  vpn
ezpptp
Easy PPTP VPN setup script for Debian based VPS
Stars: ✭ 87 (+480%)
Mutual labels:  vpn
resources
Awesome resources - 网络资源
Stars: ✭ 27 (+80%)
Mutual labels:  vpn
Skeleton
Skeleton is a Social Engineering tool attack switcher
Stars: ✭ 44 (+193.33%)
Mutual labels:  vpn
swanc
🦆 StrongSwan based VPN Controller for Kubernetes
Stars: ✭ 31 (+106.67%)
Mutual labels:  vpn
desktop-app
Official IVPN Desktop app
Stars: ✭ 141 (+840%)
Mutual labels:  vpn
openconnect-gui-menu-bar
OpenConnect Menu Bar - Connect/Disconnect/Status - for Mac OS X (supports Duo push/sms/phone, or Yubikey, Google Authenticator, Duo, or any TOTP)
Stars: ✭ 56 (+273.33%)
Mutual labels:  vpn
client-library-apple
Private Internet Access - Client library for Apple platforms
Stars: ✭ 26 (+73.33%)
Mutual labels:  vpn
auto-change-tor-ip
Automatically change tor ip address over time when accessing the internet. Make it private and safe for you
Stars: ✭ 29 (+93.33%)
Mutual labels:  vpn
tulingx
TULINGX(图灵)VPN下载页 翻墙 代理 科学上网 外网 加速器 梯子 路由
Stars: ✭ 59 (+293.33%)
Mutual labels:  vpn
softether-docker
container for Softether Server based on Alpine
Stars: ✭ 15 (+0%)
Mutual labels:  vpn

VPN Gate auto-grabber

Greetz

shouts to sh3llg0d, an0n_l1t3, daemochi, akatz!!!!

Overview

You need a VPN if you want to keep prying eyes away from your network traffic - big brother, network admins, bad actors.

Use this script to grab a free VPN from vpngate.net

Quickstart

git clone https://github.com/hook-s3c/vpngate-automator.git
cd vpngate-automator
sudo chmod +x ./fetchvpns.py
pip install -r ./requirements.txt

./fetchvpns.py

Requirements

Should work on all Debian systems, tested on Ubuntu 16.04. You will neeed to install OpenVPN on your system.

apt-get install openvpn
apt-get install python-notify

Breakdown

  1. initial load will pull down the CSV, parse and output it to the console
  2. you will be asked which country shortcode to filter by
  3. after choosing a country shortcode, you will then be presented with the filtered results
  4. the program will then ask you to choose a VPN config by the identifier in the first column
  5. choose an identifier and the program will create the OpenVPN config file in ./.vpnconfigs/
  6. it will then run the openvpn client with escalated privileges and you will now be tunnelled to another country
  7. profit!

Consider a firewall (optional)

After investing some time in Wireshark, I noticed that some traffic liked to leak outside of the VPN - this part will help close this down.

This script will automatically generate a UFW profile from a template found in ./templates/.

  • export ufw rules
  • helpful output to explain which iptables/firewall rules to import
apt-get install ufw
apt-get install gufw

Steps

  1. Run script with optional firewall paramter --firewall
  2. Open GUFW
  3. change permissions on file; sudo chmod 0600 ./templates/output/ufwrules.profile
  4. file > import profile
  5. choose ufwrules from dropdown
  6. press enter to launch the VPN

Roadmap

must have;

  • add firewall configuration (see above) should have;
  • allow mirrors for CSV URL could have;
  • abstract configuration
  • dockerize to alpine container
  • format the data in the columns to something more meaningful
  • filter base64 output for UDP/TCP and port
  • refactor user input to allow adjustments of filters
  • command line arguments (country/filters, auto-start) to just get going
  • unit tests

Notes

This is one of my first python scripts as I learn, so some parts may look hella ugly.

There is no support, fork/PR as you wish. MIT license, so attribution is mandatory.

Support for notifications in the gnome interface.

There are no unit tests, sorry.

References

Here are some links to some bits I had to pull together, when I had no clue of the subtleties of python;

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].