Install
openclaw skills install @space-cadet/protonvpn-openvpnManage ProtonVPN OpenVPN connections — connect, disconnect, rotate, check status
openclaw skills install @space-cadet/protonvpn-openvpnManage ProtonVPN OpenVPN connections for privacy, geo-testing, and IP rotation workflows.
Use this skill when:
openvpn binary in PATH)/etc/openvpn/client//etc/openvpn/client/auth.txt (chmod 600)openvpn and kill commands (recommended)| Config File | Country | Code |
|---|---|---|
us.protonvpn.udp.ovpn | United States | us |
se.protonvpn.udp.ovpn | Sweden | se |
nl.protonvpn.udp.ovpn | Netherlands | nl |
cz.protonvpn.udp.ovpn | Czech Republic | cz |
in.protonvpn.udp.ovpn | India (routes via Singapore) | in |
sudo openvpn --config /etc/openvpn/client/<country>.protonvpn.udp.ovpn --daemon --log-append /tmp/openvpn.log --writepid /tmp/openvpn.pid
Wait 5 seconds for connection, then verify:
sleep 5 && curl -s --max-time 10 https://ipinfo.io/json | jq -r '"\(.country) | \(.city), \(.region) | \(.ip) | \(.org)"'
sudo kill $(cat /tmp/openvpn.pid 2>/dev/null) 2>/dev/null || sudo killall openvpn
# Check if tun0 exists
ip addr show tun0 2>/dev/null && echo "VPN interface: UP" || echo "VPN interface: DOWN"
# Check current IP/location
curl -s --max-time 10 https://ipinfo.io/json | jq -r '"\(.country) | \(.city), \(.region) | \(.ip) | \(.org)"' 2>/dev/null || echo "No VPN connection"
Disconnect current, then connect to next config in rotation:
# 1. Disconnect
sudo kill $(cat /tmp/openvpn.pid 2>/dev/null) 2>/dev/null; sleep 2
# 2. Pick next config (cycle through: us → se → nl → cz → in → us)
# Use a state file to track current position: /tmp/vpn-rotation-state
# 3. Connect to next
sudo openvpn --config /etc/openvpn/client/<next>.protonvpn.udp.ovpn --daemon --log-append /tmp/openvpn.log --writepid /tmp/openvpn.pid
sleep 5
# 4. Verify
curl -s --max-time 10 https://ipinfo.io/json | jq -r '"\(.country) | \(.city), \(.region) | \(.ip) | \(.org)"'
| Field | Source | Example |
|---|---|---|
| Country | ipinfo.io .country | US, SE, NL |
| City | ipinfo.io .city | Los Angeles, Stockholm |
| IP | ipinfo.io .ip | 193.37.254.69 |
| Provider | ipinfo.io .org | M247 Ltd |
| Interface | ip addr show tun0 | tun0: <POINTOPOINT...> |
/tmp/openvpn.log for auth errors or TLS handshake failuresipinfo.io returns wrong country: DNS leak — check resolv.conftun0 doesn't appear: OpenVPN daemon crashed — check logschmod 600auth-user-pass /etc/openvpn/client/auth.txt--daemon for background operation; use --writepid for clean shutdown# Connect to target country
vpn-connect us
# Run tests
# ...
# Disconnect
vpn-disconnect
# Rotate every N requests
vpn-rotate
# Make requests
# ...
# Connect and stay connected
vpn-connect nl
# All traffic now routed through Netherlands