Patch only what changed.
An open-source, rsync-like patcher for game clients & desktop apps — and a cross-platform package manager with Flatpak-style sandboxing. Let me show you around!
Tiny updates, every time
I compare your local files with rolling checksums and download only the blocks that differ, then rebuild & verify each file in place. A 50 GB game can update over a thin pipe.
Delta patcher
Content-defined chunking keeps dedup high even when files shift.
Package manager
Install, update & remove apps from a signed descriptor.
What I can do
⚡ Delta patching
Transfer only changed blocks.
🧬 Content-defined chunking
Dedup across inserts & deletes.
✍️ Ed25519 signing
Manifests verified before patching.
🔎 Hash verification
Per-chunk & per-file integrity.
🗜️ Brotli storage
Compressed, content-addressed chunks.
🔁 Retry + backoff
Recovers from transient errors.
↩️ Backup & rollback
Instant rollback on failure.
🧵 Concurrent downloads
Configurable parallelism.
🌐 Static hosting
Bundled host, or any CDN/Nginx/S3.
How it works
Build pipeline
- hina-builder scans & chunks your build
- writes manifest.json (hashes, chunk map, signature)
- writes chunks/ — Brotli blocks by content hash
- upload to Hina.Host / Nginx / S3 / CDN
Client patch
- fetch manifest → verify Ed25519 signature
- rolling-checksum scan of local files
- download missing chunks (concurrent · retry)
- rebuild → verify → swap (or rollback)
Sandboxed by default
A sandboxed app gets only its declared files & network — enforced before it starts.
🐧 Linux
Landlock (unprivileged, no root).
🍎 macOS
Seatbelt (sandbox-exec).
🪟 Windows
AppContainer new 1.6
Install me
curl -fsSL https://raw.githubusercontent.com/Arutosio/Hina/master/scripts/install.sh | bashLands in ~/.local/bin/hina · verifies SHA-256 first.
iwr -useb https://raw.githubusercontent.com/Arutosio/Hina/master/scripts/install.ps1 | iexInstalls to %LOCALAPPDATA%\Hina\bin · no admin.
scoop install https://github.com/Arutosio/Hina/releases/latest/download/hina.jsonAuto-updates with scoop update.
Prefer a double-click installer? Grab the per-user MSI (x64/arm64):
Download from Releases ↗Then run hina --help · verify with the published .sha256 sums.
Five parts
hina (CLI)
install · update · run · perms · host
Hina.PackageManager
install engine, descriptors, signatures, sandboxes
Hina.Builder
build dir → manifest + chunk store
Hina.Host
ASP.NET Core static host (rate-limit, health)
Hina.Core
chunking, checksum, verify, retry library