A rule-based tunnel in Go.
Go to file
Georeth Chow 7f1b50f4a7
Chore: Fix ISSUE_TEMPLATE (DEBUG -> debug) (#2711)
2023-04-28 17:23:00 +08:00
.github Chore: Fix ISSUE_TEMPLATE (DEBUG -> debug) (#2711) 2023-04-28 17:23:00 +08:00
adapter Chore: use protobytes replace most of bytes.Buffer 2023-04-17 14:08:39 +08:00
common Fix: put correctly pool 2023-04-20 11:07:21 +08:00
component Feature: support IPSET rule (#2693) 2023-04-22 20:07:47 +08:00
config Feature: support basic authentication for DoH (#2684) 2023-04-19 11:30:57 +08:00
constant Feature: support IPSET rule (#2693) 2023-04-22 20:07:47 +08:00
context Chore: update uuid to v5 2023-03-14 21:18:09 +08:00
dns Fix: potential panic in putMsgToCache (#2634) 2023-03-21 19:36:49 +08:00
docs Update: README.md logo and badges 2018-06-23 00:44:28 +08:00
hub Feature: add provider proxies API (#2668) 2023-04-22 19:16:51 +08:00
listener Feature: REDIRECT support IPv6 (#2473) 2022-12-22 19:25:30 +08:00
log Fix: make log api unblocked 2022-04-26 22:36:10 +08:00
rule Feature: support IPSET rule (#2693) 2023-04-22 20:07:47 +08:00
test Fix: direct require protobytes 2023-04-21 21:13:13 +08:00
transport Fix: socks4 server handshake (#2700) 2023-04-25 20:16:11 +08:00
tunnel Fix: should always drop packet when handle UDP packet (#2659) 2023-04-05 14:05:23 +08:00
.gitignore Chore: contexify ProxyAdapter ListenPacket 2021-10-15 21:44:53 +08:00
.golangci.yaml Chore: add some linters and clean up the code 2023-04-04 14:53:59 +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: add new `lint-fix` for Makefile 2023-04-22 20:03:57 +08:00
README.md Fix: broken build badge (#2470) 2022-12-22 12:09:24 +08:00
go.mod Feature: support IPSET rule (#2693) 2023-04-22 20:07:47 +08:00
go.sum Feature: support IPSET rule (#2693) 2023-04-22 20:07:47 +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