Files
HY2XS_flamy/README.md
T

2.2 KiB

HY2XS

HY2XS is a two-layer install package for a clean Debian 12 target:

  • 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

The baseline deliberately excludes target-side builds, update, rollback, uninstall, Telegram bot delivery, billing, and external access/profile delivery.

Repository Layout

  • 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

On the local build machine:

PACKAGE_VERSION=0.1.0 ./builder/build.sh

If tools are not in PATH, pass explicit binaries:

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:

$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:

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.

Publication

Target repository:

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.

Install

On a clean Debian 12 target, unpack the archive and run as root:

./install.sh --non-interactive --domain example.com

Useful baseline flags:

./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.