Repository navigation
v0.1.8 — LustLess (crash-reporting pipeline, CE parity minus the databases)
Linux accountability client (Covenant Eyes-compatible, clean-room reimplementation).
Install
curl -fsSL https://github.com/HenryGetz/LustLess/releases/latest/download/install.sh | sudo bashDetects your distro, downloads the matching package, installs it with the
native tool, starts the agent — and the sign-in window opens. Log in there.
Other ways:
| Distro | File | Command |
|---|---|---|
| Debian / Ubuntu / Zorin / Mint | lustless_0.1.8_amd64.deb |
sudo apt install ./lustless_0.1.8_amd64.deb |
| Fedora | lustless-0.1.8-1.x86_64.rpm |
sudo dnf install ./lustless-0.1.8-1.x86_64.rpm |
| Bazzite / immutable Fedora | lustless-0.1.8-1.x86_64.rpm |
sudo rpm-ostree install ./lustless-0.1.8-1.x86_64.rpm && reboot |
| Arch / EndeavourOS / SteamOS | lustless-0.1.8-1-x86_64.pkg.tar.zst |
sudo pacman -U ./lustless-0.1.8-1-x86_64.pkg.tar.zst |
| Alpine | lustless-0.1.8-r0.apk |
sudo apk add --allow-untrusted ./lustless-0.1.8-r0.apk |
Uninstall: sudo apt purge lustless (or the dnf/rpm-ostree/pacman/apk
equivalent) — restores the DNS, browser-policy and polkit state exactly as
found.
What's new
The crash-reporting pipeline exists now (it was the biggest parity gap):
- Detection: a clean-shutdown marker; a missing marker at startup means the
previous run died — systemd'sRestart=alwaysis CE's restart helper, so the
report is made by the next start (CE's timing). A first-ever start reports
nothing. - Type: a panic hook plus fatal-signal handlers (SIGSEGV/SIGABRT/SIGBUS/
SIGILL/SIGFPE) record the reason, so the metric'scrash_typeis
PANIC/SIGNALwhere CE hardcodesGENERIC. - Attachments: CE's log groups under CE's caps (5 MB per file, 19 MB
total).state-summary.jsonreplaces CE'sdebugDB.zip— the activity
databases are never attached, which is deliberately stricter than CE. - Counters and metric: CE's
ClientCrashesAt/ClientCrashesSincepair,
theclient_crashestelemetry row, and CE's
client_crash{crash_type=…,count=…}metrics event, cleared after reporting. - Test hooks:
--crashatonce=true(CE's command-line switch) and
[daemon] crash_test_hook = "force"(CE'sForceCrashClientsetting).
Verified end to end: forced SIGABRT → last-reason=SIGNAL → next start logs
previous run crashed (SIGNAL, 1 in window), writes the attachments, emits the
metric row with crash_type=SIGNAL, inserts client_crashes=SIGNAL:1, clears
the counter; a clean run reports nothing.
Also in this release: the config loader's known-key list now accepts
crash_test_hook (it silently ignored unknown keys before). Everything from
0.1.7 (parity audit, real-model proof, spool fallback), 0.1.6 (branded sign-in
window, Zorin Lite verification), 0.1.5 (DNS that stays alive) and 0.1.4 (agent
main loop) is unchanged.