Home
Softono

Clash Rs

Open source Apache-2.0 Rust
1.7K
Stars
152
Forks
47
Issues
10
Watchers
3 months
Last Commit

 About Clash Rs

custom protocol network proxy

Platforms

Web Self-hosted iOS

Languages

Rust

Need Help Installing Clash Rs?

We provide expert installation service for this software. Our team will install, configure, and secure Clash Rs on your server. plans start at just $30.

ClashRS

A custom protocol, rule based network proxy software.

CI codecov

✨ 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, and expose it as a local UDP/TCP/DoH/DoT server.
  • ⚙️ AnyTLS/Hysteria2/Shadowquic/Shadowsocks/Socks5(TCP/UDP)/SSH/Tailscale/tor(onion)/Trojan/Tuic/VLess/Vmess/Wireguard(userspace) outbound support with different underlying transports(gRPC/TLS/H2/WebSocket/etc.).
  • 🔀 Multiple inbound modes: HTTP, SOCKS5, Mixed, Shadowsocks, AnyTLS, Redir, TProxy, and TUN (utun) for transparent proxying.
  • 🌍 Dynamic remote rule/proxy loader.
  • 🎵 Tracing with Jaeger

📡 Protocol Support

Inbounds

Type Description Notes
http HTTP proxy
socks SOCKS5 (TCP + UDP)
mixed HTTP + SOCKS5 on a single port
shadowsocks Shadowsocks inbound with multi-user support shadowsocks feature
anytls AnyTLS inbound with multi-user support, GFW fallback camouflage
tun TUN device for transparent proxying All platforms
tproxy Transparent proxy (TCP + UDP) Linux; tproxy feature
redir TCP redirect Linux; redir feature
tunnel Routes all traffic to a fixed target

Outbounds

Protocol Transports Notes
direct
reject
ss plain · obfs-http · obfs-tls · v2ray-plugin-ws · v2ray-plugin-ws-tls · shadow-tls shadowsocks feature
socks5 plain TCP · TLS
anytls TLS
trojan TLS · WebSocket+TLS · gRPC+TLS
vmess TCP · TCP+TLS · WebSocket+TLS · H2+TLS · gRPC+TLS
vless TLS · WebSocket+TLS · H2+TLS · gRPC+TLS · REALITY
wireguard UDP (userspace) wireguard feature
hysteria2 QUIC · obfs-salamander
tuic QUIC (bbr / cubic / new_reno) tuic feature
shadowquic QUIC · over-stream shadowquic feature
ssh SSH tunnel ssh feature
tor Onion routing onion feature (plus build)
tailscale Mesh VPN tailscale feature (plus build)

🖥 Environment Support

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

💰 Sponsors

📦 Install

Use With GUI

https://github.com/LibNyanpasu/clash-nyanpasu

Download Prebuilt Binary

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

Docker Image

https://github.com/Watfaq/clash-rs/pkgs/container/clash-rs

Local Build

Dependencies

  • cmake (3.29 or newer)
  • libclang(LLVM)
  • nasm (Windows)
  • protoc(for geodata proto generation)
  • pre-commit for managing git hooks
$ pipx install pre-commit
$ pre-commit install

$ cargo build

🔨 Usage

Example Config

sample.yaml:

port: 7890

Run

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

Help

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

Options:
  -d, --directory <DIRECTORY>      Set working directory (config-relative paths resolve from here)
  -c, --config <FILE>              Specify configuration file [default: config.yaml] [short aliases: f]
  -t, --test-config                Test configuration and exit
  -v, --version                    Print clash-rs version and exit [short aliases: V]
  -l, --log-file <LOG_FILE>        Additionally log to file
      --help-improve               Enable crash report to help improve clash
      --controller-ipc <IPC_PATH>  Specify the IPC path for the controller [aliases: --ext-ctl-pipe, --ext-ctl-unix]
      --compatibility              Enable compatibility mode for mihomo-consistent behavior
  -h, --help                       Print help

FFI

Compile for apple platforms

To create a framework for iOS and macOS platforms

git clone https://github.com/Watfaq/clash-rs.git
cd clash-rs
chmod +x scripts/build_apple.sh
./scripts/build_apple.sh

This command will generate a clashrs.xcframework file in the build directory.

🔗 Links

🤝 Contributing

❤️ Inspired By