merino
merino copied to clipboard
:sheep: A SOCKS5 Proxy server written in Rust
_
_ __ ___ ___ _ __(_)_ __ ___
| '_ ` _ \ / _ \ '__| | '_ \ / _ \
| | | | | | __/ | | | | | | (_) |
|_| |_| |_|\___|_| |_|_| |_|\___/
A SOCKS5 Proxy server written in Rust
🎁 Features
- Written in 100% Safe Rust
- Multi-threaded connection handler
- Lightweight (Less than 0.6% CPU usage while surfing the web/streaming YouTube)
- Standalone binary (no system dependencies)
1+ Gb/secondconnection speeds (On Gigabit LAN network over ethernet. Results may vary!)- Tunable logging (by flags or
RUST_LOGenvironmental variable) SOCKS5Compatible Authentication methods:NoAuth- Username & Password
GSSAPIComing Soon!
📦 Installation & 🏃 Usage
Installation
cargo install merino
OR
git clone https://github.com/ajmwagar/merino
cd merino
cargo install --path .
Usage
# Start a SOCKS5 Proxy server listening on port 1080 without authentication
merino --no-auth
# Use username/password authentication and read users from users.csv
merino --users users.csv
# Display a help menu
merino --help
🚥 Roadmap
- [x] IPV6 Support
- [ ]
SOCKS5Authentication Methods- [x]
NOAUTH - [x]
USERPASS - [ ]
GSSAPIComing Soon!
- [x]
- [ ] Custom plugin/middleware support
- [ ]
SOCKS5Commands- [x]
CONNECT - [ ]
BIND - [ ]
ASSOCIATE
- [x]
- [ ] Benchmarks & Unit tests
- [ ] Actix based backend
- [ ]
SOCKS4/SOCKS4aSupport