Vpn gate client linux

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

🌉 VPN Gate Linux client for Softether SSL-VPN protocol

gnos-project/gnos-vpngate

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

VPN Gate Linux client for Softether SSL-VPN protocol

Written with bash & node.js for GNOS.

  • Configurable profiles
  • Linux netns isolation
  • Scrap VPN Gate using phantomjs
  • SYN Scan to check servers latency
  • Filtering & Selection using jq
  • Supports both pkexec & sudo
  • Softether SSL-VPN protocol
  • HTTP & SOCKS4 proxy support
  • Managed DHCP: dhclient
  • Automatic dependency installation (Ubuntu)
NAME: vpngate DESC: VPN Gate client for SoftEther VPN-SSL protocol AUTH: elias@gnos.in DEPS: SoftEther vpnclient + vpncmd DEPS: policykit-1 isc-dhcp-client npm jq FEAT: polkit integration GUI server selector scapping to JSON cache jq filtering & selection auto $http_proxy support HTTP & SOCKS4 proxy support netns (Linux network namespaces) user profiles with command execution USAGE: vpngate [ OPTS . ] [ PROFILE_NAME | PROFILE_PATH [ COMMAND [ ARGS . ] ] ] vpngate -d PROFILE_NAME vpngate -l vpngate -h ARGS: PROFILE_NAME Profile name, stored in ~/.config/vpngate/ PROFILE_PATH Profile path COMMAND Command to execute, or "null" to keep connected ARGS Command arguments OPTS: -d Disconnect profile -l List active profiles -h Show help -r Force reconnect -u Force cache update -p HTTP_PROXY HTTP proxy: [http://][user[:password]@]host[:port] -s SOCKS_PROXY SOCKS4 proxy: [socks://][user[:password]@]host[:port] -g GUI server selector -v Verbose output PROFILE-FORMAT: BASH cmd Command to execute proxy HTTP proxy socks SOCKS4 proxy filter [VPN Gate] Server-list filter, jq select syntax select [VPN Gate] Server-list sorter, jq sort_by syntax connect [VPN] Private server, see args: vpnssl-connect -h 

Profiles are stored in ~/.config/vpngate .

Читайте также:  Pyinstaller build exe on linux

Profiles files are simple bash declarations.

Variable Default Description
filter ‘true’ jq select() expression
select ‘.»SYN scan (ms)»‘ jq sort_by() expression
mirror «» Alternative Scrapping url

connect replaces Scrapping/Filtering/Scanning/Selecting.

Variable Default Description
connect » Connection string
IP_ADDR TCP_PORT [ USER_NAME PASSWORD [HUB_NAME] ] 

Default USER_NAME is vpn with empty PASSWORD , default HUB_NAME is vpngate .

# Private server connect='1.1.1.1 443 my_username "s3cr3t" HUB' # Forced VPN Gate server: NO credentials required connect='2.2.2.2 443' 
Variable Default Description
cmd ‘bash’ Command to execute, or «null» to keep connected
proxy » HTTP proxy
socks » SOCKS proxy
cmd='curl -sSL https://wtfismyip.com/text' cmd='firejail firefox' 

Content is eval -ed so you can write complex commands but beware of security implications:

cmd='true ; echo "Executed as $(id -u) out of isolation [$(ip netns identify $$)]" ' 

Also have fun with quoting:

cmd="bash -c 'echo \"quoted text\"'" cmd='bash -c '\''echo "quoted text"'\' 

Application defaults overrides

Variable Default Description
cacheSeconds 7200 Scrapping cache validity in seconds
verbose «» Set to -v to force verbose output
reconnect «» Set to -r to force reconnection
update «» Set to -u to disable cache
gui «» Set to -g to enable GUI server selector
mirror «» Scrapping url, read https://bunkerbustervpn.com/vpngate.html
  • Softether vpnclient , integrated with systemd .
  • Softether vpncmd , declared in PATH .
  • Node.js (lts/10), managed by nvm .
  • OPTIONAL, yad for GUI

Put files somewhere, for example /opt/vpngate .

Auto dependencies installation

Tested on latest Ubuntu with NPM configured to run npm install -g without sudo.

This will call pkexec to gain privileges and pull missing dependencies:

Manual dependencies installation

sudo apt-get install npm jq isc-dhcp-client yad sudo npm install -g phantomjs casperjs sudo mkdir /opt/vpngate/node_modules sudo chown $(id -u) /opt/vpngate/node_modules npm install ip local-ipv4-address raw-socket # sudo chown -hR root:root /opt/vpngate/node_modules 

To use sudo instead of default automatic pkexec use this alias:

alias vpngate="sudo --set-home NVM_BIN='$NVM_BIN' /opt/vpngate/vpngate -v" 

Set $SUDO_UID to empty to run command as root, not recommended.

alias vpngate="sudo --set-home SUDO_UID= NVM_BIN="$NVM_BIN" /opt/vpngate/vpngate -v" 

VPN Gate Scrapping cache is kept at ~/.cache/vpngate/cache.json

Читайте также:  Kali linux can connect to wifi

VPN Gate Profile cache at ~/.cache/vpngate/PROFILE_NAME/vpngate_.json

DHCP caches are ~/.cache/vpngate/PROFILE_NAME/dhclient

JSON array of objects, named data , attributes:

 "Country code" str notnull empty! "DDNS hostname" str null! "IP address" str notnull notempty "ISP hostname" str null! "Cumulative users" int null! "Cumulative transfers (GB)" int null! "Operator" str null! "Ping (ms)" int null! "Score" int null! "SSL-VPN TCP port" int notnull "SYN scan (ms)" int notnull "Throughput (Mbps)" int null! "Uptime (min)" int null! "VPN sessions" int null! 

About

🌉 VPN Gate Linux client for Softether SSL-VPN protocol

Источник

Easily Use Free VPNs From VPN Gate In Linux With These 2 Tools

In case you’re not familiar with VPN Gate, this is project that offers free VPN servers that are ran by volunteers who use SoftEther. It was designed with the Great Firewall of China in Mind and is sponsored by the University of Tsukuba, Japan.

It’s important to note that free VPNs are insecure, and they shouldn’t be used for sensitive / important stuff!

VPNGate With Proxy

  • allows connecting to free OpenVPN servers at VPN Gate directly or through proxy;
  • adds DNS to fix DNS leak;
  • automatically filters out dead VPN servers;
  • can execute user defined script after vpn_tunnel is established or broken;
  • multiple interfaces: two command line interfaces (a lightweight interface aimed to run on a server, and a terminal interface with a better UI, colors, and easier to use) as well as an AppIndicator;
  • displays VPN server country, ping, speed, up time, log policy, score, protocol and port in the command line interfaces.

According to its developer, the application has been tested on Ubuntu, Raspbian and Fedora, and may not work with other Linux distributions.

To run VPNGate With Proxy, you’ll need Python 2.7.x, python-requests, openvpn, resolvconf, python-urwid 1.3+ (only if you want to use the advanced terminal user interface, called «tui»), wmctrl and realpath.

For the AppIndicator you’ll also need gir1.2-appindicator3-0.1, gir1.2-notify-0.7 and python-gobject.

sudo apt install python-requests openvpn resolvconf python-urwid wmctrl realpath gir1.2-appindicator3-0.1 gir1.2-notify-0.7 python-gobject git

Next, clone the VPNGate With Proxy GitHub repository and run the application (with the advanced terminal user interface) using the commands below:

git clone https://github.com/Dragon2fly/vpngate-with-proxy.git cd vpngate-with-proxy ./run tui

On older systems, if python-urwid version 1.3 is not available, VPNGate With Proxy will automatically install it via python-pip.

The application GitHub page provides instructions for how to clone the repository if you’re behind a proxy. You can also download the repository as an archive.

Читайте также:  Подключение ftp командную строку linux

The first time you run VPNGate With Proxy, it will run the initial configuration, which includes proxy configuration (if you don’t use a proxy to connect to the Internet, simply press ENTER), etc.:

VPN Gate With Proxy

Once you’re done with the initial configuration, the application will download a list of OpenVPN servers from VPN Gate — to connect to a VPN, enter its number and press ENTER:

VPN Gate With Proxy

You can sort the VPN list by score (default), ping, speed or uptime. To do this, press F5 and select the sort option.

The VPNGate With Proxy AppIndicator should start automatically when running the application. Using it, you can easily stop the VPN, reconnect, choose the next VPN, or show the VPN status:

VPN Gate With Proxy

VPN Gate With Proxy

To see if the VPN is working, you can check your IP by visiting VPN Gate (or any of the many websites that offer this service).

autovpn

autovpn is a small and simple command line tool written in Go, which allows connecting to a random free VPN. Under the hood, autovpn uses OpenVPN to connect to free VPN servers from VPN Gate.

To install and use autovpn, you’ll need to install golang-go, openvpn (autovpn depends on it) and git (to clone the autovpn GitHub repository). In Debian, Ubuntu or Linux Mint, you can install these packages using the following command:

sudo apt install golang-go openvpn git
git clone https://github.com/adtac/autovpn cd autovpn go build autovpn.go

And finally, install the generated executable — using the command below, the autovpn executable is installed in /usr/local/bin/:

sudo install autovpn /usr/local/bin/

autovpn is extremely easy to use — all you have to do is run it and it will automatically connect you to a VPN. By default (without specifying a country code), it connects to a random US server:

If you want to use a VPN from another country, add the country code, like this (the command below is an example to connect to a free VPN server from Japan):

Not all country codes will work, since autovpn relies on the VPN Gate iPhone API, which returns around 100 VPN servers, and the country you want to use a VPN from may or may not be in this server list.

To see if the VPN is working, you can check your IP by visiting VPN Gate (or any of the many websites that offer this service).

Источник

Оцените статью
Adblock
detector