Русифицировать README и интерфейс HY2XS admin

This commit is contained in:
2026-04-25 23:51:21 +05:00
parent 84a4e94567
commit 2b4a45ad23
167 changed files with 632 additions and 699 deletions
+31 -39
View File
@@ -1,76 +1,68 @@
# HY2XS
HY2XS is a two-layer install package for a clean Debian 12 target:
HY2XS — двухслойный install package для развёртывания на чистом Debian 12 amd64.
- local builder layer: creates one transferable install archive
- install-only Bun/TypeScript orchestrator: runs on the target as a compiled artifact
- bundled HY2XS admin fork: shipped inside the package
- vanilla Hysteria2: downloaded from the official upstream during install
Состав baseline:
The baseline deliberately excludes target-side builds, update, rollback, uninstall, Telegram bot delivery, billing, and external access/profile delivery.
- production builder на Debian 12 amd64 создаёт один переносимый архив;
- install-only оркестратор на Bun + TypeScript поставляется на target как готовый compiled artifact;
- HY2XS admin поставляется в составе пакета как bundled fork;
- vanilla Hysteria2 скачивается с official upstream во время установки.
## Repository Layout
В baseline намеренно не входят target-side build, update, rollback, uninstall, Telegram bot delivery, billing и внешний контур выдачи access/profile.
- `builder/` - local shell-first packaging pipeline
- `orchestrator/` - Bun + TypeScript install-only orchestrator sources
- `package/` - package skeleton: thin entrypoint, templates, systemd units, package docs
- `apps/` - current HY2XS admin fork source
- `docs/` - baseline architecture and acceptance docs
- `hy2xs_implementation_plan-no_git/` - implementation roadmap and task breakdown
- `dist/` - final install archives generated by the builder
## Структура репозитория
## Build
- [`tools/build`](tools/build) — production builder и packaging pipeline.
- [`orchestrator`](orchestrator) — исходники install-only оркестратора на Bun + TypeScript.
- [`package`](package) — skeleton итогового install package: entrypoint, templates, systemd units, package docs.
- [`apps`](apps) — исходники HY2XS admin fork.
- [`docs`](docs) — архитектурная документация и acceptance.
- [`hy2xs_implementation_plan-no_git`](hy2xs_implementation_plan-no_git) — roadmap и task breakdown.
- [`dist`](dist) — итоговые install archives, создаются builder'ом и не хранятся в git.
On the local build machine:
## Сборка
Production-сборка выполняется только на Debian 12 amd64:
```sh
PACKAGE_VERSION=0.1.0 ./builder/build.sh
PACKAGE_VERSION=0.1.0 ./tools/build/build.sh
```
If tools are not in `PATH`, pass explicit binaries:
Builder сам проверяет ОС, архитектуру, структуру проекта, lock-файлы, версии Go/Bun/Node.js/pnpm и при необходимости скачивает локальный toolchain.
```sh
GO_BIN=/path/to/go PNPM_BIN=/path/to/pnpm BUN_BIN=/path/to/bun PACKAGE_VERSION=0.1.0 ./builder/build.sh
```
On the current Windows workstation the known tool paths are:
```powershell
$env:PATH = "E:\Git\cmd;E:\go\bin;" + $env:PATH
E:\go\bin\go.exe test ./...
pnpm.cmd install --frozen-lockfile
```
The expected result is:
Ожидаемый результат:
```text
dist/hy2xs-install-0.1.0.tar.gz
```
The target server must not run `bun install`, `pnpm install`, TypeScript transpilation, frontend builds, or Go builds.
На target server не должно быть `bun install`, `pnpm install`, TypeScript transpilation, frontend build или Go build.
## Publication
Подробности сборки: [`tools/build/README.md`](tools/build/README.md).
Target repository:
## Публикация
Целевой репозиторий:
```text
https://git.ext.flamy.studio/flamy_dev/HY2XS_flamy.git
```
Publish only after the full baseline acceptance is complete, including the Bun/TypeScript orchestrator artifact build and final package smoke checks.
Публиковать изменения нужно только после прохождения baseline acceptance, сборки оркестратора и smoke checks итогового пакета.
## Install
## Установка
On a clean Debian 12 target, unpack the archive and run as root:
На чистом Debian 12 target нужно распаковать архив и запустить от root:
```sh
./install.sh --non-interactive --domain example.com
```
Useful baseline flags:
Полезные baseline-флаги:
```sh
./install.sh --non-interactive --domain example.com --port 443 --ssh-port 22 --ui-port 8080
```
The install flow writes `/etc/hysteria/post-install.env` with the resulting package, Hysteria, port, and path state.
После установки создаётся `/etc/hysteria/post-install.env` с фактическими параметрами deploy-состояния.