- Install Docker on your machine.
- Visit: ProtonVPN OpenVPN Downloads
- Log in to your ProtonVPN account.
- Choose a protocol (UDP/TCP) and download the
.ovpn
configuration files. - Place all
.ovpn
files into theovpn_configs
directory.
jp-free-1.protonvpn.udp.ovpn
file included is a sample placeholder and will not work for actual connections. Replace it with a real .ovpn
file from your ProtonVPN account.
- Inside the
ovpn_configs
directory, open the existingproton_openvpn_userpass.txt
file and add your ProtonVPN login credentials, You can obtain your username and password from ProtonVPN's account page:
Username
Password
- Move the project folder to your VPS.
- SSH into your VPS and
cd
into the project folder. - Run the following command to generate and start 1 proxy container:
chmod +x generate-compose.sh && ./generate-compose.sh 1 && sudo docker compose up -d --build
π Note: If you want multiple proxies (e.g., 3), change
1
to3
. Proxies will start on ports6101
,6102
,6103
, etc.
β οΈ ProtonVPN's Free plan allows only 1 connection.
- Check the OpenVPN connection and proxy status by viewing container logs:
docker compose logs -f vpn_proxy_1
π Make sure the jq
is installed.
sudo apt install jq -y
curl -s --proxy http://127.0.0.1:6101 https://ipinfo.io/json | jq -r '"IP: \(.ip) πΈ City: \(.city) πΈ Region: \(.region) πΈ Country: \(.country) πΈ TimeZone: \(.timezone)"'
python3 -c "import requests; info = requests.get('https://ipinfo.io/json', proxies={'http':'http://127.0.0.1:6101','https':'http://127.0.0.1:6101'}).json(); print(f\"IP: {info['ip']} πΈ City: {info['city']} πΈ Region: {info['region']} πΈ Country: {info['country']} πΈ TimeZone: {info['timezone']}\")"