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
  • Multi-service control with --all flags
  • Query and validate provider server locations
  • Apply predefined presets for common setups

Installation

Install proxy2vpn from PyPI using your preferred Python tool:

pip

pip install proxy2vpn
proxy2vpn --help

uv

uv tool install proxy2vpn
proxy2vpn --help

uvx

Run the CLI without installing it:

uvx proxy2vpn --help

pipx

pipx install proxy2vpn
proxy2vpn --help

Quick Start

  1. Initialize the compose file:

    proxy2vpn system init
    
  2. 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
    
  3. Register the profile:

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

    proxy2vpn vpn create vpn1 myprofile --port 8888 --provider protonvpn --location "New York"
    proxy2vpn vpn start vpn1
    # Use --force to recreate the container if it already exists
    # proxy2vpn vpn start --force vpn1
    
  5. View status and test connectivity:

    proxy2vpn vpn list
    proxy2vpn vpn test vpn1
    

Command overview

System operations

  • proxy2vpn system init [--force]
  • proxy2vpn system validate
  • proxy2vpn system diagnose [--lines N] [--all] [--verbose] [--json]

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 [--diagnose] [--ips-only]
  • proxy2vpn vpn start [NAME | --all] [--force]
  • proxy2vpn vpn stop [NAME | --all]
  • proxy2vpn vpn restart [NAME | --all]
  • proxy2vpn vpn logs NAME [--lines N] [--follow]
  • proxy2vpn vpn delete [NAME | --all]
  • proxy2vpn vpn test NAME

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]

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 Distribution

proxy2vpn-0.5.1.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

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

proxy2vpn-0.5.1-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file proxy2vpn-0.5.1.tar.gz.

File metadata

  • Download URL: proxy2vpn-0.5.1.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for proxy2vpn-0.5.1.tar.gz
Algorithm Hash digest
SHA256 cdad27f43d0133e58fe49b2d1c560d33fb6aa371f3bf8969f8d8213b45f5cb0a
MD5 f96a0c1c5e481b73c7ddf31cf41243cd
BLAKE2b-256 4270c2d7644f029987e2c280562bc2acd6f0c9ee06f452f9017f1bf351fa9106

See more details on using hashes here.

File details

Details for the file proxy2vpn-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: proxy2vpn-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for proxy2vpn-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4c97dc98db5f6c03a8d17eea9699965e4e6fbc0b2c233ef12aa9e3b841ad9bc8
MD5 1dc240a3cbcd2e9f9dafd5e722601d30
BLAKE2b-256 0054fdd995217da5b7ac1c9a9ccb1135a08a114faa1ddc01ad1c6043bb318762

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