Update package versions and enhance IXuiPanelGateway interface
- Updated the version of `ThreeXui.Net` to 1.0.2 in `Directory.Packages.props`. - Enhanced the `IXuiPanelGateway` interface to include detailed documentation on the new `ForcedFingerprint` and `ForcedPacketEncoding` parameters for the `BuildConnectionStringAsync` method, clarifying their roles in client application interactions. - Refactored `XuiPanelGateway` to implement the new parameters, ensuring compatibility with client requirements for TLS fingerprinting and packet encoding based on transport type. - Updated architecture documentation to reflect changes in connection string handling and the implications for client applications.
This commit is contained in:
@@ -173,10 +173,12 @@ POST /api/configs
|
||||
- Синхронизация инбаундов ноды (`SyncNodeCommandHandler`) реконсилирует пропажу инбаунда с панели:
|
||||
без привязанных конфигов запись удаляется, с конфигами — помечается `IsAvailable=false` (детали и
|
||||
инварианты — [domain-model.md](domain-model.md#inbound--прокси-inbound-на-ноде)).
|
||||
- `BuildConnectionStringAsync` поверх ссылки из `ThreeXui.Net` принудительно подставляет
|
||||
`fp=firefox` (TLS-fingerprint клиента) для tls/reality-ссылок vless/trojan/vmess, независимо
|
||||
от того, что задано в `streamSettings` ноды; shadowsocks (без TLS) и ссылки без security не
|
||||
трогает. Правится в одном месте — применяется и к сайту, и к боту, и к подписке.
|
||||
- `BuildConnectionStringAsync` передаёт в `ThreeXui.Net` (`XuiConnectionStringRequest.ForcedFingerprint:
|
||||
"firefox"`) принудительный TLS-fingerprint клиента для tls/reality-ссылок vless/trojan/vmess,
|
||||
независимо от того, что задано в `streamSettings` ноды; shadowsocks (без TLS) и ссылки без security
|
||||
библиотека не трогает. Для транспорта `xhttp` дополнительно передаётся
|
||||
`ForcedPacketEncoding: "xudp"` (не 3x-ui-настройка, а требование части клиентских приложений).
|
||||
Правится в одном месте — применяется и к сайту, и к боту, и к подписке.
|
||||
- **Дрейф с 3x-ui активно не реконсилируется**: `TrafficSyncService` при недоступной ноде или
|
||||
при отсутствии клиента в ответе панели (`GetClientTrafficAsync`) просто пропускает его в этом цикле
|
||||
синхронизации — не помечает конфиг рассинхронизованным и не шлёт алерт. Если клиента удалили прямо
|
||||
|
||||
Reference in New Issue
Block a user