ddf0ddf71e
Сквозная миграция 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 файлов), документация на русском.
45 lines
1.9 KiB
Bash
45 lines
1.9 KiB
Bash
# HY2XS canonical production runtime config (packaged baseline)
|
|
# Версия схемы конфигурации HY2XS. Пакет понимает только эту версию;
|
|
# установка поверх сервера со схемой v0 не поддерживается — нужна чистая установка.
|
|
HY2XS_CONFIG_SCHEMA_VERSION=2
|
|
HY2XS_IPV6_ENABLED=false
|
|
HY2XS_DOMAIN=fi.api.withen.pro
|
|
HY2XS_DNS_AAAA_POLICY=strict
|
|
HY2XS_PUBLIC_HOST=fi.api.withen.pro
|
|
HY2XS_PUBLIC_PORT=443
|
|
HY2XS_SSH_PORT=2323
|
|
HY2XS_FIREWALL_MODE=takeover
|
|
HY2XS_FIREWALL_STAGED_APPLY=true
|
|
HY2XS_UI_BIND_HOST=127.0.0.1
|
|
HY2XS_UI_PUBLIC_ACCESS=false
|
|
HY2XS_UI_PORT=8080
|
|
HY2XS_ADMIN_USER=hy2xsadmin
|
|
HY2XS_ADMIN_INITIAL_PASSWORD=__GENERATE__
|
|
HY2XS_ADMIN_CON_PASS=__GENERATE__
|
|
HY2XS_FORCE_PASSWORD_CHANGE=false
|
|
HY2XS_ALLOW_SELF_SIGNED_DEV=false
|
|
HY2XS_TLS_MODE=acme
|
|
HY2XS_ACME_TYPE=http
|
|
HY2XS_ACME_EMAIL=admin@withen.pro
|
|
HY2XS_TLS_CERT_PATH=/etc/hysteria/server.crt
|
|
HY2XS_TLS_KEY_PATH=/etc/hysteria/server.key
|
|
HY2XS_HYSTERIA_BIND_HOST=0.0.0.0
|
|
HY2XS_HYSTERIA_PORT=443
|
|
# fixed in production profile: must remain http
|
|
HY2XS_HYSTERIA_AUTH_MODE=http
|
|
HY2XS_HYSTERIA_TRAFFIC_STATS_HOST=127.0.0.1
|
|
HY2XS_HYSTERIA_TRAFFIC_STATS_PORT=36712
|
|
HY2XS_HYSTERIA_TRAFFIC_STATS_SECRET=__GENERATE__
|
|
# gecko | salamander. Gecko — production default HY2XS (upstream помечает его experimental).
|
|
# Salamander остаётся полностью поддержанным compatibility fallback.
|
|
# Смена значения меняет wire-совместимость: клиентам нужна новая ссылка.
|
|
HY2XS_HYSTERIA_OBFS_TYPE=gecko
|
|
HY2XS_HYSTERIA_OBFS_PASSWORD=__GENERATE__
|
|
HY2XS_HYSTERIA_BANDWIDTH_UP=50 mbps
|
|
HY2XS_HYSTERIA_BANDWIDTH_DOWN=50 mbps
|
|
HY2XS_HYSTERIA_IGNORE_CLIENT_BANDWIDTH=false
|
|
HY2XS_HYSTERIA_CONFIG_PATH=/etc/hysteria/config.yaml
|
|
HY2XS_INSTALL_DIR=/opt/hy2xs-admin
|
|
HY2XS_DATA_DIR=/var/lib/hy2xs-admin
|
|
HY2XS_LOG_DIR=/var/log/hy2xs
|