fix(sub): enable ML-KEM for Mihomo REALITY subscriptions (#6451)

This commit is contained in:
Lucas
2026-09-11 21:34:57 +08:00
committed by GitHub
parent 9f07951ba7
commit 0a2cd789ba
6 changed files with 103 additions and 23 deletions
+15 -8
View File
@@ -123,14 +123,21 @@ vless://<uuid>@<server>:443?security=reality&pbk=<public-key>&sid=<short-id>&sni
ключ.
- **Неправильный поток.** Для REALITY + XTLS-Vision нужен `flow = xtls-rprx-vision`
как в записи клиента входящего подключения, так и в ссылке для подключения.
- **Старые ядра клиентов отклоняются по умолчанию.** Пустое поле
**Мин. версия клиента** не означает «без ограничений»: Xray-core использует
встроенный минимум используемой сборки ядра (26.3.27 в текущих релизах),
который поддерживает свежесть
TLS-отпечатков клиентов, поэтому сторонние ядра, такие как Mihomo и sing-box,
не проходят проверку REALITY даже при корректной конфигурации — клиенты видят
таймауты, а подключаются только приложения на базе Xray-core. Ставьте `1.0.0`,
только если они вам необходимы; это также допустит устаревшие отпечатки.
- **Ограничения версии клиента.** В Xray-core v26.9.8+ пустое поле
**Мин. версия клиента** не задаёт нижнюю границу. Явно сохранённое ограничение
продолжает действовать. Более ранние сборки могут использовать встроенный
минимум (например, `26.3.27`) и отклонять сторонние клиенты с правильными ключами.
Проверьте версию работающего ядра: снижение ограничения допускает старые отпечатки.
- **Mihomo и ML-KEM.** Xray-core v26.9.8+ отдельно требует ключ
`X25519MLKEM768` перед необязательным `X25519`. YAML-подписка Clash/Mihomo
включает `reality-opts.support-x25519mlkem768` для REALITY, в том числе внешних
ссылок, и выбирает `chrome`, если отпечаток не задан. Явный выбор сохраняется:
нужен отпечаток с ML-KEM (`chrome` при uTLS v1.8.7 в Mihomo). Сам флаг не
обновляет старые отпечатки. Исходные ссылки `vless://` не передают эту настройку
Mihomo; при прямом импорте нужно постоянное переопределение в клиенте. Для очень
старых серверов REALITY, отвергающих ML-KEM, задайте `false` для соответствующего
узла в клиенте или обновите сервер. Снятие ограничения версии не исправляет
это рукопожатие.
</Callout>