SNI Socket Proxy App
SNI Socket Proxy routes HTTP and HTTPS traffic through a SOCKS5 proxy based on hostname matching. It uses SNI for HTTPS and the Host header for HTTP to determine routing, forwarding all traffic via a configured SOCKS5 upstream.
Features
- 🔀 SOCKS5 Routing: Routes all matched traffic through a SOCKS5 proxy
- 🔧 Simple Configuration: Just set SOCKS5 address and port
- 📡 Dual Port: Listens on ports 80 (HTTP) and 443 (HTTPS)
- 🛡️ Proxychains Backend: Uses proxychains for reliable SOCKS5 forwarding
- 🔒 SSL Passthrough: HTTPS traffic passes through without decryption
Use Cases
- Route specific HTTP/HTTPS traffic through a VPN, Tor, or other SOCKS5 proxy
- Transparent hostname-based proxying with an extra privacy layer
- Combine with Go SOCKS5 Proxy or Xray for layered routing
Installation
- Add the J0rsa repository to your Home Assistant
- Search for “SNI Socket Proxy” in the App Store (formerly Add-on Store)
- Click Install and wait for the download to complete
- Configure the SOCKS5 proxy settings
- Start the app
Configuration
socks5_address: "192.168.1.100" # SOCKS5 proxy server address
socks5_port: 1080 # SOCKS5 proxy server port
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
socks5_address |
String | "" |
SOCKS5 proxy server address (IP or hostname) |
socks5_port |
Integer | 1080 |
SOCKS5 proxy server port (1-65535) |
How It Works
- The app listens on ports 80 (HTTP) and 443 (HTTPS) for incoming connections
- For HTTPS: extracts the SNI hostname from the TLS Client Hello
- For HTTP: extracts the hostname from the Host header
- All traffic is routed through the configured SOCKS5 proxy
- The SOCKS5 proxy forwards traffic to the destination server
Client → SNI Socket Proxy (443) → [reads SNI] → SOCKS5 Proxy → Destination
Ports
| Port | Protocol | Description |
|---|---|---|
| 80 | TCP | HTTP proxy port |
| 443 | TCP | HTTPS/SSL proxy port |
Integration with Other Apps
This app works well with:
- Go SOCKS5 Proxy — use as the SOCKS5 upstream
- Xray — route traffic through Xray’s SOCKS5 proxy
- SNI Proxy — similar but without SOCKS5 routing
Troubleshooting
Connection Issues
- Verify the SOCKS5 proxy address and port are correct and accessible
- Ensure the SOCKS5 proxy server is running
Port Conflicts
- Ensure ports 80 and 443 are not used by another service
- Check the app logs for detailed error messages
SOCKS5 Proxy Unreachable
- Confirm the SOCKS5 proxy is accessible from the app container’s network
- Check firewall rules between the app and the SOCKS5 server
Support
| ← Back to Apps | View on GitHub |