2020-03-29 16:42:06 -04:00
# Gluetun VPN client
2020-02-06 20:42:46 -05:00
2021-09-23 10:19:30 -07:00
*Lightweight swiss-knife-like VPN client to tunnel to Cyberghost, ExpressVPN, FastestVPN,
2021-10-05 10:44:15 -07:00
HideMyAss, IPVanish, IVPN, Mullvad, NordVPN, Perfect Privacy, Privado, Private Internet Access, PrivateVPN,
2021-09-23 07:58:13 -07:00
ProtonVPN, PureVPN, Surfshark, TorGuard, VPNUnlimited, VyprVPN, WeVPN and Windscribe VPN servers
2021-09-10 22:18:29 +00:00
using Go, OpenVPN or Wireguard, iptables, DNS over TLS, ShadowSocks and an HTTP proxy*
2020-02-06 20:42:46 -05:00
2022-01-06 06:40:23 -05:00
**ANNOUNCEMENT**: Large settings refactor merged on 2022-06-01, please file issues if you find any problem!
2020-02-06 20:42:46 -05:00
2021-07-14 22:08:40 +00:00

2020-02-06 20:42:46 -05:00
2021-07-19 02:20:23 +00:00
[](https://github.com/qdm12/gluetun/actions/workflows/ci.yml)
2020-12-29 22:10:44 +00:00
2021-07-14 22:17:51 +00:00
[](https://hub.docker.com/r/qmcgaw/gluetun)
[](https://hub.docker.com/r/qmcgaw/gluetun)
[](https://hub.docker.com/r/qmcgaw/gluetun)
[](https://hub.docker.com/r/qmcgaw/gluetun)
2020-12-29 22:10:44 +00:00
2020-12-30 22:29:18 +00:00


2021-07-14 22:17:51 +00:00
[](https://hub.docker.com/r/qmcgaw/gluetun/tags?page=1&ordering=last_updated)

2020-12-30 22:29:18 +00:00

2021-07-14 22:17:51 +00:00
[](https://hub.docker.com/r/qmcgaw/gluetun/tags)
[](https://github.com/qdm12/gluetun/commits/master)
[](https://github.com/qdm12/gluetun/graphs/contributors)
[](https://github.com/qdm12/gluetun/pulls?q=is%3Apr+is%3Aclosed)
[](https://github.com/qdm12/gluetun/issues)
[](https://github.com/qdm12/gluetun/issues?q=is%3Aissue+is%3Aclosed)
2020-02-06 20:42:46 -05:00
2020-12-30 22:29:18 +00:00
[](https://github.com/qdm12/gluetun)
2021-07-14 22:17:51 +00:00




2020-02-06 20:42:46 -05:00
2020-12-29 23:00:55 +00:00
## Quick links
2020-09-09 20:52:22 +00:00
2021-09-16 20:24:30 +00:00
- [Setup ](#Setup )
- [Features ](#Features )
- Problem?
- [Check the Wiki ](https://github.com/qdm12/gluetun/wiki )
2020-12-29 23:00:55 +00:00
- [Start a discussion ](https://github.com/qdm12/gluetun/discussions )
2021-09-10 21:11:08 +00:00
- [Fix the Unraid template ](https://github.com/qdm12/gluetun/discussions/550 )
2021-09-16 20:24:30 +00:00
- Suggestion?
- [Create an issue ](https://github.com/qdm12/gluetun/issues )
2020-12-29 23:00:55 +00:00
- [Join the Slack channel ](https://join.slack.com/t/qdm12/shared_invite/enQtOTE0NjcxNTM1ODc5LTYyZmVlOTM3MGI4ZWU0YmJkMjUxNmQ4ODQ2OTAwYzMxMTlhY2Q1MWQyOWUyNjc2ODliNjFjMDUxNWNmNzk5MDk )
- Happy?
- Sponsor me on [github.com/sponsors/qdm12 ](https://github.com/sponsors/qdm12 )
- Donate to [paypal.me/qmcgaw ](https://www.paypal.me/qmcgaw )
- Drop me [an email ](mailto:quentin.mcgaw@gmail.com )
2021-07-14 00:31:27 +00:00
- Video:
[](https://youtu.be/0F6I03LQcI4)
2020-09-09 20:52:22 +00:00
2021-09-27 13:24:31 +00:00
- [Substack Console interview ](https://console.substack.com/p/console-72 )
2020-02-06 20:42:46 -05:00
## Features
2021-12-14 18:16:51 +00:00
- Based on Alpine 3.15 for a small Docker image of 29MB
2021-10-05 10:44:15 -07:00
- Supports: **Cyberghost ** , **ExpressVPN ** , **FastestVPN ** , **HideMyAss ** , **IPVanish ** , **IVPN ** , **Mullvad ** , **NordVPN ** , **Perfect Privacy ** , **Privado ** , **Private Internet Access ** , **PrivateVPN ** , **ProtonVPN ** , **PureVPN ** , **Surfshark ** , **TorGuard ** , **VPNUnlimited ** , **Vyprvpn ** , **WeVPN ** , **Windscribe ** servers
2021-09-16 20:24:30 +00:00
- Supports OpenVPN for all providers listed
2021-12-14 11:03:36 +00:00
- Supports Wireguard both kernelspace and userspace
2021-09-13 20:23:16 +00:00
- For **Mullvad ** , **Ivpn ** and **Windscribe **
2021-10-06 17:47:08 +00:00
- For **Torguard ** , **VPN Unlimited ** and **WeVPN ** using [the custom provider ](https://github.com/qdm12/gluetun/wiki/Custom-provider )
- For custom Wireguard configurations using [the custom provider ](https://github.com/qdm12/gluetun/wiki/Custom-provider )
2021-09-13 20:23:16 +00:00
- More in progress, see [#134 ](https://github.com/qdm12/gluetun/issues/134 )
2020-02-22 17:06:35 +00:00
- DNS over TLS baked in with service provider(s) of your choice
2020-05-02 17:08:15 +00:00
- DNS fine blocking of malicious/ads/surveillance hostnames and IP addresses, with live update every 24 hours
2020-02-22 17:06:35 +00:00
- Choose the vpn network protocol, `udp` or `tcp`
2020-06-03 02:11:35 +00:00
- Built in firewall kill switch to allow traffic only with needed the VPN servers and LAN devices
2020-09-18 19:56:53 +00:00
- Built in Shadowsocks proxy (protocol based on SOCKS5 with an encryption layer, tunnels TCP+UDP)
2020-10-31 21:50:31 -04:00
- Built in HTTP proxy (tunnels HTTP and HTTPS through TCP)
2021-09-16 20:24:30 +00:00
- [Connect other containers to it ](https://github.com/qdm12/gluetun/wiki/Connect-a-container-to-gluetun )
- [Connect LAN devices to it ](https://github.com/qdm12/gluetun/wiki/Connect-a-LAN-device-to-gluetun )
2021-02-14 18:59:27 +00:00
- Compatible with amd64, i686 (32 bit), **ARM ** 64 bit, ARM 32 bit v6 and v7, and even ppc64le 🎆
2021-09-16 20:24:30 +00:00
- [Custom VPN server side port forwarding for Private Internet Access ](https://github.com/qdm12/gluetun/wiki/Private-internet-access#vpn-server-port-forwarding )
2020-02-22 17:07:06 +00:00
- Possibility of split horizon DNS by selecting multiple DNS over TLS providers
2021-09-16 20:24:30 +00:00
- Unbound subprogram drops root privileges once launched
2020-02-22 17:07:06 +00:00
- Can work as a Kubernetes sidecar container, thanks @rorph
2020-02-06 20:42:46 -05:00
## Setup
2021-09-16 20:24:30 +00:00
🎉 There are now instructions specific to each VPN provider with examples to help you get started as quickly as possible!
Go to the [Wiki ](https://github.com/qdm12/gluetun/wiki )!
2021-10-06 17:47:08 +00:00
[🐛 Found a bug in the Wiki?! ](https://github.com/qdm12/gluetun/issues/new?assignees=&labels=%F0%9F%93%84+Wiki+issue&template=wiki+issue.yml&title=Wiki+issue%3A+ )
2021-09-16 20:24:30 +00:00
Here's a docker-compose.yml for the laziest:
```yml
version: "3"
services:
gluetun:
image: qmcgaw/gluetun
2022-01-23 01:44:16 +01:00
# container_name: gluetun
# line above must be uncommented to allow external containers to connect. See https://github.com/qdm12/gluetun/wiki/Connect-a-container-to-gluetun#external -container-to-gluetun
2021-09-16 20:24:30 +00:00
cap_add:
- NET_ADMIN
ports:
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
volumes:
- /yourpath:/gluetun
environment:
# See https://github.com/qdm12/gluetun/wiki
2022-02-05 22:34:35 +00:00
- VPN_SERVICE_PROVIDER=ivpn
2021-09-16 20:24:30 +00:00
- VPN_TYPE=openvpn
# OpenVPN:
- OPENVPN_USER=
- OPENVPN_PASSWORD=
# Wireguard:
# - WIREGUARD_PRIVATE_KEY=wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU=
2022-02-05 22:31:46 +00:00
# - WIREGUARD_ADDRESSES=10.64.222.21/32
2021-09-16 20:24:30 +00:00
# Timezone for accurate log times
- TZ=
```
2020-05-02 14:59:22 +00:00
2020-02-06 20:42:46 -05:00
## License
2020-12-31 04:49:18 +00:00
[](https://github.com/qdm12/gluetun/master/LICENSE)