Skip to main content

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

  1. 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
    
  2. Register the profile:

    proxy2vpn profile create myprofile profiles/myprofile.env
    
  3. Create and start a VPN service:

    proxy2vpn vpn create vpn1 myprofile --port 8888 --provider protonvpn --location "New York"
    proxy2vpn vpn start vpn1
    
  4. View status and test connectivity:

    proxy2vpn vpn list
    proxy2vpn test vpn1
    

Command overview

Profiles

  • proxy2vpn profile create NAME ENV_FILE
  • proxy2vpn profile list
  • proxy2vpn profile delete NAME

VPN services

  • proxy2vpn vpn create NAME PROFILE [--port PORT] [--provider PROVIDER] [--location LOCATION]
  • proxy2vpn vpn list
  • proxy2vpn vpn start NAME
  • proxy2vpn vpn stop NAME
  • proxy2vpn vpn restart NAME
  • proxy2vpn vpn logs NAME [--lines N] [--follow]
  • proxy2vpn vpn delete NAME

Bulk operations

  • proxy2vpn bulk up
  • proxy2vpn bulk down
  • proxy2vpn bulk status
  • proxy2vpn bulk ips

Server database

  • proxy2vpn servers update
  • proxy2vpn servers list-providers
  • proxy2vpn servers list-countries PROVIDER
  • proxy2vpn servers list-cities PROVIDER COUNTRY
  • proxy2vpn servers validate-location PROVIDER LOCATION

Presets

  • proxy2vpn preset list
  • proxy2vpn 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


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

If you're not sure about the file name format, learn more about wheel file names.

proxy2vpn-0.1.3-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

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

Hashes for proxy2vpn-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3a16ba593dfb90d753b57dca5f3adb4f4537b0cf49db3b8c476c62b7eb2e5091
MD5 fd9c8eb514e435ad7e6a8cda7df797d3
BLAKE2b-256 d08a75c49532fabafdf87199ce030d566064adf5a059dee735364f960172fb4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page