A rule-based tunnel in Go.
Go to file
Xiaochao Dong d71324069d
Feature: support basic authentication for DoH (#2684)
2023-04-19 11:30:57 +08:00
.github Chore: use the number of cpus in parallel make 2023-03-18 20:19:34 +08:00
adapter Chore: use protobytes replace most of bytes.Buffer 2023-04-17 14:08:39 +08:00
common Chore: use protobytes replace most of bytes.Buffer 2023-04-17 14:08:39 +08:00
component Feature: bind socket to interface by native API on Windows (#2662) 2023-04-08 19:20:14 +08:00
config Feature: support basic authentication for DoH (#2684) 2023-04-19 11:30:57 +08:00
constant Fix: potential vulnerability in http provider (#2680) 2023-04-16 20:14:36 +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 Chore: use protobytes replace most of bytes.Buffer 2023-04-17 14:08:39 +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 Fix: process rule type (#2206) 2022-07-06 13:44:04 +08:00
test Chore: update dependencies 2023-04-13 20:51:13 +08:00
transport Chore: use protobytes replace most of bytes.Buffer 2023-04-17 14:08:39 +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 Feature: add riscv64 build 2023-01-18 12:06:06 +08:00
README.md Fix: broken build badge (#2470) 2022-12-22 12:09:24 +08:00
go.mod Chore: use protobytes replace most of bytes.Buffer 2023-04-17 14:08:39 +08:00
go.sum Chore: use protobytes replace most of bytes.Buffer 2023-04-17 14:08:39 +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