/VPNet-1

All in ONE, ZERO config solution for ShadowSocks/PPTP/VPN/SSH Tunnel Servers' setup

Primary LanguageShellApache License 2.0Apache-2.0

VPNet CircleCI

dockeri.co

VPNet(Very Powerful Network Encryption Toolbox) is a modern, open source, strong encryption and easy to use docker image for bypassing the censorship circumvention systems, which helps people gain access to the global internet free of censorship, without knowledge of what is being blocked or the underlying technical.

We believe that the right of visiting free and open global internet is right that all people should enjoy – both technic and the non-technic people.

Story

U.S. Consulate request quotation for International Internet access service on Aug 2016.

U.S. Consulate General Shanghai Date: Aug 10, 2016 To: Prospective Bidders Subject: Request for Quotation for Internet access solution

U.S. Consulate Quotation

Goal

The Goal of VPNet is to satisfy those needs in above story, with the following highlights.

  1. All in One 5. SSH Tunnel 3. PPTP 6. Squid Proxy
    1. ShadowSocks
    2. OpenVPN
    3. IPsec
  2. Extreme Easy to Setup
    1. Build, Ship, Run with Docker
    2. Compatible with any modern Cloud Hosting Provider(VPS)
    3. One Command for All
  3. Professional
    1. Stable Connection
    2. Strong Encryption
    3. Decentralized

Being an Anti-Censorship Technology, VPNet has to try the best to adapt.

“Every time censors try a new technique, the tool developers adapt, keeping thousand of users connected to the global internet.”

Malinowski, Assistant Secretary of State for Democracy, Human Rights and Labor

Quick Start

VPNet is extreme easy to deploy by only one command, because it was built & shiped by docker:

docker run -d \
  --privileged \
  --net=host \
  --restart=always \
  --name=vpnet \
  acrossfw/vpnet

You are set. Cheers!

Default Username and Password

  • Username: vpnet
  • Password: vpnet.io

Enjoy!

Custom Configuration

You can change the default configuration by passing the environment variables when start/restart the docker container.

For example, if you want to specify the shadowsocks port, you can set PORT_SHADOWSOCKS environment when restarting the docker container:

export PORT_SHADOWSOCKS=8388
docker stop $(docker ps -a --filter name=vpnet -q)
docker rm $(docker ps -a --filter name=vpnet -q)
docker run -d \
  --privileged \
  --net=host \
  --restart=always \
  --name=vpnet \
  -e PORT_SHADOWSOCKS=${PORT_SHADOWSOCKS} \
  acrossfw/vpnet

Out-of-the-box Features

Sort by standard port number

Service Standard Port VPNet Port
SSH 22 10022
KcpTun 554 10554
PPTP 1723 1723
ShadowSocks 8388 18388

About Port Number: some added 10000 to prevent conflict with host(ONE for all)

1. SSH

Standard port: 22/tcp

SSH Env Variable Default Value
PORT_SSH 10022

2. KcpTun

Standard port: 554/udp

KcpTun Env Variable Default Value
PORT_KCPTUN 10554

3. PPTP

Standard port: 1723/tcp gre/ip

4. Squid

Standard port: 3128/tcp

Squid Env Variable Default Value
PORT_SQUID 13128

5. ShadowSocks

Standard port: 8388/tcp

ShadowSocks Env Variable Default Value
PORT_SHADOWSOCKS 18388
SHADOWSOCKS_ENCRYPT_METHOD salsa20

6. IKEv2/IPsec

7. OpenVPN

8. SSTP

Cloud Hosting

1. System Requirement

The follow requirements is just for suggestion, because VPNet can run in anywhere which has docker installed. If you already have a server, use it as well.

  1. Location: Asia(HongKong/Korea/Japan/Singapore)
  2. Operation System: 64-bit Debian 8 Jessie
  3. CPU/Ram/Disk: Smallest(Cheapest)

2. Service Provider

⭐⭐⭐⭐⭐ Great

Tested without any Problem, with best price

  1. DigitalOcean $5/mo, new register user will get $10 free credit
  1. Linode $10/mo, Tokyo Japan & Singapore, with $20 COUPON
  2. Vultr $5/mo, Tokyo Japan, with $100 COUPON

⭐⭐⭐⭐ Good

  1. Amazon Web Service AWS Free Tier includes services for Instance Type T1.micro with a free tier available for 12 months.
  2. Arukas FREE! Japan! Deploy apps right out of the box

⭐⭐⭐ So So

Pay by RMB, a little expensive.

  1. 阿里云
  2. 腾讯云

⭐👎 Buggy

Leak of some function

  1. Google Compute Engine PPTP not work, because IP GRE PROTOCOL not supported

👎 Not Work

  1. TBL

Docker Installation

$ sudo apt update
$ sudo apt install -y docker.io
$ sudo docker run hello-world

Other Operation Systems

Please refer to the Docker document: https://docs.docker.com/install/

Todo

Coding Style

Linting with ShellCheck

Reference

See Also

  1. Internet Freedom - Our goal is to ensure that any child, born anywhere in the world, has access to the global Internet as an open platform on which to innovate, learn, organize, and express herself free from undue interference or censorship.
  2. US Government Is Investing Millions in Internet Freedom Technologies
  3. The Leading Internet Freedom Technology (LIFT) Initiative: Scaling Up U.S. Leadership to Promote Human Rights Online

License

VPNet is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.