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>
36 lines
1.2 KiB
Bash
Executable File
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"
|
|
|
|
)
|