/tcp-vpn-proxy

ArvanCloud No Filter VPN

Primary LanguageShellGNU General Public License v3.0GPL-3.0

ArvanCloud No Filter VPN

0.Requirements

  1. Valid Domain Name Recommended .ir
  2. ArvanCloud Account
  3. Doprax Account Or Other PaaS, Any Debian Servers the help of DockerFile
  4. Minimum Server Requirements (RAM: 256 MB, CPU: 0.5, Disk: 10G Location: out of IRAN)
  5. Random Password (Online UUID Generator)

1. Server Configuration

1.1 Install Docker

curl -sSL https://gist.github.com/amircloner/4305b461df40616a1c4c432b3619af82/raw | bash

1.2 Clone Github Project

git clone https://github.com/amircloner/tcp-vpn-proxy.git && cd tcp-vpn-proxy

1.3 Build Dockerfile

 docker build -t amircloner/tcp-vpn-proxy:v1.0.0 .

1.4 Run Docker Image

The docker environment variables required are:

Domain : The domain of your server without the schema(https, http etc). Ex: test.com, not https://test.com

Password : Password you want to set for the Shadowsocks VPN service. EX: 0734e365-ac11-43b0-97d0-7923477e6dd5

PORT : Server port. Ex: 80
 docker run -d --restart=always -p {PORT}:{PORT} --env Domain={Domain} --env Password={Password} --env PORT={PORT} amircloner/tcp-vpn-proxy:v1.0.0

1.5 Connect Server to ArvanCloud CDN

  1. Login into ArvanCloud Account
  2. In CDN
  3. Click + Add new domains
  4. Add new Domain
  5. In CDN > DNS Records
  6. Create new Records (Subdomain) that equal to {Domain} point to server IP
  7. Check Arvan CDN is Enable
  8. Origin server connection protocol > HTTP
  9. Set {PORT} and Server IP

1.6 Verification Server

After the server is deployed, open app to display the webpage normally. After the address is filled with the path (for example: https://{Domain}/static), the 404 page is displayed, which means the deployment is successful.

2. Client Configuration

QR code address:


https://{Domain}/qr

(Change {Domain} to your own app server url.)

Use the client (Shadowsocks recommended) to scan the QR code.

or

Use 'ss' address:


https://{Domain}/ss

(Change {Domain} to your own app server url.)

Copy the details after opening and import it to the client.

or

Manual configuration (Config file):

{

"server" : "{Domain}",

"server_port" : 443,

"local_port" : 1080,

"password":"{password}",

"timeout":300,

"method":"chacha20-ietf-poly1305",

"mode": "tcp_only",

"fast_open":false,

"reuse_port":true,

"no_delay":true,

"plugin": "v2ray-plugin",

"plugin_opts":"path=/v2;host={Domain};tls",

"remarks" : "Private VPN"

}

Change {Domain} with your server url and {password} with your password.

3. Clients

Android

shadowsocks

v2ray-plugin

Windows

ShadowSocks-Windows

V2-Ray Plugin

Extract and keep v2ray plugin in the same folder as shadowsocks.

Linux

shadowsocks-libev

V2-Ray Plugin

Install the shadowsocks library, download and move the v2ray plugin in '/usr/bin' and use the following command to connect to VPN:


ss-local -c "config file location on your system"

Then use any proxy script to route your system's requests through your VPN.

Ex:

  • Proxy SwitchyOmega : This extension can be used in chrome

  • Polipo : Routes all of the network through your proxy

Reference Guide for client setup

Guide