Files
HY2XS_flamy/package/templates/env/post-install.env.tpl
T
founder ddf0ddf71e 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 файлов),
документация на русском.
2026-08-27 08:15:02 +05:00

56 lines
2.0 KiB
Smarty

# HY2XS post-install reference file.
# Файл создаётся оркестратором после первичной установки и не является runtime-конфигом.
DEPLOY_TARGET_OS=debian13
DEPLOY_TIMESTAMP={{LAST_APPLY_DATE}}
PACKAGE_NAME=hy2xs-install-package
PACKAGE_BUILD_ID={{PACKAGE_BUILD_ID}}
PACKAGE_VERSION={{PACKAGE_VERSION}}
HY2XS_CONFIG_SCHEMA_VERSION={{CONFIG_SCHEMA_VERSION}}
ORCH_SOURCE_STACK=bun-typescript
ORCH_BUILD_MODE=bun-compile
ORCH_BUILD_ID={{PACKAGE_BUILD_ID}}
ORCH_ENTRYPOINT=/usr/local/lib/hy2xs/hy2xs-orchestrator
DEPLOY_DOMAIN={{DOMAIN}}
PUBLIC_HOST={{PUBLIC_HOST}}
PUBLIC_PORT={{PUBLIC_PORT}}
SSH_PORT={{SSH_PORT}}
HY2XS_FIREWALL_MODE={{FIREWALL_MODE}}
HY2XS_FIREWALL_STAGED_APPLY={{FIREWALL_STAGED_APPLY}}
HY2_SOURCE=official-upstream
HY2_VERSION={{HYSTERIA_VERSION}}
HY2_RESOLUTION={{HYSTERIA_RESOLUTION}}
HY2_TLS_MODE={{TLS_MODE}}
HY2_ACME_EMAIL={{ACME_EMAIL}}
HY2_TLS_CERT_PATH={{TLS_CERT_PATH}}
HY2_TLS_KEY_PATH={{TLS_KEY_PATH}}
HY2_LISTEN_HOST={{HYSTERIA_BIND_HOST}}
HY2_PORT={{HYSTERIA_PORT}}
HY2_AUTH_MODE=http
HY2_AUTH_URL=http://127.0.0.1:{{UI_PORT}}/hui/hysteria2/auth?access_token={{HYSTERIA_API_SECRET}}
HY2_TRAFFIC_STATS_LISTEN={{HYSTERIA_API_HOST}}:{{HYSTERIA_API_PORT}}
HY2_OBFS_TYPE={{OBFS_TYPE}}
HY2_OBFS_PASSWORD={{HYSTERIA_OBFS_PASSWORD}}
HY2_GECKO_MIN_PACKET_SIZE={{GECKO_MIN_PACKET_SIZE}}
HY2_GECKO_MAX_PACKET_SIZE={{GECKO_MAX_PACKET_SIZE}}
HY2_BANDWIDTH_UP={{BANDWIDTH_UP}}
HY2_BANDWIDTH_DOWN={{BANDWIDTH_DOWN}}
HY2_DISABLE_LOSS_COMPENSATION={{DISABLE_LOSS_COMPENSATION}}
HY2_IGNORE_CLIENT_BANDWIDTH={{IGNORE_CLIENT_BANDWIDTH}}
HY2_CONGESTION_TYPE={{CONGESTION_TYPE}}
HY2_BBR_PROFILE={{BBR_PROFILE}}
HY2_DISABLE_STATELESS_RESET={{DISABLE_STATELESS_RESET}}
HY2_CONFIG_PATH=/etc/hysteria/config.yaml
HY2XS_ADMIN_ENABLED=true
HY2XS_ADMIN_SOURCE=packaged
HY2XS_ADMIN_BUILD_ID={{PACKAGE_BUILD_ID}}
HY2XS_ADMIN_BIND_HOST={{UI_BIND_HOST}}
HY2XS_ADMIN_PORT={{UI_PORT}}
HY2XS_ADMIN_INSTALL_DIR={{INSTALL_DIR}}
HY2XS_ADMIN_DATA_DIR={{DATA_DIR}}
HY2XS_ADMIN_LOG_DIR={{LOG_DIR}}