diff --git a/Dockerfile b/Dockerfile index 356ba25c..8ca8feeb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,9 +31,9 @@ LABEL \ org.opencontainers.image.url="https://github.com/qdm12/private-internet-access-docker" \ org.opencontainers.image.documentation="https://github.com/qdm12/private-internet-access-docker" \ org.opencontainers.image.source="https://github.com/qdm12/private-internet-access-docker" \ - org.opencontainers.image.title="PIA client" \ - org.opencontainers.image.description="VPN client to tunnel to private internet access servers using OpenVPN, IPtables, DNS over TLS and Alpine Linux" -ENV VPNSP="private internet access" \ + org.opencontainers.image.title="VPN client for PIA, Mullvad, Windscribe, Surfshark and Cyberghost" \ + org.opencontainers.image.description="VPN client to tunnel to PIA, Mullvad, Windscribe, Surfshark and Cyberghost servers using OpenVPN, IPtables, DNS over TLS and Alpine Linux" +ENV VPNSP=pia \ PROTOCOL=udp \ OPENVPN_VERBOSITY=1 \ OPENVPN_ROOT=no \ diff --git a/README.md b/README.md index ad63c316..fe28e6ac 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@
Click to show base components

- [Alpine 3.11](https://alpinelinux.org) for a tiny image (37MB of packages, 6.7MB of Go binary and 5.6MB for Alpine) -- [OpenVPN 2.4.8](https://pkgs.alpinelinux.org/package/v3.11/main/x86_64/openvpn) to tunnel to PIA servers +- [OpenVPN 2.4.8](https://pkgs.alpinelinux.org/package/v3.11/main/x86_64/openvpn) to tunnel to your VPN provider servers - [IPtables 1.8.3](https://pkgs.alpinelinux.org/package/v3.11/main/x86_64/iptables) enforces the container to communicate only through the VPN or with other containers in its virtual network (acts as a killswitch) - [Unbound 1.9.6](https://pkgs.alpinelinux.org/package/v3.11/main/x86_64/unbound) configured with Cloudflare's [1.1.1.1](https://1.1.1.1) DNS over TLS (configurable with 5 different providers) - [Files and blocking lists built periodically](https://github.com/qdm12/updated/tree/master/files) used with Unbound (see `BLOCK_MALICIOUS`, `BLOCK_SURVEILLANCE` and `BLOCK_ADS` environment variables) @@ -37,7 +37,7 @@ - DNS over TLS baked in with service provider(s) of your choice - DNS fine blocking of malicious/ads/surveillance hostnames and IP addresses, with live update every 24 hours - Choose the vpn network protocol, `udp` or `tcp` -- Built in firewall kill switch to allow traffic only with needed PIA servers and LAN devices +- Built in firewall kill switch to allow traffic only with needed the VPN servers and LAN devices - Built in SOCKS5 proxy (Shadowsocks, tunnels TCP+UDP) - Built in HTTP proxy (Tinyproxy, tunnels TCP) - [Connect other containers to it](https://github.com/qdm12/private-internet-access-docker#connect-to-it) @@ -97,7 +97,7 @@ 1. Launch the container with: ```bash - docker run -d --name=pia --cap-add=NET_ADMIN \ + docker run -d --name gluetun --cap-add=NET_ADMIN \ -e REGION="CA Montreal" -e USER=js89ds7 -e PASSWORD=8fd9s239G \ qmcgaw/private-internet-access ``` @@ -122,10 +122,10 @@ ## Testing -Check the PIA IP address matches your expectations +Check the VPN IP address matches your expectations ```sh -docker run --rm --network=container:pia alpine:3.11 wget -qO- https://ipinfo.io +docker run --rm --network=container:gluetun alpine:3.11 wget -qO- https://ipinfo.io ``` Want more testing? ▶ [see the Wiki](https://github.com/qdm12/private-internet-access-docker/wiki/Testing) @@ -245,19 +245,19 @@ That one is important if you want to connect to the container from your LAN for There are various ways to achieve this, depending on your use case. --

Connect containers in the same docker-compose.yml as PIA

+-

Connect containers in the same docker-compose.yml as Gluetun

- Add `network_mode: "service:pia"` to your *docker-compose.yml* (no need for `depends_on`) + Add `network_mode: "service:gluetun"` to your *docker-compose.yml* (no need for `depends_on`)

--
Connect other containers to PIA

+-

Connect other containers to Gluetun

- Add `--network=container:pia` when launching the container, provided PIA is already running + Add `--network=container:gluetun` when launching the container, provided Gluetun is already running

-
Connect containers from another docker-compose.yml

- Add `network_mode: "container:pia"` to your *docker-compose.yml*, provided PIA is already running + Add `network_mode: "container:gluetun"` to your *docker-compose.yml*, provided Gluetun is already running

-
Connect LAN devices through the built-in HTTP proxy *Tinyproxy* (i.e. with Chrome, Kodi, etc.)

@@ -265,7 +265,7 @@ There are various ways to achieve this, depending on your use case. You might want to use Shadowsocks instead which tunnels UDP as well as TCP, whereas Tinyproxy only tunnels TCP. 1. Setup a HTTP proxy client, such as [SwitchyOmega for Chrome](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=en) - 1. Ensure the PIA container is launched with: + 1. Ensure the Gluetun container is launched with: - port `8888` published `-p 8888:8888/tcp` - your LAN subnet, i.e. `192.168.1.0/24`, set as `-e EXTRA_SUBNETS=192.168.1.0/24` 1. With your HTTP proxy client, connect to the Docker host (i.e. `192.168.1.10`) on port `8888`. You need to enter your credentials if you set them with `TINYPROXY_USER` and `TINYPROXY_PASSWORD`. @@ -275,12 +275,12 @@ There are various ways to achieve this, depending on your use case. -

Connect LAN devices through the built-in SOCKS5 proxy *Shadowsocks* (per app, system wide, etc.)

1. Setup a SOCKS5 proxy client, there is a list of [ShadowSocks clients for **all platforms**](https://shadowsocks.org/en/download/clients.html) - - **note** some clients do not tunnel UDP so your DNS queries will be done locally and not through PIA and its built in DNS over TLS + - **note** some clients do not tunnel UDP so your DNS queries will be done locally and not through Gluetun and its built in DNS over TLS - Clients that support such UDP tunneling are, as far as I know: - iOS: Potatso Lite - OSX: ShadowsocksX - Android: Shadowsocks by Max Lv - 1. Ensure the PIA container is launched with: + 1. Ensure the Gluetun container is launched with: - port `8388` published `-p 8388:8388/tcp -p 8388:8388/udp` - your LAN subnet, i.e. `192.168.1.0/24`, set as `-e EXTRA_SUBNETS=192.168.1.0/24` 1. With your SOCKS5 proxy client @@ -291,23 +291,23 @@ There are various ways to achieve this, depending on your use case. 1. If you set `SHADOWSOCKS_LOG` to `on`, (a lot) more information will be logged in the Docker logs

--
Access ports of containers connected to PIA

+-

Access ports of containers connected to Gluetun

- In example, to access port `8000` of container `xyz` and `9000` of container `abc` connected to PIA, - publish ports `8000` and `9000` for the PIA container and access them as you would with any other container + In example, to access port `8000` of container `xyz` and `9000` of container `abc` connected to Gluetun, + publish ports `8000` and `9000` for the Gluetun container and access them as you would with any other container

--
Access ports of containers connected to PIA, all in the same docker-compose.yml

+-

Access ports of containers connected to Gluetun, all in the same docker-compose.yml

- In example, to access port `8000` of container `xyz` and `9000` of container `abc` connected to PIA, publish port `8000` and `9000` for the PIA container. + In example, to access port `8000` of container `xyz` and `9000` of container `abc` connected to Gluetun, publish port `8000` and `9000` for the Gluetun container. The docker-compose.yml file would look like: ```yml version: '3.7' services: - pia: + gluetun: image: qmcgaw/private-internet-access - container_name: pia + container_name: gluetun cap_add: - NET_ADMIN environment: @@ -319,11 +319,11 @@ There are various ways to achieve this, depending on your use case. abc: image: abc container_name: abc - network_mode: "service:pia" + network_mode: "service:gluetun" xyz: image: xyz container_name: xyz - network_mode: "service:pia" + network_mode: "service:gluetun" ```

@@ -332,7 +332,7 @@ There are various ways to achieve this, depending on your use case. Note that [not all regions support port forwarding](https://www.privateinternetaccess.com/helpdesk/kb/articles/how-do-i-enable-port-forwarding-on-my-vpn). -When `PORT_FORWARDING=on`, a port will be forwarded on the PIA server side and written to the file specified by `PORT_FORWARDING_STATUS_FILE=/forwarded_port`. +When `PORT_FORWARDING=on`, a port will be forwarded on the VPN server side and written to the file specified by `PORT_FORWARDING_STATUS_FILE=/forwarded_port`. It can be useful to mount this file as a volume to read it from other containers, for example to configure a torrenting client. diff --git a/docker-compose.yml b/docker-compose.yml index b40852e6..0271ddb3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,8 @@ version: "3.7" services: - pia: + gluetun: image: qmcgaw/private-internet-access - container_name: pia + container_name: gluetun cap_add: - NET_ADMIN network_mode: bridge diff --git a/internal/splash/splash.go b/internal/splash/splash.go index d42cc599..11f9dc5c 100644 --- a/internal/splash/splash.go +++ b/internal/splash/splash.go @@ -24,10 +24,14 @@ func Splash(version, vcsRef, buildDate string) string { func title() []string { return []string{ "=========================================", - "============= PIA container =============", - "========== An exquisite mix of ==========", - "==== OpenVPN, Unbound, DNS over TLS, ====", - "===== Shadowsocks, Tinyproxy and Go =====", + "================ Gluetun ================", + "=========================================", + "==== A mix of OpenVPN, DNS over TLS, ====", + "======= Shadowsocks and Tinyproxy =======", + "========= all glued up with Go ==========", + "=========================================", + "=========== For tunneling to ============", + "======== your favorite VPN server =======", "=========================================", "=== Made with " + emoji.Sprint(":heart:") + " by github.com/qdm12 ====", "=========================================", diff --git a/title.svg b/title.svg index e50bfc52..7bdd6a3d 100644 --- a/title.svg +++ b/title.svg @@ -16,8 +16,7 @@ version="1.1" id="svg8" inkscape:version="0.92.4 (5da689c313, 2019-01-14)" - sodipodi:docname="pia.svg" - inkscape:export-filename="C:\Users\quentin\Desktop\DRAWINGS\pia.png" + sodipodi:docname="gluetun.svg" inkscape:export-xdpi="96" inkscape:export-ydpi="96">