Upgrade system and package versions

- Alpine from 3.12 to 3.13 and:
- Openvpn from 2.4.10 to 2.5.1
- Unbound from 1.10.1 to 1.13.0
- Iptables from 1.8.4 to 1.8.6
This commit is contained in:
Quentin McGaw
2021-04-19 00:31:46 +00:00
parent 1c83dcab5e
commit d3df5aaa52
15 changed files with 30 additions and 16 deletions

View File

@@ -1,4 +1,4 @@
ARG ALPINE_VERSION=3.12 ARG ALPINE_VERSION=3.13
ARG GO_VERSION=1.16 ARG GO_VERSION=1.16
ARG BUILDPLATFORM=linux/amd64 ARG BUILDPLATFORM=linux/amd64

View File

@@ -5,7 +5,7 @@ HideMyAss, Mullvad, NordVPN, Privado, Private Internet Access, PrivateVPN,
PureVPN, Surfshark, TorGuard, VyprVPN and Windscribe VPN servers PureVPN, Surfshark, TorGuard, VyprVPN and Windscribe VPN servers
using Go, OpenVPN, iptables, DNS over TLS, ShadowSocks and an HTTP proxy* using Go, OpenVPN, iptables, DNS over TLS, ShadowSocks and an HTTP proxy*
**ANNOUNCEMENT**: *New Docker image name `qmcgaw/gluetun`* **ANNOUNCEMENT**:
<img height="250" src="https://raw.githubusercontent.com/qdm12/gluetun/master/title.svg?sanitize=true"> <img height="250" src="https://raw.githubusercontent.com/qdm12/gluetun/master/title.svg?sanitize=true">
@@ -38,7 +38,7 @@ using Go, OpenVPN, iptables, DNS over TLS, ShadowSocks and an HTTP proxy*
## Features ## Features
- Based on Alpine 3.12 for a small Docker image of 52MB - Based on Alpine 3.13 for a small Docker image of 52MB
- Supports: **Cyberghost**, **FastestVPN**, **HideMyAss**, **Mullvad**, **NordVPN**, **Privado**, **Private Internet Access**, **PrivateVPN**, **PureVPN**, **Surfshark**, **TorGuard**, **Vyprvpn**, **Windscribe**, servers - Supports: **Cyberghost**, **FastestVPN**, **HideMyAss**, **Mullvad**, **NordVPN**, **Privado**, **Private Internet Access**, **PrivateVPN**, **PureVPN**, **Surfshark**, **TorGuard**, **Vyprvpn**, **Windscribe**, servers
- Supports Openvpn only for now - Supports Openvpn only for now
- DNS over TLS baked in with service provider(s) of your choice - DNS over TLS baked in with service provider(s) of your choice
@@ -60,6 +60,7 @@ using Go, OpenVPN, iptables, DNS over TLS, ShadowSocks and an HTTP proxy*
1. On some devices you may need to setup your tunnel kernel module on your host with `insmod /lib/modules/tun.ko` or `modprobe tun` 1. On some devices you may need to setup your tunnel kernel module on your host with `insmod /lib/modules/tun.ko` or `modprobe tun`
- [Synology users Wiki page](https://github.com/qdm12/gluetun/wiki/Synology-setup) - [Synology users Wiki page](https://github.com/qdm12/gluetun/wiki/Synology-setup)
1. ⚠️ Raspberry Pi users running 32 bit systems: from image `v3.16.0` you need to do [this](https://github.com/alpinelinux/docker-alpine/issues/135#issuecomment-812287338) on your host to run the container.
1. Launch the container with: 1. Launch the container with:
```bash ```bash

View File

@@ -104,7 +104,8 @@ func (c *cyberghost) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP, connection.Port), fmt.Sprintf("remote %s %d", connection.IP, connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
fmt.Sprintf("auth %s", settings.Auth), fmt.Sprintf("auth %s", settings.Auth),
} }
if strings.HasSuffix(settings.Cipher, "-gcm") { if strings.HasSuffix(settings.Cipher, "-gcm") {

View File

@@ -136,7 +136,8 @@ func (f *fastestvpn) BuildConf(connection models.OpenVPNConnection,
"auth-user-pass " + constants.OpenVPNAuthConf, "auth-user-pass " + constants.OpenVPNAuthConf,
"proto " + connection.Protocol, "proto " + connection.Protocol,
"remote " + connection.IP.String() + " " + strconv.Itoa(int(connection.Port)), "remote " + connection.IP.String() + " " + strconv.Itoa(int(connection.Port)),
"cipher " + settings.Cipher, "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
"auth " + settings.Auth, "auth " + settings.Auth,
} }
if !settings.Root { if !settings.Root {

View File

@@ -129,7 +129,8 @@ func (h *hideMyAss) BuildConf(connection models.OpenVPNConnection,
"auth-user-pass " + constants.OpenVPNAuthConf, "auth-user-pass " + constants.OpenVPNAuthConf,
"proto " + connection.Protocol, "proto " + connection.Protocol,
"remote " + connection.IP.String() + strconv.Itoa(int(connection.Port)), "remote " + connection.IP.String() + strconv.Itoa(int(connection.Port)),
"cipher " + settings.Cipher, "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
} }
if !settings.Root { if !settings.Root {

View File

@@ -110,7 +110,8 @@ func (m *mullvad) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP, connection.Port), fmt.Sprintf("remote %s %d", connection.IP, connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
} }
if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 { if settings.Provider.ExtraConfigOptions.OpenVPNIPv6 {
lines = append(lines, "tun-ipv6") lines = append(lines, "tun-ipv6")

View File

@@ -125,7 +125,8 @@ func (n *nordvpn) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP.String(), connection.Port), fmt.Sprintf("remote %s %d", connection.IP.String(), connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
fmt.Sprintf("auth %s", settings.Auth), fmt.Sprintf("auth %s", settings.Auth),
} }
if !settings.Root { if !settings.Root {

View File

@@ -176,7 +176,8 @@ func (p *pia) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP, connection.Port), fmt.Sprintf("remote %s %d", connection.IP, connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
fmt.Sprintf("auth %s", settings.Auth), fmt.Sprintf("auth %s", settings.Auth),
} }
if strings.HasSuffix(settings.Cipher, "-gcm") { if strings.HasSuffix(settings.Cipher, "-gcm") {

View File

@@ -107,7 +107,8 @@ func (s *privado) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP, connection.Port), fmt.Sprintf("remote %s %d", connection.IP, connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
fmt.Sprintf("auth %s", settings.Auth), fmt.Sprintf("auth %s", settings.Auth),
} }
if !settings.Root { if !settings.Root {

View File

@@ -127,7 +127,8 @@ func (p *privatevpn) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP, connection.Port), fmt.Sprintf("remote %s %d", connection.IP, connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
fmt.Sprintf("auth %s", settings.Auth), fmt.Sprintf("auth %s", settings.Auth),
} }
if connection.Protocol == constants.UDP { if connection.Protocol == constants.UDP {

View File

@@ -111,7 +111,8 @@ func (p *purevpn) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP.String(), connection.Port), fmt.Sprintf("remote %s %d", connection.IP.String(), connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
} }
if !settings.Root { if !settings.Root {
lines = append(lines, "user "+username) lines = append(lines, "user "+username)

View File

@@ -123,7 +123,8 @@ func (s *surfshark) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP, connection.Port), fmt.Sprintf("remote %s %d", connection.IP, connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
fmt.Sprintf("auth %s", settings.Auth), fmt.Sprintf("auth %s", settings.Auth),
} }
if !settings.Root { if !settings.Root {

View File

@@ -138,7 +138,8 @@ func (t *torguard) BuildConf(connection models.OpenVPNConnection,
"auth-user-pass " + constants.OpenVPNAuthConf, "auth-user-pass " + constants.OpenVPNAuthConf,
"proto " + connection.Protocol, "proto " + connection.Protocol,
"remote " + connection.IP.String() + " " + strconv.Itoa(int(connection.Port)), "remote " + connection.IP.String() + " " + strconv.Itoa(int(connection.Port)),
"cipher " + settings.Cipher, "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
"auth " + settings.Auth, "auth " + settings.Auth,
} }

View File

@@ -108,7 +108,8 @@ func (v *vyprvpn) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP, connection.Port), fmt.Sprintf("remote %s %d", connection.IP, connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
fmt.Sprintf("auth %s", settings.Auth), fmt.Sprintf("auth %s", settings.Auth),
} }
if !settings.Root { if !settings.Root {

View File

@@ -113,7 +113,8 @@ func (w *windscribe) BuildConf(connection models.OpenVPNConnection,
fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf), fmt.Sprintf("auth-user-pass %s", constants.OpenVPNAuthConf),
fmt.Sprintf("proto %s", connection.Protocol), fmt.Sprintf("proto %s", connection.Protocol),
fmt.Sprintf("remote %s %d", connection.IP, connection.Port), fmt.Sprintf("remote %s %d", connection.IP, connection.Port),
fmt.Sprintf("cipher %s", settings.Cipher), "data-ciphers-fallback " + settings.Cipher,
"data-ciphers " + settings.Cipher,
fmt.Sprintf("auth %s", settings.Auth), fmt.Sprintf("auth %s", settings.Auth),
} }
if strings.HasSuffix(settings.Cipher, "-gcm") { if strings.HasSuffix(settings.Cipher, "-gcm") {