github PentHertz/LUKSbox v0.5.0-rc.2

latest releases: v0.6.1, v0.6.0-rc.1, v0.5.2...
pre-release3 months ago

Verify your download

Cryptographic provenance (GitHub / Sigstore attestation)

Every artifact below is signed via GitHub Artifact
Attestations
,
which uses Sigstore under the hood. The signature proves
the artifact was produced by this exact workflow run on
this exact commit SHA, no human had a chance to swap it
after the fact.

Verify with the GitHub CLI (one-liner):

# Install gh once if you don't have it:
#   sudo apt install gh   |   sudo dnf install gh   |   brew install gh
gh attestation verify <downloaded-file> --owner penthertz
# Prints "Loaded digest ..." then "PASS" with the
# workflow run + commit SHA the artifact came from.

Offline check (no gh needed)

Every artifact also has a SHA-256 in SHA256SUMS.txt
(attached to this release):

# Linux / macOS:
sha256sum -c SHA256SUMS.txt   # Linux
shasum -a 256 -c SHA256SUMS.txt   # macOS
# Windows (PowerShell):
Get-FileHash luksbox-*.msi -Algorithm SHA256
# then compare to the `*.msi` row in SHA256SUMS.txt

Trust chain summary

Artifacts on this release page are uploaded only by the
GitHub Actions release workflow that ran on this tagged
commit (.github/workflows/release.yml in the repo).
The commit itself is GPG-signed by the maintainer, the
upload uses GitHub's OIDC release token, and the
Sigstore attestation above pins the signature to that
workflow run. GPG-signed release tarballs
(SHA256SUMS.txt.asc) and full SLSA L3 provenance are
on the roadmap.

For at-a-glance SHA-256 checking against the published
values:

File SHA-256
luksbox-0.5.0-rc.2-1.aarch64.rpm 56a9f45012b52aa9aa2716ea86c863065347e89d6794135aee12d577015fb05a
luksbox-0.5.0-rc.2-1.x86_64.rpm 9600a2dfd1506396cbfeed7df7389cb590dfcad04cb74a1622732368a029b6c7
luksbox-v0.5.0-rc.2-aarch64-linux-jammy.tar.gz b6d5ea6d82b51dc274639cfe210a92325b03f12bffdc0a6f8b933062ca4cf8ec
luksbox-v0.5.0-rc.2-aarch64-linux-noble.tar.gz 5398486c21e76ec1f5a6a00b5aad8a9954d382107770bc61991403e6f67929da
luksbox-v0.5.0-rc.2-aarch64-linux-resolute.tar.gz 1fc51bdf3e194648147ab2d64c0c1d2cb1e97830fe7844e4b63c3a5c90f35641
luksbox-v0.5.0-rc.2-aarch64-linux-trixie.tar.gz 2d202d6b7d6e1ef8e9ccb38eb82c814488a24b67cc6c23cfc6dd6b9e7fa556fb
luksbox-v0.5.0-rc.2-aarch64-macos-fuset-portable.tar.gz 2462578d26075217df0c9d9d5de1a25039f6a8e15d0c3154c0f3f5dadca2a5d3
luksbox-v0.5.0-rc.2-aarch64-macos-fuset.dmg f276daf2beb3d2ab3204f8bb2ff31073fd066cc696fc94b1115a142206135bc2
luksbox-v0.5.0-rc.2-aarch64-macos-macfuse-portable.tar.gz 58b01ea3ae66c74121012696f8f4933ae2e5b904faf12d82d8cb1cd0e861f9f7
luksbox-v0.5.0-rc.2-aarch64-macos-macfuse.dmg f2a53f5870b86b5a754e1cce4ad801e00cb231c4fc974337eaa1c412dd86cb90
luksbox-v0.5.0-rc.2-x86_64-linux-jammy.tar.gz 7368f370a446c7fabf152b1b91cefb4853980a6ba598556cac8230c9f881934d
luksbox-v0.5.0-rc.2-x86_64-linux-noble.tar.gz b80b5b44ebea0ca58167a9c74474fd7d6e0a993676b8f1f37f1033316743343a
luksbox-v0.5.0-rc.2-x86_64-linux-resolute.tar.gz 281d5479f0414161c417a81f12b9eafff59cb2b0a3e14f29fc0ad3fef85501fa
luksbox-v0.5.0-rc.2-x86_64-linux-trixie.tar.gz 92875bcaf916d574eaccbcd5438d07b172757c7785bf44ac122b457a1da69713
luksbox-v0.5.0-rc.2-x86_64-windows-setup.exe 14cb7c003a6326cbe56485ad411138114fbf0ba7694ad44c9ab81bf8bf477f6e
luksbox-v0.5.0-rc.2-x86_64-windows.msi c02a25aaab4349d390759ac2fa6972869110ba3dc73f6b2062e3dccf0f1a9755
luksbox-v0.5.0-rc.2-x86_64-windows.zip aad08ff3d711a2ea2ac900aee02163b0d6fcebad2841f73d5fdc6aad96e99db9
luksbox_0.5.0~rc.2-1_jammy_amd64.deb 1e5b5cf7cc008d0e80e4e39920dae51c50f3ef7249099e8ac1960a466fd2dc3b
luksbox_0.5.0~rc.2-1_jammy_arm64.deb 2ba7fd3a9033c3f635559734f672638a5add744d4abecf65477c696632bb6417
luksbox_0.5.0~rc.2-1_noble_amd64.deb 4f6c94058c02ce69b42662bac6e21817cce1a5bd47bb17887bbbdb219f718c07
luksbox_0.5.0~rc.2-1_noble_arm64.deb 5cc13743c229cc3731f7f70c56653e0ddc5e359f6382c2e5f35ff4c4ae36647b
luksbox_0.5.0~rc.2-1_resolute_amd64.deb afc92999d2ab527e9495c53cb64d3cc2e296d7518b0f7a7fbe44cc16f0721e30
luksbox_0.5.0~rc.2-1_resolute_arm64.deb 4476d5330c2da38f2bb15467e1bf109a5d2c8de525746c925cd3dc55178f4d25
luksbox_0.5.0~rc.2-1_trixie_amd64.deb e95b369665b35a5c1cab756e94040424d4d77d69c602646b384173671a18da36
luksbox_0.5.0~rc.2-1_trixie_arm64.deb 71a8186e84f792ff2ded4392c0c724237377f6aab7f97c00acdbaccf8d0bd62a

Install

Linux (Ubuntu 22.04, Debian 11/12, Mint 21.x, .deb):
download luksbox_*_jammy_amd64.deb (or _arm64) and
install with sudo apt install ./luksbox_*_jammy_amd64.deb.
Pulls in libfido2-1, libfuse3-3, and libtss2-*
automatically. Registers a luksbox-gui desktop
launcher and a MIME type for .lbx files.

Linux (Ubuntu 24.04 noble, .deb):
download luksbox_*_noble_amd64.deb (or _arm64) and
install with sudo apt install ./luksbox_*_noble_amd64.deb.
Same package layout as the jammy build, but with
t64-transitioned dependency names (libssl3t64,
libfido2-1t64, libtss2-mu-4.0.1-0t64, etc.). The
jammy and noble .deb files cannot be installed
interchangeably, the dependency names differ.

Linux (Debian 13 trixie / Ubuntu 26.04 resolute, .deb):
these distros bump shared-library sonames again past
noble, so they get their own builds. Download
luksbox_*_trixie_amd64.deb on Debian 13 or
luksbox_*_resolute_amd64.deb on Ubuntu 26.04 (or the
matching _arm64) and install with sudo apt install ./<file>. Each .deb's dependency names are resolved
against its own distro, so install the one matching your
release rather than the noble build.

Linux (Fedora / RHEL / Rocky / Alma, .rpm): download
luksbox-*.x86_64.rpm (or aarch64.rpm) and install
with sudo dnf install ./luksbox-*.x86_64.rpm (or
sudo rpm -i). One .rpm covers every rpm-based
distro, RPM uses SONAMEs for shared-library
dependencies which are stable across releases.
Pulls in libfido2 and fuse3-libs automatically.

Linux (x86_64, generic tarball): tar xzf luksbox-v0.5.0-rc.2-x86_64-linux-jammy.tar.gz && cd luksbox-v0.5.0-rc.2-x86_64-linux-jammy && ./install.sh
For Arch / NixOS / Alpine / any non-deb non-rpm distro.
The jammy variant has the broadest glibc compatibility;
if you are on a very recent distro and prefer the noble
build, swap -jammy for -noble in the filename.
Installs to ~/.local/bin and registers a desktop launcher.
Use ./install.sh --system for system-wide install, or
./install.sh --uninstall to remove. Requires
libfido2-1 (and libfuse3-3 for mount):
sudo apt install libfido2-1 libfuse3-3 (Debian/Ubuntu)
or sudo dnf install libfido2 fuse3-libs (Fedora/RHEL).

Linux (aarch64): tar xzf luksbox-v0.5.0-rc.2-aarch64-linux-jammy.tar.gz && cd luksbox-v0.5.0-rc.2-aarch64-linux-jammy && ./install.sh
Same runtime deps and installer as x86_64. Built natively
on a GitHub ARM64 runner, no QEMU emulation. Same
jammy/noble distinction applies as for the .deb above.

macOS (Apple Silicon): two .dmg variants, one per
FUSE backend. Pick one based on which FUSE provider you
want to install. Both .dmgs are otherwise identical
(same crypto, same on-disk format, same UI); the
difference is what luksbox mount calls under the hood
and whether you need a kernel extension.

FUSE-T variant (recommended for personal laptops):

  download: luksbox-v0.5.0-rc.2-aarch64-macos-fuset.dmg
  install FUSE-T first:
      brew tap macos-fuse-t/homebrew-cask
      brew install --cask fuse-t
  then drag LUKSbox.app onto Applications.

No kernel extension, no Privacy & Security prompt, no
Apple-Silicon Reduced-Security dance. The .app launches
cleanly even if FUSE-T isn't installed yet (you just
can't use mount until you install it). Uses an NFS-
over-loopback transport with NO authentication on the
loopback port
- on a multi-user Mac, any other local
process can connect to the mount via NFSv4 and bypass
LUKSbox's permission model. Documented in
docs/MACOS_FUSE_T.md.
Fine for the common single-user-laptop case.

macFUSE variant (recommended for shared machines or
audit-required deployments):

  download: luksbox-v0.5.0-rc.2-aarch64-macos-macfuse.dmg
  install macFUSE FIRST (REQUIRED, see warning below):
      brew install --cask macfuse
      # then approve the kext under System Settings
      # -> Privacy & Security and reboot. On Apple
      # Silicon also: Recovery Mode -> Startup Security
      # Utility -> Reduced Security.
  then drag LUKSbox.app onto Applications.

IMPORTANT: this variant transitively links macFUSE's
MFMount.framework. If macFUSE is NOT installed when you
try to launch LUKSbox.app, macOS kills the process
before it can show any UI
(dyld: Library not loaded
error). Install macFUSE first, then the LUKSbox.app.
Uses macFUSE's /dev/macfuse* device-node permissions
for the kernel<->FS channel, which restricts access to
the mounting UID - the better local-attacker model.

Verify which backend a given .app uses:

  /Applications/LUKSbox.app/Contents/MacOS/luksbox --version
  # luksbox X.Y.Z
  # FUSE backend: fuse-t (...)   <- FUSE-T variant
  # FUSE backend: macfuse (...)  <- macFUSE variant

macOS (Apple Silicon), portable .tar.gz: also two
variants, -fuset-portable.tar.gz and -macfuse-portable.tar.gz,
same backend split as the .dmgs. Ships the bare CLI +
GUI binaries (bin/luksbox, bin/luksbox-gui) with
their dylib closure under Frameworks/. Run in place:
./bin/luksbox --help or ./bin/luksbox-gui &. No
.app, no Gatekeeper warning, no quarantine xattr to
clear (when extracted via Terminal). See
README-MACOS.txt inside for the full layout + caveats.

First launch: the .dmg is codesigned with the
Penthertz Apple Developer ID Application certificate
(team 456J2U7HQL) and Apple-notarised
, with the
notarisation ticket stapled to the bundle. macOS shows
the standard "downloaded from internet, are you sure?"
prompt that every Mac shows for any downloaded app -
click Open and you're set. Subsequent launches are
silent. No Gatekeeper override and no
xattr -dr com.apple.quarantine workaround needed.

Verify the signature and notarisation locally:

# Signature: identity + chain trust
codesign --verify --deep --strict --verbose=2 \
    /Applications/LUKSbox.app

# Notarisation: ticket present + valid
spctl --assess --type execute --verbose \
    /Applications/LUKSbox.app
# expects: "accepted, source=Notarized Developer ID"

You can additionally verify the .dmg SHA-256 against
the table at the top of these release notes for an
independent integrity check that doesn't depend on
Apple's PKI.

macOS (Intel): not shipped, build from source with
cargo build --profile release-hardened on an Intel Mac
with brew install libfido2 (the release-hardened
profile matches the hardening flags used for the shipped
Apple-Silicon binary). The CI matrix entry for
x86_64-apple-darwin is commented out in
.github/workflows/release.yml, GitHub's macos-13
runner has been intermittently blocking releases.

Windows (x86_64), recommended: download
luksbox-v0.5.0-rc.2-x86_64-windows-setup.exe,
double-click. The bootstrapper installs WinFsp 2.0.23075
(if not already present) AND LUKSbox in one wizard.
Unattended deploy: LUKSboxSetup.exe /quiet. To skip
WinFsp (e.g., you manage it via Group Policy):
LUKSboxSetup.exe InstallWinFsp=0. WinFsp is bundled
under its non-GPL-app linking exception; full license
ships as LICENSE-WINFSP.txt in the install dir.

Windows (x86_64), IT-admin / bare MSI: download
luksbox-v0.5.0-rc.2-x86_64-windows.msi. This
MSI does not include WinFsp; install WinFsp 2.x
separately from https://winfsp.dev/rel/ first
(LUKSbox statically links winfsp-x64.dll and the MSI
refuses to install without it). For unattended deploy
behind Group Policy / SCCM / Intune where WinFsp is
managed as a separate dependency, this is the right
artifact. Otherwise the -setup.exe above is easier.

Windows (x86_64), portable: unzip
luksbox-v0.5.0-rc.2-x86_64-windows.zip
and run the .exe in place. No installation, no Start
menu entry, no PATH change. Same binaries as the MSI.
Because nothing was added to PATH, you must either
(a) run from a shell where <WinFspInstall>\bin is on
PATH, or (b) drop a copy of winfsp-x64.dll next to
luksbox.exe in the unzipped folder.

libfido2 is statically linked into the .exe; no runtime
install needed for FIDO2.

See the Verify your download section at the top for
checksum verification commands.

Full Changelog: v0.5.0-rc.1...v0.5.0-rc.2

Don't miss a new LUKSbox release

NewReleases is sending notifications on new releases.