gitwtfhub

wtf is vpnx?

mocasus/vpnx — explained in plain English

Analysis updated 2026-05-18

47HTMLAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

VPNX is a self-hosted Docker tool that connects to free public VPN servers and exposes the tunnel as a rotating SOCKS5 and HTTP proxy with a REST API.

Mindmap

mindmap
  root((vpnx))
    What it does
      Rotating VPN proxy
      SOCKS5 and HTTP
      REST API control
    Tech stack
      Docker
      FastAPI
      OpenVPN
      Python
    Use cases
      IP rotation scraping
      Geo testing
      Rate limit workaround
    How it works
      VPN Gate sources
      Dante SOCKS5
      Tinyproxy HTTP

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Route web scraping traffic through rotating VPN servers to avoid a single IP address getting blocked.

REASON 2

Test how a website or service behaves when accessed from a different country.

REASON 3

Work around rate limits on an API or website by rotating to a new outgoing IP address.

REASON 4

Run a self-hosted proxy without paying for a commercial VPN or proxy subscription.

What's in the stack?

DockerFastAPIOpenVPNPython

How it stacks up

mocasus/vpnxdevopssessionsjvr/agentic-ai-demosunrisefromdark/agentradar
Stars474748
LanguageHTMLHTMLHTML
Setup difficultymoderatehardmoderate
Complexity3/54/53/5
Audiencedeveloperops devopsresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 5min

Requires a Linux Docker host with NET_ADMIN capability and access to /dev/net/tun.

MIT license, use freely in personal or commercial projects.

Wtf does this do

VPNX, short for VPN Proxy Exchange, turns a Docker host into a rotating VPN proxy without needing a paid VPN subscription or an account. It works by finding free public OpenVPN server configurations, building a VPN tunnel to one of them, and exposing that tunnel as a standard SOCKS5 and HTTP proxy that any tool such as curl, a browser, or a scraper can connect through. To find working VPN servers, VPNX tries three sources in order: a CSV based API from VPN Gate, a fallback that scrapes the VPN Gate website's table of servers directly, and a GitHub mirror of cached configurations as a last resort. If one source is unavailable, it automatically moves to the next without any manual steps. The project lists its intended use cases as web scraping with rotating IP addresses, testing how a service behaves from different countries, working around rate limits, and hiding the origin address of outgoing traffic. Running it is a single Docker command that grants the container network admin permissions and access to the host's tun device, since it needs to create a real VPN tunnel, and sets an API token used to authenticate all requests. It can also be installed as a small command line wrapper through npm or pip. Once running, a REST API on port 8000 lets a user check status, connect to a VPN server automatically or in a specific country, rotate to a new server, list available server locations by country, and disconnect. The proxy itself listens on port 1080 for SOCKS5 and port 8080 for HTTP, with a username and password that can be fetched from the API. Inside the container, a small FastAPI service manages the OpenVPN connection, while a tool called Dante handles the SOCKS5 side of the proxy and Tinyproxy handles the HTTP side, both routing traffic through whichever VPN tunnel is currently active. The project only runs on Linux Docker hosts because of the specific device and networking permissions it requires, and it is released under the MIT license.

Yoink these prompts

Prompt 1
Show me the Docker command to run vpnx and connect it to a VPN server in Japan using its REST API.
Prompt 2
Explain how vpnx falls back between its three VPN Gate server sources when one is unavailable.
Prompt 3
Walk me through using vpnx's SOCKS5 proxy with curl after connecting to a VPN server.
Prompt 4
How do I rotate to a new VPN server with vpnx without restarting the container?

Frequently asked questions

wtf is vpnx?

VPNX is a self-hosted Docker tool that connects to free public VPN servers and exposes the tunnel as a rotating SOCKS5 and HTTP proxy with a REST API.

What language is vpnx written in?

Mainly HTML. The stack also includes Docker, FastAPI, OpenVPN.

What license does vpnx use?

MIT license, use freely in personal or commercial projects.

How hard is vpnx to set up?

Setup difficulty is rated moderate, with roughly 5min to a first successful run.

Who is vpnx for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.