librelad b28268a61f feat(system): "Verified" integrity check against the signed release manifest
Adds per-file integrity attestation on top of the existing signed-tarball
release flow. make_release now generates a SHA256SUMS manifest over the shipped
tree and (when a key is configured) signs it, riding both inside the release
tarball so they land in the install tree with no extra download.

lpVerifyInstall (scripts/source/verify.sh) re-hashes the install tree against
that manifest and verifies the manifest's minisign signature against the
root-owned footprint pubkey, yielding states: verified / modified / tampered /
unsigned / unverifiable / development. webuiSystemVerify writes verify_status.json
(throttled daily, force on demand, also after each update apply), surfaced as an
Integrity line + "Verify now" button on the Admin → Overview Updates card and a
row in the update details panel. `libreportal verify` exposes the same check on
the CLI.

Honest framing: this is a self-check (run by the software it verifies), so red
fires only for genuine modified/tampered states; the badge tooltip points to
out-of-band `minisign -Vm` for an independent guarantee.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-28 19:41:22 +01:00

36 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# This file is auto-generated by generate_arrays.sh
# Do not edit manually - run './scripts/source/files/generate_arrays.sh run' to regenerate
source_scripts=(
"source/fetch.sh"
"source/files/arrays/files_app.sh"
"source/files/arrays/files_backup.sh"
"source/files/arrays/files_checks.sh"
"source/files/arrays/files_cli.sh"
"source/files/arrays/files_config.sh"
"source/files/arrays/files_crontab.sh"
"source/files/arrays/files_database.sh"
"source/files/arrays/files_docker.sh"
"source/files/arrays/files_function.sh"
"source/files/arrays/files_install.sh"
"source/files/arrays/files_logs.sh"
"source/files/arrays/files_menu.sh"
"source/files/arrays/files_migrate.sh"
"source/files/arrays/files_network.sh"
"source/files/arrays/files_os.sh"
"source/files/arrays/files_peer.sh"
"source/files/arrays/files_restore.sh"
"source/files/arrays/files_setup.sh"
"source/files/arrays/files_source.sh"
"source/files/arrays/files_ssh.sh"
"source/files/arrays/files_start.sh"
"source/files/arrays/files_update.sh"
"source/files/arrays/files_webui.sh"
"source/files/arrays/function_manifest.sh"
"source/files/generate_function_manifest.sh"
"source/verify.sh"
)