docs: Sync HISTORY.md and dev-status with RTTY Remote

- Added entry #78 for RTTY Remote Control Module (Phases 1-3)
- Updated dev-status Phase 4 progress: 55% → 65%
- Updated stats: modules 38→40, commits 1500→1650, LOC 45k→52k

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-03-08 18:02:18 +01:00
parent 8f03206468
commit d7524d6300
2 changed files with 31 additions and 7 deletions

View File

@ -4489,3 +4489,27 @@ git checkout HEAD -- index.html
- RPCD methods: zone_list, zone_dump, zone_import, zone_export, zone_reload, secondary_list, secondary_add, secondary_remove
- ACL permissions updated for all new methods
- Enables migration from Gandi/OVH hosted DNS to self-hosted authoritative DNS
78. **RTTY Remote Control Module (2026-03-08)**
- **Phase 1 - RPCD Proxy:**
- Backend: `secubox-app-rtty-remote` with `rttyctl` CLI
- RPCD Proxy: Execute remote ubus calls to mesh nodes over HTTP JSON-RPC
- CLI commands: `rttyctl nodes/rpc/rpc-list/rpc-batch/auth/sessions`
- RPCD methods: status, get_nodes, rpc_call, rpc_list, get_sessions, connect
- Local address detection for direct ubus access (bypasses auth limits)
- **Phase 2 - Token-Based Shared Access:**
- 6-character token codes grant RPC/terminal access without LuCI login
- CLI commands: `rttyctl token generate/list/validate/revoke`, `rttyctl token-rpc`
- RPCD methods: token_generate, token_list, token_validate, token_revoke, token_rpc
- Support Panel: Generate code → Share → Support person connects
- Configurable TTL (30m/1h/2h/4h), permission tracking, usage counter
- **Phase 3 - Web Terminal:**
- Web Terminal view embedding ttyd (port 7681) via iframe
- Node selector for local/remote target selection
- Remote detection: Direct ttyd connection or SSH fallback
- RPCD method: start_terminal
- Fullscreen and refresh controls
- **LuCI Views:**
- Remote Control dashboard (RPC proxy interface)
- Remote Support panel (token sharing)
- Web Terminal (ttyd shell access)

View File

@ -104,16 +104,16 @@ const DevStatusWidget = {
{ name: 'KSM Manager', version: '0.4.0-r1', note: 'Gestion clés / HSM', id: 'ksm-manager' }
],
// Overall project statistics (as of v0.16.0 - 2026-01-27)
// Overall project statistics (as of v0.19.0 - 2026-03-08)
stats: {
get modulesCount() { return DevStatusWidget.moduleStatus.length || 38; },
get modulesCount() { return DevStatusWidget.moduleStatus.length || 40; },
languagesSupported: 12,
architectures: 13,
linesOfCode: 45000,
linesOfCode: 52000,
contributors: 6,
commits: 1500,
openIssues: 2,
closedIssues: 180
commits: 1650,
openIssues: 3,
closedIssues: 195
},
// Timeline data
@ -144,7 +144,7 @@ const DevStatusWidget = {
name: 'Beta Testing',
period: 'Q1 2026',
status: 'in-progress',
progress: 55
progress: 65
},
{
phase: 'Phase 5',