Skip to content
/ Protixy Public

🌐 ProtonTinyProxy - A minimal and efficient local proxy setup using Docker, powered by ProtonVPN (via OpenVPN) and Tinyproxy.

License

Notifications You must be signed in to change notification settings

411A/Protixy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐳 OpenVPN Proxy Setup Guide (Docker + ProtonVPN + Tinyproxy)

0. Prerequisites

  • Install Docker on your machine.

1. Download ProtonVPN OpenVPN Configs

  1. Visit: ProtonVPN OpenVPN Downloads
  2. Log in to your ProtonVPN account.
  3. Choose a protocol (UDP/TCP) and download the .ovpn configuration files.
  4. Place all .ovpn files into the ovpn_configs directory.

⚠️ The 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.

  1. Inside the ovpn_configs directory, open the existing proton_openvpn_userpass.txt file and add your ProtonVPN login credentials, You can obtain your username and password from ProtonVPN's account page:
Username
Password

2. Deploy to VPS

  1. Move the project folder to your VPS.
  2. SSH into your VPS and cd into the project folder.
  3. 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 to 3. Proxies will start on ports 6101, 6102, 6103, etc.

⚠️ ProtonVPN's Free plan allows only 1 connection.

  1. Check the OpenVPN connection and proxy status by viewing container logs:
docker compose logs -f vpn_proxy_1

βœ… Test Your Proxy

πŸ”Ή With curl (requires jq):

πŸ“ 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)"'

πŸ”Ή With Python:

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']}\")"

About

🌐 ProtonTinyProxy - A minimal and efficient local proxy setup using Docker, powered by ProtonVPN (via OpenVPN) and Tinyproxy.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published