github PentHertz/LUKSbox v0.7.0-rc.1

pre-release3 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 0ee62752e8d17d41d63272d24fc66b9576194ed1d5266e7bd4b230ce92675e14
LUKSbox-x86_64.AppImage cb5947fae5b861dd804d1ccdef350a3911b9b8bcf058a1053c754e97314a365f
luksbox-0.7.0-rc.1-1.aarch64.rpm f6465dfaae2380c00511a4a89a1ab632c93b9f5e02973fcd6c3c6571e4907711
luksbox-0.7.0-rc.1-1.x86_64.rpm 238b7622c1efa54dcd26c7cc97ab7b4f69f06838f98bb8df2e260295ff2065ca
luksbox-aarch64-linux-jammy.tar.gz fb66d8f832a45935ac34565308567f4502a5245f58be8963e3b8847b43cad945
luksbox-aarch64-linux-noble.tar.gz d980ce85f6fab69f6dbdf8d9aed1b6d35bb8df622bc91d324279e93af7f45b96
luksbox-aarch64-linux-resolute.tar.gz 00c908c862bd54e1b21cd728394b55e8c83d65c344cc7fcd2aaf55bde8a2a5da
luksbox-aarch64-linux-trixie.tar.gz 959820ac1d828c793e85704234f04c45dbf36a5fe3607219fb491540d68dd478
luksbox-aarch64-macos-fuset-portable.tar.gz 411a9e8b41c6cea830c891a229bdf3a09132299dd263991eb18bb4ed8fd1787b
luksbox-aarch64-macos-fuset.dmg 8659bfce470d08839b9cc20a14f2009404c3a354a32a35f50391bea460f568b1
luksbox-aarch64-macos-macfuse-portable.tar.gz a00fe2a22a7c922499add7fc199565ab3fa67f2c8078f37cd116b7e3b50f0d73
luksbox-aarch64-macos-macfuse.dmg 66bd3b9f75ea7430e858ec66b6ddc8818ead8d95b922c74bc545395e14f17f50
luksbox-aarch64-unknown-linux-musl-fido2-tpm.tar.gz 52eda34fbe401d1f5dec752269f5997f4125a79049868ed2422ad7c1c874011b
luksbox-aarch64-unknown-linux-musl.tar.gz f2e2e518befeb509b8322db54a69697a2099bd8ef869c0bab0d7228b1f940311
luksbox-v0.7.0-rc.1-aarch64-linux-jammy.tar.gz fb66d8f832a45935ac34565308567f4502a5245f58be8963e3b8847b43cad945
luksbox-v0.7.0-rc.1-aarch64-linux-musl-static-fido2-tpm.tar.gz 52eda34fbe401d1f5dec752269f5997f4125a79049868ed2422ad7c1c874011b
luksbox-v0.7.0-rc.1-aarch64-linux-musl-static.tar.gz f2e2e518befeb509b8322db54a69697a2099bd8ef869c0bab0d7228b1f940311
luksbox-v0.7.0-rc.1-aarch64-linux-noble.tar.gz d980ce85f6fab69f6dbdf8d9aed1b6d35bb8df622bc91d324279e93af7f45b96
luksbox-v0.7.0-rc.1-aarch64-linux-resolute.tar.gz 00c908c862bd54e1b21cd728394b55e8c83d65c344cc7fcd2aaf55bde8a2a5da
luksbox-v0.7.0-rc.1-aarch64-linux-trixie.tar.gz 959820ac1d828c793e85704234f04c45dbf36a5fe3607219fb491540d68dd478
luksbox-v0.7.0-rc.1-aarch64-macos-fuset-portable.tar.gz 411a9e8b41c6cea830c891a229bdf3a09132299dd263991eb18bb4ed8fd1787b
luksbox-v0.7.0-rc.1-aarch64-macos-fuset.dmg 8659bfce470d08839b9cc20a14f2009404c3a354a32a35f50391bea460f568b1
luksbox-v0.7.0-rc.1-aarch64-macos-macfuse-portable.tar.gz a00fe2a22a7c922499add7fc199565ab3fa67f2c8078f37cd116b7e3b50f0d73
luksbox-v0.7.0-rc.1-aarch64-macos-macfuse.dmg 66bd3b9f75ea7430e858ec66b6ddc8818ead8d95b922c74bc545395e14f17f50
luksbox-v0.7.0-rc.1-aarch64.AppImage 0ee62752e8d17d41d63272d24fc66b9576194ed1d5266e7bd4b230ce92675e14
luksbox-v0.7.0-rc.1-x86_64-linux-jammy.tar.gz b396c4227d3ae7c9ea12561288a6ee5664f797bdf4932501704ca341be09b155
luksbox-v0.7.0-rc.1-x86_64-linux-musl-static-fido2-tpm.tar.gz ba6de93c124a91d624a349f0c954c64171e7cab523992153889af73fc0b6b976
luksbox-v0.7.0-rc.1-x86_64-linux-musl-static.tar.gz b0c64299af554b2cf14a649ddcaab57f5d143d1cde02a9a056e714725bfb39ee
luksbox-v0.7.0-rc.1-x86_64-linux-noble.tar.gz 625b34fe75b0d73f83b42a7b6d85da221271b5437a36a6eb613b2324ad1ad83c
luksbox-v0.7.0-rc.1-x86_64-linux-resolute.tar.gz 4e24a15d29d0546a7f88017d639f6a55413a1e4b1e60b5021cb70f8b64958010
luksbox-v0.7.0-rc.1-x86_64-linux-trixie.tar.gz 77e051c552e033d41811c515ea7909e736a7793126a6516e1ebf8829d92cefd8
luksbox-v0.7.0-rc.1-x86_64-windows-setup.exe 2ef910ac90daafc85abd0b3e5e2b0e52e93061a0e1899b2de324025b909d5e60
luksbox-v0.7.0-rc.1-x86_64-windows.msi c7f33de8e538a5f2b44bce74228710fb0c1782c0a36b6a24d34258d3f1cb764f
luksbox-v0.7.0-rc.1-x86_64-windows.zip 9f7197e312d1902b22a493175b81c1e500a6b33bc092fafee473bcd22ab482ae
luksbox-v0.7.0-rc.1-x86_64.AppImage cb5947fae5b861dd804d1ccdef350a3911b9b8bcf058a1053c754e97314a365f
luksbox-x86_64-linux-jammy.tar.gz b396c4227d3ae7c9ea12561288a6ee5664f797bdf4932501704ca341be09b155
luksbox-x86_64-linux-noble.tar.gz 625b34fe75b0d73f83b42a7b6d85da221271b5437a36a6eb613b2324ad1ad83c
luksbox-x86_64-linux-resolute.tar.gz 4e24a15d29d0546a7f88017d639f6a55413a1e4b1e60b5021cb70f8b64958010
luksbox-x86_64-linux-trixie.tar.gz 77e051c552e033d41811c515ea7909e736a7793126a6516e1ebf8829d92cefd8
luksbox-x86_64-unknown-linux-musl-fido2-tpm.tar.gz ba6de93c124a91d624a349f0c954c64171e7cab523992153889af73fc0b6b976
luksbox-x86_64-unknown-linux-musl.tar.gz b0c64299af554b2cf14a649ddcaab57f5d143d1cde02a9a056e714725bfb39ee
luksbox-x86_64-windows-setup.exe 2ef910ac90daafc85abd0b3e5e2b0e52e93061a0e1899b2de324025b909d5e60
luksbox-x86_64-windows.msi c7f33de8e538a5f2b44bce74228710fb0c1782c0a36b6a24d34258d3f1cb764f
luksbox-x86_64-windows.zip 9f7197e312d1902b22a493175b81c1e500a6b33bc092fafee473bcd22ab482ae
luksbox.aarch64.rpm f6465dfaae2380c00511a4a89a1ab632c93b9f5e02973fcd6c3c6571e4907711
luksbox.x86_64.rpm 238b7622c1efa54dcd26c7cc97ab7b4f69f06838f98bb8df2e260295ff2065ca
luksbox_0.7.0~rc.1-1_jammy_amd64.deb fefd268f1d698e517d1aede74dd34e516864f31483fb559c8c9fe628e8277222
luksbox_0.7.0~rc.1-1_jammy_arm64.deb 608dafc7a8c21b008a394d192a12d89f8b6d40864284eb808c5fcc699ca3efa7
luksbox_0.7.0~rc.1-1_noble_amd64.deb 81dd2d368c98df867a3b409e3d963bb5cee3b4790f9119704cb09e285891df65
luksbox_0.7.0~rc.1-1_noble_arm64.deb 2efd47a139fd7f48c68b5493fb34d21a293db37cb73924f414bb98a31382af58
luksbox_0.7.0~rc.1-1_resolute_amd64.deb 70791d456c610f0f90ce79eeaad9ef1e5367d7e9bcf939a5e8b5e5df9ddde220
luksbox_0.7.0~rc.1-1_resolute_arm64.deb ada7475261b4037b4d12c8d871743a3baae28eed63123aa57476cd10b3e63292
luksbox_0.7.0~rc.1-1_trixie_amd64.deb 72504b661401783d150a93dd70c603b08f524c51fb56262b8d36cfb529e62460
luksbox_0.7.0~rc.1-1_trixie_arm64.deb 5ffb54f09240158b37676d9a13ff9ecb7d73249420a4b5ae3ed3db758181ea57
luksbox_jammy_amd64.deb fefd268f1d698e517d1aede74dd34e516864f31483fb559c8c9fe628e8277222
luksbox_jammy_arm64.deb 608dafc7a8c21b008a394d192a12d89f8b6d40864284eb808c5fcc699ca3efa7
luksbox_noble_amd64.deb 81dd2d368c98df867a3b409e3d963bb5cee3b4790f9119704cb09e285891df65
luksbox_noble_arm64.deb 2efd47a139fd7f48c68b5493fb34d21a293db37cb73924f414bb98a31382af58
luksbox_resolute_amd64.deb 70791d456c610f0f90ce79eeaad9ef1e5367d7e9bcf939a5e8b5e5df9ddde220
luksbox_resolute_arm64.deb ada7475261b4037b4d12c8d871743a3baae28eed63123aa57476cd10b3e63292
luksbox_trixie_amd64.deb 72504b661401783d150a93dd70c603b08f524c51fb56262b8d36cfb529e62460
luksbox_trixie_arm64.deb 5ffb54f09240158b37676d9a13ff9ecb7d73249420a4b5ae3ed3db758181ea57

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.7.0-rc.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.7.0-rc.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.7.0-rc.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.7.0-rc.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.7.0-rc.1-aarch64-macos-fuset.dmg
  install FUSE-T first:
      brew tap macos-fuse-t/homebrew-cask
      brew trust --cask macos-fuse-t/cask/fuse-t   (if Homebrew asks)
      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.7.0-rc.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.7.0-rc.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.7.0-rc.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.7.0-rc.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.6.1...v0.7.0-rc.1

Don't miss a new LUKSbox release

NewReleases is sending notifications on new releases.