pia-socks-proxy icon indicating copy to clipboard operation
pia-socks-proxy copied to clipboard

An Alpine Linux container running a socks5 proxy (using dante) via Private Internet Access (OpenVPN).

A socks5 proxy via Private Internet Access.

An Alpine Linux container running a socks5 proxy (using dante) via Private Internet Access (OpenVPN).

Protect your browsing activities through an encrypted and anonymized VPN proxy!

You will need a PrivateInternetAccess account. If you don't have one, you can sign up here for one.

Docker Build Status Docker Build Status Docker Build Status Docker Build Status

Starting the VPN Proxy

docker run -d \
--cap-add=NET_ADMIN \
--device=/dev/net/tun \
--name=pia-socks-proxy \
--restart=always \
-e "USERNAME=<pia_username>" \
-e "PASSWORD=<pia_password>" \
-e "REGION=<region>" \ # default US East
-e "DNS=<dns servers" \ # default: cloudflare's tls servers 1.1.1.1@853#cloudflare-dns.com 1.0.0.1@853#cloudflare-dns.com
-e "ENCRYPTION=[strong|normal]" # default: strong
-e "PROTOCOL=[udp|tcp]" #default: udp
-p 1080:1080 \
oneofone/pia-socks-proxy

Substitute the environment variables for REGION, USERNAME, PASSWORD as indicated.

A docker-compose-dist.yml file has also been provided. Copy this file to docker-compose.yml and substitute the environment variables are indicated.

Then start the VPN Proxy via:

docker-compose up -d

Environment Variables

REGION is optional. The default region is set to US East. REGION should match the supported PIA .opvn region config.

See the PIA VPN Tunnel Network page for details. Use the Location value for your REGION.

USERNAME / PASSWORD - Credentials to connect to PIA

Connecting to the VPN Proxy

To connect to the VPN Proxy, set your browser socks5 proxy to localhost:1080.

Recommended (100% personal preference) addons

Commend line

  • curl:
# socks5h so the dns is done over the socks proxy
$ curl -v --proxy socks5h://localhost:1080
  • git:
env ALL_PROXY=socks5h://localhost:1080 git clone https://github.com/some/one.git

Credits