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
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 Distribution
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
File details
Details for the file hotspot_socks_proxy-3.0.8.tar.gz.
File metadata
- Download URL: hotspot_socks_proxy-3.0.8.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
202c9e7d184b41f8b70586a3f2bd98768a98b491e70704b6a127fcf507977bd8
|
|
| MD5 |
af222b2f0d02add2119fe8105b4914cd
|
|
| BLAKE2b-256 |
3c0d780cd4ee49a0a4481286f87e187bd89866cf4461d352e97f74943f4ca638
|
File details
Details for the file hotspot_socks_proxy-3.0.8-py3-none-any.whl.
File metadata
- Download URL: hotspot_socks_proxy-3.0.8-py3-none-any.whl
- Upload date:
- Size: 39.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad2b1438ad8c92558a157d276f050ee9a8e9ce7ad3f6ee7df82ada0b404957fd
|
|
| MD5 |
e584bc31f0c1f72f9221aab30e32710b
|
|
| BLAKE2b-256 |
f61343f232bcfff543c28e35c11f961b89c83cb3f833d8207448ec5a0169cfcf
|