Quartz-grade web UI
Glass, dark mode, and a card-based dashboard. quartz-daemon aggregates system, network, and service data so one request renders the whole page.
QuartzWrt brings a macOS-inspired web UI, a Flutter app, and first-class cellular / 5G management to your router. Dual feeds, pinned versions, and signed packages make builds and upgrades reproducible.
Hiveton H5000M hardware · English dashboard
From the first screen in your browser to remote management on your phone, QuartzWrt connects everything through one data contract.
Glass, dark mode, and a card-based dashboard. quartz-daemon aggregates system, network, and service data so one request renders the whole page.
mDNS discovery, TOFU pairing, and JWT tokens. An embedded tsnet engine lets the app reach your router over Tailscale without a system VPN.
Built on qmodem: modem info, signal and serving cell, dialing, SIM, SMS, AT debugging, and traffic accounting.
quartz carries our core packages; thirdparty collects community plugins. Tags and commits are pinned, duplicates are scanned, and builds stay reproducible.
APK indexes are signed with an EC P-256 key; OTA manifests are signed with usign and bound to the image SHA-256.
GitHub Actions and local scripts follow the same steps: pinned base, pinned feeds, manifest gates, and device assertions.
Not just AT commands in a text box. QuartzWrt turns modem capabilities into a stable data contract shared by the dashboard, the app, and the web UI.
Verified on Erya FNet3399 and Hiveton H5000M with RG520N-EU.
Each target has its own device layer: non-invasive patches, a device seed, dropped-in files, and image assertions.
RK3399 · rockchip/armv8
MT7987A · mediatek/filogic
x86/64 · UEFI / BIOS
Firmware is published on GitHub Releases; the package feed is a separately signed repository for long-term incremental upgrades.
Three hardware targets, std and docker variants, shipped with manifest, buildinfo, OTA manifests, and sha256sums.txt.
Built with Flutter: LAN discovery, pairing, remote access, router settings, and cellular management. APKs are published in the app repository's releases.
Firmware ships with the feed preconfigured; usually you only need apk update. To add it manually, write these URLs to /etc/apk/repositories.d/quartz-feed.list:
https://sources.quartzwrt.org/quartz-feed
https://sources.quartzwrt.org/quartz-feed/packages/<arch>/quartz
https://sources.quartzwrt.org/quartz-feed/packages/<arch>/thirdparty
https://sources.quartzwrt.org/quartz-feed/targets/<board>/<subtarget>/packages
Build, core, third-party, and app are physically separated and evolve independently, connected by pinned feeds and data contracts.
Base pinning, device layers, and build / signing / release pipelines.
QuartzWrt-PackagesTheme, dashboard, daemon, app-api, and bridge adapters.
QuartzWrt-ThirdPartyThird-party collection, controlled forks, version pins, and runtime resource inventory.
QuartzWrt-AppFlutter app: discovery, pairing, remote access, and full management.