mirror of
https://github.com/qdm12/gluetun.git
synced 2026-05-06 20:10:11 +02:00
chore(ci): test private internet access for OpenVPN and port forwarding
This commit is contained in:
@@ -109,6 +109,12 @@ jobs:
|
|||||||
secrets.PROTONVPN_OPENVPN_PASSWORD }}" | ./ci/runner
|
secrets.PROTONVPN_OPENVPN_PASSWORD }}" | ./ci/runner
|
||||||
protonvpn-openvpn-port-forwarding
|
protonvpn-openvpn-port-forwarding
|
||||||
|
|
||||||
|
- name: Run Gluetun container with Private Internet Access OpenVPN and port
|
||||||
|
forwarding configuration
|
||||||
|
run: echo -e "${{ secrets.PRIVATEINTERNETACCESS_OPENVPN_USER }}\n${{
|
||||||
|
secrets.PRIVATEINTERNETACCESS_OPENVPN_PASSWORD }}" | ./ci/runner
|
||||||
|
private-internet-access-openvpn-port-forwarding
|
||||||
|
|
||||||
codeql:
|
codeql:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ func main() {
|
|||||||
err = internal.ProtonVPNWireguardPortForwardingTest(ctx, logger)
|
err = internal.ProtonVPNWireguardPortForwardingTest(ctx, logger)
|
||||||
case "protonvpn-openvpn-port-forwarding":
|
case "protonvpn-openvpn-port-forwarding":
|
||||||
err = internal.ProtonVPNOpenVPNPortForwardingTest(ctx, logger)
|
err = internal.ProtonVPNOpenVPNPortForwardingTest(ctx, logger)
|
||||||
|
case "private-internet-access-openvpn-port-forwarding":
|
||||||
|
err = internal.PrivateInternetAccessOpenVPNPortForwardingTest(ctx, logger)
|
||||||
default:
|
default:
|
||||||
err = fmt.Errorf("unknown command: %s", os.Args[1])
|
err = fmt.Errorf("unknown command: %s", os.Args[1])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package internal
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"regexp"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func PrivateInternetAccessOpenVPNPortForwardingTest(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=private internet access",
|
||||||
|
"VPN_TYPE=openvpn",
|
||||||
|
"LOG_LEVEL=debug",
|
||||||
|
"SERVER_REGIONS=CA Montreal",
|
||||||
|
"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)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user