VPNet
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
Goal
The Goal of VPNet is to satisfy those needs in above story, with the following highlights.
- All in One
5. SSH Tunnel
3. PPTP
6. Squid Proxy
- ShadowSocks
- OpenVPN
- IPsec
- Extreme Easy to Setup
- Build, Ship, Run with Docker
- Compatible with any modern Cloud Hosting Provider(VPS)
- One Command for All
- Professional
- Stable Connection
- Strong Encryption
- 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!
Defaults
- user: vpnet
- pass: vpnet.io
Enjoy!
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
TCP: 22
SSH Env Variable | Default Value |
---|---|
PORT_SSH | 10022 |
2. KcpTun
UDP: 554
KcpTun Env Variable | Default Value |
---|---|
PORT_KCPTUN | 10554 |
3. PPTP
TCP: 1723 IP: GRE
4. Squid
TCP: 3128
Squid Env Variable | Default Value |
---|---|
PORT_SQUID | 13128 |
5. ShadowSocks
TCP: 8388
ShadowSocks Env Variable | Default Value |
---|---|
PORT_SSH | 18388 |
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.
- Location: Asia(HongKong/Korea/Japan/Singapore)
- Operation System: 64-bit Debian 8 Jessie
- CPU/Ram/Disk: Smallest(Cheapest)
2. Service Provider
⭐⭐⭐⭐⭐ Great
Tested without any Problem, with best price
- DigitalOcean $5/mo, new register user will get $10 free credit
- Linode $10/mo, Tokyo Japan & Singapore, with $20 COUPON
- Vultr $5/mo, Tokyo Japan, with $100 COUPON
⭐⭐⭐⭐ Good
- Amazon Web Service AWS Free Tier includes services for Instance Type T1.micro with a free tier available for 12 months.
- Arukas FREE! Japan! Deploy apps right out of the box
⭐⭐⭐ So So
Pay by RMB, a little expensive.
⭐👎 Buggy
Leak of some function
- Google Compute Engine PPTP not work, because IP GRE PROTOCOL not supported
👎 Not Work
- TBL
Docker Installation
Ubuntu
$ sudo apt-get install -y --no-install-recommends \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
$ curl -fsSL https://apt.dockerproject.org/gpg | sudo apt-key add -
$ sudo add-apt-repository \
"deb https://apt.dockerproject.org/repo/ \
ubuntu-$(lsb_release -cs) \
main"
$ sudo apt-get update
$ sudo apt-get -y install docker-engine
$ docker run hello-world
Debian
Here's how to install docker in 64-bit Debian 8.
apt-get update && apt-get install apt-transport-https
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list
apt-get update && apt-get install docker-engine
service enable docker
docker run hello-world
If you want to install docker for other linux distribution, documents can be found on docker.com at Install Docker Engine.
Todo
Coding Style
Linting with ShellCheck
- Shell Style Guide from Google - Use common sense and BE CONSISTENT.
Reference
- Getting everything right: baseimage-docker
- Templating with Linux in a Shell Script
- Best Practices for Writing Bash Script
- progrium/bashstyle
- Returning Values from Bash Functions
See Also
- 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.
- US Government Is Investing Millions in Internet Freedom Technologies
- 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.