mirror of
https://github.com/qdm12/gluetun.git
synced 2026-05-06 20:10:11 +02:00
53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package internal
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"regexp"
|
|
"time"
|
|
)
|
|
|
|
func ProtonVPNWireguardPortForwardingTest(ctx context.Context, logger Logger) error {
|
|
expectedSecrets := []string{
|
|
"Wireguard private key",
|
|
}
|
|
secrets, err := readSecrets(ctx, expectedSecrets, logger)
|
|
if err != nil {
|
|
return fmt.Errorf("reading secrets: %w", err)
|
|
}
|
|
|
|
env := []string{
|
|
"VPN_SERVICE_PROVIDER=protonvpn",
|
|
"VPN_TYPE=wireguard",
|
|
"LOG_LEVEL=debug",
|
|
"SERVER_COUNTRIES=United States",
|
|
"WIREGUARD_PRIVATE_KEY=" + secrets[0],
|
|
"VPN_PORT_FORWARDING=on",
|
|
}
|
|
const timeout = 80 * time.Second
|
|
return runContainerTest(ctx, env, []*regexp.Regexp{successRegexp, portForwardingRegexp}, timeout, logger)
|
|
}
|
|
|
|
func ProtonVPNOpenVPNPortForwardingTest(ctx context.Context, logger Logger) error {
|
|
expectedSecrets := []string{
|
|
"OpenVPN username",
|
|
"OpenVPN password",
|
|
}
|
|
secrets, err := readSecrets(ctx, expectedSecrets, logger)
|
|
if err != nil {
|
|
return fmt.Errorf("reading secrets: %w", err)
|
|
}
|
|
|
|
env := []string{
|
|
"VPN_SERVICE_PROVIDER=protonvpn",
|
|
"VPN_TYPE=openvpn",
|
|
"LOG_LEVEL=debug",
|
|
"SERVER_COUNTRIES=United States",
|
|
"OPENVPN_USER=" + secrets[0],
|
|
"OPENVPN_PASSWORD=" + secrets[1],
|
|
"VPN_PORT_FORWARDING=on",
|
|
}
|
|
const timeout = 80 * time.Second
|
|
return runContainerTest(ctx, env, []*regexp.Regexp{successRegexp, portForwardingRegexp}, timeout, logger)
|
|
}
|