Skip to content
forked from ajmwagar/merino

🐑 A SOCKS5 Proxy server written in Rust

License

Notifications You must be signed in to change notification settings

Gordon01/merino

 
 

Repository files navigation

                     _
 _ __ ___   ___ _ __(_)_ __   ___
| '_ ` _ \ / _ \ '__| | '_ \ / _ \
| | | | | |  __/ |  | | | | | (_) |
|_| |_| |_|\___|_|  |_|_| |_|\___/

A SOCKS5 Proxy server written in Rust

Crates.io stego License Build Status dependency status

🎁 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/second connection speeds (On Gigabit LAN network over ethernet. Results may vary!)
  • Tunable logging (by flags or RUST_LOG environmental variable)
  • Allowed list (NoAuth is always offered for such clients)
  • Telegram bot (access list manipulation)
  • SOCKS5 Compatible Authentication methods:
    • NoAuth
    • Username & Password
    • GSSAPI Coming 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

# Use Telegram bot
# `--bot` currently not used, pass `TELOXIDE_TOKEN` env variable wwith token
TELOXIDE_TOKEN=111:AAA merino --bot bot.token -a allowed.txt

# Display a help menu
merino --help 

🚥 Roadmap

  • IPV6 Support
  • SOCKS5 Authentication Methods
    • NOAUTH
    • USERPASS
    • GSSAPI Coming Soon!
  • Custom plugin/middleware support
  • SOCKS5 Commands
    • CONNECT
    • BIND
    • ASSOCIATE
  • Benchmarks & Unit tests
  • Actix based backend
  • SOCKS4/SOCKS4a Support

About

🐑 A SOCKS5 Proxy server written in Rust

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%