github PentHertz/LUKSbox v0.6.1

5 hours 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-aarch64.AppImage 0f2236a3cc660fba6d408918d12165b342d37cdf04051f7662a534fd22e7f661
LUKSbox-x86_64.AppImage 056e727aab1fcf70c46497d2e09f0d8455df6b284117c075e24d7f8e717bab97
luksbox-0.6.1-1.aarch64.rpm fc7244ed161f64840a10fc9f9a630bca831e2a65a400159068c2d566168369ac
luksbox-0.6.1-1.x86_64.rpm 0327d85bea20f91a4d4d322c4434b92fdbdf219c14959e679c8ac7e97abf081a
luksbox-aarch64-linux-jammy.tar.gz 375b2527125cc0e03cbc51393e022fe5f9093a9262204d000e04010729812531
luksbox-aarch64-linux-noble.tar.gz 1dd54ba862bfb4a9683d14db5f8d27888569cdec5a9e107ea6b48581fa85c903
luksbox-aarch64-linux-resolute.tar.gz 0b05f5a8ad7834a4c5f64468cca306d09efeba54250d4a51a4892f985a4ae36e
luksbox-aarch64-linux-trixie.tar.gz bfc8504f48f5739a763cedea6d372d2f94dabc0b5fd6c5f5fd695bfe2410b137
luksbox-aarch64-macos-fuset-portable.tar.gz d764fa63f1a89f19289316958a8f94d956ca1b3f04b43dea093cfdd660fbda25
luksbox-aarch64-macos-fuset.dmg aa82b1c97fa8d1e5a0a91319771eda537ca08d126b433f177cb6ec1ac5461aeb
luksbox-aarch64-macos-macfuse-portable.tar.gz 8a2b61d69cb51647b64590e297189ec1e3d63c851b8cf658c980a556eebc38d7
luksbox-aarch64-macos-macfuse.dmg c58233f6ae3f072a00c691866007b04640392050bb17463b18ad7e690f6c1b17
luksbox-aarch64-unknown-linux-musl-fido2-tpm.tar.gz acacb45003f7838cb19f9580f6094a8ec1fbee90b67078e37717575f420378d2
luksbox-aarch64-unknown-linux-musl.tar.gz e8e73038720617ef008160242e8e01e3352be04b1b98198fe9c200166cb310fc
luksbox-v0.6.1-aarch64-linux-jammy.tar.gz 375b2527125cc0e03cbc51393e022fe5f9093a9262204d000e04010729812531
luksbox-v0.6.1-aarch64-linux-musl-static-fido2-tpm.tar.gz acacb45003f7838cb19f9580f6094a8ec1fbee90b67078e37717575f420378d2
luksbox-v0.6.1-aarch64-linux-musl-static.tar.gz e8e73038720617ef008160242e8e01e3352be04b1b98198fe9c200166cb310fc
luksbox-v0.6.1-aarch64-linux-noble.tar.gz 1dd54ba862bfb4a9683d14db5f8d27888569cdec5a9e107ea6b48581fa85c903
luksbox-v0.6.1-aarch64-linux-resolute.tar.gz 0b05f5a8ad7834a4c5f64468cca306d09efeba54250d4a51a4892f985a4ae36e
luksbox-v0.6.1-aarch64-linux-trixie.tar.gz bfc8504f48f5739a763cedea6d372d2f94dabc0b5fd6c5f5fd695bfe2410b137
luksbox-v0.6.1-aarch64-macos-fuset-portable.tar.gz d764fa63f1a89f19289316958a8f94d956ca1b3f04b43dea093cfdd660fbda25
luksbox-v0.6.1-aarch64-macos-fuset.dmg aa82b1c97fa8d1e5a0a91319771eda537ca08d126b433f177cb6ec1ac5461aeb
luksbox-v0.6.1-aarch64-macos-macfuse-portable.tar.gz 8a2b61d69cb51647b64590e297189ec1e3d63c851b8cf658c980a556eebc38d7
luksbox-v0.6.1-aarch64-macos-macfuse.dmg c58233f6ae3f072a00c691866007b04640392050bb17463b18ad7e690f6c1b17
luksbox-v0.6.1-aarch64.AppImage 0f2236a3cc660fba6d408918d12165b342d37cdf04051f7662a534fd22e7f661
luksbox-v0.6.1-x86_64-linux-jammy.tar.gz 22d3e75d8de2dd596cf0faf6cb2c6c7eb7c663e1d9393c040f193a10ab70eca6
luksbox-v0.6.1-x86_64-linux-musl-static-fido2-tpm.tar.gz 366c01c391917b4f42c12c42598f7c6857f7f3e2fb99ccd89809a18c6c1fd94d
luksbox-v0.6.1-x86_64-linux-musl-static.tar.gz c339917afc30949c24ca6ab3289a3cb134fd90c4717063a57af83006aeebd9ca
luksbox-v0.6.1-x86_64-linux-noble.tar.gz 9b0b6433c39f4dbe1cf4d0fa9a8753129172e3c7c1980aa82cbee72e0054ac71
luksbox-v0.6.1-x86_64-linux-resolute.tar.gz 26a74f9e02cbe835e4ddc77537e0fe69bdad6d0c4e74f31abf17313f5a51e4e0
luksbox-v0.6.1-x86_64-linux-trixie.tar.gz e7a46ea8cf5d558f30b664f267b9c2fda8215ca8d20dcb4a1943e3c049944267
luksbox-v0.6.1-x86_64-windows-setup.exe 45c23e7133330209c3fcea23ebf4a6cd72b14f5f5bba3649de2a6f356f396c2b
luksbox-v0.6.1-x86_64-windows.msi 66b9b9da3eb8aa6a5376a8a29930fce7e4ed80bd1db6375c6f659c4b209195fe
luksbox-v0.6.1-x86_64-windows.zip 2aacc7857399f44d1c5d793b42273ae2fc33c9c9f43521e03b69cb3abf1ba57a
luksbox-v0.6.1-x86_64.AppImage 056e727aab1fcf70c46497d2e09f0d8455df6b284117c075e24d7f8e717bab97
luksbox-x86_64-linux-jammy.tar.gz 22d3e75d8de2dd596cf0faf6cb2c6c7eb7c663e1d9393c040f193a10ab70eca6
luksbox-x86_64-linux-noble.tar.gz 9b0b6433c39f4dbe1cf4d0fa9a8753129172e3c7c1980aa82cbee72e0054ac71
luksbox-x86_64-linux-resolute.tar.gz 26a74f9e02cbe835e4ddc77537e0fe69bdad6d0c4e74f31abf17313f5a51e4e0
luksbox-x86_64-linux-trixie.tar.gz e7a46ea8cf5d558f30b664f267b9c2fda8215ca8d20dcb4a1943e3c049944267
luksbox-x86_64-unknown-linux-musl-fido2-tpm.tar.gz 366c01c391917b4f42c12c42598f7c6857f7f3e2fb99ccd89809a18c6c1fd94d
luksbox-x86_64-unknown-linux-musl.tar.gz c339917afc30949c24ca6ab3289a3cb134fd90c4717063a57af83006aeebd9ca
luksbox-x86_64-windows-setup.exe 45c23e7133330209c3fcea23ebf4a6cd72b14f5f5bba3649de2a6f356f396c2b
luksbox-x86_64-windows.msi 66b9b9da3eb8aa6a5376a8a29930fce7e4ed80bd1db6375c6f659c4b209195fe
luksbox-x86_64-windows.zip 2aacc7857399f44d1c5d793b42273ae2fc33c9c9f43521e03b69cb3abf1ba57a
luksbox.aarch64.rpm fc7244ed161f64840a10fc9f9a630bca831e2a65a400159068c2d566168369ac
luksbox.x86_64.rpm 0327d85bea20f91a4d4d322c4434b92fdbdf219c14959e679c8ac7e97abf081a
luksbox_0.6.1-1_jammy_amd64.deb d09dca38169869954d644faee429289c59717ccd7fbe58f962f92c1386fe300e
luksbox_0.6.1-1_jammy_arm64.deb c2c3d6528075798fe8116abb7d4d14187f8ad52138adc398b9c875972499b147
luksbox_0.6.1-1_noble_amd64.deb 475af36518b10784194983be460fedd817b12688f2977f8bdf57960ff1fb0a1b
luksbox_0.6.1-1_noble_arm64.deb 31aac19bb264fe4271d54b3809ec3c7f4db7f3f6bb2bc68d64e765c1ea6fc8a6
luksbox_0.6.1-1_resolute_amd64.deb 0e135a24e3d177007664b09685ed925b4bfa90ec7db1087b35aa11b1652e0063
luksbox_0.6.1-1_resolute_arm64.deb 41d90116e4f82fa1c241955f9be3f109d696679aa24100851d7323dade69442c
luksbox_0.6.1-1_trixie_amd64.deb c720bef18883a9a109ffb37644ee6e7325813f043ad116cbf0df10211b074d4a
luksbox_0.6.1-1_trixie_arm64.deb 7e40f9568f49313434958abc3f5eca6444d24f7b0c511a7f91fe4f5c13a3466c
luksbox_jammy_amd64.deb d09dca38169869954d644faee429289c59717ccd7fbe58f962f92c1386fe300e
luksbox_jammy_arm64.deb c2c3d6528075798fe8116abb7d4d14187f8ad52138adc398b9c875972499b147
luksbox_noble_amd64.deb 475af36518b10784194983be460fedd817b12688f2977f8bdf57960ff1fb0a1b
luksbox_noble_arm64.deb 31aac19bb264fe4271d54b3809ec3c7f4db7f3f6bb2bc68d64e765c1ea6fc8a6
luksbox_resolute_amd64.deb 0e135a24e3d177007664b09685ed925b4bfa90ec7db1087b35aa11b1652e0063
luksbox_resolute_arm64.deb 41d90116e4f82fa1c241955f9be3f109d696679aa24100851d7323dade69442c
luksbox_trixie_amd64.deb c720bef18883a9a109ffb37644ee6e7325813f043ad116cbf0df10211b074d4a
luksbox_trixie_arm64.deb 7e40f9568f49313434958abc3f5eca6444d24f7b0c511a7f91fe4f5c13a3466c

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): mkdir luksbox && tar xzf luksbox-v0.6.1-x86_64-linux-jammy.tar.gz -C luksbox && cd luksbox && ./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): mkdir luksbox && tar xzf luksbox-v0.6.1-aarch64-linux-jammy.tar.gz -C luksbox && cd luksbox && ./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.

Linux (any distro, GUI, AppImage): download
luksbox-v0.6.1-x86_64.AppImage (or
-aarch64.AppImage), chmod +x it and run it. Nothing to
install; libfido2 / libcbor / libcrypto are bundled, glibc
2.35+ (Ubuntu 22.04, Debian 12, Fedora 36 or newer) and
the desktop's graphics stack come from the host. mount
needs fusermount3 (package fuse3). The same files are
also published as LUKSbox-x86_64.AppImage /
LUKSbox-aarch64.AppImage for stable download links.

Linux (any distro, CLI only, static): tar xzf luksbox-v0.6.1-x86_64-linux-musl-static.tar.gz
(or aarch64) and copy the single luksbox binary onto
your PATH. Fully static (musl), no shared-library
dependency at all; includes the TUI wizard and mount
(needs fusermount3), but not FIDO2 or TPM 2.0 keyslots.
Also published as luksbox-x86_64-unknown-linux-musl.tar.gz
/ luksbox-aarch64-unknown-linux-musl.tar.gz.
The -linux-musl-static-fido2-tpm tarballs (also
luksbox-<arch>-unknown-linux-musl-fido2-tpm.tar.gz) are
the same static binary with FIDO2 security keys and TPM
2.0 keyslots built in; nothing to install, only access to
/dev/hidraw* / /dev/tpmrm0 is needed.

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

FIDO2 goes through Windows' built-in webauthn.dll; no
runtime install needed for FIDO2.

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

Full Changelog: v0.5.2...v0.6.1

Don't miss a new LUKSbox release

NewReleases is sending notifications on new releases.