From 8e8b4dba225d16bafc03cdb530eb99a6bb0685b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Fri, 19 Aug 2022 19:02:32 +0800 Subject: [PATCH] Update documentation --- .goreleaser.yaml | 1 + docs/benchmark.md | 9 -- docs/changelog.md | 18 ++++ docs/configuration/inbound/tun.md | 8 +- docs/configuration/outbound/wireguard.md | 4 + docs/features.md | 112 +++++++++++++++++++++++ docs/index.md | 1 + docs/support.md | 8 ++ mkdocs.yml | 3 +- 9 files changed, 148 insertions(+), 16 deletions(-) delete mode 100644 docs/benchmark.md create mode 100644 docs/features.md create mode 100644 docs/support.md diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 3d6a3987..3d89685c 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -13,6 +13,7 @@ builds: tags: - with_clash_api - with_quic + - with_acme env: - CGO_ENABLED=0 targets: diff --git a/docs/benchmark.md b/docs/benchmark.md deleted file mode 100644 index e060614e..00000000 --- a/docs/benchmark.md +++ /dev/null @@ -1,9 +0,0 @@ -# Benchmark - -## Shadowsocks - -| / | none | aes-128-gcm | 2022-blake3-aes-128-gcm | -|------------------------------------|:-----------:|:-----------:|:-----------------------:| -| v2ray-core (5.0.7) | 13.0 Gbps | 5.02 Gbps | / | -| shadowsocks-rust (v1.15.0-alpha.5) | 10.7 Gbps | / | 9.36 Gbps | -| sing-box | 29.0 Gbps | / | 11.8 Gbps | \ No newline at end of file diff --git a/docs/changelog.md b/docs/changelog.md index 14a27ca3..53ff32ac 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,3 +1,21 @@ +#### 2022/08/19 + +* Add Hysteria [Inbound](/configuration/inbound/hysteria) and [Outbund](/configuration/outbound/hysteria) +* Add [ACME TLS certificate issuer](/configuration/shared/tls) +* Allow read config from stdin (-c stdin) +* Update gVisor to 20220815.0 + +#### 2022/08/18 + +* Fix find process with lwip stack +* Fix crash on shadowsocks server +* Fix crash on darwin tun +* Fix write log to file + +#### 2022/08/17 + +* Improve async dns transports + #### 2022/08/16 * Add ip_version (route/dns) rule item diff --git a/docs/configuration/inbound/tun.md b/docs/configuration/inbound/tun.md index 6bcbf645..b892ebfe 100644 --- a/docs/configuration/inbound/tun.md +++ b/docs/configuration/inbound/tun.md @@ -10,7 +10,6 @@ { "type": "tun", "tag": "tun-in", - "interface_name": "tun0", "inet4_address": "172.19.0.1/30", "inet6_address": "fdfe:dcba:9876::1/128", @@ -24,16 +23,14 @@ ], "include_uid_range": [ [ - 1000, - 99999 + "1000-99999" ] ], "exclude_uid": [ 1000 ], "exclude_uid_range": [ - 1000, - 99999 + "1000-99999" ], "include_android_user": [ 0, @@ -45,7 +42,6 @@ "exclude_package": [ "com.android.captiveportallogin" ], - "sniff": true, "sniff_override_destination": false, "domain_strategy": "prefer_ipv4" diff --git a/docs/configuration/outbound/wireguard.md b/docs/configuration/outbound/wireguard.md index 87692291..59bf38ac 100644 --- a/docs/configuration/outbound/wireguard.md +++ b/docs/configuration/outbound/wireguard.md @@ -32,6 +32,10 @@ } ``` +!!! warning "" + + WireGuard is not included by default, see [Installation](/#Installation). + ### WireGuard Fields #### server diff --git a/docs/features.md b/docs/features.md new file mode 100644 index 00000000..a53b7837 --- /dev/null +++ b/docs/features.md @@ -0,0 +1,112 @@ +#### Server + +| Feature | v2ray-core | clash | +|------------------------------------------------------------|------------|-------| +| Direct inbound | ✔ | X | +| SOCKS4a inbound | ✔ | X | +| Mixed (http/socks) inbound | X | ✔ | +| Shadowsocks AEAD 2022 single-user/multi-user/relay inbound | X | X | +| VMess/Trojan inbound | ✔ | X | +| Naive/Hysteria inbound | X | X | +| Resolve incoming domain names using custom policy | X | X | +| Set system proxy on Windows/Linux/macOS/Android | X | X | +| TLS certificate auto reload | X | X | +| TLS ACME certificate issuer | X | X | + +#### Client + +| Feature | v2ray-core | clash | +|--------------------------------------------------------|------------------------------------|----------| +| Set upstream client (proxy chain) | TCP only, and has poor performance | TCP only | +| Bind to network interface | Linux only | ✔ | +| Custom dns strategy for resolving server address | X | X | +| Fast fallback (RFC 6555) support for connect to server | X | X | +| SOCKS4/4a outbound | added by me | X | +| Shadowsocks AEAD 2022 outbound | X | X | +| Shadowsocks UDP over TCP | X | X | +| Multiplex (smux/yamux) | mux.cool | X | +| WireGuard/Hysteria outbound | X | X | +| Selector outbound and Clash API | X | ✔ | + +#### Sniffing + +| Protocol | v2ray-core | clash-premium | +|------------------|-------------|---------------| +| HTTP Host | ✔ | X | +| QUIC ClientHello | added by me | added by me | +| STUN | X | X | + +| Feature | v2ray-core | clash-premium | +|-----------------------------------------|---------------------------|---------------| +| For routing only | added by me | X | +| No performance impact (like TCP splice) | no general splice support | X | +| Set separately for each server | ✔ | X | + +#### Routing + +| Feature | v2ray-core | clash-premium | +|----------------------------|------------|---------------| +| Auto detect interface | X | tun only | +| Set default interface name | X | tun only | +| Set default firewall mark | X | X | + +#### Routing Rule + +| Rule | v2ray-core | clash | +|----------------------|------------|-------| +| Inbound | ✔ | X | +| IP Version | X | X | +| User from inbound | X | X | +| Sniffed protocol | ✔ | X | +| GeoSite | ✔ | X | +| Process name | X | ✔ | +| Android package name | X | X | +| Linux user/user id | X | X | +| Invert rule | X | X | +| Logical rule | X | X | + +#### DNS + +| Feature | v2ray-core | clash | +|------------------------------------|-------------|-------| +| DNS proxy | A/AAAA only | ✔ | +| DNS cache | A/AAAA only | X | +| DNS routing | X | X | +| DNS Over QUIC | ✔ | X | +| DNS Over HTTP3 | X | X | +| Fake dns response with custom code | X | X | + +#### Tun + +| Feature | clash-premium | +|-------------------------------------------|---------------| +| Full IPv6 support | X | +| Auto route on Linux/Windows/maxOS/Android | ✔ | +| Embed windows driver | X | +| Custom address/mtu | X | +| Limit uid (Linux) in routing | X | +| Limit android user in routing | X | +| Limit android package in routing | X | + +#### Memory usage + +| GeoSite code | sing-box | v2ray-core | +|-------------------|----------|------------| +| cn | 17.8M | 140.3M | +| cn (Loyalsoldier) | 74.3M | 246.7M | + +#### Shadowsocks benchmark + +| / | none | aes-128-gcm | 2022-blake3-aes-128-gcm | +|------------------------------------|:---------:|:-----------:|:-----------------------:| +| v2ray-core (5.0.7) | 13.0 Gbps | 5.02 Gbps | / | +| shadowsocks-rust (v1.15.0-alpha.5) | 10.7 Gbps | / | 9.36 Gbps | +| sing-box | 29.0 Gbps | / | 11.8 Gbps | + +#### License + +| / | License | +|------------|-----------------------------------| +| sing-box | GPLv3 or later (Full open-source) | +| v2ray-core | MIT (Full open-source) | +| clash | GPLv3 | \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index fe1b0a89..72b4e7ab 100644 --- a/docs/index.md +++ b/docs/index.md @@ -21,6 +21,7 @@ go install -v -tags with_clash_api github.com/sagernet/sing-box/cmd/sing-box@lat | Build Tag | Description | |----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `with_quic` | Build with QUIC support, see [QUIC and HTTP3 dns transports](./configuration/dns/server), [Naive inbound](./configuration/inbound/naive), [Hysteria Inbound](./configuration/inbound/hysteria) and [Hysteria Outbound](./configuration/outbound/hysteria). | +| `with_wireguard` | Build with WireGuard support, see [WireGuard outbound](./configuration/outbound/wireguard). | | `with_acme` | Build with ACME TLS certificate issuer support, see [TLS](./configuration/shared/tls). | | `with_clash_api` | Build with Clash api support, see [Experimental](./configuration/experimental#clash-api-fields). | | `no_gvisor` | Build without gVisor tun stack support, see [Tun inbound](./configuration/inbound/tun#stack). | diff --git a/docs/support.md b/docs/support.md new file mode 100644 index 00000000..4951a52a --- /dev/null +++ b/docs/support.md @@ -0,0 +1,8 @@ +#### Github + +Issue: [Issues · SagerNet/sing-box](https://github.com/SagerNet/sing-box/issues) + +#### Telegram + +Notification channel: [@yapnc](https://t.me/yapnc) +User group: [@yapug](https://t.me/yapug) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index c99d261a..ac03f141 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -32,6 +32,8 @@ theme: nav: - Getting Started: - index.md + - Features: features.md + - Support: support.md - Change Log: changelog.md - Configuration: - configuration/index.md @@ -84,7 +86,6 @@ nav: - Shadowsocks Client: examples/ss-client.md - Shadowsocks Tun: examples/ss-tun.md - DNS Hijack: examples/dns-hijack.md - - Benchmark: benchmark.md markdown_extensions: - pymdownx.inlinehilite - pymdownx.snippets