Подготовить HY2XS к production-сборке

This commit is contained in:
2026-04-25 23:13:12 +05:00
commit 84a4e94567
277 changed files with 26513 additions and 0 deletions
@@ -0,0 +1,95 @@
HY2XS: target repo structure
Цель
Структура должна жёстко разделять builder, runtime package, fork UI, документацию и server-side install logic.
Рекомендуемая структура
project/
├── README.md
├── docs/
│ ├── architecture/
│ ├── implementation/
│ └── operations/
├── builder/
│ ├── build.sh
│ ├── lib/
│ │ ├── common.sh
│ │ ├── package.sh
│ │ ├── ui.sh
│ │ └── verify.sh
│ ├── manifests/
│ │ └── package.manifest
│ └── output/
├── package/
│ ├── install.sh
│ ├── orchestrator/
│ │ └── hy2xs-orchestrator
│ ├── templates/
│ │ ├── hysteria/
│ │ ├── nftables/
│ │ └── env/
│ ├── systemd/
│ │ ├── hysteria-server.service
│ │ └── hy2xs-admin.service
│ ├── ui/
│ │ └── hy2xs-admin/
│ ├── docs/
│ └── metadata/
│ ├── package.version
│ ├── package.build_id
│ └── checksums.txt
├── orchestrator/
│ ├── package.json
│ ├── bun.lock
│ ├── tsconfig.json
│ ├── src/
│ │ ├── cli.ts
│ │ ├── commands/
│ │ │ └── install.ts
│ │ ├── steps/
│ │ │ ├── preflight.ts
│ │ │ ├── deps.ts
│ │ │ ├── filesystem.ts
│ │ │ ├── hysteria.ts
│ │ │ ├── ui.ts
│ │ │ ├── systemd.ts
│ │ │ ├── firewall.ts
│ │ │ ├── env.ts
│ │ │ └── smoke.ts
│ │ ├── lib/
│ │ └── types/
│ └── dist/
├── ui/
│ └── hy2xs-admin-fork/
│ ├── upstream-base/
│ ├── app/
│ ├── assets/
│ ├── locales/
│ │ ├── ru/
│ │ └── en/
│ ├── branding/
│ ├── patches/
│ └── BUILD_NOTES.md
├── examples/
│ └── post-install.env.example
└── dist/
└── hy2xs-install-<version>.tar.gz
Что важно
1. builder/ и orchestrator/ разделены.
2. package/ — staging area и состав будущего install package.
3. orchestrator/ — исходники install-only оркестратора на Bun/TypeScript.
4. package/orchestrator/ — уже собранный install-артефакт, а не исходники для target-side build.
5. ui/hy2xs-admin-fork/ — постоянный исходник нашего форка.
6. dist/ — только финальные артефакты.
Минимальная допустимая упрощённая структура
Если хочешь не раздувать проект на старте, можно сократить до:
- builder/
- orchestrator/
- package/
- ui/hy2xs-admin-fork/
- docs/
- dist/
Но логическое разделение всё равно должно сохраниться.