feat(v1): Gecko-обфускация, latest-stable Hysteria на сборке и forward-compatible admin
Сквозная миграция HY2XS на современную Hysteria (2.12.2) и переход на v1. Build: - версия Hysteria резолвится на этапе сборки из HyNetworks/hysteria и замораживается в metadata пакета (version + immutable url + sha256); - compatibility gate: реальный бинарник должен принять канонический конфиг HY2XS для gecko и salamander до создания пакета; - сборка прогоняет тесты оркестратора и админки. Конфигурационный контракт: - HY2XS_CONFIG_SCHEMA_VERSION=2, чужая схема отклоняется fail-fast; - obfs стал настоящим union gecko|salamander, gecko — default; - obfs-блок рендерится оркестратором целиком, два подтипа одновременно структурно невозможны; - современный baseline: congestion bbr/standard, disableLossCompensation=false, disableStatelessReset=false, полный quic-блок. Исправления: - share URI для gecko: генератор был завязан на Obfs.Salamander.Password и выдавал нерабочую ссылку при любой другой обфускации; - SNI брался только из ACME-блока и уходил пустым при HY2XS_TLS_MODE=file; - экспорт конфига выносил trafficStats.secret, access_token и obfs-пароль; - экспорт терял неизвестные upstream-поля при round-trip через типизированную модель; - renderRuntimeEnv печатал тип обфускации литералом, расходясь с конфигом; - namedotcom удалён из ACME-реестра (нет в Hysteria с 2.11.0). Тесты: - 95 тестов оркестратора: env, рендер, семантика профиля, резолвер, rollover; - тесты URI и экспорта в Go; - tools/test/e2e-hysteria.sh с реальным клиентом Hysteria. UX: - подсказки и примеры в форме создания пира. Прочее: CHANGELOG.md, .gitattributes (LF для target-side файлов), документация на русском.
This commit is contained in:
@@ -59,6 +59,7 @@
|
||||
- `ORCH_ENTRYPOINT`
|
||||
|
||||
### Общие
|
||||
- `HY2XS_CONFIG_SCHEMA_VERSION`
|
||||
- `DEPLOY_DOMAIN`
|
||||
- `PUBLIC_HOST`
|
||||
- `PUBLIC_PORT`
|
||||
@@ -71,7 +72,8 @@
|
||||
|
||||
### Hysteria
|
||||
- `HY2_SOURCE=official-upstream`
|
||||
- `HY2_VERSION`
|
||||
- `HY2_VERSION` — фактически установленная версия
|
||||
- `HY2_RESOLUTION` — как версия была выбрана при сборке: `latest-stable`, `pinned` или `override`
|
||||
- `HY2_TLS_MODE`
|
||||
- `HY2_ACME_EMAIL`
|
||||
- `HY2_TLS_CERT_PATH`
|
||||
@@ -81,11 +83,17 @@
|
||||
- `HY2_AUTH_MODE`
|
||||
- `HY2_AUTH_URL`
|
||||
- `HY2_TRAFFIC_STATS_LISTEN`
|
||||
- `HY2_OBFS_TYPE`
|
||||
- `HY2_OBFS_TYPE` — `gecko` или `salamander`
|
||||
- `HY2_OBFS_PASSWORD`
|
||||
- `HY2_GECKO_MIN_PACKET_SIZE`
|
||||
- `HY2_GECKO_MAX_PACKET_SIZE`
|
||||
- `HY2_BANDWIDTH_UP`
|
||||
- `HY2_BANDWIDTH_DOWN`
|
||||
- `HY2_DISABLE_LOSS_COMPENSATION`
|
||||
- `HY2_IGNORE_CLIENT_BANDWIDTH`
|
||||
- `HY2_CONGESTION_TYPE`
|
||||
- `HY2_BBR_PROFILE`
|
||||
- `HY2_DISABLE_STATELESS_RESET`
|
||||
- `HY2_CONFIG_PATH`
|
||||
|
||||
### HY2XS admin
|
||||
|
||||
Reference in New Issue
Block a user