mirror of https://github.com/Dreamacro/clash.git
1be09f5751 | ||
---|---|---|
.github | ||
adapter | ||
common | ||
component | ||
config | ||
constant | ||
context | ||
dns | ||
docs | ||
hub | ||
listener | ||
log | ||
rule | ||
test | ||
transport | ||
tunnel | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
go.mod | ||
go.sum | ||
main.go |
README.md
Clash
A rule-based tunnel in Go.
Features
- 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, IP CIDR or ports 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
iptables
. - Comprehensive HTTP RESTful API controller
Premium Features
- TUN mode on macOS, Linux and Windows. Doc
- Match your tunnel by Script
- Rule Provider
Getting Started
Documentations are now moved to GitHub Wiki.
Premium Release
Development
If you want to build an application that uses clash as a library, check out the the GitHub Wiki
Credits
License
This software is released under the GPL-3.0 license.
TODO
- Complementing the necessary rule operators
- Redir proxy
- UDP support
- Connection manager