docs: add TUIC v5 to READMEs, guides, and protocol references (#6511)

* docs: add TUIC v5 to READMEs, guides, and protocol references

* docs: address review feedback on TUIC architecture, external links, and i18n parity

* docs(tuic): drop the Xray-routing claim and qualify Limit IP for TUIC

The README feature bullet in all seven locales credited the TUIC sidecar
with "seamless Xray routing". A TUIC inbound never enters the Xray config
(internal/web/service/xray.go skips model.TUIC) and the generated
tuic-server config carries no forwarding target, so decrypted TUIC
traffic egresses from the sidecar directly and Xray routing rules never
see it; docs/architecture.md in this same branch already says so. An
operator reading the bullet would expect geo blocking and outbound
selection to cover TUIC clients.

The client field table marks Total (GB) as inbound-level for TUIC but
left Limit IP at "all". The IP-limit job's only data source is Xray's
online-stats API (internal/web/job/check_client_ip_job.go), which TUIC
clients never reach, so a Limit IP set on a TUIC client is silently
unenforced. Qualify that row the same way in en, fa, ru and zh.

---------

Co-authored-by: Sanaei <ho3ein.sanaei@gmail.com>
This commit is contained in:
Egor
2026-09-14 14:36:59 +05:00
committed by GitHub
parent cfd4f64a79
commit 2d7c8c77f7
28 changed files with 65 additions and 46 deletions
+4 -4
View File
@@ -13,12 +13,12 @@ inbounds** at once, with per-client traffic accounting.
| Field | Applies to | Meaning |
| -------------- | --------------------- | ------------------------------------------------------------------ |
| **Email** | all | Unique identifier used for accounting and lookups. |
| **ID (UUID)** | VLESS, VMess | The client credential. |
| **Password** | Trojan, Shadowsocks | The client credential. |
| **ID (UUID)** | VLESS, VMess, TUIC | The client credential. |
| **Password** | Trojan, Shadowsocks, TUIC | The client credential. |
| **Auth** | Hysteria2 | The client credential. |
| **Flow** | VLESS | XTLS flow, e.g. `xtls-rprx-vision`. |
| **Limit IP** | all | Max simultaneous source IPs (enforced via Fail2ban). |
| **Total (GB)** | all | Traffic quota; the client is disabled when exhausted. |
| **Limit IP** | all (except TUIC) | Max simultaneous source IPs (enforced via Fail2ban). |
| **Total (GB)** | all (except TUIC) | Traffic quota; the client is disabled when exhausted (for TUIC, limits are set at the inbound level). |
| **Expiry** | all | Date after which the client stops working. |
| **Reset** | all | Auto-renew period in **days** (rolls the quota over). |
| **Telegram ID**| all | Links the client to a Telegram user for self-service/notifications.|
+2 -2
View File
@@ -50,8 +50,8 @@ The **format is chosen by path**, each with its own enable toggle:
| **Mihomo (explicit)** | `/mihomo/` | `subClashEnable` | Alias for the full `subClashPath` profile. |
| **Clash for Windows (legacy)** | `/clash-legacy/` | `subClashEnable` | YAML limited to proxy types, transports, and ciphers supported by the legacy Clash core. |
Only enabled inbounds using **VLESS, VMess, Trojan, Shadowsocks, or Hysteria2**
appear in a subscription, ordered by their sub-sort index. Requesting `subPath`
Only enabled inbounds using **VLESS, VMess, Trojan, Shadowsocks, WireGuard, AmneziaWG, MTProto, TUIC, or Hysteria2**
appear in a subscription, ordered by their sub-sort index (TUIC and AmneziaWG are included in raw links and Clash/Mihomo profiles, but omitted from JSON endpoints; MTProto is included in raw links). Requesting `subPath`
with an `Accept: text/html` header (or `?html=1`) returns a human-readable info
page instead of the raw body.