clash - A rule-based tunnel in Go.

Created at: 2018-06-10 22:28:14
Language: Go
License: GPL-3.0


A rule-based tunnel in Go.

Github Actions


  • Local HTTP/HTTPS/SOCKS server with authentication support
  • Shadowsocks(R), VMess, Trojan, Snell, SOCKS5, HTTP(S) outbound support
  • Built-in fake-ip DNS server that aims to minimize DNS pollution attack impact. DoH/DoT upstream supported.
  • Rules based off domains, GEOIP, IP-CIDR or process names to route packets to different destinations
  • Proxy groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select proxy based off latency
  • Remote providers, allowing users to get proxy lists remotely instead of hardcoding in config
  • Transparent proxy: Redirect TCP and TProxy TCP/UDP with automatic route table/rule management
  • Hot-reload via the comprehensive HTTP RESTful API controller


Premium core is proprietary. You can find their release notes and pre-built binaries here.

Getting Started

Documentations are available at GitHub Wiki.


If you want to build a Go application that uses Clash as a library, check out the GitHub Wiki.



This software is released under the GPL-3.0 license.

FOSSA Status