Files
felhom.eu/documentation/audits/website-refresh-2026-10-08/shots/tools/sw.py
T
admin 67b3fd23d1
gates / gates (push) Failing after 13m1s
website refresh: true numbers (56 apps), claims checked against the capability map, ten missing apps, an English twin of every public page (public, choice B), 404 page; site gates 13-18 + 11 decoys; R-902 opened
Part A: claim table documentation/audits/website-refresh-2026-10-08/claims.md; "100% open source" corrected
from the licence read; unbacked claims cut (firewall, RAID, snapshots, new-machine restore, self-managed
mode, household VPN, "never lost"). Part B: dawarich, docmost, grimmory, homebox, karakeep, mealie, metube,
radicale, recipe-importer, sparkyfitness cards; plant-it and wger cut (not offered). Part C: /en/ twins,
nav language switch, hreflang both ways, sitemap with xhtml:link, og-image-en.png. Part D: site_gates.py
twins/lang/same-apps/no-Hungarian/FAQ-JSON-LD/tail. Operator ruling 9 + choice B in 10-localisation.md §11,
§10.7. Register: R-902 (contact mailer source in no repo); R-813, R-784, R-559 annotated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
2026-10-08 08:29:17 +02:00

18 lines
942 B
Python

"""sw.py — website-refresh 2026-10-08 screenshot helper. A shim over the catalog's box client
(app-catalog-felhom.eu/scripts/box_walk.py, read-only), TARGET 9202, with ONE change: guest() pipes the script
into `pct exec 9202 -- bash -s` over `ssh hp`, so nothing is written on the demo-hp host itself (no pct push,
no temp file there). SC (0600 scratch with `.ctlpw`) and EV come from the environment. No secret is printed."""
import os, subprocess, sys
os.environ.setdefault("TARGET", "9202")
sys.path.insert(0, "/mnt/5_hdd/felhom.eu/git/app-catalog-felhom.eu/scripts")
import box_walk as b # noqa: E402
def guest(script, timeout=600):
r = b.sh(["ssh", "-o", "ConnectTimeout=20", "-o", "BatchMode=yes", "hp",
"LC_ALL=C pct exec 9202 -- env LC_ALL=C bash -s"], timeout=timeout, inp=script)
return (r.stdout or "") + (("\n[stderr] " + r.stderr.strip()[-800:]) if r.returncode and r.stderr else "")
b.guest = guest