A rule-based tunnel in Go.
- Local HTTP/HTTPS/SOCKS server with authentication support
- VMess, Shadowsocks, Trojan, Snell protocol support for remote connections
- Built-in DNS server that aims to minimize DNS pollution attack impact, supports DoH/DoT upstream and fake IP.
- Rules based off domains, GEOIP, IPCIDR or Process to forward packets to different nodes
- Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node based off latency
- Remote providers, allowing users to get node lists remotely instead of hardcoding in config
- Netfilter TCP redirecting. Deploy Clash on your Internet gateway with
- Comprehensive HTTP RESTful API controller
- TUN mode on macOS, Linux and Windows. Doc
- Match your tunnel by Script
- Rule Provider
Documentations are now moved to GitHub Wiki.
If you want to build an application that uses clash as a library, check out the the GitHub Wiki
This software is released under the GPL-3.0 license.