A rule-based tunnel in Go.
Go to file
Dreamacro d411394482 Chore: rename linux-armv8 to linux-arm64, windows-arm32v7 to windows-armv7 2022-09-21 21:18:24 +08:00
.github Migration: go1.19 2022-08-07 21:45:50 +08:00
adapter Chore: http2 should use DialTLSContext and some tls handshake should with context 2022-08-13 12:35:39 +08:00
common Chore: remove old cache implementation 2022-08-17 11:43:20 +08:00
component Refactor: linux process resolving (#2305) 2022-09-18 12:53:51 +08:00
config Feature: can set custom interface for dns nameserver (#2126) 2022-06-01 10:50:54 +08:00
constant Migration: go1.19 2022-08-07 21:45:50 +08:00
context Refactor: plain http proxy (#1443) 2021-06-15 17:13:40 +08:00
dns Chore: reduce dhcp dns client cost 2022-08-24 21:36:19 +08:00
docs Update: README.md logo and badges 2018-06-23 00:44:28 +08:00
hub Migration: go1.19 2022-08-07 21:45:50 +08:00
listener Chore: remove old cache implementation 2022-08-17 11:43:20 +08:00
log Fix: make log api unblocked 2022-04-26 22:36:10 +08:00
rule Fix: process rule type (#2206) 2022-07-06 13:44:04 +08:00
test Migration: go1.19 2022-08-07 21:45:50 +08:00
transport Chore: http2 should use DialTLSContext and some tls handshake should with context 2022-08-13 12:35:39 +08:00
tunnel Chore: show the source ip in log (#2284) 2022-09-02 16:59:00 +08:00
.gitignore Chore: contexify ProxyAdapter ListenPacket 2021-10-15 21:44:53 +08:00
.golangci.yaml Migration: go1.19 2022-08-07 21:45:50 +08:00
Dockerfile Refactor: improve Dockerfile (#2246) 2022-09-21 21:09:11 +08:00
LICENSE License: use GPL 3.0 2019-10-18 11:12:35 +08:00
Makefile Chore: rename linux-armv8 to linux-arm64, windows-arm32v7 to windows-armv7 2022-09-21 21:18:24 +08:00
README.md Chore: update README (#2276) 2022-08-27 12:16:25 +08:00
go.mod Refactor: linux process resolving (#2305) 2022-09-18 12:53:51 +08:00
go.sum Refactor: linux process resolving (#2305) 2022-09-18 12:53:51 +08:00
main.go Migration: go 1.18 2022-03-16 12:10:13 +08:00

README.md

Clash
Clash

A rule-based tunnel in Go.

Github Actions

Features

  • 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

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

Getting Started

Documentations are available at GitHub Wiki.

Development

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

Credits

License

This software is released under the GPL-3.0 license.

FOSSA Status