github PentHertz/LUKSbox v0.5.0-rc.3

latest releases: v0.6.1, v0.6.0-rc.1, v0.5.2...
pre-release2 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.3-1.aarch64.rpm 5abe3ed3aac0295a4e7cdd588937b589d26d00c7a7eccdb7cee69d58b29fb5f0
luksbox-0.5.0-rc.3-1.x86_64.rpm 5f6fd1aeadee32ce73922ce870e542998a1139c9860f62400650141700901a00
luksbox-v0.5.0-rc.3-aarch64-linux-jammy.tar.gz 2b61927b4fdd006770113fb945448d632bf9edfbc4ffabf02407d370679cb852
luksbox-v0.5.0-rc.3-aarch64-linux-noble.tar.gz 0a385231acbcf1251113762403d88d702eed0273552dddcd94b125c47efa6898
luksbox-v0.5.0-rc.3-aarch64-linux-resolute.tar.gz 9afb14795e36ba0a3c67c85cae9c898dc5e9d3ec513d0348479bc82f06d6d44b
luksbox-v0.5.0-rc.3-aarch64-linux-trixie.tar.gz 3b2d59e119944d4c2ee475fd55948dd4b4a33926045adef3ce81490d31fc028f
luksbox-v0.5.0-rc.3-aarch64-macos-fuset-portable.tar.gz 1a8d2e4d994253e0e9a840012bb160af7cd4727752045e3d8bfc90c49f8ac0de
luksbox-v0.5.0-rc.3-aarch64-macos-fuset.dmg c3165c67d4152bcee39ca4da030993d65d21a876f4ca80a3cc37478e9d454aef
luksbox-v0.5.0-rc.3-aarch64-macos-macfuse-portable.tar.gz 8e7e9cda95931fa3aaf753cba31349d46acb7a1c5795a1fc9277a801ab149b9f
luksbox-v0.5.0-rc.3-aarch64-macos-macfuse.dmg 26a926ff3f102734aae7c301460e5f9caa0126457485568d456975984aee374e
luksbox-v0.5.0-rc.3-x86_64-linux-jammy.tar.gz 0a726d0fc9485b93ffc9b81465e5d847fae054dff2733068f781486234950fc4
luksbox-v0.5.0-rc.3-x86_64-linux-noble.tar.gz 1de79a3e2f39c4f088ed1c7fd095ce0ce88bc0ba60f845550184fb7cc91e1c64
luksbox-v0.5.0-rc.3-x86_64-linux-resolute.tar.gz 474c3b29e67f164e6614fe71eccccb2e0d7049302384b67dc7b220d3f81bdad5
luksbox-v0.5.0-rc.3-x86_64-linux-trixie.tar.gz 622ec18c593dadbf122d109c71802c8d842ca921a2833ab6a952d4071018e788
luksbox-v0.5.0-rc.3-x86_64-windows-setup.exe 809a011bd0184f789af0750342e9d357f0527ce2a13c1a8167e561745149a19c
luksbox-v0.5.0-rc.3-x86_64-windows.msi 3898ae380dac57a7a51cb6634cb3fab0becd64d367aa58fd737976a6492182fb
luksbox-v0.5.0-rc.3-x86_64-windows.zip c428eac1f21ca4274c05679bea71e451dedd8c7dfba689c67049b552517435f8
luksbox_0.5.0~rc.3-1_jammy_amd64.deb a393665f6dc781fa43aba1a386bc261d22dde7c2fb2de78795b53307eb8b1a7e
luksbox_0.5.0~rc.3-1_jammy_arm64.deb 932d6f719b3f2b033b7b6ab18ebb75e49077a9056f9d0db93ec21172fe38ac05
luksbox_0.5.0~rc.3-1_noble_amd64.deb 4ac84526a7439f5f010fbb5f6b894a041bbac4af98e834995954334589242e0b
luksbox_0.5.0~rc.3-1_noble_arm64.deb 360a78c59b7d46a96e4115937987bea79508f06b6b5b4cb87c65975a449c32f6
luksbox_0.5.0~rc.3-1_resolute_amd64.deb 677a99463ca05bbbb95122b65fe951be755ec8887e5b3af4fca53e5abfa6b21c
luksbox_0.5.0~rc.3-1_resolute_arm64.deb bd41e2fffa60808ece7ed1f79a25c7bc76bd2f599288e632753e451659037a92
luksbox_0.5.0~rc.3-1_trixie_amd64.deb 9b8f261deec4d49fe5890846f6b5f4c0e52a673d2a71d78eba3fcf50e1927f04
luksbox_0.5.0~rc.3-1_trixie_arm64.deb 98f365e33f3a47453d50dc638a3b32aca8d5aae99979ba19840ddb83003a09de

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.3-x86_64-linux-jammy.tar.gz && cd luksbox-v0.5.0-rc.3-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.3-aarch64-linux-jammy.tar.gz && cd luksbox-v0.5.0-rc.3-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.3-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.3-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.3-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.3-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.3-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.2...v0.5.0-rc.3

Don't miss a new LUKSbox release

NewReleases is sending notifications on new releases.