157

GitHub - qdm12/gluetun: VPN client in a thin Docker container for multiple VPN p...

 2 years ago
source link: https://github.com/qdm12/gluetun
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Gluetun VPN client

Lightweight swiss-knife-like VPN client to tunnel to Cyberghost, FastestVPN, HideMyAss, IPVanish, IVPN, Mullvad, NordVPN, Privado, Private Internet Access, PrivateVPN, ProtonVPN, PureVPN, Surfshark, TorGuard, VPNUnlimited, VyprVPN and Windscribe VPN servers using Go, OpenVPN, iptables, DNS over TLS, ShadowSocks and an HTTP proxy

ANNOUNCEMENT: Wireguard is now supported for all providers supporting it!

Quick links

Features

  • Based on Alpine 3.14 for a small Docker image of 31MB
  • Supports: Cyberghost, FastestVPN, HideMyAss, IPVanish, IVPN, Mullvad, NordVPN, Privado, Private Internet Access, PrivateVPN, ProtonVPN, PureVPN, Surfshark, TorGuard, VPNUnlimited, Vyprvpn, Windscribe servers
  • Supports OpenVPN
  • Supports Wireguard for Mullvad, Ivpn and Windscribe (more in progress, see #134)
  • 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 the VPN servers and LAN devices
  • Built in Shadowsocks proxy (protocol based on SOCKS5 with an encryption layer, tunnels TCP+UDP)
  • Built in HTTP proxy (tunnels HTTP and HTTPS through TCP)
  • Connect other containers to it
  • Connect LAN devices to it
  • Compatible with amd64, i686 (32 bit), ARM 64 bit, ARM 32 bit v6 and v7, and even ppc64le fireworks
  • VPN server side port forwarding for Private Internet Access and Vyprvpn
  • Possibility of split horizon DNS by selecting multiple DNS over TLS providers
  • Subprograms all drop root privileges once launched
  • Subprograms output streams are all merged together
  • Can work as a Kubernetes sidecar container, thanks @rorph

Setup

  1. Ensure your tun kernel module is setup:

    sudo modprobe tun
    # or, if you don't have modprobe, with
    sudo insmod /lib/modules/tun.ko
  2. Extra steps:

  3. Launch the container with:

    docker run -d --name gluetun --cap-add=NET_ADMIN \
    -e VPNSP="private internet access" -e REGION="CA Montreal" \
    -e OPENVPN_USER=js89ds7 -e OPENVPN_PASSWORD=8fd9s239G \
    -v /yourpath:/gluetun \
    qmcgaw/gluetun

    or use docker-compose.yml with:

    docker-compose up -d

    You should probably check the many environment variables available to adapt the container to your needs.

Further setup

The following points are all optional but should give you insights on all the possibilities with this container.

License


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK