Chore: update README to better describe what Clash do atm (#586)

This commit is contained in:
Birkhoff Lee 2020-03-20 12:35:30 +08:00 committed by GitHub
parent e54f51af81
commit 70a19b999d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 19 deletions

View File

@ -19,23 +19,25 @@
## Features ## Features
- Local HTTP/HTTPS/SOCKS server - Local HTTP/HTTPS/SOCKS server with/without authentication
- GeoIP rule support - VMess, Shadowsocks, Trojan (experimental), Snell protocol support for remote connections. UDP is supported.
- Supports Vmess, Shadowsocks, Snell and SOCKS5 protocol - Built-in DNS server that aims to minimize DNS pollution attacks, supports DoH/DoT upstream. Fake IP is also supported.
- Supports Netfilter TCP redirecting - Rules based off domains, GEOIP, IP CIDR or ports to forward packets to different nodes
- Comprehensive HTTP API - Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node based off latency
- Remote providers, allowing users to get node lists remotely instead of hardcoding in config
- Netfilter TCP redirecting. You can deploy Clash on your Internet gateway with `iptables`.
- Comprehensive HTTP API controller
## Install ## Install
Clash Requires Go >= 1.13. You can build it from source: Clash requires Go >= 1.13. You can build it from source:
```sh ```sh
$ go get -u -v github.com/Dreamacro/clash $ go get -u -v github.com/Dreamacro/clash
``` ```
Pre-built binaries are available here: [release](https://github.com/Dreamacro/clash/releases) Pre-built binaries are available here: [release](https://github.com/Dreamacro/clash/releases)
Pre-built TUN mode binaries are available here: [TUN release](https://github.com/Dreamacro/clash/releases/tag/TUN). Source is not currently available.
Pre-built TUN mode binaries are available here: [TUN release](https://github.com/Dreamacro/clash/releases/tag/TUN)
Check Clash version with: Check Clash version with:
@ -43,21 +45,17 @@ Check Clash version with:
$ clash -v $ clash -v
``` ```
## Daemon ## Daemonize Clash
Unfortunately, there is no native and elegant way to implement daemons on Golang. Unfortunately, there is no native or elegant way to implement daemons on Golang. We recommend using third-party daemon management tools like PM2, Supervisor or the like to keep Clash running as a service.
So we can use third-party daemon tools like PM2, Supervisor or the like. In the case of [pm2](https://github.com/Unitech/pm2), start the daemon this way:
In the case of [pm2](https://github.com/Unitech/pm2), we can start the daemon this way:
```sh ```sh
$ pm2 start clash $ pm2 start clash
``` ```
If you have Docker installed, you can run clash directly using `docker-compose`. If you have Docker installed, it's recommended to deploy Clash directly using `docker-compose`: [run Clash in Docker](https://github.com/Dreamacro/clash/wiki/Run-clash-in-docker)
[Run clash in docker](https://github.com/Dreamacro/clash/wiki/Run-clash-in-docker)
## Config ## Config
@ -94,7 +92,7 @@ allow-lan: false
# "[aaaa::a8aa:ff:fe09:57d8]": bind a single IPv6 address # "[aaaa::a8aa:ff:fe09:57d8]": bind a single IPv6 address
# bind-address: "*" # bind-address: "*"
# Rule / Global/ Direct (default is Rule) # Rule / Global / Direct (default is Rule)
mode: Rule mode: Rule
# set log level to stdout (default is info) # set log level to stdout (default is info)
@ -347,7 +345,7 @@ rules:
## Documentations ## Documentations
https://clash.gitbook.io/ https://clash.gitbook.io/
## Thanks ## Credits
[riobard/go-shadowsocks2](https://github.com/riobard/go-shadowsocks2) [riobard/go-shadowsocks2](https://github.com/riobard/go-shadowsocks2)