Proxy2VPN Python utilities
Project description
Proxy2VPN
Python command-line interface for managing multiple VPN containers with Docker.
Features
- Manage VPN credentials as reusable profiles
- Create and control VPN services
- Bulk start/stop operations
- Query and validate provider server locations
- Apply predefined presets for common setups
Installation
Using uv (recommended)
git clone https://github.com/eirenik0/proxy2vpn.git
cd proxy2vpn
uv sync
uv run proxy2vpn --help
Using pip
git clone https://github.com/eirenik0/proxy2vpn.git
cd proxy2vpn
pip install -e .
proxy2vpn --help
Quick Start
-
Create a profile file with your VPN credentials:
mkdir -p profiles cat <<'EOF' > profiles/myprofile.env OPENVPN_USER=your_username OPENVPN_PASSWORD=your_password EOF
-
Register the profile:
proxy2vpn profile create myprofile profiles/myprofile.env
-
Create and start a VPN service:
proxy2vpn vpn create vpn1 myprofile --port 8888 --provider protonvpn --location "New York" proxy2vpn vpn start vpn1
-
View status and test connectivity:
proxy2vpn vpn list proxy2vpn test vpn1
Command overview
Profiles
proxy2vpn profile create NAME ENV_FILEproxy2vpn profile listproxy2vpn profile delete NAME
VPN services
proxy2vpn vpn create NAME PROFILE [--port PORT] [--provider PROVIDER] [--location LOCATION]proxy2vpn vpn listproxy2vpn vpn start NAMEproxy2vpn vpn stop NAMEproxy2vpn vpn restart NAMEproxy2vpn vpn logs NAME [--lines N] [--follow]proxy2vpn vpn delete NAME
Bulk operations
proxy2vpn bulk upproxy2vpn bulk downproxy2vpn bulk statusproxy2vpn bulk ips
Server database
proxy2vpn servers updateproxy2vpn servers list-providersproxy2vpn servers list-countries PROVIDERproxy2vpn servers list-cities PROVIDER COUNTRYproxy2vpn servers validate-location PROVIDER LOCATION
Presets
proxy2vpn preset listproxy2vpn preset apply PRESET SERVICE [--port PORT]
Testing
proxy2vpn test SERVICE– verify that a proxy container is reachable
Development
Setup
# Install with development dependencies
uv sync
# or
pip install -e ".[dev]"
Testing
# Run tests (if available)
pytest
Changelog Management
This project uses Towncrier for changelog management:
# Add a news fragment for your changes
echo "Your feature description" > news/<PR_NUMBER>.feature.md
# Preview the changelog
make changelog-draft
# Build the changelog (maintainers)
make changelog VERSION=x.y.z
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
proxy2vpn-0.1.3-py3-none-any.whl
(17.2 kB
view details)
File details
Details for the file proxy2vpn-0.1.3-py3-none-any.whl.
File metadata
- Download URL: proxy2vpn-0.1.3-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a16ba593dfb90d753b57dca5f3adb4f4537b0cf49db3b8c476c62b7eb2e5091
|
|
| MD5 |
fd9c8eb514e435ad7e6a8cda7df797d3
|
|
| BLAKE2b-256 |
d08a75c49532fabafdf87199ce030d566064adf5a059dee735364f960172fb4b
|