Skip to content

Releases: AzBuildDev/nas-device-flow

NAS Device Flow 0.1.0

Choose a tag to compare

@AzBuildDev AzBuildDev released this 09 Oct 09:50

NAS Device Flow 0.1.0 is the first regular release: manage direct versus smart routing per device from a NAS-hosted panel.

Changes

  • Korean joins Chinese, English, Japanese, Spanish and French in the main panel. The temporary installer remains bilingual (Chinese/English).
  • Installer addresses are explicit: detect the actual interface, NAS address, subnet and default gateway; leave core, panel and future DHCP range blank. Each field explains its purpose. Browser and terminal installers check ranges and responsive conflicts; an ARP silence does not guarantee an unused address.
  • Device name provenance follows the configured router adapter. Switching or losing an adapter clears stale router metadata while preserving manual names and proxy policy. A missing source falls back to “Router”, never Huawei.
  • Clarify the NAS management IP:9088 installer versus the independent macvlan production-panel IP. Verify the production panel from another device on the same LAN.

Install / upgrade

For a new NAS GUI install, download setup.compose.yaml, set x-project-path to your actual NAS Docker folder (also change the setup port if 9088 is occupied), and follow the guide (中文). The setup YAML path edit is only the first step, not a complete network configuration. Fix the NAS management address, manually enter unused core/panel IPs and a future DHCP range, exclude static addresses from DHCP, and provide a compatible YAML subscription. Test one manually configured client before disabling main-router/other LAN DHCP and enabling NAS DHCP in the panel. Restore client automatic IP/DNS, renew leases and verify the actual gateway/DNS. The installer does not configure the router or force lease renewal. The standalone controller image archive is available for NAS GUI import when GHCR is unreachable; the Mihomo image still requires download.

For an existing installation, privately back up your deployment folder, change the controller image to ghcr.io/azbuilddev/nas-device-flow-controller:0.1.0, and recreate the controller while preserving all original networking and runtime mounts. Do not rerun the installer over an existing deployment. Do not import another machine's generated deployment YAML.

Configuration clarifications (2026-10-09)

Optional router name adapters are disabled by default and require manual configuration and router credentials. Available names/models depend on the router; exact device models and automatic router-brand detection are not promised. The panel DHCP controls act on NAS DHCP only. Current English and Chinese documentation clarify these steps. This documentation correction does not change the 0.1.0 tag, image or attachments.

Validation and scope

105 automated tests plus Linux CI Compose, Docker build, offline/foreign-UID container smoke and isolated DHCP checks passed. Korean persistence and the bilingual blank-address fields were checked in a browser using fictional data. The public controller image was downloaded anonymously in full and its OCI digests verified; Release attachments have SHA256 checksums.

Supported scope remains Linux x86-64 NAS and IPv4. The original deployment was verified on UGREEN DXP4800/UGOS Pro; fresh full-LAN installs on other NAS hardware remain unverified. OpenWrt/MikroTik name adapters have simulated tests only. IPv6 needs separate handling; automatic gateway failover is not provided. Changing language does not change the mainland-China routing preset.

v0.1.0-rc.5 — NAS GUI installation and browser DHCP handover

Choose a tag to compare

@AzBuildDev AzBuildDev released this 08 Oct 16:24

rc.5 adds a manual NAS Docker-GUI installation path: import one Compose project, finish a browser wizard, then import the generated production Compose. No AI connection, SSH, host Python, JSON editing or local image build is required for this path. This is an experimental prerelease, not a universal NAS compatibility claim.

Downloads

  • setup.compose.yaml: import into the NAS Docker project interface and change the one absolute folder path.
  • Prebuilt x86-64 controller image: import through the NAS local-images interface if registry access is unavailable. This is a Docker image archive, not the source archive. Mihomo still requires its own image download.
  • Source archive, manifest and SHA256SUMS are separate assets.

Follow the English GUI installation guide or 中文安装指南.

Changes

  • Temporary Chinese/English browser setup protected by a per-start access code. Discover wired, bonded and bridge interfaces, IPv4 subnet and gateway; suggest fixed addresses and check responding ARP conflicts. Sleeping devices and reservations still need operator checks.
  • Generate private runtime and an absolute-mount production Compose containing both services. Existing state is refused rather than overwritten; writes are staged and competing installers serialized. DHCP stays off during installation.
  • Add authenticated, CSRF-protected DHCP joining/stop controls in panel Settings, with client-test, main-router-DHCP-off and sole-server confirmations. All five panel languages include recovery guidance.
  • Support private runtime owned by a normal NAS account using scoped DAC_OVERRIDE inside containers, without mounting Docker socket or host root. Retain the optional manual and Docker terminal installers.
  • Publish a versioned Linux/amd64 image and Docker-save archive. Runtime, setup, production image and source manifest version are 0.1.0-rc.5. Fix the previous Compose image-label mismatch without moving any older tag.

Validation and upgrade

102 source tests pass locally. Full main CI includes Compose parsing, image build, ordinary and foreign-UID offline startup/health/login, and isolated DHCP migration. Tag CI repeats these checks before image publication. Browser setup was tested with fictional data; actual NAS checks covered read-only bond0 detection and an occupied gateway address. Fresh installation on another real LAN remains unverified.

Existing deployments must not rerun setup. Privately back up state; GUI deployments update the controller image reference while retaining network addresses and runtime mounts. Existing device policies remain in runtime. DHCP is enabled only after testing a client and disabling other DHCP servers.

Requires an x86-64 Linux NAS with Docker Compose project support, host/macvlan networking and TUN, on the same LAN as clients. Installer supports IPv4 only; public IPv6 can bypass it. Automatic failover and forgotten-password recovery are not implemented. The initial routing/DNS preset targets mainland China.

Previous releases and their assets are preserved.

Main CI: https://github.com/AzBuildDev/nas-device-flow/actions/runs/37807599890
Tag tests and image publication: https://github.com/AzBuildDev/nas-device-flow/actions/runs/37807854623

Source commit: 070290f83f22417673df219942a2b2c1fb006031.

Registry verification: the GHCR package is Public. Anonymous access fetched the manifest, config and all seven layers (48,719,807 bytes) and verified SHA256 without supplying account credentials. Linux/amd64 image tag and OCI version label were verified; runtime source files in the Docker-save archive match the tag.

Manifest digest: sha256:532909e54a00e547f4c02d017abd00776c0ae5321f786d62165e27a8bef5e687.

SHA256SUMS covers the source archive, prebuilt image archive, setup Compose and manifest. The manifest records source-file hashes and registry metadata.

v0.1.0-rc.4 — Five languages and dark appearance

Choose a tag to compare

@AzBuildDev AzBuildDev released this 08 Oct 14:56

This is a new prerelease with its own tag and downloadable source package. rc.3 remains available.

Changes

  • Five interface languages in one package: Chinese, English, Japanese, Spanish and French, including login, device status, settings, subscriptions, errors and help. Browser language preferences recognize regional variants; unsupported languages fall back to English. Manual choices remain saved locally.
  • System, light and dark appearance modes in the existing settings gear. Automatic mode follows system changes; manual choices survive refresh and synchronize across tabs. Initial theme is applied before rendering, and charts adapt their colors.
  • Existing device-first layout, device names, user content and routing/DNS policies are preserved. Language choice does not select a regional routing preset.
  • Add a fictional English dark-mode screenshot and update settings and installation entry-point documentation. No production screenshots or private configuration are included.

Validation

82 automated tests, all inline JavaScript syntax checks, and private-value comparison against current source and Git history. Full CI also validates Compose, image build, offline health/login/dnsmasq startup, and both isolated DHCP migration protocol paths.

CI: https://github.com/AzBuildDev/nas-device-flow/actions/runs/37796398158

Update and support

Back up runtime and .env privately, fetch this version, then run sh scripts/update.sh. Existing device switches, subscriptions and sampled counters are retained. Browser-local language and appearance choices do not require server configuration migration.

This remains an experimental Linux/macvlan IPv4 gateway. Fresh installation on another LAN is unverified; IPv6 routing, automatic failover and forgotten-password recovery are not implemented. The initial routing/DNS preset still targets mainland China.

Source and installation · Settings

v0.1.0-rc.3 — Bilingual settings and device defaults

Choose a tag to compare

@AzBuildDev AzBuildDev released this 08 Oct 12:02

This updates the existing experimental release to rc.3 and supersedes rc.2.

The main device switches stay on the first screen. A small settings gear now offers:

  • Chinese/English in the same package: browser language by default, manual choice remembered, available before login too.
  • A default policy for newly discovered devices, initially direct/OFF. Saving a default preserves existing switches. A changed private MAC is a new device following this default; names do not grant inherited authorization.
  • Admin password change: current password, matching confirmation, 16–256 characters, CSRF and wrong-password limiting. Success signs out all sessions. The independent core API secret is unchanged.
  • Read-only access, versions and traffic sampling start, with a subscription shortcut. DHCP and LAN addressing are not editable in ordinary settings.

The GitHub homepage is now English with a Chinese navigation link, modest emoji and a fully fictional English demo. English installation/recovery and Chinese documents remain available.

Validation: 74 source/HTTP/UI-language tests, including an upgrade check proving missing preferences default false without changing existing enabled/disabled devices. Full CI includes Compose validation, image build, offline startup/health/login/dnsmasq checks and both isolated DHCP migration protocol paths. Fictional UI testing confirmed language switching and default-policy save preserved existing 2/4 switches. Original NAS setting/API behavior was verified in the existing environment; no real management password was changed.

CI: https://github.com/AzBuildDev/nas-device-flow/actions/runs/37782125383

Update: privately back up runtime and .env, fetch rc.3, then run sh scripts/update.sh. Missing preferences.json uses the direct default for future devices only. Existing device records, subscriptions and sampled totals remain in runtime. The controller stops gracefully before recreation.

Fresh generic-LAN installation, IPv6 handling, automatic failover, forgotten-password reset and regional rule/DNS presets remain unimplemented/unverified as documented. Language selection does not adapt China-direct routing/DNS for other regions.

Homepage: https://github.com/AzBuildDev/nas-device-flow
Settings guide: https://github.com/AzBuildDev/nas-device-flow/blob/main/docs/settings.md