• Stars
    star
    659
  • Rank 68,396 (Top 2 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created about 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

custom protocol network proxy

ClashRS

A custom protocol, rule based network proxy software.

CI

✨ Features

  • 🌈 Flexible traffic routing rules based off source/destination IP/Domain/GeoIP etc.
  • πŸ“¦ Local anti spoofing DNS with support of UDP/TCP/DoH/DoT remote.
  • πŸ›‘ Run as a HTTP/Socks5 proxy, or utun device as a home network gateway.
  • βš™οΈ Shadowsocks/Trojan/Vmess outbound support with different underlying trasports.
  • 🌍 Dynamic remote rule/proxy loader.
  • 🎡 Tracing with Jaeger

πŸ–₯ Environment Support

  • Linux
  • macOS
  • Windows(Untested)
    • You need to copy the wintun.dll file which matches your architecture to the same directory as your executable and run you program as administrator.
  • iOS - TestFlight

πŸ“¦ Install

Download Prebuilt Binary

Can be found at https://github.com/Watfaq/clash-rs/releases

Local Build

$ cargo build

πŸ”¨ Usage

Example Config

sample.yaml:

port: 7890

Run

-> % ./target/debug/clash -c sample.yaml

Help

-> % ./target/debug/clash -h
Usage: clash [OPTIONS]

Options:
  -d, --directory <DIRECTORY>
  -c, --config <FILE>          [default: config.yaml]
  -t, --test
  -h, --help                   Print help
  -V, --version                Print version

πŸ”— Links

🀝 Contributing

❀️ Inspired By