Commit Graph

102 Commits

Author SHA1 Message Date
bbf2b19415 feat(peertube): Add video import with multi-track subtitle sync
- New peertube-import script for importing from YouTube, Vimeo, 1000+ sites
- CGI endpoints for portal integration (peertube-import, peertube-import-status)
- Portal UI: Video Import card with progress tracking
- Multi-language subtitle download and PeerTube caption upload
- Fixed stdout/stderr separation for reliable function returns
- UCI config: uses peertube.admin.username/password
- Package version bumped to 1.2.0
- Added README.md with full documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 20:18:51 +01:00
e78f4fdf3d docs: Add Nextcloud nginx fix and PeerTube Analyse limitations
Fixes today:
- peertube-analyse: jq null handling for automatic_captions
- cloud.gk2: nginx try_files directive causing 403 on /apps/*
- cloud.gk2: brute force protection reset
- HAProxy: removed duplicate vhost entries

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 19:28:24 +01:00
b187cb087b docs: Update HISTORY.md with PeerTube Analyse bug fix
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 19:11:17 +01:00
f76dfe8a67 feat(peertube): Add web interface for video analysis
- Create standalone web UI at /peertube-analyse/
- Add CGI backend (peertube-analyse, peertube-analyse-status)
- Add RPCD methods: analyse, analyse_status
- Update portal with Intelligence & Analyse section
- Expose via analyse.gk2.secubox.in with SSL

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 18:34:26 +01:00
389e4a58e0 docs: Update HISTORY.md with TURN Nextcloud + PeerTube analyse
Added entries 62-63:
- TURN Server Nextcloud Talk Integration
- PeerTube Transcript & AI Analysis Tool

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 18:18:59 +01:00
2ccc3ace25 docs: Update HISTORY.md with v0.26.0 release notes
Added entries 58-61:
- WebRadio LuCI & Lyrion Bridge UI
- TURN Server LuCI Dashboard
- WebRadio HTTPS Stream via HAProxy
- Release v0.26.0 summary

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 17:58:37 +01:00
6db547f7f8 feat: Add WebRadio, TURN server, and Lyrion streaming integration
New packages:
- luci-app-webradio: Web radio management with Lyrion bridge tab
- luci-app-turn: TURN/STUN server UI for WebRTC (Jitsi integration)
- secubox-app-lyrion-bridge: Lyrion → Squeezelite → FFmpeg → Icecast pipeline
- secubox-app-squeezelite: Squeezelite audio player with FIFO output
- secubox-app-turn: TURN server with ACME SSL and Jitsi setup
- secubox-app-webradio: Icecast/ezstream web radio server

Features:
- HTTPS streaming via HAProxy (stream.gk2.secubox.in)
- Lyrion Music Server bridge for streaming playlists to Icecast
- TURN server with time-limited credential generation
- CrowdSec integration for WebRadio security
- Schedule-based radio programming with jingles

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 17:46:54 +01:00
2607bfb911 refactor(luci-app-secubox): KISS UI regeneration for all core views
Rewrote 5 core SecuBox LuCI views with KISS pattern:
- modules.js: 565→280 lines, filter tabs, module cards
- monitoring.js: 442→245 lines, SVG charts, 5s polling
- alerts.js: 451→255 lines, timeline, severity filters
- settings.js: 540→220 lines, UCI form with chips
- services.js: 1334→410 lines, provider status, health checks

Total: 3332→1410 lines (~58% reduction)

Changes:
- Removed legacy deps: SecuNav, Theme, Cascade, SbHeader
- Inline CSS with dark mode via prefers-color-scheme
- KissTheme.wrap() for consistent navigation
- Self-contained views with no external CSS dependencies

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 12:24:07 +01:00
bea65ed3e6 feat(matrix): Add Matrix/Conduit E2EE messaging server integration
- secubox-app-matrix: Conduit homeserver in LXC container
  - matrixctl CLI: install/uninstall, user/room management, federation
  - DID identity integration, P2P mesh publication
- luci-app-matrix: LuCI dashboard with 17 RPCD methods
  - Install wizard, status cards, service controls
  - User management, emancipate (public exposure)
  - Identity/mesh integration, logs viewer
- Updated apps-local.json with messaging category metadata
- Conduit v0.10.12 with Matrix Protocol v1.12 support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 10:48:30 +01:00
cc372f32b2 docs: Update HISTORY.md with Streamlit and MetaBlogizer KISS features
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 10:24:21 +01:00
42218a4b78 feat(peertube): Add auto-upload for video imports
Videos imported via yt-dlp are now automatically uploaded to PeerTube:
- OAuth authentication using UCI-stored admin credentials
- Video upload via PeerTube REST API
- Real-time job status polling with import_job_status method
- Progress indicator in LuCI UI
- Automatic cleanup of temp files

New RPCD method: import_job_status for polling job progress.
Version bumped to 1.1.0.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 09:21:18 +01:00
f9f2be9252 fix(system-hub): Fix get_denoise_stats RPCD returning no response
- Replace jsonfilter with grep for CrowdSec decision counting
- Add ipset existence check before listing blocked IPs
- Add safety fallbacks for empty/invalid counts
- Bump version to 0.5.2-r2

The jsonfilter -e '@[*]' approach failed with CrowdSec's
multi-line JSON output, causing exit code 251 errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-21 07:05:24 +01:00
cec4893db9 feat(security): Implement SysWarden Evolution #1-3 security enhancements
Evolution #1 - IP Blocklist (secubox-app-ipblocklist, luci-app-ipblocklist):
- Pre-emptive blocking layer with ipset (~100k IPs)
- Default sources: Data-Shield, Firehol Level 1
- Supports nftables (fw4) and iptables backends
- LuCI KISS dashboard with sources/whitelist management

Evolution #2 - AbuseIPDB Reporter (luci-app-crowdsec-dashboard v0.8.0):
- New "AbuseIPDB" tab in CrowdSec Dashboard
- crowdsec-reporter.sh CLI for reporting blocked IPs
- RPCD handler luci.crowdsec-abuseipdb with 9 methods
- Cron job for automatic reporting every 15 minutes
- IP reputation checker in dashboard

Evolution #3 - Log Denoising (luci-app-system-hub v0.5.2):
- Three modes: RAW, SMART (noise ratio), SIGNAL_ONLY (filter known IPs)
- Integrates with IP Blocklist ipset + CrowdSec decisions
- RPCD methods: get_denoised_logs, get_denoise_stats
- Denoise mode selector panel with noise ratio indicator

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 20:11:24 +01:00
58220065b5 feat(v0.23.0): Matrix homeserver, SaaS Relay CDN caching, Media Hub dashboard
Matrix Homeserver (Conduit):
- E2EE mesh messaging using Conduit v0.10.12 in LXC container
- matrixctl CLI: install/uninstall, user/room management, federation
- luci-app-matrix: status cards, user form, emancipate, mesh publish
- RPCD backend with 17 methods
- Identity (DID) integration and P2P mesh publication

SaaS Relay CDN Caching & Session Replay:
- CDN cache profiles: minimal, gandalf (default), aggressive
- Session replay modes: shared, per_user, master
- saasctl cache/session commands for management
- Enhanced mitmproxy addon (415 lines) with response caching

Media Services Hub Dashboard:
- Unified dashboard at /admin/services/media-hub
- Category-organized cards (streaming, conferencing, apps, etc.)
- Service status indicators with start/stop/restart controls
- RPCD backend querying 8 media services

Also includes:
- HexoJS static upload workflow and multi-user auth
- Jitsi config.js Promise handling fix
- Feed package updates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 11:44:26 +01:00
91cfd35d7a feat(voip): Add call recording feature with LuCI management
- Add MixMonitor integration for automatic call recording
- Add voipctl rec commands: enable/disable/status/list/play/download/delete/cleanup
- Add recordings.js LuCI view with audio player and date filtering
- Add RPCD methods for recording management
- Add UCI config section for recording settings (format, retention)
- Fix OVH API signature to use openssl instead of sha1sum
- Improve PJSIP trunk config with realm and qualify settings

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 15:11:46 +01:00
e416fa14a6 feat(jabber): Add VoIP integration to LuCI dashboard
Add Jingle VoIP, SMS Relay, and Voicemail Notifications sections to
the Jabber overview.js. Expose 9 new RPC methods in api.js for VoIP
control. Also includes remaining VoIP package updates (dialer view,
asterisk-config.sh) from previous session.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 14:37:17 +01:00
dd9594d52b docs: Update tracking files for WAF VoIP/XMPP filters and Jitsi Meet
- Added 4 new WAF categories: voip (12), xmpp (10), cve_voip (9), cve_xmpp (8)
- Self-hosted Jitsi Meet deployed at meet.gk2.secubox.in
- Full LXC container with Prosody/Jicofo/JVB/Nginx
- Webchat updated to use self-hosted Jitsi

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 12:08:20 +01:00
4ca46b61e2 feat(voip): Add VoIP packages with OVH provisioning and Jabber integration
New packages:
- secubox-app-voip: Asterisk PBX in LXC container
- luci-app-voip: Dashboard with extensions, trunks, click-to-call

VoIP features:
- voipctl CLI for container, extensions, trunks, calls, voicemail
- OVH Telephony API auto-provisioning for SIP trunks
- Click-to-call web interface with quick dial
- RPCD backend with 15 methods

Jabber VoIP integration:
- Jingle VoIP support (STUN/TURN via mod_external_services)
- SMS relay via OVH (messages to sms@domain)
- Voicemail notifications via Asterisk AMI → XMPP
- 9 new RPCD methods for VoIP features

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 09:22:06 +01:00
e849c38aa2 docs: Update tracking files for Jabber deployment
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 08:13:01 +01:00
247d688a72 docs: Update tracking files for Jabber/XMPP packages
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 07:52:31 +01:00
75b85080fa feat(mitmproxy): Add WAF Filters UI to LuCI dashboard
- Add new WAF Filters tab displaying 10 detection categories
- Categories: sqli, xss, lfi, rce, cve_2024, scanners, webmail, api_abuse, nextcloud, roundcube
- Toggle enable/disable per category with live updates
- Expandable rules tables with patterns, descriptions, CVE links
- Summary stats: total categories, active filters, rule count
- RPCD methods: get_waf_rules, toggle_waf_category
- Update menu entry and ACL permissions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-17 16:02:58 +01:00
c4669fafc9 docs: Mailserver migration Alpine → Debian 12
- Replaced unstable Alpine container with Debian 12 Bookworm
- Fixed persistent Dovecot permission issues (UID/GID mismatch)
- Postfix + Dovecot properly configured for Debian
- Mail data and SSL certificates preserved
- Webmail now working reliably

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-17 15:49:50 +01:00
edbd58d95d feat(security): Add ndpid to security dashboard, Streamlit/MetaBlogizer to apps
Security KISS Dashboard:
- Add ndpid (nDPI daemon) to RPCD status method
- Add ndpid to services monitoring array (6 services total)

APPS Portal:
- Add Streamlit to Services category (Python data apps)
- Add MetaBlogizer to Services category (AI blog generation)

Also includes secubox-cloner enhancements from earlier session.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-17 15:29:54 +01:00
1945c5b5c3 docs: Update tracking files for Nextcloud LXC enhancement
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-17 14:46:38 +01:00
92c3a4df46 docs: Update tracking files for luci-app-webradio addition
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-17 14:35:19 +01:00
d02f65118e docs: Update HISTORY.md for v0.20.6 release
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-17 07:37:19 +01:00
aecd4ee4f6 docs: Update tracking files for mailctl firewall & Nextcloud 31.0.14
- Nextcloud upgraded from 30.0.17 to 31.0.14
- mailctl firewall_setup now persists UCI rules for mail ports
- All apps updated (mail, tasks, external, spreed/Talk)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 23:59:16 +01:00
f6f4176170 docs: Update tracking files for mail reception fix
- Mark "Inbound Port 25 Blocked" as RESOLVED
- Document nftables and postfix lmdb fixes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 15:53:06 +01:00
19406e128c fix(mailserver): Complete dovecot permission fixes
- Add dovecot run directory permission setup
- Add dovenull to dovecot group (fixes login directory access)
- Update HISTORY.md with changes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 15:43:46 +01:00
ca6d4fa160 docs: Update tracking files for Nextcloud and WAF fixes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 15:12:15 +01:00
31aea08b0c docs: Update tracking files for mailserver password fix
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 14:00:43 +01:00
7151bc6138 feat(mailserver): Add mail autoconfig and user repair features
Autoconfig:
- Created config-v1.1.xml (Thunderbird), autodiscover.xml (Outlook),
  email.mobileconfig (Apple) for automatic mail client configuration
- Added uhttpd instance on port 8025 to serve autoconfig files
- Added HAProxy backends with waf_bypass for autoconfig domains
- Added mailctl autoconfig-setup and autoconfig-status commands

LuCI Mailserver:
- Added user_repair method for mailbox repair (doveadm force-resync)
- Added repair button to user actions in overview

LuCI Nextcloud:
- Added list_users method to list Nextcloud users
- Added reset_password method for password reset via OCC

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 13:26:23 +01:00
a461e0e4d6 docs: Update tracking files for mailserver alias feature
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 12:54:04 +01:00
c2cd204ea9 feat(hexojs): Multi-instance enhancement with backup/restore and Git integration
- Add backup/restore commands to hexoctl (backup, restore, backup list/delete)
- Add GitHub clone support (hexoctl github clone <url> [instance] [branch])
- Add Gitea push support (hexoctl gitea push [instance] [message])
- Add quick-publish command (clean + build + publish in one step)
- Add 15 new RPCD methods for instance/backup/git management
- Rewrite LuCI dashboard with KISS theme:
  - Multi-instance management with status cards
  - Instance controls: start/stop, quick publish, backup, editor, preview
  - GitHub/Gitea clone modals
  - Backup table with restore/delete
  - Stats grid: instances, posts, drafts, backups
- Update API with 12 new RPC declarations
- Update ACL with new permissions

Also includes DNS Master app created in previous session.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 10:26:55 +01:00
efa74990be feat(mailserver): KISS theme enhancement for LuCI dashboard
- Complete rewrite of overview.js with full KISS theme styling
- 4-column stats grid (Status, Users, Storage, SSL)
- Port status cards with visual indicators
- Two-column layout: Users + Aliases tables
- Webmail card with status badge and quick actions
- Connection info panel with server details
- Live polling with 10s refresh
- Added fix_ports, alias_del methods to ACL
- Added Mail Server + Nextcloud to KISS nav sidebar

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 09:52:19 +01:00
1d3fb1ed7c docs: Update tracking files for Nextcloud SSL, WAF rules, mail autoconfig
- Nextcloud production deploy with HAProxy SSL
- WAF rules for Nextcloud & Roundcube CVEs
- Mail client autoconfig DNS and XML endpoint

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 09:01:11 +01:00
09b40c3b88 feat(nextcloud): Migrate to LXC with full-stack enhancement
- Migrate from Docker to Debian 12 LXC container
- Full stack: Nginx, MariaDB, Redis, PHP 8.2-FPM, Nextcloud
- Rewrite nextcloudctl CLI with install/backup/restore/ssl/occ commands
- New UCI config schema: main, db, redis, ssl, backup sections
- Enhanced RPCD backend with 15 methods
- KISS dashboard with Overview/Backups/SSL/Logs tabs
- Updated dependencies for LXC packages
- SecuBox menu path integration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-16 07:49:17 +01:00
59d0e89a8c feat(gk2hub): Use subdomain URLs instead of redirect paths
- Infrastructure: media, localai, webmail, feed, tube, social, wazuh
- MetaBlogizer: HAProxy vhost lookup for automatic subdomain detection
- Added icons for new service types (tube, social, wazuh, etc.)
- 67 services now display with proper subdomain URLs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-15 17:01:54 +01:00
491120609b docs: Update tracking files for mitmproxy WAF dashboard fix
- Added mitmproxy WAF data path fix to WIP.md and HISTORY.md
- RPCD now reads from /srv/mitmproxy-in for correct threat stats

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-15 10:35:01 +01:00
8cfa6fba70 docs: Update tracking files for mailserver gk2 restore and Gitea privacy fix
- Restored gk2@secubox.in user from backup after container reinstall
- Fixed secubox-evolution Gitea repo privacy (public → private)
- Documented secubox_evolution streamlit instance fix (runtime config)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-15 09:45:56 +01:00
274dbd8add docs: Update tracking files for 2026-02-15 work
- HAProxy reload fix (copy config before signal)
- Mitmproxy Host header preservation for OAuth
- WAF global reset (70 vhosts/ACLs)
- PeerTube email configuration with mailserver
- Wazuh agent watchdog implementation
- Streamlit Gitea sync (4 new repos)
- Service fixes (roundcube, evolution, wazuh)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-15 09:19:30 +01:00
f3f6eb4e4b fix(haproxy,mitmproxy): Fix config reload and preserve Host header
haproxyctl:
- Copy generated config to /etc/haproxy/ inside container before reload
- HAProxy reads from /etc/haproxy/haproxy.cfg, not /opt/haproxy/config/

mitmproxy haproxy_router.py:
- Save original Host header before setting backend destination
- Restore Host header after routing to preserve it for backend validation
- Fixes PeerTube OAuth and other apps that validate Host header

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-15 07:40:20 +01:00
5c34ca2cae feat(luci): Add luci-app-peertube dashboard for PeerTube video platform
- RPCD handler (luci.peertube) with 11 methods: status, start, stop,
  install, uninstall, update, logs, emancipate, live_enable,
  live_disable, configure_haproxy
- ACL permissions for read (status, logs) and write operations
- Dashboard features:
  - Install wizard with features and requirements
  - Service status display with access URL
  - Live streaming toggle with enable/disable buttons
  - HAProxy configuration status
  - Emancipate form for public exposure
  - Logs viewer with refresh

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-15 05:51:04 +01:00
9eaa16171d fix(mitmproxy): Fix wildcard route priority matching
- Support both "*.domain" and ".domain" wildcard formats in haproxy_router.py
- Sort wildcards by length (longest first) for correct specificity matching
- Add auto-reload: check routes file mtime every 10 requests
- Update metablogizerctl to use mitmproxyctl sync-routes

Also fix luci-app-wazuh api.js to use baseclass.extend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-14 16:03:43 +01:00
b1c34021db feat(wazuh): Add LuCI dashboard for Wazuh SIEM integration
Create luci-app-wazuh package with unified security monitoring dashboard
inspired by SysWarden's layered defense model:

- 4 views: Overview, Alerts, File Integrity, Agents
- RPCD handler with 12 API methods for status, alerts, FIM, agent control
- SysWarden-style 4-layer security visualization:
  - Layer 1: Vortex Firewall + nftables (kernel-level)
  - Layer 2: CrowdSec + Bouncer (IPS)
  - Layer 3: Wazuh Manager (SIEM/XDR)
  - Layer 4: mitmproxy + HAProxy (WAF)
- CrowdSec integration for threat correlation
- Real-time polling and auto-refresh
- Simplified printf-based JSON output (avoids jshn segfault)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-14 14:45:05 +01:00
86edee5e56 docs: Document SDLC content restoration and Streamlit WAF bypass
- Fixed sdlc.gk2.secubox.in showing GK2 Hub template instead of original
  "Les Seigneurs de La Chambre" cinematic presentation
- Restored content via git checkout from preserved history
- Documented Streamlit WebSocket incompatibility with MITM proxy
- All 20 Streamlit apps require waf_bypass for WebSocket functionality

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-14 12:09:09 +01:00
98fb91a0ce docs: Document WAF architecture configuration
- WAF enabled for Streamlit/MetaBlogizer (security filtering)
- WAF bypass for infrastructure (Jellyfin, Mail, Glances, etc.)
- Path ACLs bypass WAF (mitmproxy routes by host only)
- 38 path ACLs configured with waf_bypass

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-14 11:58:19 +01:00
c1187e5815 docs: Update HISTORY.md with C3BOX full service verification
- Verified all 70 services across 12 zones
- 20 Streamlit apps, 15 MetaBlog sites operational
- 77 vhosts, 52 SSL certs, 5 LXC containers running

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-14 11:42:50 +01:00
81c19d2927 docs: Update HISTORY.md with vhost routing fixes and Glances install
- Fixed mitmproxy duplicate routes causing mixed content
- Fixed play.maegia.tv, client, social backends
- Installed Glances 4.5.0.4 via pip3
- Verified 70+ vhosts operational

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-14 11:31:09 +01:00
189c2a405e docs: Update HISTORY.md with Domoticz exposure and WAF fix
- Documented home.maegia.tv (Domoticz) exposure
- Documented WAF redirect loop fix for gk2.secubox.in
- Added mitmproxy-in configuration changes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-14 10:59:05 +01:00