19 piped wiki-links (navbar Modules, Home pages, Architecture, Live-USB, etc.)
were written MediaWiki-style (target first) so they resolved to absent pages
(e.g. Modules link → /wiki/Modules 'absent' instead of /wiki/MODULES-EN).
Reversed all to Gollum order [[display|target]].
secubox-authelia (SSO IdP) was decommissioned (#64768978, package removed, gate
now permissive no-op) but still listed in the Modules wiki. Removed from
generate-docs.py MODULES dict + regenerated MODULES/CATEGORIES (EN/FR/DE/ZH).
- Endless 'Session révoquée' login loop: hub-proxied /auth/login never records
the session (no set_session_callback in the hub) — fixed by posting to the
canonical /api/v1/auth/login. Explains why it surfaced after Authelia was
disabled.
- Authelia SSO marked as failed/half-baked PoC, being removed; do not re-enable.
French translation of the ThreatMesh explainer with the FR hero poster
(threatmesh-poster-fr.png, 1024x1536); EN<->FR language links + sidebar FR link.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Neighborhood-watch explainer (free feeds + mesh, no CAPI) mirroring the
Anti-Track poster page; sidebar entry under MIND; images/README updated.
Poster art expected at wiki/images/threatmesh-poster.png.
New Protection panel in the popup: ghost savings (blocked/Mo/pages cleaned
via /admin/ghost) + live toggles for ad_ghost / ad_ghost_block / banner /
protective(off|alert|spoof) via /admin/filters. api.js: ghost/getAdminFilters/
setAdminFilters helpers. Top-tracker list stays top-5. webext 0.1.4,
tag-pin -> webext-v0.1.4, secubox-toolbox 2.6.27.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- social.js eye-view: site + tracker nodes render the site favicon via the
same-origin /social/favicon/{domain} proxy (7d cached, transparent 1×1
fallback so the tier circle shows through), clipped to the bubble.
- webext popup top-tracker list gains a 16px favicon per row (api.faviconUrl
helper). clients/webext-toolbox 0.1.2 ; /wg/toolbox.xpi tag-pin → webext-v0.1.2.
No IP/ASN displayed anywhere. secubox-toolbox 2.6.19.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Real cause of the broken extension: api.js and background.js BOTH did
`const ext = …`. In a Firefox event page the background.scripts array
loads them into one shared scope (same via importScripts in a Chromium
SW), and popup.js's `const ext` collided with api.js's in the popup
page realm too — 'redeclaration of const ext' aborts the script. web-ext
lint misses it because it never concatenates/executes the scripts.
Now only api.js declares `const ext`; background.js and popup.js use
`api.ext`.
Also (defensive + Chromium-correct): replace the SVG action/extension
icon with rasterised PNGs (48/128) and keep the SVG out of the package,
so Firefox never renders SVG in chrome UI. Bump to v0.1.1; the
/wg/toolbox.xpi endpoint + fetch helper + docs point at webext-v0.1.1.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
README + wiki Browser-Extension: add the direct release download URL,
document make_latest:false / tag-pinned design. TODO/WIP: mark the
webext-v0.1.0 release published (downloadable, verified) and note the
remaining board deploy of secubox-toolbox 2.6.14.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- new wiki page Android-ToolBox.md (install via /wg/toolbox.apk, manual +
root onboarding flows, CI build, endpoints) + sidebar link
- README: document the root-mode silent path + revised constraints
- WIP/TODO/HISTORY: Android client section (#531/#536/#538)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Anchor the pattern that secubox-lyrion v1.1.0 demonstrated (admin
static page on the canonical hub vhost + real app served at the root
of its own dedicated vhost) as a REQUIRED rule across the docs:
- docs/MODULE-GUIDELINES.md §4 — new "REQUIRED: dual-vhost pattern"
subsection with the URL table, the JS pattern for reading the
public URL from /access, and the explicit forbidden anti-pattern
(`proxy_pass /<module>/ → app LXC`).
- docs/MODULE-GUIDELINES.md §5 — nginx template updated: `/<module>/`
is `alias` (static), the dedicated vhost is a separate file. The
previous "Iframe pattern for LXC web UIs" + "LXC daemon iframe
target" sections are flagged deprecated.
- .claude/PATTERNS.md Pattern 12 — same rule reproduced for the
Claude-facing pattern catalog with the source-of-truth JS snippet.
- .claude/HISTORY.md + .claude/WIP.md — entry for today's three-
module alignment (lyrion 1.1.0 + zigbee + authelia).
- wiki/Architecture.md — short reference + pointer back to
MODULE-GUIDELINES.
- packages/secubox-lyrion/README.md — adds the URLs table at the top.
- packages/secubox-zigbee/README.md — was a verbatim copy of the
lyrion README, rewritten as a proper zigbee README with the new
URLs table + API surface + ports + files.
- packages/secubox-authelia/README.md — Quickstart points at
sso.gk2.secubox.in (was auth.maegia.tv); URLs table added.
The forbidden anti-pattern catches LMS Material, Nextcloud,
Grafana, z2m and any future module whose UI uses absolute asset
URLs — incident on gk2 2026-05-24, see secubox-lyrion 1.1.0
changelog.
Permanent documentation for the 8-verb / 8-layer modular tools box that
emerged across #173, #176, #180-#184, #190, #212. Three new docs + one
README section, all bearing the 1991 attribution.
docs/grammar.md Canonical conceptual frame: layered map,
8 verbs in a table, composing-the-grammar
worked examples, naming conventions,
philosophical roots.
HOWTO-grammar.md Concrete 6-step walkthrough for adding a
9th verb (~1h budget): issue framing,
worktree, CTL skeleton (Bash + Python),
FastAPI mirror, Debian packaging, nginx
route under secubox-routes.d/, live test
on the board, commit/PR conventions,
common pitfalls drawn from real incidents
(#163 secubox.d vs secubox-routes.d,
#173 LXC default path, #176 hook trigger,
#194 CAP_NET_ADMIN, #180 naming).
wiki/CTL-Grammar.md Public-facing wiki page mirrored to the
GitHub wiki repo (per the wiki-sync
pattern established for Acknowledgments).
Embeds Punk Exposure (Peek/Poke/Emancipate)
as the seed concept with 1991 attribution.
README.md New section under Features summarising the
grammar with the 9-row layer table and a
pointer to docs/grammar.md + HOWTO-grammar.md.
Attribution recorded on all three documents: copyright spiritual
concept Gerald Kerma (GK2), 1991, Notre-Dame-du-Cruet, Savoie.
The CTL is the user's voice. The modular tools box is their organ. The
language is the way they say *this is mine, this is mine, this is mine*.
Co-authored-by: CyberMind-FR <gandalf@Gk2.net>
Correct the partner brand name. The domain is reepoststudio.fr (not
reepost.fr, which was a guess). Logo URL, link href, display label and
alt text all updated.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Renames the section from generic "Premier contributeur" to "Premier
partenaire et client de la SecuBox" — better reflects reepost.fr's
multi-year involvement.
* Adds the reepost.fr logo (right-aligned, 60px) above the entry.
Inline HTML is intentional for align+height which markdown image
syntax doesn't support; GitHub wiki renders it correctly.
* Expanded bullet timeline:
- Pré-2025: évaluations, sponsoring matériel, financement de
l'infrastructure de POC pré-migration Deb.
- 2026-05: contributions techniques détaillées + PRs cliquables.
* Logo URL points at https://reepost.fr/logo.png — adjust if the asset
lives elsewhere.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds the first additional Contributeur technique entry to
wiki/Acknowledgments.md, replacing the placeholder. Covers the
2026-05-15..17 work: round/square remote-ui convergence (PR #140),
radar_concentric painter + animation phase (PR #142), round image
cleanup (PR #143), plus hardware bench validation on Pi 4B + DSI
and Pi Zero W + HyperPixel.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Wiki page covers:
- Overview and rationale
- Quick start (5-step cycle)
- Sub-command reference with preconditions and exit codes
- Drop-in system prompt for non-Claude agents (GPT, Gemini, Copilot)
- Troubleshooting matrix
- Source-of-truth links
Sidebar gets a new "🤖 Workflow Agents" section between WALL and Liens.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add full CMSD-1.0 license table to wiki/Home.md (EN)
- Add license section to wiki/Home-FR.md (French)
- Add license section to wiki/Home-DE.md (German)
- Add license section to wiki/Home-ZH.md (Chinese)
- Update wiki/_Footer.md with direct CMSD-1.0 license link
- Update wiki version to v2.5.0
- Update GitHub Issue #35 with current progress
Addresses OPORD F-002 (license consistency in wiki)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
All fixes for VM-x64 kiosk issues are in place:
- Chromium sandbox: --no-sandbox flag
- Unix socket: Changed to TCP port 8001
- Menu endpoint: Added public /api/v1/hub/public/menu
- Pydantic 1.x: Optional[HTTPAuthorizationCredentials] syntax
Closes#34
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Menu/sidebar "Invalid menu data" error is now FIXED
- Added resolution steps and explanation
- Reference commit b2c9f01 for the fix
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Eye Remote Interactive UI enhancements:
- TTY mode: Serial terminal display from /dev/ttyGS0
- Flash mode: Progress bar with speed/ETA for USB transfers
- Auth mode: QR code generation for backup authentication
- Mode detection via /etc/secubox/gadget-mode
Hub service VM compatibility fix:
- Changed from Unix socket to TCP port 8001
- Updated nginx configs for TCP proxy
- Fixes 502 errors in VirtualBox VMs
Also includes:
- FAQ/Troubleshooting wiki page with GitHub issue links
- Kiosk launcher --no-sandbox fix for VMs
- Profile Generator GUI mockup
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Display system for Pi Zero Eye Remote (HyperPixel 2.1 Round 480x480):
Splash Screen (splash.py):
- Animated phoenix logo for boot/halt/start/reboot states
- Pulsing glow effects with fire colors
- Progress indicator ring with rotating dots
- Fallback phoenix symbol if logo image missing
Fallback Display Manager (fallback_manager.py):
- Connection state detection (OTG 10.55.0.1, WiFi secubox.local)
- Four modes: OFFLINE, CONNECTING, ONLINE, COMMUNICATING
- Local metrics radar with 6 concentric rings
- 3D rotating cube with module icons when connected
- Rainbow sweep line animation
Touch Analysis Tools:
- touch_analyzer.py: Noise pattern analysis (Y-axis oscillation at stable X)
- touch_calibrate.py: Corner target display for manual calibration
- touch_filter.py: X-stable noise filtering
Radar Variants:
- radar_flashy.py: Vibrant colors with 3D cube
- radar_concentric.py: Balanced metric arcs centered at 12 o'clock
- radar_rainbow.py: Rainbow colorization with sweep
- radar_full.py: Complete feature set
Also includes:
- Hardware Smart-Strip module specs (SBX-STR-01)
- Host configuration for USB OTG network
- Systemd service for USB auto-mode
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Device-Categories.md documenting AUTH→MESH Hamiltonian path
- Document color palette, HID mapping, I²C registers
- Update _Sidebar.md with new WALL — Hardware section
- Link to Smart-Strip and Eye-Remote device pages
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Install live-boot package and rebuild initramfs with live-boot scripts
- Create squashfs filesystem (878MB) on data partition sda4
- Update boot.scr with live boot parameters (boot=live, toram)
- Fix wiki sidebar links from [[Page|Display]] to [Display](Page)
- Add Eye-Remote wiki page documentation
- Add sync-wiki.sh script for wiki repository sync
- Add patch-multiboot-efi.sh for post-build EFI patching
Partition layout:
- sda1 (512MB): EFI with kernel, initrd, dtbs, boot.scr
- sda2 (3GB): ARM64 rootfs reference
- sda3 (3GB): x86 rootfs for VirtualBox/QEMU
- sda4 (9.5GB): Data + /live/filesystem.squashfs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add announcement banner on wiki home for v2.2.3 multiboot release
- Create wiki/Multiboot.md with full multiboot documentation
- Add Multiboot and Eye Remote links to sidebar navigation
- Update sidebar version to v2.2.3
- Document Eye Remote Pi Zero as USB gadget for ESPRESSObin boot
- Add partition layout, boot flow, and troubleshooting docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes:
- Add fallback EFI bootloader at /EFI/BOOT/BOOTX64.EFI for Lenovo/HP/Dell
- Add --slipstream flag to build-live-usb.sh (CI fix)
- Fix banner alignment in secubox-flash-disk
- Update kiosk launcher to v1.6.7.12
Wiki:
- Use generic /releases/latest/download/ URLs (no more hardcoded versions)
- Fix script paths (scripts/ → image/)
- Update all languages (EN, FR, DE, ZH)
Tested: Lenovo hardware install - PASSED
Closes#26
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- New wiki/Live-USB-QEMU.md with run-qemu.sh documentation
- Updated _Sidebar.md version to v1.6.0
- Added links to VM launcher scripts
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add create-qemu-arm64-vm.sh script for ARM64 emulation on x86 hosts
- Add wiki/QEMU-ARM64.md documentation
- Update CI workflows to include RPi 400 and VM scripts in releases
- Update release notes to document all platforms
Platforms now supported:
- MOCHAbin (Armada 7040)
- ESPRESSObin v7/Ultra (Armada 3720)
- Raspberry Pi 400 / Pi 4
- VirtualBox x64
- QEMU ARM64 emulation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Configuration.md: TOML config, modules, double-buffer system
- Troubleshooting.md: Common issues, diagnostics, recovery
- All pages translated to French and Chinese
- Sidebar updated to v1.5.3 with new sections
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ARM-Installation-FR.md (French translation)
- ARM-Installation-ZH.md (Chinese translation)
- ESPRESSObin-ZH.md (Chinese translation)
- UI-COMPARISON.md (moved from docs/wiki/)
- Updated sidebar with all language links
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>