From 51004b14d98087392d4fa29084823128adeb7acc Mon Sep 17 00:00:00 2001 From: Larvan2 <78135608+Larvan2@users.noreply.github.com> Date: Thu, 19 Oct 2023 23:41:43 +0800 Subject: [PATCH] docs: update readme.md --- README.md | 303 +++--------------------------------------------------- 1 file changed, 16 insertions(+), 287 deletions(-) diff --git a/README.md b/README.md index bbf5cf43..d5022dfb 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ ## Features - Local HTTP/HTTPS/SOCKS server with authentication support -- VMess, Shadowsocks, Trojan, Snell protocol support for remote connections +- VMess, VLESS, Shadowsocks, Trojan, Snell, TUIC, Hysteria protocol support - Built-in DNS server that aims to minimize DNS pollution attack impact, supports DoH/DoT upstream and fake IP. - Rules based off domains, GEOIP, IPCIDR or Process to forward packets to different nodes - Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node @@ -32,259 +32,41 @@ ## Dashboard -We made an official web dashboard providing first class support for this project, check it out -at [metacubexd](https://github.com/MetaCubeX/metacubexd) +A web dashboard with first-class support for this project has been created; it can be checked out at [metacubexd](https://github.com/MetaCubeX/metacubexd). -## Wiki +## Configration example -Configuration examples can be found -at [/docs/config.yaml](https://github.com/MetaCubeX/Clash.Meta/blob/Alpha/docs/config.yaml), while documentation can be -found [Clash.Meta Wiki](https://clash-meta.wiki). +Configuration example is located at [/docs/config.yaml](https://github.com/MetaCubeX/Clash.Meta/blob/Alpha/docs/config.yaml). -## Build +## Docs -You should install [golang](https://go.dev) first. +Documentation can be found in [Clash.Meta Docs](https://clash-meta.wiki). -Then get the source code of Clash.Meta: +## For development + +Requirements: +[Go 1.20 or newer](https://go.dev/dl/) + +Build Clash.Meta: ```shell git clone https://github.com/MetaCubeX/Clash.Meta.git cd Clash.Meta && go mod download +go build ``` -If you can't visit GitHub, you should set proxy first: +Set go proxy if a connection to GitHub is not possible: ```shell go env -w GOPROXY=https://goproxy.io,direct ``` -Now you can build it: - -```shell -go build -``` - -If you need gvisor for tun stack, build with: +Build with gvisor tun stack: ```shell go build -tags with_gvisor ``` - - - - ### IPTABLES configuration Work on Linux OS which supported `iptables` @@ -298,62 +80,9 @@ iptables: inbound-interface: eth0 # detect the inbound interface, default is 'lo' ``` -### General installation guide for Linux - -- Create user given name `clash-meta` - -- Download and decompress pre-built binaries from [releases](https://github.com/MetaCubeX/Clash.Meta/releases) - -- Rename executable file to `Clash-Meta` and move to `/usr/local/bin/` - -- Create folder `/etc/Clash-Meta/` as working directory - -Run Meta Kernel by user `clash-meta` as a daemon. - -Create the systemd configuration file at `/etc/systemd/system/Clash-Meta.service`: - -``` -[Unit] -Description=Clash-Meta Daemon, Another Clash Kernel. -After=network.target NetworkManager.service systemd-networkd.service iwd.service - -[Service] -Type=simple -User=clash-meta -Group=clash-meta -LimitNPROC=500 -LimitNOFILE=1000000 -CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE -AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE -Restart=always -ExecStartPre=/usr/bin/sleep 1s -ExecStart=/usr/local/bin/Clash-Meta -d /etc/Clash-Meta -ExecReload=/bin/kill -HUP $MAINPID - -[Install] -WantedBy=multi-user.target -``` - -Launch clash-meta daemon on system startup with: - -```shell -$ systemctl enable Clash-Meta -``` - -Launch clash-meta daemon immediately with: - -```shell -$ systemctl start Clash-Meta -``` - -## Development - -If you want to build an application that uses clash as a library, check out -the [GitHub Wiki](https://github.com/Dreamacro/clash/wiki/use-clash-as-a-library) - ## Debugging -Check [wiki](https://github.com/MetaCubeX/Clash.Meta/wiki/How-to-use-debug-api) to get an instruction on using debug +Check [wiki](https://wiki.metacubex.one/api/#debug) to get an instruction on using debug API. ## Credits