A small macOS GUI application for easily managing a system-wide tunnel using sshuttle.
Creates a transparent VPN-like tunnel through an SSH server — no browser extension or SOCKS proxy configuration needed.
- Simple native macOS interface
- Start/stop system-wide sshuttle tunnel with one click
- Shows current connection status
- (Future) Lists installed applications (potential for per-app routing)
Note: This is not a SOCKS proxy toggler. It routes all system traffic through the SSH tunnel (like a lightweight VPN).
MacProx is under active development.
The core tunnel functionality is stable; UI and per-app features are evolving.
- macOS (tested on 12+)
- Rust toolchain (
cargo,rustc) - One of:
- Homebrew (recommended)
- Python 3 + pip3
# Install sshuttle (the only real dependency)
make depsThis command will:
- Use
brew install sshuttleif Homebrew is available - Fall back to
pip3 install sshuttleotherwise
# Run in development mode
cargo run
# Build release version
cargo build --releaseThe release binary will appear in target/release/macprox
- Strongly prefer SSH key authentication
- Password authentication works (via
SSH_ASKPASS), but avoid it on shared or untrusted machines - Never run MacProx with
sudo— it asks for admin rights only when starting/stopping the tunnel
sshuttlemay require administrator privileges (you'll see a macOS prompt)- If connection fails:
- First verify you can connect manually:
ssh user@your.server.com
- Check that the server allows TCP forwarding (
AllowTcpForwarding yesinsshd_config) - Make sure no conflicting VPN / other tunnel is active
- Try with
-v(verbose mode) to see detailed errors:sshuttle --dns -v -r user@server.com 0/0
- First verify you can connect manually:
This version is:
- clean & modern
- properly formatted for GitHub rendering
- includes realistic sections most users expect
- contains practical security & troubleshooting info
- ready to be used as your project's `README.md`