Skip to main content

SOCKS proxy for routing traffic through WiFi interface

Project description

hotspot-socks-proxy

A high-performance SOCKS5 proxy server designed to route traffic through WiFi interfaces. Perfect for scenarios where you need to ensure traffic goes through a specific network interface.

Features

Core Functionality

  • SOCKS5 proxy server with multi-process support
  • Automatic WiFi interface detection and validation
  • Built-in DNS resolution with multiple fallback options
  • Process pool management with automatic recovery
  • Clean shutdown handling

Performance & Reliability

  • Multi-process architecture for optimal performance
  • Thread-safe statistics tracking
  • Automatic process recovery on failure
  • Configurable DNS resolvers with fallback mechanisms
  • Connection pooling and timeout handling

User Interface

  • Real-time terminal UI with bandwidth monitoring
  • Live connection statistics
  • Clean terminal interface with borders
  • Keyboard controls (Ctrl-C to exit)
  • Automatic unit scaling for bandwidth display

Network Management

  • Automatic WiFi interface detection
  • Interface validation and filtering
  • IP address management
  • Support for both wireless and fallback interfaces

Additional Features

  • Clipboard integration for easy proxy configuration sharing
  • Support for both Windows and Unix-like systems
  • Root privilege checking
  • Comprehensive error handling and reporting

Installation

pip install hotspot-socks-proxy

Usage

Run the proxy server (requires root/admin privileges):

# Basic usage
sudo hotspot-proxy proxy

# Custom port and processes
sudo hotspot-proxy proxy --port 9050 --processes 4

Options

  • --processes/-p: Number of proxy processes (default: CPU count)
  • --port: Port to listen on (default: 9050)

Example Code

from hotspot_socks_proxy.core.proxy import create_proxy_server

# Start a SOCKS proxy server on localhost:9050 with 4 processes
create_proxy_server("127.0.0.1", 9050, 4)

Requirements

  • Python >= 3.12
  • Root/Administrator privileges for proper operation
  • Required packages (automatically installed):
    • typer: CLI interface
    • prompt-toolkit: Terminal UI
    • rich: Pretty output formatting
    • psutil: System and process utilities
    • pyperclip: Clipboard integration
    • dnspython: DNS resolution

Development

Project Structure

src/hotspot_socks_proxy/
├── cmd/                 # Command-line interface modules   ├── cli.py          # Main CLI entry point   ├── find_wifi.py    # WiFi interface detection   ├── http.py         # HTTP proxy implementation   └── socks.py        # SOCKS proxy interface
├── core/               # Core functionality   ├── lib/            # Core library components      ├── proxy_server.py    # Multi-process server      ├── proxy_stats.py     # Statistics tracking      ├── proxy_ui.py        # Terminal UI      └── socks_handler.py   # SOCKS protocol handler   ├── exceptions.py   # Custom exceptions   ├── network.py      # Network interface management   └── proxy.py        # Main entry point

Documentation

Full documentation is available at [GitHub Pages URL].

License

This project is licensed under the GPL-3.0 License.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

hotspot_socks_proxy-3.3.13.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

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

hotspot_socks_proxy-3.3.13-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file hotspot_socks_proxy-3.3.13.tar.gz.

File metadata

  • Download URL: hotspot_socks_proxy-3.3.13.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for hotspot_socks_proxy-3.3.13.tar.gz
Algorithm Hash digest
SHA256 7a1c22c13684f9abde624ff2c52584ff638b98cbdea8dcfaf26b957bb00f9724
MD5 4d28c639f58e95f4254f15eac8da4c2f
BLAKE2b-256 ab5f8cb27871bbe0b3639628a3c4b8880246b0ab878e6e179d3819b95b63d818

See more details on using hashes here.

File details

Details for the file hotspot_socks_proxy-3.3.13-py3-none-any.whl.

File metadata

File hashes

Hashes for hotspot_socks_proxy-3.3.13-py3-none-any.whl
Algorithm Hash digest
SHA256 a7ebc24f0d972d18032cd6fd0de9c746d9812800ca94e8f9eb5b84a2348006a0
MD5 4c23d3233ca2df2b1243872e55c09b53
BLAKE2b-256 975b432e7041dd0b4e7a4d801ebc59a262d5f53f87b57bf0e6d9036cf452c8cd

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