fix(haproxy): Sync generated config to /etc/haproxy.cfg
- metablogizer: reload_haproxy() now copies config to /etc/haproxy.cfg - haproxyctl: generate_config() syncs to /etc/haproxy.cfg after generation - Fixes issue where newly uploaded sites return 404 because HAProxy reads config from /etc/haproxy.cfg but config was only generated to /srv/haproxy/config/haproxy.cfg Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
8a51a3e655
commit
29e2eac616
@ -1,6 +1,6 @@
|
|||||||
# SecuBox UI & Theme History
|
# SecuBox UI & Theme History
|
||||||
|
|
||||||
_Last updated: 2026-02-21_
|
_Last updated: 2026-02-24_
|
||||||
|
|
||||||
1. **Unified Dashboard Refresh (2025-12-20)**
|
1. **Unified Dashboard Refresh (2025-12-20)**
|
||||||
- Dashboard received the "sh-page-header" layout, hero stats, and SecuNav top tabs.
|
- Dashboard received the "sh-page-header" layout, hero stats, and SecuNav top tabs.
|
||||||
@ -3159,3 +3159,24 @@ git checkout HEAD -- index.html
|
|||||||
- `secubox-app-haproxy/files/usr/sbin/haproxyctl` (alpn h2,http/1.1 → alpn http/1.1)
|
- `secubox-app-haproxy/files/usr/sbin/haproxyctl` (alpn h2,http/1.1 → alpn http/1.1)
|
||||||
- `secubox-app-haproxy/files/usr/share/haproxy/templates/default.cfg` (updated)
|
- `secubox-app-haproxy/files/usr/share/haproxy/templates/default.cfg` (updated)
|
||||||
- `secubox-app-haproxy/files/etc/config/haproxy` (updated)
|
- `secubox-app-haproxy/files/etc/config/haproxy` (updated)
|
||||||
|
|
||||||
|
38. **Service Stability & LED Pulse Fix (2026-02-24)**
|
||||||
|
- **CrowdSec Autostart Fix:**
|
||||||
|
- Root cause: Machine registration mismatch between credentials file (`secubox-local`) and database (old UUID-style name).
|
||||||
|
- Fix: Re-registered machine with `cscli machines add secubox-local --auto --force`.
|
||||||
|
- Downloaded GeoLite2-City.mmdb (63MB) via `cscli hub update`.
|
||||||
|
- CrowdSec now starts automatically after reboot.
|
||||||
|
- **LED Pulse SPUNK ALERT Fix:**
|
||||||
|
- Root cause: `secubox-led-pulse` was checking `lxc-attach -n haproxy -- pgrep haproxy` but HAProxy runs on host, not in LXC.
|
||||||
|
- Fix: Changed to `pgrep haproxy` (host process check).
|
||||||
|
- Committed: `8a51a3e6 fix(led-pulse): Check HAProxy on host instead of LXC container`.
|
||||||
|
- **Docker nextcloud-talk-hpb Restore:**
|
||||||
|
- Fixed corrupted Docker storage layer (`GetImageBlob: no such file or directory`).
|
||||||
|
- Restarted dockerd, re-pulled image, container now healthy.
|
||||||
|
- **cloud.gk2.secubox.in 503 Fix:**
|
||||||
|
- Changed backend from `mitmproxy_inspector` to `nextcloud` (WAF was disabled for this vhost).
|
||||||
|
- **LXC Autostart Configuration:**
|
||||||
|
- Enabled `lxc.start.auto = 1` for mailserver and roundcube containers.
|
||||||
|
- **Verification:** All 13 LXC containers + 6 core services confirmed running after reboot.
|
||||||
|
- **Files:**
|
||||||
|
- `secubox-core/root/usr/sbin/secubox-led-pulse` (fixed HAProxy check)
|
||||||
|
|||||||
@ -31,7 +31,6 @@ _Last updated: 2026-02-06_
|
|||||||
|
|
||||||
| Package | Status | Notes |
|
| Package | Status | Notes |
|
||||||
|---------|--------|-------|
|
|---------|--------|-------|
|
||||||
| `secubox-app-guacamole` | DEFERRED | LXC build-from-source too slow; needs pre-built binaries |
|
|
||||||
| `secubox-app-rustdesk` | DONE | Native hbbs/hbbr binaries, auto-key generation |
|
| `secubox-app-rustdesk` | DONE | Native hbbs/hbbr binaries, auto-key generation |
|
||||||
| `secubox-app-ksmbd` | DONE | Mesh media server with pre-configured shares |
|
| `secubox-app-ksmbd` | DONE | Mesh media server with pre-configured shares |
|
||||||
| `secubox-app-domoticz` | DONE | LXC Debian, MQTT bridge, Zigbee2MQTT |
|
| `secubox-app-domoticz` | DONE | LXC Debian, MQTT bridge, Zigbee2MQTT |
|
||||||
@ -164,7 +163,6 @@ All cloud providers are **opt-in**. Offline resilience: local tier always active
|
|||||||
- [x] Threat Analyst agent (Done 2026-02-05)
|
- [x] Threat Analyst agent (Done 2026-02-05)
|
||||||
- [x] DNS Guard AI migration (Done 2026-02-06)
|
- [x] DNS Guard AI migration (Done 2026-02-06)
|
||||||
- [x] LocalAI multi-channel emancipation (Done 2026-02-06)
|
- [x] LocalAI multi-channel emancipation (Done 2026-02-06)
|
||||||
- [ ] Guacamole pre-built binaries (DEFERRED)
|
|
||||||
|
|
||||||
### v0.19.0 — AI Expansion + MirrorNet
|
### v0.19.0 — AI Expansion + MirrorNet
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Work In Progress (Claude)
|
# Work In Progress (Claude)
|
||||||
|
|
||||||
_Last updated: 2026-02-21 (v0.24.1 - KISS UI Regeneration)_
|
_Last updated: 2026-02-24 (Service Stability Fixes)_
|
||||||
|
|
||||||
> **Architecture Reference**: SecuBox Fanzine v3 — Les 4 Couches
|
> **Architecture Reference**: SecuBox Fanzine v3 — Les 4 Couches
|
||||||
|
|
||||||
@ -864,6 +864,16 @@ _Last updated: 2026-02-21 (v0.24.1 - KISS UI Regeneration)_
|
|||||||
- 4 views: Overview, Devices, Policies, Settings
|
- 4 views: Overview, Devices, Policies, Settings
|
||||||
- RPCD handler with 11 methods + public ACL for unauthenticated access
|
- RPCD handler with 11 methods + public ACL for unauthenticated access
|
||||||
|
|
||||||
|
### Just Completed (2026-02-24)
|
||||||
|
|
||||||
|
- **Service Stability & LED Pulse Fix** — DONE (2026-02-24)
|
||||||
|
- CrowdSec autostart: Fixed machine registration mismatch, downloaded GeoLite2-City.mmdb
|
||||||
|
- LED pulse: Fixed HAProxy check to run on host instead of non-existent LXC container
|
||||||
|
- Docker: Restored corrupted nextcloud-talk-hpb container
|
||||||
|
- HAProxy: Fixed cloud.gk2.secubox.in 503 (wrong backend)
|
||||||
|
- LXC: Enabled autostart for mailserver and roundcube containers
|
||||||
|
- Verified: All 13 LXC containers + 6 core services running after reboot
|
||||||
|
|
||||||
### Just Completed (2026-02-21)
|
### Just Completed (2026-02-21)
|
||||||
|
|
||||||
- **SecuBox KISS UI Full Regeneration** — DONE (2026-02-21)
|
- **SecuBox KISS UI Full Regeneration** — DONE (2026-02-21)
|
||||||
@ -913,24 +923,17 @@ _Last updated: 2026-02-21 (v0.24.1 - KISS UI Regeneration)_
|
|||||||
|
|
||||||
### SysWarden Evolution Plan (2026-02-20)
|
### SysWarden Evolution Plan (2026-02-20)
|
||||||
|
|
||||||
Implementing 4 evolutions inspired by SysWarden patterns:
|
Implementing 3 evolutions inspired by SysWarden patterns:
|
||||||
|
|
||||||
| # | Module | Priority | Status |
|
| # | Module | Priority | Status |
|
||||||
|---|--------|----------|--------|
|
|---|--------|----------|--------|
|
||||||
| 1 | `luci-app-ipblocklist` | HIGH | DONE |
|
| 1 | `luci-app-ipblocklist` | HIGH | DONE |
|
||||||
| 2 | AbuseIPDB Reporter | HIGH | DONE |
|
| 2 | AbuseIPDB Reporter | HIGH | DONE |
|
||||||
| 3 | Log Denoising (System Hub) | MEDIUM | DONE |
|
| 3 | Log Denoising (System Hub) | MEDIUM | DONE |
|
||||||
| 4 | SIEM Connector (x86 only) | LOW | TODO |
|
|
||||||
|
|
||||||
**Next**: Evolution #4 - SIEM Connector (optional, x86 only)
|
|
||||||
|
|
||||||
### Next Up — Couche 1
|
### Next Up — Couche 1
|
||||||
|
|
||||||
1. **Guacamole Pre-built Binaries**
|
1. **Multi-Node Mesh Testing**
|
||||||
- Current LXC build-from-source approach is too slow
|
|
||||||
- Need to find/create pre-built ARM64 binaries for guacd + Tomcat
|
|
||||||
|
|
||||||
3. **Multi-Node Mesh Testing**
|
|
||||||
- Deploy second SecuBox node to test real peer-to-peer sync
|
- Deploy second SecuBox node to test real peer-to-peer sync
|
||||||
- Validate bidirectional threat intelligence sharing
|
- Validate bidirectional threat intelligence sharing
|
||||||
|
|
||||||
|
|||||||
@ -397,7 +397,16 @@
|
|||||||
"WebFetch(domain:arnowelzel.de)",
|
"WebFetch(domain:arnowelzel.de)",
|
||||||
"Bash(__NEW_LINE_5c2a7272ff3658b1__ ssh root@192.168.255.1 '\n# Test different sizes to find the limit\nfor size in 1000 5000 10000 20000 40000 60000; do\n CONTENT=$\\(head -c $size /tmp/test-upload.html | base64 -w0\\)\n CSIZE=$\\(echo -n \"\"$CONTENT\"\" | wc -c\\)\n RESULT=$\\(ubus call luci.metablogizer upload_and_create_site \"\"{\\\\\"\"name\\\\\"\":\\\\\"\"sizetest\\\\\"\",\\\\\"\"domain\\\\\"\":\\\\\"\"sizetest.gk2.secubox.in\\\\\"\",\\\\\"\"content\\\\\"\":\\\\\"\"$CONTENT\\\\\"\",\\\\\"\"is_zip\\\\\"\":\\\\\"\"0\\\\\"\"}\"\" 2>&1\\)\n \n if echo \"\"$RESULT\"\" | grep -q \"\"success.*true\"\"; then\n echo \"\"Size $size \\($CSIZE base64\\): OK\"\"\n ubus call luci.metablogizer delete_site \"\"{\\\\\"\"id\\\\\"\":\\\\\"\"site_sizetest\\\\\"\"}\"\" >/dev/null 2>&1\n else\n ERROR=$\\(echo \"\"$RESULT\"\" | head -1\\)\n echo \"\"Size $size \\($CSIZE base64\\): FAILED - $ERROR\"\"\n break\n fi\ndone\n')",
|
"Bash(__NEW_LINE_5c2a7272ff3658b1__ ssh root@192.168.255.1 '\n# Test different sizes to find the limit\nfor size in 1000 5000 10000 20000 40000 60000; do\n CONTENT=$\\(head -c $size /tmp/test-upload.html | base64 -w0\\)\n CSIZE=$\\(echo -n \"\"$CONTENT\"\" | wc -c\\)\n RESULT=$\\(ubus call luci.metablogizer upload_and_create_site \"\"{\\\\\"\"name\\\\\"\":\\\\\"\"sizetest\\\\\"\",\\\\\"\"domain\\\\\"\":\\\\\"\"sizetest.gk2.secubox.in\\\\\"\",\\\\\"\"content\\\\\"\":\\\\\"\"$CONTENT\\\\\"\",\\\\\"\"is_zip\\\\\"\":\\\\\"\"0\\\\\"\"}\"\" 2>&1\\)\n \n if echo \"\"$RESULT\"\" | grep -q \"\"success.*true\"\"; then\n echo \"\"Size $size \\($CSIZE base64\\): OK\"\"\n ubus call luci.metablogizer delete_site \"\"{\\\\\"\"id\\\\\"\":\\\\\"\"site_sizetest\\\\\"\"}\"\" >/dev/null 2>&1\n else\n ERROR=$\\(echo \"\"$RESULT\"\" | head -1\\)\n echo \"\"Size $size \\($CSIZE base64\\): FAILED - $ERROR\"\"\n break\n fi\ndone\n')",
|
||||||
"WebFetch(domain:admin.gk2.secubox.in)",
|
"WebFetch(domain:admin.gk2.secubox.in)",
|
||||||
"WebFetch(domain:tdah.gk2.secubox.in)"
|
"WebFetch(domain:tdah.gk2.secubox.in)",
|
||||||
|
"Bash(sudo ./secubox-tools/c3box-vm-builder.sh:*)",
|
||||||
|
"Bash(./secubox-tools/c3box-vm-builder.sh:*)",
|
||||||
|
"Bash(sudo apt-get update:*)",
|
||||||
|
"Bash(vboxmanage --version:*)",
|
||||||
|
"Bash(vboxmanage import:*)",
|
||||||
|
"Bash(vboxmanage startvm:*)",
|
||||||
|
"Bash(# Find the built packages find /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools -name \"\"luci-theme-secubox*.ipk\"\" -newer /home/reepost/CyberMindStudio/secubox-openwrt/secubox-tools/local-feed)",
|
||||||
|
"Bash(do if ssh -o ConnectTimeout=5 root@192.168.255.1 \"echo ''System up''\")",
|
||||||
|
"Bash(do if ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@192.168.255.1 \"echo ''System up''\")"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -91,7 +91,17 @@ reload_haproxy() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Generate new config
|
||||||
/usr/sbin/haproxyctl generate >/dev/null 2>&1
|
/usr/sbin/haproxyctl generate >/dev/null 2>&1
|
||||||
|
|
||||||
|
# Sync generated config to all locations HAProxy might read from
|
||||||
|
local src_cfg="/srv/haproxy/config/haproxy.cfg"
|
||||||
|
if [ -f "$src_cfg" ]; then
|
||||||
|
cp "$src_cfg" /etc/haproxy.cfg 2>/dev/null
|
||||||
|
[ -d /opt/haproxy/config ] && cp "$src_cfg" /opt/haproxy/config/haproxy.cfg 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Reload HAProxy
|
||||||
if [ -x /etc/init.d/haproxy ]; then
|
if [ -x /etc/init.d/haproxy ]; then
|
||||||
/etc/init.d/haproxy reload >/dev/null 2>&1
|
/etc/init.d/haproxy reload >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -1,753 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
'require baseclass';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SecuBox KISS Theme v2.0 - Shared styling for all LuCI dashboards
|
|
||||||
* Features: Top bar with logout, collapsible sidebar, responsive design, view tabs
|
|
||||||
*/
|
|
||||||
|
|
||||||
var KissThemeClass = baseclass.extend({
|
|
||||||
// Navigation config - organized by category with collapsible sections
|
|
||||||
// Items with `tabs` array show sub-navigation when active
|
|
||||||
nav: [
|
|
||||||
{ cat: 'Dashboard', icon: '📊', collapsed: false, items: [
|
|
||||||
{ icon: '🏠', name: 'Home', path: 'admin/secubox-home' },
|
|
||||||
{ icon: '📊', name: 'Dashboard', path: 'admin/secubox/dashboard' },
|
|
||||||
{ icon: '🖥️', name: 'System Hub', path: 'admin/secubox/system/system-hub' }
|
|
||||||
]},
|
|
||||||
{ cat: 'Security', icon: '🛡️', collapsed: false, items: [
|
|
||||||
{ icon: '🧙', name: 'InterceptoR', path: 'admin/secubox/interceptor', tabs: [
|
|
||||||
{ name: 'Overview', path: 'admin/secubox/interceptor/overview' },
|
|
||||||
{ name: 'Services', path: 'admin/secubox/interceptor/services' }
|
|
||||||
]},
|
|
||||||
{ icon: '🛡️', name: 'CrowdSec', path: 'admin/secubox/security/crowdsec', tabs: [
|
|
||||||
{ name: 'Overview', path: 'admin/secubox/security/crowdsec/overview' },
|
|
||||||
{ name: 'Decisions', path: 'admin/secubox/security/crowdsec/decisions' },
|
|
||||||
{ name: 'Alerts', path: 'admin/secubox/security/crowdsec/alerts' },
|
|
||||||
{ name: 'Bouncers', path: 'admin/secubox/security/crowdsec/bouncers' },
|
|
||||||
{ name: 'Setup', path: 'admin/secubox/security/crowdsec/setup' }
|
|
||||||
]},
|
|
||||||
{ icon: '🔍', name: 'mitmproxy', path: 'admin/secubox/security/mitmproxy', tabs: [
|
|
||||||
{ name: 'Status', path: 'admin/secubox/security/mitmproxy/status' },
|
|
||||||
{ name: 'Settings', path: 'admin/secubox/security/mitmproxy/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '🚫', name: 'Vortex FW', path: 'admin/secubox/security/vortex-firewall' },
|
|
||||||
{ icon: '👁️', name: 'Client Guard', path: 'admin/secubox/security/guardian', tabs: [
|
|
||||||
{ name: 'Clients', path: 'admin/secubox/security/guardian/clients' },
|
|
||||||
{ name: 'Settings', path: 'admin/secubox/security/guardian/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '🍪', name: 'Cookie Track', path: 'admin/secubox/interceptor/cookies' }
|
|
||||||
]},
|
|
||||||
{ cat: 'Network', icon: '🌐', collapsed: true, items: [
|
|
||||||
{ icon: '⚖️', name: 'HAProxy', path: 'admin/services/haproxy', tabs: [
|
|
||||||
{ name: 'Overview', path: 'admin/services/haproxy/overview' },
|
|
||||||
{ name: 'Vhosts', path: 'admin/services/haproxy/vhosts' },
|
|
||||||
{ name: 'Backends', path: 'admin/services/haproxy/backends' },
|
|
||||||
{ name: 'Certs', path: 'admin/services/haproxy/certificates' },
|
|
||||||
{ name: 'ACLs', path: 'admin/services/haproxy/acls' },
|
|
||||||
{ name: 'Stats', path: 'admin/services/haproxy/stats' },
|
|
||||||
{ name: 'Settings', path: 'admin/services/haproxy/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '🔒', name: 'WireGuard', path: 'admin/services/wireguard', tabs: [
|
|
||||||
{ name: 'Wizard', path: 'admin/services/wireguard/wizard' },
|
|
||||||
{ name: 'Overview', path: 'admin/services/wireguard/overview' },
|
|
||||||
{ name: 'Peers', path: 'admin/services/wireguard/peers' },
|
|
||||||
{ name: 'QR Codes', path: 'admin/services/wireguard/qrcodes' },
|
|
||||||
{ name: 'Traffic', path: 'admin/services/wireguard/traffic' },
|
|
||||||
{ name: 'Config', path: 'admin/services/wireguard/config' },
|
|
||||||
{ name: 'Settings', path: 'admin/services/wireguard/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '🌍', name: 'Tor Shield', path: 'admin/services/tor-shield', tabs: [
|
|
||||||
{ name: 'Overview', path: 'admin/services/tor-shield/overview' },
|
|
||||||
{ name: 'Circuits', path: 'admin/services/tor-shield/circuits' },
|
|
||||||
{ name: 'Hidden Svc', path: 'admin/services/tor-shield/hidden-services' },
|
|
||||||
{ name: 'Bridges', path: 'admin/services/tor-shield/bridges' },
|
|
||||||
{ name: 'Settings', path: 'admin/services/tor-shield/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '💾', name: 'CDN Cache', path: 'admin/services/cdn-cache', tabs: [
|
|
||||||
{ name: 'Overview', path: 'admin/services/cdn-cache/overview' },
|
|
||||||
{ name: 'Cache', path: 'admin/services/cdn-cache/cache' },
|
|
||||||
{ name: 'Policies', path: 'admin/services/cdn-cache/policies' },
|
|
||||||
{ name: 'Stats', path: 'admin/services/cdn-cache/statistics' },
|
|
||||||
{ name: 'Maint.', path: 'admin/services/cdn-cache/maintenance' },
|
|
||||||
{ name: 'Settings', path: 'admin/services/cdn-cache/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '📡', name: 'Bandwidth', path: 'admin/secubox/network/bandwidth-manager' },
|
|
||||||
{ icon: '📶', name: 'Traffic Shaper', path: 'admin/secubox/network/traffic-shaper', tabs: [
|
|
||||||
{ name: 'Overview', path: 'admin/secubox/network/traffic-shaper/overview' },
|
|
||||||
{ name: 'Classes', path: 'admin/secubox/network/traffic-shaper/classes' },
|
|
||||||
{ name: 'Rules', path: 'admin/secubox/network/traffic-shaper/rules' },
|
|
||||||
{ name: 'Stats', path: 'admin/secubox/network/traffic-shaper/stats' },
|
|
||||||
{ name: 'Presets', path: 'admin/secubox/network/traffic-shaper/presets' }
|
|
||||||
]},
|
|
||||||
{ icon: '🌐', name: 'Network Modes', path: 'admin/secubox/network/network-modes' },
|
|
||||||
{ icon: '🔌', name: 'Interfaces', path: 'admin/network/network' },
|
|
||||||
{ icon: '🌐', name: 'DNS Master', path: 'admin/services/dns-master' }
|
|
||||||
]},
|
|
||||||
{ cat: 'AI & LLM', icon: '🤖', collapsed: true, items: [
|
|
||||||
{ icon: '🧠', name: 'AI Insights', path: 'admin/secubox/ai/insights' },
|
|
||||||
{ icon: '🦙', name: 'Ollama', path: 'admin/services/ollama', tabs: [
|
|
||||||
{ name: 'Dashboard', path: 'admin/services/ollama/dashboard' },
|
|
||||||
{ name: 'Models', path: 'admin/services/ollama/models' },
|
|
||||||
{ name: 'Chat', path: 'admin/services/ollama/chat' },
|
|
||||||
{ name: 'Settings', path: 'admin/services/ollama/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '🤖', name: 'LocalAI', path: 'admin/services/localai' }
|
|
||||||
]},
|
|
||||||
{ cat: 'Apps', icon: '📦', collapsed: true, items: [
|
|
||||||
{ icon: '✉️', name: 'Mail Server', path: 'admin/services/mailserver' },
|
|
||||||
{ icon: '☁️', name: 'Nextcloud', path: 'admin/secubox/services/nextcloud', tabs: [
|
|
||||||
{ name: 'Overview', path: 'admin/secubox/services/nextcloud/overview' },
|
|
||||||
{ name: 'Settings', path: 'admin/secubox/services/nextcloud/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '🎬', name: 'Media Flow', path: 'admin/services/media-flow' },
|
|
||||||
{ icon: '🪞', name: 'MagicMirror', path: 'admin/services/magicmirror2' },
|
|
||||||
{ icon: '📰', name: 'HexoJS', path: 'admin/services/hexojs', tabs: [
|
|
||||||
{ name: 'Overview', path: 'admin/services/hexojs/overview' },
|
|
||||||
{ name: 'Posts', path: 'admin/services/hexojs/posts' },
|
|
||||||
{ name: 'Editor', path: 'admin/services/hexojs/editor' },
|
|
||||||
{ name: 'Media', path: 'admin/services/hexojs/media' },
|
|
||||||
{ name: 'Deploy', path: 'admin/services/hexojs/deploy' },
|
|
||||||
{ name: 'Sync', path: 'admin/services/hexojs/sync' },
|
|
||||||
{ name: 'Theme', path: 'admin/services/hexojs/theme' },
|
|
||||||
{ name: 'Settings', path: 'admin/services/hexojs/settings' }
|
|
||||||
]},
|
|
||||||
{ icon: '📺', name: 'Netdata', path: 'admin/services/netdata-dashboard' },
|
|
||||||
{ icon: '🏠', name: 'Vhost Manager', path: 'admin/services/vhost-manager' },
|
|
||||||
{ icon: '📦', name: 'App Store', path: 'admin/secubox/apps' }
|
|
||||||
]},
|
|
||||||
{ cat: 'Streamlit', icon: '🎯', collapsed: true, items: [
|
|
||||||
{ icon: '📺', name: 'France TV', url: 'http://192.168.255.1:8522/' },
|
|
||||||
{ icon: '🔮', name: 'Yijing Oracle', url: 'http://192.168.255.1:8501/' },
|
|
||||||
{ icon: '🏭', name: 'Fabricator', url: 'http://192.168.255.1:8520/' },
|
|
||||||
{ icon: '☯️', name: 'Bazi Complete', url: 'http://192.168.255.1:8509/' },
|
|
||||||
{ icon: '🎛️', name: 'SecuBox Control', url: 'http://192.168.255.1:8511/' }
|
|
||||||
]},
|
|
||||||
{ cat: 'P2P & Mesh', icon: '🔗', collapsed: true, items: [
|
|
||||||
{ icon: '🔗', name: 'P2P Network', path: 'admin/services/secubox-p2p' },
|
|
||||||
{ icon: '🌳', name: 'Netifyd', path: 'admin/services/secubox-netifyd' },
|
|
||||||
{ icon: '📡', name: 'Exposure', path: 'admin/services/exposure' }
|
|
||||||
]},
|
|
||||||
{ cat: 'System', icon: '⚙️', collapsed: true, items: [
|
|
||||||
{ icon: '⚙️', name: 'Settings', path: 'admin/system' },
|
|
||||||
{ icon: '📊', name: 'Status', path: 'admin/status/overview' },
|
|
||||||
{ icon: '🛠️', name: 'KSM Manager', path: 'admin/services/ksm-manager' },
|
|
||||||
{ icon: '🔄', name: 'Cloner', path: 'admin/secubox/system/cloner' },
|
|
||||||
{ icon: '🌳', name: 'LuCI Menu', path: 'admin/secubox/luci-tree' },
|
|
||||||
{ icon: '🔧', name: 'Software', path: 'admin/system/opkg' }
|
|
||||||
]}
|
|
||||||
],
|
|
||||||
|
|
||||||
// Track collapsed state per category
|
|
||||||
collapsedState: {},
|
|
||||||
|
|
||||||
// Core palette
|
|
||||||
colors: {
|
|
||||||
bg: '#0a0e17',
|
|
||||||
bg2: '#111827',
|
|
||||||
card: '#161e2e',
|
|
||||||
line: '#1e293b',
|
|
||||||
text: '#e2e8f0',
|
|
||||||
muted: '#94a3b8',
|
|
||||||
green: '#00C853',
|
|
||||||
red: '#FF1744',
|
|
||||||
blue: '#2979FF',
|
|
||||||
cyan: '#22d3ee',
|
|
||||||
purple: '#a78bfa',
|
|
||||||
orange: '#fb923c',
|
|
||||||
yellow: '#fbbf24'
|
|
||||||
},
|
|
||||||
|
|
||||||
// State
|
|
||||||
isKissMode: true,
|
|
||||||
sidebarOpen: false,
|
|
||||||
|
|
||||||
// CSS generation
|
|
||||||
generateCSS: function() {
|
|
||||||
var c = this.colors;
|
|
||||||
return `
|
|
||||||
/* SecuBox KISS Theme v2 */
|
|
||||||
:root {
|
|
||||||
--kiss-bg: ${c.bg}; --kiss-bg2: ${c.bg2}; --kiss-card: ${c.card};
|
|
||||||
--kiss-line: ${c.line}; --kiss-text: ${c.text}; --kiss-muted: ${c.muted};
|
|
||||||
--kiss-green: ${c.green}; --kiss-red: ${c.red}; --kiss-blue: ${c.blue};
|
|
||||||
--kiss-cyan: ${c.cyan}; --kiss-purple: ${c.purple}; --kiss-orange: ${c.orange};
|
|
||||||
--kiss-yellow: ${c.yellow};
|
|
||||||
}
|
|
||||||
|
|
||||||
/* === Top Bar === */
|
|
||||||
.kiss-topbar {
|
|
||||||
position: fixed; top: 0; left: 0; right: 0; height: 56px; z-index: 1000;
|
|
||||||
background: linear-gradient(90deg, #0d1321 0%, ${c.bg} 100%);
|
|
||||||
border-bottom: 1px solid ${c.line};
|
|
||||||
display: flex; align-items: center; padding: 0 16px; gap: 12px;
|
|
||||||
}
|
|
||||||
.kiss-topbar-menu {
|
|
||||||
width: 40px; height: 40px; border: none; background: transparent;
|
|
||||||
color: ${c.text}; font-size: 24px; cursor: pointer; border-radius: 8px;
|
|
||||||
display: flex; align-items: center; justify-content: center;
|
|
||||||
}
|
|
||||||
.kiss-topbar-menu:hover { background: rgba(255,255,255,0.1); }
|
|
||||||
.kiss-topbar-logo {
|
|
||||||
font-weight: 900; font-size: 20px; display: flex; align-items: center; gap: 2px;
|
|
||||||
}
|
|
||||||
.kiss-topbar-logo .g { color: ${c.green}; }
|
|
||||||
.kiss-topbar-logo .r { color: ${c.red}; font-size: 12px; vertical-align: super; }
|
|
||||||
.kiss-topbar-logo .b { color: ${c.blue}; }
|
|
||||||
.kiss-topbar-logo .o { color: #546e7a; }
|
|
||||||
.kiss-topbar-breadcrumb {
|
|
||||||
flex: 1; font-size: 13px; color: ${c.muted}; overflow: hidden;
|
|
||||||
text-overflow: ellipsis; white-space: nowrap;
|
|
||||||
}
|
|
||||||
.kiss-topbar-breadcrumb a { color: ${c.cyan}; text-decoration: none; }
|
|
||||||
.kiss-topbar-actions { display: flex; gap: 8px; align-items: center; }
|
|
||||||
.kiss-topbar-btn {
|
|
||||||
padding: 8px 14px; border-radius: 6px; font-size: 12px; font-weight: 600;
|
|
||||||
border: 1px solid ${c.line}; background: ${c.bg2}; color: ${c.text};
|
|
||||||
cursor: pointer; display: flex; align-items: center; gap: 6px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.kiss-topbar-btn:hover { border-color: ${c.green}; background: rgba(0,200,83,0.1); }
|
|
||||||
.kiss-topbar-btn.logout { border-color: ${c.red}; color: ${c.red}; }
|
|
||||||
.kiss-topbar-btn.logout:hover { background: rgba(255,23,68,0.1); }
|
|
||||||
|
|
||||||
/* === Sidebar === */
|
|
||||||
.kiss-sidebar {
|
|
||||||
position: fixed; left: 0; top: 56px; bottom: 0; width: 220px;
|
|
||||||
background: linear-gradient(180deg, #0d1321 0%, ${c.bg} 100%);
|
|
||||||
border-right: 1px solid ${c.line}; z-index: 999;
|
|
||||||
overflow-y: auto; overflow-x: hidden;
|
|
||||||
transition: transform 0.3s ease;
|
|
||||||
}
|
|
||||||
.kiss-sidebar::-webkit-scrollbar { width: 4px; }
|
|
||||||
.kiss-sidebar::-webkit-scrollbar-thumb { background: ${c.line}; border-radius: 2px; }
|
|
||||||
.kiss-nav { padding: 8px 0; }
|
|
||||||
.kiss-nav-section {
|
|
||||||
padding: 10px 16px 8px; font-size: 11px; letter-spacing: 0.5px;
|
|
||||||
text-transform: uppercase; color: ${c.muted}; font-weight: 600;
|
|
||||||
cursor: pointer; display: flex; align-items: center; gap: 8px;
|
|
||||||
transition: all 0.2s; border-radius: 6px; margin: 2px 8px;
|
|
||||||
}
|
|
||||||
.kiss-nav-section:hover { background: rgba(255,255,255,0.05); color: ${c.text}; }
|
|
||||||
.kiss-nav-section-icon { font-size: 14px; }
|
|
||||||
.kiss-nav-section-arrow { margin-left: auto; font-size: 10px; transition: transform 0.2s; }
|
|
||||||
.kiss-nav-section.collapsed .kiss-nav-section-arrow { transform: rotate(-90deg); }
|
|
||||||
.kiss-nav-section.collapsed + .kiss-nav-items { display: none; }
|
|
||||||
.kiss-nav-items { overflow: hidden; transition: all 0.2s; }
|
|
||||||
.kiss-nav-item {
|
|
||||||
display: flex; align-items: center; gap: 10px; padding: 8px 16px 8px 32px;
|
|
||||||
text-decoration: none; font-size: 12px; color: ${c.muted};
|
|
||||||
transition: all 0.2s; border-left: 3px solid transparent; margin: 1px 0;
|
|
||||||
}
|
|
||||||
.kiss-nav-item:hover { background: rgba(255,255,255,0.05); color: ${c.text}; }
|
|
||||||
.kiss-nav-item.active {
|
|
||||||
color: ${c.green}; background: rgba(0,200,83,0.08);
|
|
||||||
border-left-color: ${c.green};
|
|
||||||
}
|
|
||||||
.kiss-nav-item.has-tabs { padding-right: 8px; }
|
|
||||||
.kiss-nav-item .tab-arrow { margin-left: auto; font-size: 9px; opacity: 0.5; transition: transform 0.2s; }
|
|
||||||
.kiss-nav-item.expanded .tab-arrow { transform: rotate(90deg); }
|
|
||||||
.kiss-nav-icon { font-size: 14px; width: 20px; text-align: center; flex-shrink: 0; }
|
|
||||||
|
|
||||||
/* === Sub-tabs (nested under active items) === */
|
|
||||||
.kiss-nav-tabs {
|
|
||||||
overflow: hidden; max-height: 0; transition: max-height 0.3s ease;
|
|
||||||
background: rgba(0,0,0,0.15);
|
|
||||||
}
|
|
||||||
.kiss-nav-tabs.expanded { max-height: 500px; }
|
|
||||||
.kiss-nav-tab {
|
|
||||||
display: flex; align-items: center; gap: 6px; padding: 6px 16px 6px 48px;
|
|
||||||
text-decoration: none; font-size: 11px; color: ${c.muted};
|
|
||||||
transition: all 0.15s; border-left: 2px solid transparent;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.kiss-nav-tab::before {
|
|
||||||
content: ''; position: absolute; left: 36px; top: 50%;
|
|
||||||
width: 4px; height: 4px; border-radius: 50%;
|
|
||||||
background: ${c.line}; transform: translateY(-50%);
|
|
||||||
}
|
|
||||||
.kiss-nav-tab:hover { background: rgba(255,255,255,0.03); color: ${c.text}; }
|
|
||||||
.kiss-nav-tab:hover::before { background: ${c.muted}; }
|
|
||||||
.kiss-nav-tab.active {
|
|
||||||
color: ${c.cyan}; background: rgba(34,211,238,0.05);
|
|
||||||
border-left-color: ${c.cyan};
|
|
||||||
}
|
|
||||||
.kiss-nav-tab.active::before { background: ${c.cyan}; }
|
|
||||||
|
|
||||||
/* === Main Content === */
|
|
||||||
.kiss-main {
|
|
||||||
margin-left: 220px; margin-top: 56px; padding: 20px;
|
|
||||||
min-height: calc(100vh - 56px); background: ${c.bg};
|
|
||||||
width: calc(100% - 220px); max-width: none;
|
|
||||||
}
|
|
||||||
.kiss-main > * { max-width: 100%; }
|
|
||||||
|
|
||||||
/* === View Tabs (internal navigation) === */
|
|
||||||
.kiss-tabs {
|
|
||||||
display: flex; gap: 4px; margin-bottom: 20px; padding-bottom: 12px;
|
|
||||||
border-bottom: 1px solid ${c.line}; flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
.kiss-tab {
|
|
||||||
padding: 8px 16px; font-size: 13px; color: ${c.muted};
|
|
||||||
text-decoration: none; border-radius: 6px; transition: all 0.2s;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
}
|
|
||||||
.kiss-tab:hover { color: ${c.text}; background: rgba(255,255,255,0.05); }
|
|
||||||
.kiss-tab.active {
|
|
||||||
color: ${c.green}; background: rgba(0,200,83,0.1);
|
|
||||||
border-color: rgba(0,200,83,0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* === Overlay for mobile === */
|
|
||||||
.kiss-overlay {
|
|
||||||
position: fixed; top: 56px; left: 0; right: 0; bottom: 0;
|
|
||||||
background: rgba(0,0,0,0.6); z-index: 998; display: none;
|
|
||||||
}
|
|
||||||
.kiss-overlay.active { display: block; }
|
|
||||||
|
|
||||||
/* === Full Width Overrides === */
|
|
||||||
html, body { margin: 0; padding: 0; width: 100%; min-height: 100vh; background: ${c.bg}; }
|
|
||||||
body.kiss-mode { overflow-x: hidden; }
|
|
||||||
body.kiss-mode #maincontent,
|
|
||||||
body.kiss-mode .main-right,
|
|
||||||
body.kiss-mode .main {
|
|
||||||
margin: 0 !important; padding: 0 !important;
|
|
||||||
width: 100% !important; max-width: 100% !important;
|
|
||||||
background: ${c.bg} !important;
|
|
||||||
}
|
|
||||||
body.kiss-mode .container,
|
|
||||||
body.kiss-mode .cbi-map,
|
|
||||||
body.kiss-mode #cbi-network,
|
|
||||||
body.kiss-mode .cbi-section { max-width: 100% !important; width: 100% !important; }
|
|
||||||
|
|
||||||
/* === Cards === */
|
|
||||||
.kiss-root {
|
|
||||||
background: ${c.bg}; color: ${c.text}; font-family: 'Segoe UI', sans-serif;
|
|
||||||
width: 100%; min-height: 100vh; position: relative;
|
|
||||||
}
|
|
||||||
.kiss-root * { box-sizing: border-box; }
|
|
||||||
.kiss-card {
|
|
||||||
background: ${c.card}; border: 1px solid ${c.line};
|
|
||||||
border-radius: 12px; padding: 20px; margin-bottom: 16px;
|
|
||||||
}
|
|
||||||
.kiss-card:hover { border-color: rgba(0,200,83,0.2); }
|
|
||||||
.kiss-card-title {
|
|
||||||
font-weight: 700; font-size: 16px; margin-bottom: 12px;
|
|
||||||
display: flex; align-items: center; gap: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* === Grid === */
|
|
||||||
.kiss-grid { display: grid; gap: 16px; }
|
|
||||||
.kiss-grid-2 { grid-template-columns: repeat(2, 1fr); }
|
|
||||||
.kiss-grid-3 { grid-template-columns: repeat(3, 1fr); }
|
|
||||||
.kiss-grid-4 { grid-template-columns: repeat(4, 1fr); }
|
|
||||||
|
|
||||||
/* === Stats === */
|
|
||||||
.kiss-stat {
|
|
||||||
background: ${c.card}; border: 1px solid ${c.line};
|
|
||||||
border-radius: 10px; padding: 16px; text-align: center;
|
|
||||||
}
|
|
||||||
.kiss-stat-value { font-family: monospace; font-weight: 700; font-size: 28px; color: ${c.green}; }
|
|
||||||
.kiss-stat-label { font-size: 11px; color: ${c.muted}; text-transform: uppercase; margin-top: 4px; }
|
|
||||||
|
|
||||||
/* === Buttons === */
|
|
||||||
.kiss-btn {
|
|
||||||
padding: 10px 18px; border-radius: 8px; font-size: 13px; font-weight: 600;
|
|
||||||
cursor: pointer; border: 1px solid ${c.line}; background: ${c.bg2};
|
|
||||||
color: ${c.text}; display: inline-flex; align-items: center; gap: 6px;
|
|
||||||
}
|
|
||||||
.kiss-btn:hover { border-color: rgba(0,200,83,0.3); background: rgba(0,200,83,0.05); }
|
|
||||||
.kiss-btn-green { border-color: ${c.green}; color: ${c.green}; }
|
|
||||||
.kiss-btn-red { border-color: ${c.red}; color: ${c.red}; }
|
|
||||||
.kiss-btn-blue { border-color: ${c.blue}; color: ${c.blue}; }
|
|
||||||
|
|
||||||
/* === Badges === */
|
|
||||||
.kiss-badge {
|
|
||||||
font-family: monospace; font-size: 10px; letter-spacing: 1px;
|
|
||||||
padding: 4px 10px; border-radius: 4px; display: inline-block;
|
|
||||||
}
|
|
||||||
.kiss-badge-green { color: ${c.green}; background: rgba(0,200,83,0.1); border: 1px solid rgba(0,200,83,0.25); }
|
|
||||||
.kiss-badge-red { color: ${c.red}; background: rgba(255,23,68,0.1); border: 1px solid rgba(255,23,68,0.25); }
|
|
||||||
.kiss-badge-blue { color: ${c.blue}; background: rgba(41,121,255,0.1); border: 1px solid rgba(41,121,255,0.25); }
|
|
||||||
.kiss-badge-yellow { color: ${c.yellow}; background: rgba(251,191,36,0.1); border: 1px solid rgba(251,191,36,0.25); }
|
|
||||||
|
|
||||||
/* === Tables === */
|
|
||||||
.kiss-table { width: 100%; border-collapse: separate; border-spacing: 0; }
|
|
||||||
.kiss-table th {
|
|
||||||
text-align: left; padding: 10px 16px; font-size: 11px;
|
|
||||||
text-transform: uppercase; color: ${c.muted}; border-bottom: 1px solid ${c.line};
|
|
||||||
}
|
|
||||||
.kiss-table td { padding: 10px 16px; font-size: 14px; border-bottom: 1px solid rgba(255,255,255,0.03); }
|
|
||||||
.kiss-table tr:hover td { background: rgba(255,255,255,0.02); }
|
|
||||||
|
|
||||||
/* === Progress === */
|
|
||||||
.kiss-progress { height: 8px; background: rgba(255,255,255,0.06); border-radius: 4px; overflow: hidden; }
|
|
||||||
.kiss-progress-fill { height: 100%; border-radius: 4px; background: linear-gradient(90deg, ${c.green}, ${c.cyan}); }
|
|
||||||
|
|
||||||
/* === Panels === */
|
|
||||||
.kiss-panel-green { border-left: 3px solid ${c.green}; }
|
|
||||||
.kiss-panel-red { border-left: 3px solid ${c.red}; }
|
|
||||||
.kiss-panel-blue { border-left: 3px solid ${c.blue}; }
|
|
||||||
|
|
||||||
/* === Toggle Buttons === */
|
|
||||||
.kiss-toggles {
|
|
||||||
position: fixed; bottom: 20px; right: 20px; z-index: 9999;
|
|
||||||
display: flex; flex-direction: column; gap: 8px;
|
|
||||||
}
|
|
||||||
.kiss-toggle-btn {
|
|
||||||
font-size: 20px; cursor: pointer; opacity: 0.7;
|
|
||||||
background: ${c.card}; border: 1px solid ${c.line};
|
|
||||||
border-radius: 50%; width: 44px; height: 44px;
|
|
||||||
display: flex; align-items: center; justify-content: center;
|
|
||||||
box-shadow: 0 4px 12px rgba(0,0,0,0.3); transition: all 0.2s;
|
|
||||||
}
|
|
||||||
.kiss-toggle-btn:hover { opacity: 1; transform: scale(1.1); border-color: ${c.green}; }
|
|
||||||
.kiss-toggle-btn.active { border-color: ${c.green}; background: rgba(0,200,83,0.15); }
|
|
||||||
|
|
||||||
/* === Minimized mode === */
|
|
||||||
.kiss-chrome-hidden .kiss-topbar,
|
|
||||||
.kiss-chrome-hidden .kiss-sidebar,
|
|
||||||
.kiss-chrome-hidden .kiss-overlay { display: none !important; }
|
|
||||||
.kiss-chrome-hidden .kiss-main {
|
|
||||||
margin-left: 0 !important; margin-top: 0 !important;
|
|
||||||
width: 100% !important; padding: 16px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* === Responsive === */
|
|
||||||
@media (max-width: 1024px) {
|
|
||||||
.kiss-sidebar { transform: translateX(-100%); }
|
|
||||||
.kiss-sidebar.open { transform: translateX(0); }
|
|
||||||
.kiss-main { margin-left: 0; width: 100%; }
|
|
||||||
.kiss-grid-3, .kiss-grid-4 { grid-template-columns: repeat(2, 1fr); }
|
|
||||||
}
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
.kiss-grid-2 { grid-template-columns: 1fr; }
|
|
||||||
.kiss-topbar-breadcrumb { display: none; }
|
|
||||||
.kiss-stat-value { font-size: 22px; }
|
|
||||||
.kiss-main { padding: 12px; width: 100%; }
|
|
||||||
.kiss-card { padding: 14px; }
|
|
||||||
.kiss-table { font-size: 12px; }
|
|
||||||
.kiss-table th, .kiss-table td { padding: 8px 10px; }
|
|
||||||
}
|
|
||||||
@media (max-width: 480px) {
|
|
||||||
.kiss-topbar-logo span:not(.g) { display: none; }
|
|
||||||
.kiss-topbar-btn span { display: none; }
|
|
||||||
.kiss-tabs { gap: 2px; }
|
|
||||||
.kiss-tab { padding: 6px 10px; font-size: 12px; }
|
|
||||||
.kiss-main { padding: 8px; }
|
|
||||||
.kiss-stat { padding: 10px; }
|
|
||||||
.kiss-stat-value { font-size: 18px; }
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Apply theme
|
|
||||||
apply: function(options) {
|
|
||||||
options = options || {};
|
|
||||||
if (!document.querySelector('#kiss-theme-css')) {
|
|
||||||
var style = document.createElement('style');
|
|
||||||
style.id = 'kiss-theme-css';
|
|
||||||
style.textContent = this.generateCSS();
|
|
||||||
document.head.appendChild(style);
|
|
||||||
}
|
|
||||||
this.addToggle();
|
|
||||||
if (options.hideChrome !== false) {
|
|
||||||
this.hideChrome();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
chromeVisible: true,
|
|
||||||
|
|
||||||
addToggle: function() {
|
|
||||||
var self = this;
|
|
||||||
if (document.querySelector('.kiss-toggles')) return;
|
|
||||||
|
|
||||||
var container = document.createElement('div');
|
|
||||||
container.className = 'kiss-toggles';
|
|
||||||
|
|
||||||
// Toggle KISS chrome (sidebar/topbar)
|
|
||||||
var chromeToggle = document.createElement('div');
|
|
||||||
chromeToggle.className = 'kiss-toggle-btn active';
|
|
||||||
chromeToggle.innerHTML = '📐';
|
|
||||||
chromeToggle.title = 'Toggle sidebar & top bar';
|
|
||||||
chromeToggle.onclick = function() { self.toggleChrome(); };
|
|
||||||
|
|
||||||
// Toggle LuCI mode
|
|
||||||
var modeToggle = document.createElement('div');
|
|
||||||
modeToggle.id = 'kiss-mode-toggle';
|
|
||||||
modeToggle.className = 'kiss-toggle-btn';
|
|
||||||
modeToggle.innerHTML = '👁️';
|
|
||||||
modeToggle.title = 'Switch to LuCI mode';
|
|
||||||
modeToggle.onclick = function() { self.toggleMode(); };
|
|
||||||
|
|
||||||
container.appendChild(chromeToggle);
|
|
||||||
container.appendChild(modeToggle);
|
|
||||||
document.body.appendChild(container);
|
|
||||||
},
|
|
||||||
|
|
||||||
toggleChrome: function() {
|
|
||||||
this.chromeVisible = !this.chromeVisible;
|
|
||||||
var btn = document.querySelector('.kiss-toggles .kiss-toggle-btn');
|
|
||||||
var root = document.querySelector('.kiss-root');
|
|
||||||
|
|
||||||
if (this.chromeVisible) {
|
|
||||||
btn.classList.add('active');
|
|
||||||
btn.innerHTML = '📐';
|
|
||||||
if (root) root.classList.remove('kiss-chrome-hidden');
|
|
||||||
} else {
|
|
||||||
btn.classList.remove('active');
|
|
||||||
btn.innerHTML = '📏';
|
|
||||||
if (root) root.classList.add('kiss-chrome-hidden');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
toggleMode: function() {
|
|
||||||
this.isKissMode = !this.isKissMode;
|
|
||||||
var toggle = document.getElementById('kiss-mode-toggle');
|
|
||||||
if (this.isKissMode) {
|
|
||||||
toggle.innerHTML = '👁️';
|
|
||||||
toggle.title = 'Switch to LuCI mode';
|
|
||||||
this.hideChrome();
|
|
||||||
} else {
|
|
||||||
toggle.innerHTML = '👁️🗨️';
|
|
||||||
toggle.title = 'Switch to KISS mode';
|
|
||||||
this.showChrome();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
showChrome: function() {
|
|
||||||
['#mainmenu', '.main-left', 'header', 'nav', 'aside', 'footer', '#topmenu', '#tabmenu', '.pull-right'].forEach(function(s) {
|
|
||||||
var el = document.querySelector(s);
|
|
||||||
if (el) el.style.display = '';
|
|
||||||
});
|
|
||||||
var main = document.querySelector('.main-right') || document.querySelector('#maincontent');
|
|
||||||
if (main) { main.style.marginLeft = ''; main.style.marginTop = ''; main.style.width = ''; }
|
|
||||||
// Hide KISS elements
|
|
||||||
var kissEl = document.querySelectorAll('.kiss-topbar, .kiss-sidebar, .kiss-overlay');
|
|
||||||
kissEl.forEach(function(el) { el.style.display = 'none'; });
|
|
||||||
},
|
|
||||||
|
|
||||||
hideChrome: function() {
|
|
||||||
document.body.classList.add('kiss-mode');
|
|
||||||
// Hide LuCI chrome but KEEP #tabmenu for view tabs
|
|
||||||
['#mainmenu', '.main-left', 'header', 'nav[role="navigation"]', 'aside', 'footer', '#topmenu', '.pull-right'].forEach(function(s) {
|
|
||||||
var el = document.querySelector(s);
|
|
||||||
if (el) el.style.display = 'none';
|
|
||||||
});
|
|
||||||
var main = document.querySelector('.main-right') || document.querySelector('#maincontent');
|
|
||||||
if (main) { main.style.marginLeft = '0'; main.style.marginTop = '0'; main.style.width = '100%'; }
|
|
||||||
// Show KISS elements
|
|
||||||
var kissEl = document.querySelectorAll('.kiss-topbar, .kiss-sidebar, .kiss-overlay');
|
|
||||||
kissEl.forEach(function(el) { el.style.display = ''; });
|
|
||||||
},
|
|
||||||
|
|
||||||
toggleSidebar: function() {
|
|
||||||
this.sidebarOpen = !this.sidebarOpen;
|
|
||||||
var sidebar = document.querySelector('.kiss-sidebar');
|
|
||||||
var overlay = document.querySelector('.kiss-overlay');
|
|
||||||
if (sidebar) sidebar.classList.toggle('open', this.sidebarOpen);
|
|
||||||
if (overlay) overlay.classList.toggle('active', this.sidebarOpen);
|
|
||||||
},
|
|
||||||
|
|
||||||
closeSidebar: function() {
|
|
||||||
this.sidebarOpen = false;
|
|
||||||
var sidebar = document.querySelector('.kiss-sidebar');
|
|
||||||
var overlay = document.querySelector('.kiss-overlay');
|
|
||||||
if (sidebar) sidebar.classList.remove('open');
|
|
||||||
if (overlay) overlay.classList.remove('active');
|
|
||||||
},
|
|
||||||
|
|
||||||
E: function(tag, attrs, children) {
|
|
||||||
var el = document.createElement(tag);
|
|
||||||
if (attrs) {
|
|
||||||
for (var k in attrs) {
|
|
||||||
if (k === 'class') el.className = attrs[k];
|
|
||||||
else if (k.startsWith('on') && typeof attrs[k] === 'function')
|
|
||||||
el.addEventListener(k.slice(2).toLowerCase(), attrs[k]);
|
|
||||||
else el.setAttribute(k, attrs[k]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (children) {
|
|
||||||
(Array.isArray(children) ? children : [children]).forEach(function(c) {
|
|
||||||
if (c == null) return;
|
|
||||||
el.appendChild(typeof c === 'string' ? document.createTextNode(c) : c);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return el;
|
|
||||||
},
|
|
||||||
|
|
||||||
card: function(title, content) {
|
|
||||||
return this.E('div', { 'class': 'kiss-card' }, [
|
|
||||||
title ? this.E('div', { 'class': 'kiss-card-title' }, title) : null,
|
|
||||||
this.E('div', {}, content)
|
|
||||||
]);
|
|
||||||
},
|
|
||||||
|
|
||||||
stat: function(value, label, color) {
|
|
||||||
return this.E('div', { 'class': 'kiss-stat' }, [
|
|
||||||
this.E('div', { 'class': 'kiss-stat-value', 'style': color ? 'color:' + color : '' }, String(value)),
|
|
||||||
this.E('div', { 'class': 'kiss-stat-label' }, label)
|
|
||||||
]);
|
|
||||||
},
|
|
||||||
|
|
||||||
badge: function(text, type) {
|
|
||||||
return this.E('span', { 'class': 'kiss-badge kiss-badge-' + (type || 'green') }, text);
|
|
||||||
},
|
|
||||||
|
|
||||||
btn: function(label, onClick, type) {
|
|
||||||
return this.E('button', { 'class': 'kiss-btn' + (type ? ' kiss-btn-' + type : ''), 'onClick': onClick }, label);
|
|
||||||
},
|
|
||||||
|
|
||||||
// Render top bar
|
|
||||||
renderTopbar: function() {
|
|
||||||
var self = this;
|
|
||||||
var path = window.location.pathname.replace('/cgi-bin/luci/', '').split('/');
|
|
||||||
var breadcrumb = path.map(function(p, i) {
|
|
||||||
var href = '/cgi-bin/luci/' + path.slice(0, i + 1).join('/');
|
|
||||||
return self.E('a', { 'href': href }, p);
|
|
||||||
});
|
|
||||||
|
|
||||||
return this.E('header', { 'class': 'kiss-topbar' }, [
|
|
||||||
this.E('button', { 'class': 'kiss-topbar-menu', 'onClick': function() { self.toggleSidebar(); } }, '☰'),
|
|
||||||
this.E('div', { 'class': 'kiss-topbar-logo' }, [
|
|
||||||
this.E('span', { 'class': 'g' }, 'C'),
|
|
||||||
this.E('span', { 'class': 'r' }, '3'),
|
|
||||||
this.E('span', { 'class': 'b' }, 'B'),
|
|
||||||
this.E('span', { 'class': 'o' }, 'O'),
|
|
||||||
this.E('span', { 'class': 'g' }, 'X')
|
|
||||||
]),
|
|
||||||
this.E('div', { 'class': 'kiss-topbar-breadcrumb' }, breadcrumb),
|
|
||||||
this.E('div', { 'class': 'kiss-topbar-actions' }, [
|
|
||||||
this.E('a', { 'class': 'kiss-topbar-btn', 'href': '/cgi-bin/luci/admin/system' }, [
|
|
||||||
'⚙️', this.E('span', {}, 'Settings')
|
|
||||||
]),
|
|
||||||
this.E('a', { 'class': 'kiss-topbar-btn logout', 'href': '/cgi-bin/luci/admin/logout' }, [
|
|
||||||
'🚪', this.E('span', {}, 'Logout')
|
|
||||||
])
|
|
||||||
])
|
|
||||||
]);
|
|
||||||
},
|
|
||||||
|
|
||||||
// Toggle category collapsed state
|
|
||||||
toggleCategory: function(catName) {
|
|
||||||
this.collapsedState[catName] = !this.collapsedState[catName];
|
|
||||||
var section = document.querySelector('.kiss-nav-section[data-cat="' + catName + '"]');
|
|
||||||
if (section) {
|
|
||||||
section.classList.toggle('collapsed', this.collapsedState[catName]);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Render sidebar
|
|
||||||
renderSidebar: function(activePath) {
|
|
||||||
var self = this;
|
|
||||||
var currentPath = activePath || window.location.pathname.replace('/cgi-bin/luci/', '');
|
|
||||||
var navItems = [];
|
|
||||||
|
|
||||||
// Initialize collapsed state from nav config
|
|
||||||
this.nav.forEach(function(cat) {
|
|
||||||
if (self.collapsedState[cat.cat] === undefined) {
|
|
||||||
// Auto-expand if current path is in this category
|
|
||||||
var hasActive = cat.items.some(function(item) {
|
|
||||||
if (item.path && currentPath.indexOf(item.path) !== -1) return true;
|
|
||||||
if (item.tabs) {
|
|
||||||
return item.tabs.some(function(tab) {
|
|
||||||
return currentPath === tab.path || currentPath.indexOf(tab.path) !== -1;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
self.collapsedState[cat.cat] = hasActive ? false : (cat.collapsed || false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
this.nav.forEach(function(cat) {
|
|
||||||
var isCollapsed = self.collapsedState[cat.cat];
|
|
||||||
|
|
||||||
// Section header (clickable to expand/collapse)
|
|
||||||
navItems.push(self.E('div', {
|
|
||||||
'class': 'kiss-nav-section' + (isCollapsed ? ' collapsed' : ''),
|
|
||||||
'data-cat': cat.cat,
|
|
||||||
'onClick': function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
self.toggleCategory(cat.cat);
|
|
||||||
}
|
|
||||||
}, [
|
|
||||||
self.E('span', { 'class': 'kiss-nav-section-icon' }, cat.icon || '📁'),
|
|
||||||
self.E('span', {}, cat.cat),
|
|
||||||
self.E('span', { 'class': 'kiss-nav-section-arrow' }, '▼')
|
|
||||||
]));
|
|
||||||
|
|
||||||
// Items container with sub-tabs
|
|
||||||
var itemElements = [];
|
|
||||||
cat.items.forEach(function(item) {
|
|
||||||
var isExternal = !!item.url;
|
|
||||||
var href = isExternal ? item.url : '/cgi-bin/luci/' + item.path;
|
|
||||||
var hasTabs = item.tabs && item.tabs.length > 0;
|
|
||||||
|
|
||||||
// Check if this item or any of its tabs is active
|
|
||||||
var isItemActive = !isExternal && item.path && currentPath.indexOf(item.path) !== -1;
|
|
||||||
var isTabActive = hasTabs && item.tabs.some(function(tab) {
|
|
||||||
return currentPath === tab.path || currentPath.indexOf(tab.path) !== -1;
|
|
||||||
});
|
|
||||||
var isActive = isItemActive || isTabActive;
|
|
||||||
|
|
||||||
// Main nav item
|
|
||||||
itemElements.push(self.E('a', {
|
|
||||||
'href': href,
|
|
||||||
'class': 'kiss-nav-item' + (isActive ? ' active' : '') + (isExternal ? ' external' : '') + (hasTabs ? ' has-tabs' : '') + (isActive && hasTabs ? ' expanded' : ''),
|
|
||||||
'target': isExternal ? '_blank' : '',
|
|
||||||
'onClick': function() { self.closeSidebar(); }
|
|
||||||
}, [
|
|
||||||
self.E('span', { 'class': 'kiss-nav-icon' }, item.icon),
|
|
||||||
self.E('span', {}, item.name),
|
|
||||||
isExternal ? self.E('span', { 'style': 'margin-left:auto;font-size:10px;opacity:0.5;' }, '↗') : null,
|
|
||||||
hasTabs ? self.E('span', { 'class': 'tab-arrow' }, '▶') : null
|
|
||||||
]));
|
|
||||||
|
|
||||||
// Sub-tabs (only rendered if item has tabs)
|
|
||||||
if (hasTabs) {
|
|
||||||
var tabsContainer = self.E('div', {
|
|
||||||
'class': 'kiss-nav-tabs' + (isActive ? ' expanded' : '')
|
|
||||||
}, item.tabs.map(function(tab) {
|
|
||||||
var tabActive = currentPath === tab.path || currentPath.indexOf(tab.path) !== -1;
|
|
||||||
return self.E('a', {
|
|
||||||
'href': '/cgi-bin/luci/' + tab.path,
|
|
||||||
'class': 'kiss-nav-tab' + (tabActive ? ' active' : ''),
|
|
||||||
'onClick': function() { self.closeSidebar(); }
|
|
||||||
}, tab.name);
|
|
||||||
}));
|
|
||||||
itemElements.push(tabsContainer);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var itemsContainer = self.E('div', { 'class': 'kiss-nav-items' }, itemElements);
|
|
||||||
navItems.push(itemsContainer);
|
|
||||||
});
|
|
||||||
|
|
||||||
return this.E('nav', { 'class': 'kiss-sidebar' }, [
|
|
||||||
this.E('div', { 'class': 'kiss-nav' }, navItems)
|
|
||||||
]);
|
|
||||||
},
|
|
||||||
|
|
||||||
// Render overlay for mobile
|
|
||||||
renderOverlay: function() {
|
|
||||||
var self = this;
|
|
||||||
return this.E('div', { 'class': 'kiss-overlay', 'onClick': function() { self.closeSidebar(); } });
|
|
||||||
},
|
|
||||||
|
|
||||||
// Wrap content with theme
|
|
||||||
wrap: function(content, activePath) {
|
|
||||||
this.apply();
|
|
||||||
return this.E('div', { 'class': 'kiss-root' }, [
|
|
||||||
this.renderTopbar(),
|
|
||||||
this.renderSidebar(activePath),
|
|
||||||
this.renderOverlay(),
|
|
||||||
this.E('div', { 'class': 'kiss-main' }, Array.isArray(content) ? content : [content])
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var KissTheme = new KissThemeClass();
|
|
||||||
window.KissTheme = KissTheme;
|
|
||||||
|
|
||||||
return KissThemeClass;
|
|
||||||
@ -11,7 +11,7 @@ Description: Unified AI security insights dashboard for SecuBox.
|
|||||||
DNS Guard, Network Anomaly, CVE Triage, and LocalRecall.
|
DNS Guard, Network Anomaly, CVE Triage, and LocalRecall.
|
||||||
Provides security posture scoring and AI-powered analysis.
|
Provides security posture scoring and AI-powered analysis.
|
||||||
Filename: luci-app-ai-insights_1.0.0-r1_all.ipk
|
Filename: luci-app-ai-insights_1.0.0-r1_all.ipk
|
||||||
Size: 11637
|
Size: 11638
|
||||||
|
|
||||||
Package: luci-app-auth-guardian
|
Package: luci-app-auth-guardian
|
||||||
Version: 0.4.0-r3
|
Version: 0.4.0-r3
|
||||||
@ -23,7 +23,7 @@ Architecture: all
|
|||||||
Installed-Size: 71680
|
Installed-Size: 71680
|
||||||
Description: Comprehensive authentication and session management with captive portal, OAuth2/OIDC integration, voucher system, and time-based access control
|
Description: Comprehensive authentication and session management with captive portal, OAuth2/OIDC integration, voucher system, and time-based access control
|
||||||
Filename: luci-app-auth-guardian_0.4.0-r3_all.ipk
|
Filename: luci-app-auth-guardian_0.4.0-r3_all.ipk
|
||||||
Size: 12396
|
Size: 12394
|
||||||
|
|
||||||
Package: luci-app-backup
|
Package: luci-app-backup
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -35,7 +35,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI Backup Manager
|
Description: LuCI Backup Manager
|
||||||
Filename: luci-app-backup_1.0.0-r1_all.ipk
|
Filename: luci-app-backup_1.0.0-r1_all.ipk
|
||||||
Size: 4532
|
Size: 4527
|
||||||
|
|
||||||
Package: luci-app-bandwidth-manager
|
Package: luci-app-bandwidth-manager
|
||||||
Version: 0.5.0-r2
|
Version: 0.5.0-r2
|
||||||
@ -59,7 +59,7 @@ Architecture: all
|
|||||||
Installed-Size: 122880
|
Installed-Size: 122880
|
||||||
Description: Dashboard for managing local CDN caching proxy on OpenWrt
|
Description: Dashboard for managing local CDN caching proxy on OpenWrt
|
||||||
Filename: luci-app-cdn-cache_0.5.0-r3_all.ipk
|
Filename: luci-app-cdn-cache_0.5.0-r3_all.ipk
|
||||||
Size: 24254
|
Size: 24256
|
||||||
|
|
||||||
Package: luci-app-client-guardian
|
Package: luci-app-client-guardian
|
||||||
Version: 0.4.0-r7
|
Version: 0.4.0-r7
|
||||||
@ -71,7 +71,7 @@ Architecture: all
|
|||||||
Installed-Size: 276480
|
Installed-Size: 276480
|
||||||
Description: Network Access Control with client monitoring, zone management, captive portal, parental controls, and SMS/email alerts
|
Description: Network Access Control with client monitoring, zone management, captive portal, parental controls, and SMS/email alerts
|
||||||
Filename: luci-app-client-guardian_0.4.0-r7_all.ipk
|
Filename: luci-app-client-guardian_0.4.0-r7_all.ipk
|
||||||
Size: 52684
|
Size: 52689
|
||||||
|
|
||||||
Package: luci-app-cloner
|
Package: luci-app-cloner
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -82,7 +82,7 @@ Architecture: all
|
|||||||
Installed-Size: 102400
|
Installed-Size: 102400
|
||||||
Description: SecuBox cloning station for building and deploying clone images
|
Description: SecuBox cloning station for building and deploying clone images
|
||||||
Filename: luci-app-cloner_1.0.0-r1_all.ipk
|
Filename: luci-app-cloner_1.0.0-r1_all.ipk
|
||||||
Size: 19433
|
Size: 19435
|
||||||
|
|
||||||
Package: luci-app-config-advisor
|
Package: luci-app-config-advisor
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -94,7 +94,7 @@ Architecture: all
|
|||||||
Installed-Size: 51200
|
Installed-Size: 51200
|
||||||
Description: ANSSI CSPN compliance checking and security configuration advisor
|
Description: ANSSI CSPN compliance checking and security configuration advisor
|
||||||
Filename: luci-app-config-advisor_1.0.0-r1_all.ipk
|
Filename: luci-app-config-advisor_1.0.0-r1_all.ipk
|
||||||
Size: 8858
|
Size: 8857
|
||||||
|
|
||||||
Package: luci-app-cookie-tracker
|
Package: luci-app-cookie-tracker
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -105,7 +105,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI Cookie Tracker Dashboard
|
Description: LuCI Cookie Tracker Dashboard
|
||||||
Filename: luci-app-cookie-tracker_1.0.0-r1_all.ipk
|
Filename: luci-app-cookie-tracker_1.0.0-r1_all.ipk
|
||||||
Size: 5663
|
Size: 5655
|
||||||
|
|
||||||
Package: luci-app-crowdsec-dashboard
|
Package: luci-app-crowdsec-dashboard
|
||||||
Version: 0.8.0-r1
|
Version: 0.8.0-r1
|
||||||
@ -117,7 +117,7 @@ Architecture: all
|
|||||||
Installed-Size: 225280
|
Installed-Size: 225280
|
||||||
Description: Real-time security monitoring dashboard for CrowdSec on OpenWrt
|
Description: Real-time security monitoring dashboard for CrowdSec on OpenWrt
|
||||||
Filename: luci-app-crowdsec-dashboard_0.8.0-r1_all.ipk
|
Filename: luci-app-crowdsec-dashboard_0.8.0-r1_all.ipk
|
||||||
Size: 43019
|
Size: 43023
|
||||||
|
|
||||||
Package: luci-app-cve-triage
|
Package: luci-app-cve-triage
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -129,7 +129,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI CVE Triage Dashboard
|
Description: LuCI CVE Triage Dashboard
|
||||||
Filename: luci-app-cve-triage_1.0.0-r1_all.ipk
|
Filename: luci-app-cve-triage_1.0.0-r1_all.ipk
|
||||||
Size: 5950
|
Size: 5945
|
||||||
|
|
||||||
Package: luci-app-cyberfeed
|
Package: luci-app-cyberfeed
|
||||||
Version: 0.1.1-r1
|
Version: 0.1.1-r1
|
||||||
@ -172,7 +172,7 @@ Description: SecuBox DNS Guard provides privacy-focused DNS management with AI-
|
|||||||
- Real-time alerts and blocklist management
|
- Real-time alerts and blocklist management
|
||||||
- Domain analysis with LocalAI integration
|
- Domain analysis with LocalAI integration
|
||||||
Filename: luci-app-dnsguard_1.1.0-r1_all.ipk
|
Filename: luci-app-dnsguard_1.1.0-r1_all.ipk
|
||||||
Size: 12444
|
Size: 12449
|
||||||
|
|
||||||
Package: luci-app-dns-provider
|
Package: luci-app-dns-provider
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -184,7 +184,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI DNS Provider Manager
|
Description: LuCI DNS Provider Manager
|
||||||
Filename: luci-app-dns-provider_1.0.0-r1_all.ipk
|
Filename: luci-app-dns-provider_1.0.0-r1_all.ipk
|
||||||
Size: 7168
|
Size: 7173
|
||||||
|
|
||||||
Package: luci-app-domoticz
|
Package: luci-app-domoticz
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -196,7 +196,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI Domoticz Home Automation Configuration
|
Description: LuCI Domoticz Home Automation Configuration
|
||||||
Filename: luci-app-domoticz_1.0.0-r1_all.ipk
|
Filename: luci-app-domoticz_1.0.0-r1_all.ipk
|
||||||
Size: 7121
|
Size: 7126
|
||||||
|
|
||||||
Package: luci-app-exposure
|
Package: luci-app-exposure
|
||||||
Version: 1.0.0-r3
|
Version: 1.0.0-r3
|
||||||
@ -220,7 +220,7 @@ Architecture: all
|
|||||||
Installed-Size: 92160
|
Installed-Size: 92160
|
||||||
Description: Modern dashboard for Gitea Platform management on OpenWrt
|
Description: Modern dashboard for Gitea Platform management on OpenWrt
|
||||||
Filename: luci-app-gitea_1.0.0-r2_all.ipk
|
Filename: luci-app-gitea_1.0.0-r2_all.ipk
|
||||||
Size: 16621
|
Size: 16625
|
||||||
|
|
||||||
Package: luci-app-glances
|
Package: luci-app-glances
|
||||||
Version: 1.0.0-r2
|
Version: 1.0.0-r2
|
||||||
@ -232,7 +232,7 @@ Architecture: all
|
|||||||
Installed-Size: 51200
|
Installed-Size: 51200
|
||||||
Description: Modern dashboard for Glances system monitoring with SecuBox theme
|
Description: Modern dashboard for Glances system monitoring with SecuBox theme
|
||||||
Filename: luci-app-glances_1.0.0-r2_all.ipk
|
Filename: luci-app-glances_1.0.0-r2_all.ipk
|
||||||
Size: 7022
|
Size: 7023
|
||||||
|
|
||||||
Package: luci-app-gotosocial
|
Package: luci-app-gotosocial
|
||||||
Version: 0.1.0-r1
|
Version: 0.1.0-r1
|
||||||
@ -244,7 +244,7 @@ Architecture: all
|
|||||||
Installed-Size: 51200
|
Installed-Size: 51200
|
||||||
Description: LuCI app for GoToSocial Fediverse Server
|
Description: LuCI app for GoToSocial Fediverse Server
|
||||||
Filename: luci-app-gotosocial_0.1.0-r1_all.ipk
|
Filename: luci-app-gotosocial_0.1.0-r1_all.ipk
|
||||||
Size: 8206
|
Size: 8213
|
||||||
|
|
||||||
Package: luci-app-haproxy
|
Package: luci-app-haproxy
|
||||||
Version: 1.0.0-r8
|
Version: 1.0.0-r8
|
||||||
@ -256,7 +256,7 @@ Architecture: all
|
|||||||
Installed-Size: 225280
|
Installed-Size: 225280
|
||||||
Description: Web interface for managing HAProxy load balancer with vhosts, SSL certificates, and backend routing
|
Description: Web interface for managing HAProxy load balancer with vhosts, SSL certificates, and backend routing
|
||||||
Filename: luci-app-haproxy_1.0.0-r8_all.ipk
|
Filename: luci-app-haproxy_1.0.0-r8_all.ipk
|
||||||
Size: 35339
|
Size: 35341
|
||||||
|
|
||||||
Package: luci-app-hexojs
|
Package: luci-app-hexojs
|
||||||
Version: 1.0.0-r3
|
Version: 1.0.0-r3
|
||||||
@ -268,7 +268,7 @@ Architecture: all
|
|||||||
Installed-Size: 194560
|
Installed-Size: 194560
|
||||||
Description: Modern dashboard for Hexo static site generator on OpenWrt
|
Description: Modern dashboard for Hexo static site generator on OpenWrt
|
||||||
Filename: luci-app-hexojs_1.0.0-r3_all.ipk
|
Filename: luci-app-hexojs_1.0.0-r3_all.ipk
|
||||||
Size: 30447
|
Size: 30451
|
||||||
|
|
||||||
Package: luci-app-iot-guard
|
Package: luci-app-iot-guard
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -280,7 +280,7 @@ Architecture: all
|
|||||||
Installed-Size: 61440
|
Installed-Size: 61440
|
||||||
Description: IoT device isolation and security monitoring interface
|
Description: IoT device isolation and security monitoring interface
|
||||||
Filename: luci-app-iot-guard_1.0.0-r1_all.ipk
|
Filename: luci-app-iot-guard_1.0.0-r1_all.ipk
|
||||||
Size: 10532
|
Size: 10535
|
||||||
|
|
||||||
Package: luci-app-ipblocklist
|
Package: luci-app-ipblocklist
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -292,7 +292,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: SecuBox IP Blocklist - Static threat defense dashboard
|
Description: SecuBox IP Blocklist - Static threat defense dashboard
|
||||||
Filename: luci-app-ipblocklist_1.0.0-r1_all.ipk
|
Filename: luci-app-ipblocklist_1.0.0-r1_all.ipk
|
||||||
Size: 6528
|
Size: 6531
|
||||||
|
|
||||||
Package: luci-app-jabber
|
Package: luci-app-jabber
|
||||||
Version: 0
|
Version: 0
|
||||||
@ -304,7 +304,7 @@ Architecture: all
|
|||||||
Installed-Size: 61440
|
Installed-Size: 61440
|
||||||
Description: LuCI Jabber/XMPP Server (Prosody)
|
Description: LuCI Jabber/XMPP Server (Prosody)
|
||||||
Filename: luci-app-jabber_0_all.ipk
|
Filename: luci-app-jabber_0_all.ipk
|
||||||
Size: 9304
|
Size: 9309
|
||||||
|
|
||||||
Package: luci-app-jellyfin
|
Package: luci-app-jellyfin
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -316,7 +316,7 @@ Architecture: all
|
|||||||
Installed-Size: 51200
|
Installed-Size: 51200
|
||||||
Description: LuCI Jellyfin Media Server Configuration
|
Description: LuCI Jellyfin Media Server Configuration
|
||||||
Filename: luci-app-jellyfin_1.0.0-r1_all.ipk
|
Filename: luci-app-jellyfin_1.0.0-r1_all.ipk
|
||||||
Size: 10482
|
Size: 10488
|
||||||
|
|
||||||
Package: luci-app-jitsi
|
Package: luci-app-jitsi
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -328,7 +328,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI Jitsi Meet Configuration
|
Description: LuCI Jitsi Meet Configuration
|
||||||
Filename: luci-app-jitsi_1.0.0-r1_all.ipk
|
Filename: luci-app-jitsi_1.0.0-r1_all.ipk
|
||||||
Size: 5176
|
Size: 5179
|
||||||
|
|
||||||
Package: luci-app-ksm-manager
|
Package: luci-app-ksm-manager
|
||||||
Version: 0.4.0-r2
|
Version: 0.4.0-r2
|
||||||
@ -340,7 +340,7 @@ Architecture: all
|
|||||||
Installed-Size: 112640
|
Installed-Size: 112640
|
||||||
Description: Centralized cryptographic key management with hardware security module (HSM) support for Nitrokey and YubiKey devices. Provides secure key storage, certificate management, SSH key handling, and secret storage with audit logging.
|
Description: Centralized cryptographic key management with hardware security module (HSM) support for Nitrokey and YubiKey devices. Provides secure key storage, certificate management, SSH key handling, and secret storage with audit logging.
|
||||||
Filename: luci-app-ksm-manager_0.4.0-r2_all.ipk
|
Filename: luci-app-ksm-manager_0.4.0-r2_all.ipk
|
||||||
Size: 18776
|
Size: 18781
|
||||||
|
|
||||||
Package: luci-app-localai
|
Package: luci-app-localai
|
||||||
Version: 0.1.0-r15
|
Version: 0.1.0-r15
|
||||||
@ -364,7 +364,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI LocalRecall AI Memory Dashboard
|
Description: LuCI LocalRecall AI Memory Dashboard
|
||||||
Filename: luci-app-localrecall_1.0.0-r1_all.ipk
|
Filename: luci-app-localrecall_1.0.0-r1_all.ipk
|
||||||
Size: 8418
|
Size: 8417
|
||||||
|
|
||||||
Package: luci-app-lyrion
|
Package: luci-app-lyrion
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -376,7 +376,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI support for Lyrion Music Server
|
Description: LuCI support for Lyrion Music Server
|
||||||
Filename: luci-app-lyrion_1.0.0-r1_all.ipk
|
Filename: luci-app-lyrion_1.0.0-r1_all.ipk
|
||||||
Size: 6834
|
Size: 6836
|
||||||
|
|
||||||
Package: luci-app-mac-guardian
|
Package: luci-app-mac-guardian
|
||||||
Version: 0.5.0-r1
|
Version: 0.5.0-r1
|
||||||
@ -388,7 +388,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI MAC Guardian - WiFi MAC Security Monitor
|
Description: LuCI MAC Guardian - WiFi MAC Security Monitor
|
||||||
Filename: luci-app-mac-guardian_0.5.0-r1_all.ipk
|
Filename: luci-app-mac-guardian_0.5.0-r1_all.ipk
|
||||||
Size: 6657
|
Size: 6666
|
||||||
|
|
||||||
Package: luci-app-magicmirror2
|
Package: luci-app-magicmirror2
|
||||||
Version: 0.4.0-r6
|
Version: 0.4.0-r6
|
||||||
@ -400,7 +400,7 @@ Architecture: all
|
|||||||
Installed-Size: 71680
|
Installed-Size: 71680
|
||||||
Description: Modern dashboard for MagicMirror2 smart display platform with module manager and SecuBox theme
|
Description: Modern dashboard for MagicMirror2 smart display platform with module manager and SecuBox theme
|
||||||
Filename: luci-app-magicmirror2_0.4.0-r6_all.ipk
|
Filename: luci-app-magicmirror2_0.4.0-r6_all.ipk
|
||||||
Size: 12359
|
Size: 12360
|
||||||
|
|
||||||
Package: luci-app-mailinabox
|
Package: luci-app-mailinabox
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -412,7 +412,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI support for Mail-in-a-Box
|
Description: LuCI support for Mail-in-a-Box
|
||||||
Filename: luci-app-mailinabox_1.0.0-r1_all.ipk
|
Filename: luci-app-mailinabox_1.0.0-r1_all.ipk
|
||||||
Size: 5486
|
Size: 5484
|
||||||
|
|
||||||
Package: luci-app-mailserver
|
Package: luci-app-mailserver
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -424,7 +424,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI Mail Server Manager
|
Description: LuCI Mail Server Manager
|
||||||
Filename: luci-app-mailserver_1.0.0-r1_all.ipk
|
Filename: luci-app-mailserver_1.0.0-r1_all.ipk
|
||||||
Size: 6508
|
Size: 6506
|
||||||
|
|
||||||
Package: luci-app-master-link
|
Package: luci-app-master-link
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -448,7 +448,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI Matrix Homeserver Dashboard
|
Description: LuCI Matrix Homeserver Dashboard
|
||||||
Filename: luci-app-matrix_1.0.0-r1_all.ipk
|
Filename: luci-app-matrix_1.0.0-r1_all.ipk
|
||||||
Size: 7523
|
Size: 7524
|
||||||
|
|
||||||
Package: luci-app-media-flow
|
Package: luci-app-media-flow
|
||||||
Version: 0.6.4-r1
|
Version: 0.6.4-r1
|
||||||
@ -472,7 +472,7 @@ Architecture: all
|
|||||||
Installed-Size: 133120
|
Installed-Size: 133120
|
||||||
Description: LuCI support for MetaBlogizer Static Site Publisher
|
Description: LuCI support for MetaBlogizer Static Site Publisher
|
||||||
Filename: luci-app-metablogizer_1.1.0-r1_all.ipk
|
Filename: luci-app-metablogizer_1.1.0-r1_all.ipk
|
||||||
Size: 26205
|
Size: 26207
|
||||||
|
|
||||||
Package: luci-app-metabolizer
|
Package: luci-app-metabolizer
|
||||||
Version: 1.0.0-r2
|
Version: 1.0.0-r2
|
||||||
@ -484,7 +484,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI support for Metabolizer CMS
|
Description: LuCI support for Metabolizer CMS
|
||||||
Filename: luci-app-metabolizer_1.0.0-r2_all.ipk
|
Filename: luci-app-metabolizer_1.0.0-r2_all.ipk
|
||||||
Size: 4822
|
Size: 4820
|
||||||
|
|
||||||
Package: luci-app-mitmproxy
|
Package: luci-app-mitmproxy
|
||||||
Version: 0.5.0-r2
|
Version: 0.5.0-r2
|
||||||
@ -496,7 +496,7 @@ Architecture: all
|
|||||||
Installed-Size: 71680
|
Installed-Size: 71680
|
||||||
Description: Modern dashboard for mitmproxy HTTPS traffic inspection with SecuBox theme
|
Description: Modern dashboard for mitmproxy HTTPS traffic inspection with SecuBox theme
|
||||||
Filename: luci-app-mitmproxy_0.5.0-r2_all.ipk
|
Filename: luci-app-mitmproxy_0.5.0-r2_all.ipk
|
||||||
Size: 13235
|
Size: 13233
|
||||||
|
|
||||||
Package: luci-app-mmpm
|
Package: luci-app-mmpm
|
||||||
Version: 0.2.0-r3
|
Version: 0.2.0-r3
|
||||||
@ -508,7 +508,7 @@ Architecture: all
|
|||||||
Installed-Size: 51200
|
Installed-Size: 51200
|
||||||
Description: Web interface for MMPM - MagicMirror Package Manager
|
Description: Web interface for MMPM - MagicMirror Package Manager
|
||||||
Filename: luci-app-mmpm_0.2.0-r3_all.ipk
|
Filename: luci-app-mmpm_0.2.0-r3_all.ipk
|
||||||
Size: 7970
|
Size: 7972
|
||||||
|
|
||||||
Package: luci-app-mqtt-bridge
|
Package: luci-app-mqtt-bridge
|
||||||
Version: 0.4.0-r4
|
Version: 0.4.0-r4
|
||||||
@ -520,7 +520,7 @@ Architecture: all
|
|||||||
Installed-Size: 122880
|
Installed-Size: 122880
|
||||||
Description: USB-to-MQTT IoT hub with SecuBox theme
|
Description: USB-to-MQTT IoT hub with SecuBox theme
|
||||||
Filename: luci-app-mqtt-bridge_0.4.0-r4_all.ipk
|
Filename: luci-app-mqtt-bridge_0.4.0-r4_all.ipk
|
||||||
Size: 22688
|
Size: 22690
|
||||||
|
|
||||||
Package: luci-app-ndpid
|
Package: luci-app-ndpid
|
||||||
Version: 1.1.2-r2
|
Version: 1.1.2-r2
|
||||||
@ -532,7 +532,7 @@ Architecture: all
|
|||||||
Installed-Size: 122880
|
Installed-Size: 122880
|
||||||
Description: Modern dashboard for nDPId deep packet inspection on OpenWrt
|
Description: Modern dashboard for nDPId deep packet inspection on OpenWrt
|
||||||
Filename: luci-app-ndpid_1.1.2-r2_all.ipk
|
Filename: luci-app-ndpid_1.1.2-r2_all.ipk
|
||||||
Size: 21699
|
Size: 21702
|
||||||
|
|
||||||
Package: luci-app-netdata-dashboard
|
Package: luci-app-netdata-dashboard
|
||||||
Version: 0.5.0-r2
|
Version: 0.5.0-r2
|
||||||
@ -544,7 +544,7 @@ Architecture: all
|
|||||||
Installed-Size: 112640
|
Installed-Size: 112640
|
||||||
Description: Real-time system monitoring dashboard with Netdata integration for OpenWrt
|
Description: Real-time system monitoring dashboard with Netdata integration for OpenWrt
|
||||||
Filename: luci-app-netdata-dashboard_0.5.0-r2_all.ipk
|
Filename: luci-app-netdata-dashboard_0.5.0-r2_all.ipk
|
||||||
Size: 20561
|
Size: 20558
|
||||||
|
|
||||||
Package: luci-app-network-anomaly
|
Package: luci-app-network-anomaly
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -556,7 +556,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI Network Anomaly Detection Dashboard
|
Description: LuCI Network Anomaly Detection Dashboard
|
||||||
Filename: luci-app-network-anomaly_1.0.0-r1_all.ipk
|
Filename: luci-app-network-anomaly_1.0.0-r1_all.ipk
|
||||||
Size: 7639
|
Size: 7646
|
||||||
|
|
||||||
Package: luci-app-network-modes
|
Package: luci-app-network-modes
|
||||||
Version: 0.5.0-r3
|
Version: 0.5.0-r3
|
||||||
@ -568,7 +568,7 @@ Architecture: all
|
|||||||
Installed-Size: 286720
|
Installed-Size: 286720
|
||||||
Description: Configure OpenWrt for different network modes: Sniffer, Access Point, Relay, Router
|
Description: Configure OpenWrt for different network modes: Sniffer, Access Point, Relay, Router
|
||||||
Filename: luci-app-network-modes_0.5.0-r3_all.ipk
|
Filename: luci-app-network-modes_0.5.0-r3_all.ipk
|
||||||
Size: 54227
|
Size: 54226
|
||||||
|
|
||||||
Package: luci-app-network-tweaks
|
Package: luci-app-network-tweaks
|
||||||
Version: 1.0.0-r7
|
Version: 1.0.0-r7
|
||||||
@ -580,7 +580,7 @@ Architecture: all
|
|||||||
Installed-Size: 81920
|
Installed-Size: 81920
|
||||||
Description: Unified network services dashboard with DNS/hosts sync, CDN cache control, and WPAD auto-proxy configuration
|
Description: Unified network services dashboard with DNS/hosts sync, CDN cache control, and WPAD auto-proxy configuration
|
||||||
Filename: luci-app-network-tweaks_1.0.0-r7_all.ipk
|
Filename: luci-app-network-tweaks_1.0.0-r7_all.ipk
|
||||||
Size: 15945
|
Size: 15944
|
||||||
|
|
||||||
Package: luci-app-nextcloud
|
Package: luci-app-nextcloud
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -592,7 +592,7 @@ Architecture: all
|
|||||||
Installed-Size: 51200
|
Installed-Size: 51200
|
||||||
Description: LuCI support for Nextcloud LXC
|
Description: LuCI support for Nextcloud LXC
|
||||||
Filename: luci-app-nextcloud_1.0.0-r1_all.ipk
|
Filename: luci-app-nextcloud_1.0.0-r1_all.ipk
|
||||||
Size: 10351
|
Size: 10348
|
||||||
|
|
||||||
Package: luci-app-ollama
|
Package: luci-app-ollama
|
||||||
Version: 0.1.0-r1
|
Version: 0.1.0-r1
|
||||||
@ -616,7 +616,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI PeerTube Video Platform
|
Description: LuCI PeerTube Video Platform
|
||||||
Filename: luci-app-peertube_0_all.ipk
|
Filename: luci-app-peertube_0_all.ipk
|
||||||
Size: 5757
|
Size: 5759
|
||||||
|
|
||||||
Package: luci-app-picobrew
|
Package: luci-app-picobrew
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -628,7 +628,7 @@ Architecture: all
|
|||||||
Installed-Size: 51200
|
Installed-Size: 51200
|
||||||
Description: Modern dashboard for PicoBrew Server management on OpenWrt
|
Description: Modern dashboard for PicoBrew Server management on OpenWrt
|
||||||
Filename: luci-app-picobrew_1.0.0-r1_all.ipk
|
Filename: luci-app-picobrew_1.0.0-r1_all.ipk
|
||||||
Size: 9535
|
Size: 9531
|
||||||
|
|
||||||
Package: luci-app-secubox
|
Package: luci-app-secubox
|
||||||
Version: 0.7.1-r4
|
Version: 0.7.1-r4
|
||||||
@ -640,7 +640,7 @@ Architecture: all
|
|||||||
Installed-Size: 440320
|
Installed-Size: 440320
|
||||||
Description: Central control hub for all SecuBox modules. Provides unified dashboard, module status, system health monitoring, and quick actions.
|
Description: Central control hub for all SecuBox modules. Provides unified dashboard, module status, system health monitoring, and quick actions.
|
||||||
Filename: luci-app-secubox_0.7.1-r4_all.ipk
|
Filename: luci-app-secubox_0.7.1-r4_all.ipk
|
||||||
Size: 82095
|
Size: 82097
|
||||||
|
|
||||||
Package: luci-app-secubox-admin
|
Package: luci-app-secubox-admin
|
||||||
Version: 1.0.0-r19
|
Version: 1.0.0-r19
|
||||||
@ -651,7 +651,7 @@ Architecture: all
|
|||||||
Installed-Size: 337920
|
Installed-Size: 337920
|
||||||
Description: Unified admin control center for SecuBox appstore plugins with system monitoring
|
Description: Unified admin control center for SecuBox appstore plugins with system monitoring
|
||||||
Filename: luci-app-secubox-admin_1.0.0-r19_all.ipk
|
Filename: luci-app-secubox-admin_1.0.0-r19_all.ipk
|
||||||
Size: 58041
|
Size: 58042
|
||||||
|
|
||||||
Package: luci-app-secubox-crowdsec
|
Package: luci-app-secubox-crowdsec
|
||||||
Version: 1.0.0-r3
|
Version: 1.0.0-r3
|
||||||
@ -663,7 +663,7 @@ Architecture: all
|
|||||||
Installed-Size: 81920
|
Installed-Size: 81920
|
||||||
Description: LuCI SecuBox CrowdSec Dashboard
|
Description: LuCI SecuBox CrowdSec Dashboard
|
||||||
Filename: luci-app-secubox-crowdsec_1.0.0-r3_all.ipk
|
Filename: luci-app-secubox-crowdsec_1.0.0-r3_all.ipk
|
||||||
Size: 13923
|
Size: 13919
|
||||||
|
|
||||||
Package: luci-app-secubox-mirror
|
Package: luci-app-secubox-mirror
|
||||||
Version: 0.1.0-r1
|
Version: 0.1.0-r1
|
||||||
@ -675,7 +675,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI MirrorNet Dashboard
|
Description: LuCI MirrorNet Dashboard
|
||||||
Filename: luci-app-secubox-mirror_0.1.0-r1_all.ipk
|
Filename: luci-app-secubox-mirror_0.1.0-r1_all.ipk
|
||||||
Size: 5847
|
Size: 5848
|
||||||
|
|
||||||
Package: luci-app-secubox-netdiag
|
Package: luci-app-secubox-netdiag
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -687,7 +687,7 @@ Architecture: all
|
|||||||
Installed-Size: 81920
|
Installed-Size: 81920
|
||||||
Description: Real-time DSA switch port statistics, error monitoring, and network health diagnostics
|
Description: Real-time DSA switch port statistics, error monitoring, and network health diagnostics
|
||||||
Filename: luci-app-secubox-netdiag_1.0.0-r1_all.ipk
|
Filename: luci-app-secubox-netdiag_1.0.0-r1_all.ipk
|
||||||
Size: 15346
|
Size: 15347
|
||||||
|
|
||||||
Package: luci-app-secubox-netifyd
|
Package: luci-app-secubox-netifyd
|
||||||
Version: 1.2.1-r1
|
Version: 1.2.1-r1
|
||||||
@ -699,7 +699,7 @@ Architecture: all
|
|||||||
Installed-Size: 194560
|
Installed-Size: 194560
|
||||||
Description: Complete LuCI interface for netifyd DPI engine with real-time flow monitoring, application detection, network analytics, and flow action plugins
|
Description: Complete LuCI interface for netifyd DPI engine with real-time flow monitoring, application detection, network analytics, and flow action plugins
|
||||||
Filename: luci-app-secubox-netifyd_1.2.1-r1_all.ipk
|
Filename: luci-app-secubox-netifyd_1.2.1-r1_all.ipk
|
||||||
Size: 36721
|
Size: 36720
|
||||||
|
|
||||||
Package: luci-app-secubox-p2p
|
Package: luci-app-secubox-p2p
|
||||||
Version: 0.1.0-r1
|
Version: 0.1.0-r1
|
||||||
@ -711,7 +711,7 @@ Architecture: all
|
|||||||
Installed-Size: 245760
|
Installed-Size: 245760
|
||||||
Description: LuCI SecuBox P2P Hub
|
Description: LuCI SecuBox P2P Hub
|
||||||
Filename: luci-app-secubox-p2p_0.1.0-r1_all.ipk
|
Filename: luci-app-secubox-p2p_0.1.0-r1_all.ipk
|
||||||
Size: 46833
|
Size: 46831
|
||||||
|
|
||||||
Package: luci-app-secubox-portal
|
Package: luci-app-secubox-portal
|
||||||
Version: 0.7.0-r3
|
Version: 0.7.0-r3
|
||||||
@ -723,7 +723,7 @@ Architecture: all
|
|||||||
Installed-Size: 194560
|
Installed-Size: 194560
|
||||||
Description: Unified entry point for all SecuBox applications with tabbed navigation
|
Description: Unified entry point for all SecuBox applications with tabbed navigation
|
||||||
Filename: luci-app-secubox-portal_0.7.0-r3_all.ipk
|
Filename: luci-app-secubox-portal_0.7.0-r3_all.ipk
|
||||||
Size: 41685
|
Size: 41686
|
||||||
|
|
||||||
Package: luci-app-secubox-security-threats
|
Package: luci-app-secubox-security-threats
|
||||||
Version: 1.0.0-r4
|
Version: 1.0.0-r4
|
||||||
@ -735,7 +735,7 @@ Architecture: all
|
|||||||
Installed-Size: 61440
|
Installed-Size: 61440
|
||||||
Description: Unified dashboard integrating netifyd DPI threats with CrowdSec intelligence for real-time threat monitoring and automated blocking
|
Description: Unified dashboard integrating netifyd DPI threats with CrowdSec intelligence for real-time threat monitoring and automated blocking
|
||||||
Filename: luci-app-secubox-security-threats_1.0.0-r4_all.ipk
|
Filename: luci-app-secubox-security-threats_1.0.0-r4_all.ipk
|
||||||
Size: 10658
|
Size: 10657
|
||||||
|
|
||||||
Package: luci-app-secubox-users
|
Package: luci-app-secubox-users
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -746,7 +746,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI SecuBox User Management
|
Description: LuCI SecuBox User Management
|
||||||
Filename: luci-app-secubox-users_1.0.0-r1_all.ipk
|
Filename: luci-app-secubox-users_1.0.0-r1_all.ipk
|
||||||
Size: 5148
|
Size: 5146
|
||||||
|
|
||||||
Package: luci-app-service-registry
|
Package: luci-app-service-registry
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -758,7 +758,7 @@ Architecture: all
|
|||||||
Installed-Size: 194560
|
Installed-Size: 194560
|
||||||
Description: Unified service aggregation with HAProxy vhosts, Tor hidden services, and QR-coded landing page
|
Description: Unified service aggregation with HAProxy vhosts, Tor hidden services, and QR-coded landing page
|
||||||
Filename: luci-app-service-registry_1.0.0-r1_all.ipk
|
Filename: luci-app-service-registry_1.0.0-r1_all.ipk
|
||||||
Size: 39954
|
Size: 39953
|
||||||
|
|
||||||
Package: luci-app-simplex
|
Package: luci-app-simplex
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -770,7 +770,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI SimpleX Chat Server Configuration
|
Description: LuCI SimpleX Chat Server Configuration
|
||||||
Filename: luci-app-simplex_1.0.0-r1_all.ipk
|
Filename: luci-app-simplex_1.0.0-r1_all.ipk
|
||||||
Size: 7027
|
Size: 7037
|
||||||
|
|
||||||
Package: luci-app-streamlit
|
Package: luci-app-streamlit
|
||||||
Version: 1.0.0-r11
|
Version: 1.0.0-r11
|
||||||
@ -782,7 +782,7 @@ Architecture: all
|
|||||||
Installed-Size: 112640
|
Installed-Size: 112640
|
||||||
Description: Multi-instance Streamlit management with Gitea integration
|
Description: Multi-instance Streamlit management with Gitea integration
|
||||||
Filename: luci-app-streamlit_1.0.0-r11_all.ipk
|
Filename: luci-app-streamlit_1.0.0-r11_all.ipk
|
||||||
Size: 20567
|
Size: 20568
|
||||||
|
|
||||||
Package: luci-app-system-hub
|
Package: luci-app-system-hub
|
||||||
Version: 0.5.2-r2
|
Version: 0.5.2-r2
|
||||||
@ -794,7 +794,7 @@ Architecture: all
|
|||||||
Installed-Size: 327680
|
Installed-Size: 327680
|
||||||
Description: Central system control with monitoring, services, logs, and backup
|
Description: Central system control with monitoring, services, logs, and backup
|
||||||
Filename: luci-app-system-hub_0.5.2-r2_all.ipk
|
Filename: luci-app-system-hub_0.5.2-r2_all.ipk
|
||||||
Size: 64288
|
Size: 64291
|
||||||
|
|
||||||
Package: luci-app-threat-analyst
|
Package: luci-app-threat-analyst
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -806,7 +806,7 @@ Architecture: all
|
|||||||
Installed-Size: 51200
|
Installed-Size: 51200
|
||||||
Description: LuCI Threat Analyst Dashboard
|
Description: LuCI Threat Analyst Dashboard
|
||||||
Filename: luci-app-threat-analyst_1.0.0-r1_all.ipk
|
Filename: luci-app-threat-analyst_1.0.0-r1_all.ipk
|
||||||
Size: 10140
|
Size: 10141
|
||||||
|
|
||||||
Package: luci-app-tor
|
Package: luci-app-tor
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -818,7 +818,7 @@ Architecture: all
|
|||||||
Installed-Size: 92160
|
Installed-Size: 92160
|
||||||
Description: Modern dashboard for Tor anonymization on OpenWrt
|
Description: Modern dashboard for Tor anonymization on OpenWrt
|
||||||
Filename: luci-app-tor_1.0.0-r1_all.ipk
|
Filename: luci-app-tor_1.0.0-r1_all.ipk
|
||||||
Size: 17816
|
Size: 17818
|
||||||
|
|
||||||
Package: luci-app-tor-shield
|
Package: luci-app-tor-shield
|
||||||
Version: 1.0.0-r10
|
Version: 1.0.0-r10
|
||||||
@ -830,7 +830,7 @@ Architecture: all
|
|||||||
Installed-Size: 122880
|
Installed-Size: 122880
|
||||||
Description: Modern dashboard for Tor anonymization on OpenWrt
|
Description: Modern dashboard for Tor anonymization on OpenWrt
|
||||||
Filename: luci-app-tor-shield_1.0.0-r10_all.ipk
|
Filename: luci-app-tor-shield_1.0.0-r10_all.ipk
|
||||||
Size: 22765
|
Size: 22767
|
||||||
|
|
||||||
Package: luci-app-traffic-shaper
|
Package: luci-app-traffic-shaper
|
||||||
Version: 0.4.0-r2
|
Version: 0.4.0-r2
|
||||||
@ -842,7 +842,7 @@ Architecture: all
|
|||||||
Installed-Size: 81920
|
Installed-Size: 81920
|
||||||
Description: Advanced traffic shaping with TC/CAKE for precise bandwidth control
|
Description: Advanced traffic shaping with TC/CAKE for precise bandwidth control
|
||||||
Filename: luci-app-traffic-shaper_0.4.0-r2_all.ipk
|
Filename: luci-app-traffic-shaper_0.4.0-r2_all.ipk
|
||||||
Size: 14585
|
Size: 14591
|
||||||
|
|
||||||
Package: luci-app-vhost-manager
|
Package: luci-app-vhost-manager
|
||||||
Version: 0.5.0-r5
|
Version: 0.5.0-r5
|
||||||
@ -854,7 +854,7 @@ Architecture: all
|
|||||||
Installed-Size: 153600
|
Installed-Size: 153600
|
||||||
Description: Nginx reverse proxy manager with Let's Encrypt SSL certificates, authentication, and WebSocket support
|
Description: Nginx reverse proxy manager with Let's Encrypt SSL certificates, authentication, and WebSocket support
|
||||||
Filename: luci-app-vhost-manager_0.5.0-r5_all.ipk
|
Filename: luci-app-vhost-manager_0.5.0-r5_all.ipk
|
||||||
Size: 26281
|
Size: 26283
|
||||||
|
|
||||||
Package: luci-app-voip
|
Package: luci-app-voip
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -866,7 +866,7 @@ Architecture: all
|
|||||||
Installed-Size: 81920
|
Installed-Size: 81920
|
||||||
Description: LuCI VoIP PBX Management
|
Description: LuCI VoIP PBX Management
|
||||||
Filename: luci-app-voip_1.0.0-r1_all.ipk
|
Filename: luci-app-voip_1.0.0-r1_all.ipk
|
||||||
Size: 11040
|
Size: 11043
|
||||||
|
|
||||||
Package: luci-app-vortex-dns
|
Package: luci-app-vortex-dns
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -878,7 +878,7 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: LuCI Vortex DNS Dashboard
|
Description: LuCI Vortex DNS Dashboard
|
||||||
Filename: luci-app-vortex-dns_1.0.0-r1_all.ipk
|
Filename: luci-app-vortex-dns_1.0.0-r1_all.ipk
|
||||||
Size: 6078
|
Size: 6072
|
||||||
|
|
||||||
Package: luci-app-vortex-firewall
|
Package: luci-app-vortex-firewall
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -890,7 +890,7 @@ Architecture: all
|
|||||||
Installed-Size: 30720
|
Installed-Size: 30720
|
||||||
Description: LuCI Vortex DNS Firewall Dashboard
|
Description: LuCI Vortex DNS Firewall Dashboard
|
||||||
Filename: luci-app-vortex-firewall_1.0.0-r1_all.ipk
|
Filename: luci-app-vortex-firewall_1.0.0-r1_all.ipk
|
||||||
Size: 5453
|
Size: 5455
|
||||||
|
|
||||||
Package: luci-app-wazuh
|
Package: luci-app-wazuh
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -901,7 +901,7 @@ Architecture: all
|
|||||||
Installed-Size: 71680
|
Installed-Size: 71680
|
||||||
Description: Unified security monitoring dashboard for Wazuh SIEM/XDR integration
|
Description: Unified security monitoring dashboard for Wazuh SIEM/XDR integration
|
||||||
Filename: luci-app-wazuh_1.0.0-r1_all.ipk
|
Filename: luci-app-wazuh_1.0.0-r1_all.ipk
|
||||||
Size: 11069
|
Size: 11072
|
||||||
|
|
||||||
Package: luci-app-wireguard-dashboard
|
Package: luci-app-wireguard-dashboard
|
||||||
Version: 0.7.0-r5
|
Version: 0.7.0-r5
|
||||||
@ -913,7 +913,7 @@ Architecture: all
|
|||||||
Installed-Size: 215040
|
Installed-Size: 215040
|
||||||
Description: Modern dashboard for WireGuard VPN monitoring on OpenWrt
|
Description: Modern dashboard for WireGuard VPN monitoring on OpenWrt
|
||||||
Filename: luci-app-wireguard-dashboard_0.7.0-r5_all.ipk
|
Filename: luci-app-wireguard-dashboard_0.7.0-r5_all.ipk
|
||||||
Size: 42286
|
Size: 42288
|
||||||
|
|
||||||
Package: luci-app-zigbee2mqtt
|
Package: luci-app-zigbee2mqtt
|
||||||
Version: 1.0.0-r2
|
Version: 1.0.0-r2
|
||||||
@ -925,19 +925,19 @@ Architecture: all
|
|||||||
Installed-Size: 40960
|
Installed-Size: 40960
|
||||||
Description: Graphical interface for managing the Zigbee2MQTT LXC application.
|
Description: Graphical interface for managing the Zigbee2MQTT LXC application.
|
||||||
Filename: luci-app-zigbee2mqtt_1.0.0-r2_all.ipk
|
Filename: luci-app-zigbee2mqtt_1.0.0-r2_all.ipk
|
||||||
Size: 6592
|
Size: 6594
|
||||||
|
|
||||||
Package: luci-theme-secubox
|
Package: luci-theme-secubox
|
||||||
Version: 0.4.7-r1
|
Version: 0.4.8-r1
|
||||||
Depends: luci-base
|
Depends: luci-base
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Section: luci
|
Section: luci
|
||||||
Maintainer: OpenWrt LuCI community
|
Maintainer: OpenWrt LuCI community
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Installed-Size: 450560
|
Installed-Size: 491520
|
||||||
Description: Global CyberMood design system (CSS/JS/i18n) shared by all SecuBox dashboards.
|
Description: Global CyberMood design system (CSS/JS/i18n) shared by all SecuBox dashboards.
|
||||||
Filename: luci-theme-secubox_0.4.7-r1_all.ipk
|
Filename: luci-theme-secubox_0.4.8-r1_all.ipk
|
||||||
Size: 110239
|
Size: 121591
|
||||||
|
|
||||||
Package: secubox-app
|
Package: secubox-app
|
||||||
Version: 1.0.0-r2
|
Version: 1.0.0-r2
|
||||||
@ -948,7 +948,7 @@ Installed-Size: 92160
|
|||||||
Description: Command line helper for SecuBox App Store manifests. Installs /usr/sbin/secubox-app
|
Description: Command line helper for SecuBox App Store manifests. Installs /usr/sbin/secubox-app
|
||||||
and ships the default manifests under /usr/share/secubox/plugins/.
|
and ships the default manifests under /usr/share/secubox/plugins/.
|
||||||
Filename: secubox-app_1.0.0-r2_all.ipk
|
Filename: secubox-app_1.0.0-r2_all.ipk
|
||||||
Size: 11186
|
Size: 11183
|
||||||
|
|
||||||
Package: secubox-app-adguardhome
|
Package: secubox-app-adguardhome
|
||||||
Version: 1.0.0-r2
|
Version: 1.0.0-r2
|
||||||
@ -962,7 +962,7 @@ Description: Installer, configuration, and service manager for running AdGuard
|
|||||||
inside Docker on SecuBox-powered OpenWrt systems. Network-wide ad blocker
|
inside Docker on SecuBox-powered OpenWrt systems. Network-wide ad blocker
|
||||||
with DNS-over-HTTPS/TLS support and detailed analytics.
|
with DNS-over-HTTPS/TLS support and detailed analytics.
|
||||||
Filename: secubox-app-adguardhome_1.0.0-r2_all.ipk
|
Filename: secubox-app-adguardhome_1.0.0-r2_all.ipk
|
||||||
Size: 2877
|
Size: 2883
|
||||||
|
|
||||||
Package: secubox-app-auth-logger
|
Package: secubox-app-auth-logger
|
||||||
Version: 1.2.2-r1
|
Version: 1.2.2-r1
|
||||||
@ -980,7 +980,7 @@ Description: Logs authentication failures from LuCI/rpcd and Dropbear SSH
|
|||||||
- JavaScript hook to intercept login failures
|
- JavaScript hook to intercept login failures
|
||||||
- CrowdSec parser and bruteforce scenario
|
- CrowdSec parser and bruteforce scenario
|
||||||
Filename: secubox-app-auth-logger_1.2.2-r1_all.ipk
|
Filename: secubox-app-auth-logger_1.2.2-r1_all.ipk
|
||||||
Size: 9375
|
Size: 9379
|
||||||
|
|
||||||
Package: secubox-app-crowdsec-custom
|
Package: secubox-app-crowdsec-custom
|
||||||
Version: 1.1.0-r1
|
Version: 1.1.0-r1
|
||||||
@ -1005,7 +1005,7 @@ Description: Custom CrowdSec configurations for SecuBox web interface protectio
|
|||||||
- Insider WAF: LAN threat detection (C2, exfiltration, lateral movement)
|
- Insider WAF: LAN threat detection (C2, exfiltration, lateral movement)
|
||||||
- Whitelist for trusted networks
|
- Whitelist for trusted networks
|
||||||
Filename: secubox-app-crowdsec-custom_1.1.0-r1_all.ipk
|
Filename: secubox-app-crowdsec-custom_1.1.0-r1_all.ipk
|
||||||
Size: 6940
|
Size: 6944
|
||||||
|
|
||||||
Package: secubox-app-cs-firewall-bouncer
|
Package: secubox-app-cs-firewall-bouncer
|
||||||
Version: 0.0.31-r4
|
Version: 0.0.31-r4
|
||||||
@ -1032,7 +1032,7 @@ Description: SecuBox CrowdSec Firewall Bouncer for OpenWrt.
|
|||||||
- Automatic restart on firewall reload
|
- Automatic restart on firewall reload
|
||||||
- procd service management
|
- procd service management
|
||||||
Filename: secubox-app-cs-firewall-bouncer_0.0.31-r4_aarch64_cortex-a72.ipk
|
Filename: secubox-app-cs-firewall-bouncer_0.0.31-r4_aarch64_cortex-a72.ipk
|
||||||
Size: 5049321
|
Size: 5049325
|
||||||
|
|
||||||
Package: secubox-app-cyberfeed
|
Package: secubox-app-cyberfeed
|
||||||
Version: 0.2.1-r1
|
Version: 0.2.1-r1
|
||||||
@ -1046,7 +1046,7 @@ Description: Cyberpunk-themed RSS feed aggregator for OpenWrt/SecuBox.
|
|||||||
Features emoji injection, neon styling, and RSS-Bridge support
|
Features emoji injection, neon styling, and RSS-Bridge support
|
||||||
for social media feeds (Facebook, Twitter, Mastodon).
|
for social media feeds (Facebook, Twitter, Mastodon).
|
||||||
Filename: secubox-app-cyberfeed_0.2.1-r1_all.ipk
|
Filename: secubox-app-cyberfeed_0.2.1-r1_all.ipk
|
||||||
Size: 12452
|
Size: 12456
|
||||||
|
|
||||||
Package: secubox-app-device-intel
|
Package: secubox-app-device-intel
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1060,7 +1060,7 @@ Description: Unified device inventory aggregating mac-guardian, client-guardian
|
|||||||
P2P mesh, and exposure scanner data. Includes heuristic classification
|
P2P mesh, and exposure scanner data. Includes heuristic classification
|
||||||
and pluggable emulator modules for MQTT, Zigbee, and USB devices.
|
and pluggable emulator modules for MQTT, Zigbee, and USB devices.
|
||||||
Filename: secubox-app-device-intel_1.0.0-r1_all.ipk
|
Filename: secubox-app-device-intel_1.0.0-r1_all.ipk
|
||||||
Size: 13100
|
Size: 13109
|
||||||
|
|
||||||
Package: secubox-app-dns-provider
|
Package: secubox-app-dns-provider
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1074,7 +1074,7 @@ Description: Programmatic DNS record management via provider APIs (OVH, Gandi
|
|||||||
Cloudflare). Provides the dnsctl CLI for record CRUD, zone sync
|
Cloudflare). Provides the dnsctl CLI for record CRUD, zone sync
|
||||||
DNS propagation verification, and ACME DNS-01 challenge support.
|
DNS propagation verification, and ACME DNS-01 challenge support.
|
||||||
Filename: secubox-app-dns-provider_1.0.0-r1_all.ipk
|
Filename: secubox-app-dns-provider_1.0.0-r1_all.ipk
|
||||||
Size: 8259
|
Size: 8260
|
||||||
|
|
||||||
Package: secubox-app-domoticz
|
Package: secubox-app-domoticz
|
||||||
Version: 1.0.0-r4
|
Version: 1.0.0-r4
|
||||||
@ -1102,7 +1102,7 @@ Description: Unified service exposure manager for SecuBox.
|
|||||||
- Dynamic Tor hidden service management
|
- Dynamic Tor hidden service management
|
||||||
- HAProxy SSL reverse proxy configuration
|
- HAProxy SSL reverse proxy configuration
|
||||||
Filename: secubox-app-exposure_1.0.0-r1_all.ipk
|
Filename: secubox-app-exposure_1.0.0-r1_all.ipk
|
||||||
Size: 9147
|
Size: 9154
|
||||||
|
|
||||||
Package: secubox-app-gitea
|
Package: secubox-app-gitea
|
||||||
Version: 1.0.0-r5
|
Version: 1.0.0-r5
|
||||||
@ -1125,7 +1125,7 @@ Description: Gitea Git Platform - Self-hosted lightweight Git service
|
|||||||
Runs in LXC container with Alpine Linux.
|
Runs in LXC container with Alpine Linux.
|
||||||
Configure in /etc/config/gitea.
|
Configure in /etc/config/gitea.
|
||||||
Filename: secubox-app-gitea_1.0.0-r5_all.ipk
|
Filename: secubox-app-gitea_1.0.0-r5_all.ipk
|
||||||
Size: 9441
|
Size: 9442
|
||||||
|
|
||||||
Package: secubox-app-gk2hub
|
Package: secubox-app-gk2hub
|
||||||
Version: 0.1.0-r1
|
Version: 0.1.0-r1
|
||||||
@ -1139,7 +1139,7 @@ Description: Dynamic landing page generator for GK2 SecuBox services.
|
|||||||
Aggregates Streamlit apps, MetaBlogizer sites, and infrastructure
|
Aggregates Streamlit apps, MetaBlogizer sites, and infrastructure
|
||||||
services into a single service directory page.
|
services into a single service directory page.
|
||||||
Filename: secubox-app-gk2hub_0.1.0-r1_all.ipk
|
Filename: secubox-app-gk2hub_0.1.0-r1_all.ipk
|
||||||
Size: 4057
|
Size: 4061
|
||||||
|
|
||||||
Package: secubox-app-glances
|
Package: secubox-app-glances
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1162,7 +1162,7 @@ Description: Glances - Cross-platform system monitoring tool for SecuBox.
|
|||||||
Runs in LXC container for isolation and security.
|
Runs in LXC container for isolation and security.
|
||||||
Configure in /etc/config/glances.
|
Configure in /etc/config/glances.
|
||||||
Filename: secubox-app-glances_1.0.0-r1_all.ipk
|
Filename: secubox-app-glances_1.0.0-r1_all.ipk
|
||||||
Size: 6142
|
Size: 6139
|
||||||
|
|
||||||
Package: secubox-app-guacamole
|
Package: secubox-app-guacamole
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1176,7 +1176,7 @@ Description: Apache Guacamole clientless remote desktop gateway.
|
|||||||
Runs in an LXC Debian container with guacd and Tomcat.
|
Runs in an LXC Debian container with guacd and Tomcat.
|
||||||
Supports SSH, VNC, and RDP connections via web browser.
|
Supports SSH, VNC, and RDP connections via web browser.
|
||||||
Filename: secubox-app-guacamole_1.0.0-r1_all.ipk
|
Filename: secubox-app-guacamole_1.0.0-r1_all.ipk
|
||||||
Size: 6941
|
Size: 6945
|
||||||
|
|
||||||
Package: secubox-app-haproxy
|
Package: secubox-app-haproxy
|
||||||
Version: 1.0.0-r24
|
Version: 1.0.0-r24
|
||||||
@ -1196,7 +1196,7 @@ Description: HAProxy load balancer and reverse proxy running in an LXC containe
|
|||||||
- Stats dashboard
|
- Stats dashboard
|
||||||
- Rate limiting and ACLs
|
- Rate limiting and ACLs
|
||||||
Filename: secubox-app-haproxy_1.0.0-r24_all.ipk
|
Filename: secubox-app-haproxy_1.0.0-r24_all.ipk
|
||||||
Size: 22008
|
Size: 22010
|
||||||
|
|
||||||
Package: secubox-app-hexojs
|
Package: secubox-app-hexojs
|
||||||
Version: 1.0.0-r8
|
Version: 1.0.0-r8
|
||||||
@ -1220,7 +1220,7 @@ Description: Hexo CMS - Self-hosted static blog generator for OpenWrt
|
|||||||
Runs in LXC container with Alpine Linux.
|
Runs in LXC container with Alpine Linux.
|
||||||
Configure in /etc/config/hexojs.
|
Configure in /etc/config/hexojs.
|
||||||
Filename: secubox-app-hexojs_1.0.0-r8_all.ipk
|
Filename: secubox-app-hexojs_1.0.0-r8_all.ipk
|
||||||
Size: 100061
|
Size: 100062
|
||||||
|
|
||||||
Package: secubox-app-ipblocklist
|
Package: secubox-app-ipblocklist
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1235,7 +1235,7 @@ Description: Pre-emptive IP blocklist defense layer for SecuBox.
|
|||||||
Maintainer: Gandalf <gandalf@cybermind.fr>
|
Maintainer: Gandalf <gandalf@cybermind.fr>
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Filename: secubox-app-ipblocklist_1.0.0-r1_all.ipk
|
Filename: secubox-app-ipblocklist_1.0.0-r1_all.ipk
|
||||||
Size: 4698
|
Size: 4697
|
||||||
|
|
||||||
Package: secubox-app-jabber
|
Package: secubox-app-jabber
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1249,7 +1249,7 @@ Description: Jabber/XMPP instant messaging server based on Prosody.
|
|||||||
Runs in an LXC Debian container with full XMPP support.
|
Runs in an LXC Debian container with full XMPP support.
|
||||||
Features multi-user chat (MUC), file uploads, and S2S federation.
|
Features multi-user chat (MUC), file uploads, and S2S federation.
|
||||||
Filename: secubox-app-jabber_1.0.0-r1_all.ipk
|
Filename: secubox-app-jabber_1.0.0-r1_all.ipk
|
||||||
Size: 13276
|
Size: 13278
|
||||||
|
|
||||||
Package: secubox-app-jellyfin
|
Package: secubox-app-jellyfin
|
||||||
Version: 3.0.0-r1
|
Version: 3.0.0-r1
|
||||||
@ -1262,7 +1262,7 @@ Installed-Size: 20480
|
|||||||
Description: Jellyfin media server running in LXC container.
|
Description: Jellyfin media server running in LXC container.
|
||||||
Free media server for streaming movies, TV shows, music, and photos.
|
Free media server for streaming movies, TV shows, music, and photos.
|
||||||
Filename: secubox-app-jellyfin_3.0.0-r1_all.ipk
|
Filename: secubox-app-jellyfin_3.0.0-r1_all.ipk
|
||||||
Size: 4746
|
Size: 4753
|
||||||
|
|
||||||
Package: secubox-app-jitsi
|
Package: secubox-app-jitsi
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1287,7 +1287,7 @@ Description: Jitsi Meet - Secure, fully featured video conferencing for SecuBox
|
|||||||
Integrates with HAProxy for SSL termination.
|
Integrates with HAProxy for SSL termination.
|
||||||
Configure in /etc/config/jitsi.
|
Configure in /etc/config/jitsi.
|
||||||
Filename: secubox-app-jitsi_1.0.0-r1_all.ipk
|
Filename: secubox-app-jitsi_1.0.0-r1_all.ipk
|
||||||
Size: 8921
|
Size: 8925
|
||||||
|
|
||||||
Package: secubox-app-localai
|
Package: secubox-app-localai
|
||||||
Version: 3.9.0-r1
|
Version: 3.9.0-r1
|
||||||
@ -1309,7 +1309,7 @@ Description: LocalAI native binary package for OpenWrt.
|
|||||||
|
|
||||||
API: http://<router-ip>:8081/v1
|
API: http://<router-ip>:8081/v1
|
||||||
Filename: secubox-app-localai_3.9.0-r1_all.ipk
|
Filename: secubox-app-localai_3.9.0-r1_all.ipk
|
||||||
Size: 5838
|
Size: 5845
|
||||||
|
|
||||||
Package: secubox-app-localai-wb
|
Package: secubox-app-localai-wb
|
||||||
Version: 2.25.0-r1
|
Version: 2.25.0-r1
|
||||||
@ -1333,7 +1333,7 @@ Description: LocalAI native binary package for OpenWrt.
|
|||||||
|
|
||||||
API: http://<router-ip>:8080/v1
|
API: http://<router-ip>:8080/v1
|
||||||
Filename: secubox-app-localai-wb_2.25.0-r1_all.ipk
|
Filename: secubox-app-localai-wb_2.25.0-r1_all.ipk
|
||||||
Size: 7947
|
Size: 7949
|
||||||
|
|
||||||
Package: secubox-app-lyrion
|
Package: secubox-app-lyrion
|
||||||
Version: 2.0.2-r1
|
Version: 2.0.2-r1
|
||||||
@ -1353,7 +1353,7 @@ Description: Lyrion Media Server (formerly Logitech Media Server / Squeezebox S
|
|||||||
Auto-detects available runtime, preferring LXC for lower resource usage.
|
Auto-detects available runtime, preferring LXC for lower resource usage.
|
||||||
Configure runtime in /etc/config/lyrion.
|
Configure runtime in /etc/config/lyrion.
|
||||||
Filename: secubox-app-lyrion_2.0.2-r1_all.ipk
|
Filename: secubox-app-lyrion_2.0.2-r1_all.ipk
|
||||||
Size: 8122
|
Size: 8130
|
||||||
|
|
||||||
Package: secubox-app-mac-guardian
|
Package: secubox-app-mac-guardian
|
||||||
Version: 0.5.0-r1
|
Version: 0.5.0-r1
|
||||||
@ -1368,7 +1368,7 @@ Description: WiFi MAC address security monitor for SecuBox.
|
|||||||
and spoofing. Integrates with CrowdSec and provides
|
and spoofing. Integrates with CrowdSec and provides
|
||||||
real-time hostapd hotplug detection.
|
real-time hostapd hotplug detection.
|
||||||
Filename: secubox-app-mac-guardian_0.5.0-r1_all.ipk
|
Filename: secubox-app-mac-guardian_0.5.0-r1_all.ipk
|
||||||
Size: 12096
|
Size: 12098
|
||||||
|
|
||||||
Package: secubox-app-magicmirror2
|
Package: secubox-app-magicmirror2
|
||||||
Version: 0.4.0-r8
|
Version: 0.4.0-r8
|
||||||
@ -1390,7 +1390,7 @@ Description: MagicMirror² - Open source modular smart mirror platform for Secu
|
|||||||
Runs in LXC container for isolation and security.
|
Runs in LXC container for isolation and security.
|
||||||
Configure in /etc/config/magicmirror2.
|
Configure in /etc/config/magicmirror2.
|
||||||
Filename: secubox-app-magicmirror2_0.4.0-r8_all.ipk
|
Filename: secubox-app-magicmirror2_0.4.0-r8_all.ipk
|
||||||
Size: 9248
|
Size: 9249
|
||||||
|
|
||||||
Package: secubox-app-mailinabox
|
Package: secubox-app-mailinabox
|
||||||
Version: 2.0.0-r1
|
Version: 2.0.0-r1
|
||||||
@ -1428,7 +1428,7 @@ Installed-Size: 20480
|
|||||||
Description: Postfix + Dovecot mail server running in LXC container.
|
Description: Postfix + Dovecot mail server running in LXC container.
|
||||||
Supports IMAP/SMTP with SSL/TLS.
|
Supports IMAP/SMTP with SSL/TLS.
|
||||||
Filename: secubox-app-mailserver_2.0.0-r1_all.ipk
|
Filename: secubox-app-mailserver_2.0.0-r1_all.ipk
|
||||||
Size: 5694
|
Size: 5700
|
||||||
|
|
||||||
Package: secubox-app-matrix
|
Package: secubox-app-matrix
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1442,7 +1442,7 @@ Description: Matrix homeserver based on Conduit - a lightweight, high-performan
|
|||||||
Matrix server written in Rust. Runs in an LXC Debian container.
|
Matrix server written in Rust. Runs in an LXC Debian container.
|
||||||
Features E2EE messaging, federation, and mesh integration.
|
Features E2EE messaging, federation, and mesh integration.
|
||||||
Filename: secubox-app-matrix_1.0.0-r1_all.ipk
|
Filename: secubox-app-matrix_1.0.0-r1_all.ipk
|
||||||
Size: 10453
|
Size: 10448
|
||||||
|
|
||||||
Package: secubox-app-metabolizer
|
Package: secubox-app-metabolizer
|
||||||
Version: 1.0.0-r3
|
Version: 1.0.0-r3
|
||||||
@ -1463,7 +1463,7 @@ Description: Metabolizer Blog Pipeline - Integrated CMS with Git-based workflow
|
|||||||
|
|
||||||
Pipeline: Edit in Streamlit -> Push to Gitea -> Build with Hexo -> Publish
|
Pipeline: Edit in Streamlit -> Push to Gitea -> Build with Hexo -> Publish
|
||||||
Filename: secubox-app-metabolizer_1.0.0-r3_all.ipk
|
Filename: secubox-app-metabolizer_1.0.0-r3_all.ipk
|
||||||
Size: 13976
|
Size: 13983
|
||||||
|
|
||||||
Package: secubox-app-mitmproxy
|
Package: secubox-app-mitmproxy
|
||||||
Version: 0.5.0-r19
|
Version: 0.5.0-r19
|
||||||
@ -1490,7 +1490,7 @@ Description: mitmproxy - Interactive HTTPS proxy for SecuBox-powered OpenWrt sy
|
|||||||
Runs in LXC container for isolation and security.
|
Runs in LXC container for isolation and security.
|
||||||
Configure in /etc/config/mitmproxy.
|
Configure in /etc/config/mitmproxy.
|
||||||
Filename: secubox-app-mitmproxy_0.5.0-r19_all.ipk
|
Filename: secubox-app-mitmproxy_0.5.0-r19_all.ipk
|
||||||
Size: 22957
|
Size: 22952
|
||||||
|
|
||||||
Package: secubox-app-mmpm
|
Package: secubox-app-mmpm
|
||||||
Version: 0.2.0-r5
|
Version: 0.2.0-r5
|
||||||
@ -1511,7 +1511,7 @@ Description: MMPM (MagicMirror Package Manager) for SecuBox.
|
|||||||
|
|
||||||
Runs inside the MagicMirror2 LXC container.
|
Runs inside the MagicMirror2 LXC container.
|
||||||
Filename: secubox-app-mmpm_0.2.0-r5_all.ipk
|
Filename: secubox-app-mmpm_0.2.0-r5_all.ipk
|
||||||
Size: 3975
|
Size: 3976
|
||||||
|
|
||||||
Package: secubox-app-nextcloud
|
Package: secubox-app-nextcloud
|
||||||
Version: 1.0.0-r2
|
Version: 1.0.0-r2
|
||||||
@ -1525,7 +1525,7 @@ Description: Nextcloud file sync and collaboration platform running in a Debian
|
|||||||
LXC container with MariaDB, Redis, and Nginx. Features HAProxy SSL
|
LXC container with MariaDB, Redis, and Nginx. Features HAProxy SSL
|
||||||
integration, automated backups, and KISS LuCI dashboard.
|
integration, automated backups, and KISS LuCI dashboard.
|
||||||
Filename: secubox-app-nextcloud_1.0.0-r2_all.ipk
|
Filename: secubox-app-nextcloud_1.0.0-r2_all.ipk
|
||||||
Size: 9671
|
Size: 9675
|
||||||
|
|
||||||
Package: secubox-app-ollama
|
Package: secubox-app-ollama
|
||||||
Version: 0.1.0-r1
|
Version: 0.1.0-r1
|
||||||
@ -1547,7 +1547,7 @@ Description: Ollama - Simple local LLM runtime for SecuBox-powered OpenWrt syst
|
|||||||
Runs in Docker/Podman container.
|
Runs in Docker/Podman container.
|
||||||
Configure in /etc/config/ollama.
|
Configure in /etc/config/ollama.
|
||||||
Filename: secubox-app-ollama_0.1.0-r1_all.ipk
|
Filename: secubox-app-ollama_0.1.0-r1_all.ipk
|
||||||
Size: 5731
|
Size: 5738
|
||||||
|
|
||||||
Package: secubox-app-picobrew
|
Package: secubox-app-picobrew
|
||||||
Version: 1.0.0-r7
|
Version: 1.0.0-r7
|
||||||
@ -1569,7 +1569,7 @@ Description: PicoBrew Server - Self-hosted brewing controller for PicoBrew devi
|
|||||||
Runs in LXC container with Python/Flask backend.
|
Runs in LXC container with Python/Flask backend.
|
||||||
Configure in /etc/config/picobrew.
|
Configure in /etc/config/picobrew.
|
||||||
Filename: secubox-app-picobrew_1.0.0-r7_all.ipk
|
Filename: secubox-app-picobrew_1.0.0-r7_all.ipk
|
||||||
Size: 5543
|
Size: 5533
|
||||||
|
|
||||||
Package: secubox-app-rustdesk
|
Package: secubox-app-rustdesk
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1582,7 +1582,7 @@ Installed-Size: 20480
|
|||||||
Description: Self-hosted RustDesk relay server for remote desktop access.
|
Description: Self-hosted RustDesk relay server for remote desktop access.
|
||||||
Downloads and manages hbbs (ID server) and hbbr (relay server) binaries.
|
Downloads and manages hbbs (ID server) and hbbr (relay server) binaries.
|
||||||
Filename: secubox-app-rustdesk_1.0.0-r1_all.ipk
|
Filename: secubox-app-rustdesk_1.0.0-r1_all.ipk
|
||||||
Size: 4466
|
Size: 4465
|
||||||
|
|
||||||
Package: secubox-app-simplex
|
Package: secubox-app-simplex
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1606,7 +1606,7 @@ Description: SimpleX Chat self-hosted messaging infrastructure for SecuBox.
|
|||||||
Privacy-first messaging relay that you control.
|
Privacy-first messaging relay that you control.
|
||||||
Configure in /etc/config/simplex.
|
Configure in /etc/config/simplex.
|
||||||
Filename: secubox-app-simplex_1.0.0-r1_all.ipk
|
Filename: secubox-app-simplex_1.0.0-r1_all.ipk
|
||||||
Size: 9367
|
Size: 9368
|
||||||
|
|
||||||
Package: secubox-app-smbfs
|
Package: secubox-app-smbfs
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1620,7 +1620,7 @@ Description: SMB/CIFS remote directory mount manager for SecuBox. Manages share
|
|||||||
network mounts for media servers (Jellyfin, Lyrion), backups, and
|
network mounts for media servers (Jellyfin, Lyrion), backups, and
|
||||||
general-purpose remote storage over SMB/CIFS protocol.
|
general-purpose remote storage over SMB/CIFS protocol.
|
||||||
Filename: secubox-app-smbfs_1.0.0-r1_all.ipk
|
Filename: secubox-app-smbfs_1.0.0-r1_all.ipk
|
||||||
Size: 5268
|
Size: 5253
|
||||||
|
|
||||||
Package: secubox-app-streamlit
|
Package: secubox-app-streamlit
|
||||||
Version: 1.0.0-r5
|
Version: 1.0.0-r5
|
||||||
@ -1647,7 +1647,7 @@ Description: Streamlit App Platform - Self-hosted Python data app platform
|
|||||||
|
|
||||||
Configure in /etc/config/streamlit.
|
Configure in /etc/config/streamlit.
|
||||||
Filename: secubox-app-streamlit_1.0.0-r5_all.ipk
|
Filename: secubox-app-streamlit_1.0.0-r5_all.ipk
|
||||||
Size: 16512
|
Size: 16515
|
||||||
|
|
||||||
Package: secubox-app-tor
|
Package: secubox-app-tor
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1670,7 +1670,7 @@ Description: SecuBox Tor Shield - One-click Tor anonymization for OpenWrt
|
|||||||
|
|
||||||
Configure in /etc/config/tor-shield.
|
Configure in /etc/config/tor-shield.
|
||||||
Filename: secubox-app-tor_1.0.0-r1_all.ipk
|
Filename: secubox-app-tor_1.0.0-r1_all.ipk
|
||||||
Size: 7371
|
Size: 7372
|
||||||
|
|
||||||
Package: secubox-app-voip
|
Package: secubox-app-voip
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1684,7 +1684,7 @@ Description: VoIP PBX solution with Asterisk in LXC container.
|
|||||||
Features OVH SIP trunk integration, WebRTC support
|
Features OVH SIP trunk integration, WebRTC support
|
||||||
and Jabber/XMPP relay for SMS and voicemail notifications.
|
and Jabber/XMPP relay for SMS and voicemail notifications.
|
||||||
Filename: secubox-app-voip_1.0.0-r1_all.ipk
|
Filename: secubox-app-voip_1.0.0-r1_all.ipk
|
||||||
Size: 11955
|
Size: 11954
|
||||||
|
|
||||||
Package: secubox-app-webapp
|
Package: secubox-app-webapp
|
||||||
Version: 1.5.0-r7
|
Version: 1.5.0-r7
|
||||||
@ -1702,7 +1702,7 @@ Description: SecuBox Control Center Dashboard - A web-based dashboard for monit
|
|||||||
- Service management
|
- Service management
|
||||||
- Network interface control
|
- Network interface control
|
||||||
Filename: secubox-app-webapp_1.5.0-r7_all.ipk
|
Filename: secubox-app-webapp_1.5.0-r7_all.ipk
|
||||||
Size: 39177
|
Size: 39175
|
||||||
|
|
||||||
Package: secubox-app-zigbee2mqtt
|
Package: secubox-app-zigbee2mqtt
|
||||||
Version: 1.0.0-r3
|
Version: 1.0.0-r3
|
||||||
@ -1734,7 +1734,7 @@ Description: AI-powered configuration security advisor for SecuBox.
|
|||||||
- LocalAI integration for intelligent analysis
|
- LocalAI integration for intelligent analysis
|
||||||
- Automated remediation suggestions
|
- Automated remediation suggestions
|
||||||
Filename: secubox-config-advisor_0.1.0-r1_all.ipk
|
Filename: secubox-config-advisor_0.1.0-r1_all.ipk
|
||||||
Size: 14849
|
Size: 14848
|
||||||
|
|
||||||
Package: secubox-content-pkg
|
Package: secubox-content-pkg
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1747,7 +1747,7 @@ Installed-Size: 20480
|
|||||||
Description: Package Metablogizer sites and Streamlit apps as IPKs for P2P distribution.
|
Description: Package Metablogizer sites and Streamlit apps as IPKs for P2P distribution.
|
||||||
Auto-publishes content to the mesh feed for peer auto-sync.
|
Auto-publishes content to the mesh feed for peer auto-sync.
|
||||||
Filename: secubox-content-pkg_1.0.0-r1_all.ipk
|
Filename: secubox-content-pkg_1.0.0-r1_all.ipk
|
||||||
Size: 3909
|
Size: 3910
|
||||||
|
|
||||||
Package: secubox-cookie-tracker
|
Package: secubox-cookie-tracker
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1829,7 +1829,7 @@ Description: SecuBox DNS Guard provides AI-powered DNS anomaly detection using
|
|||||||
- Unusual TLD pattern detection
|
- Unusual TLD pattern detection
|
||||||
- Automatic blocklist generation with approval workflow
|
- Automatic blocklist generation with approval workflow
|
||||||
Filename: secubox-dns-guard_1.0.0-r1_all.ipk
|
Filename: secubox-dns-guard_1.0.0-r1_all.ipk
|
||||||
Size: 12482
|
Size: 12485
|
||||||
|
|
||||||
Package: secubox-identity
|
Package: secubox-identity
|
||||||
Version: 0.1.0-r1
|
Version: 0.1.0-r1
|
||||||
@ -1848,7 +1848,7 @@ Description: Decentralized identity management for SecuBox mesh nodes.
|
|||||||
- Peer identity verification
|
- Peer identity verification
|
||||||
- Trust scoring integration
|
- Trust scoring integration
|
||||||
Filename: secubox-identity_0.1.0-r1_all.ipk
|
Filename: secubox-identity_0.1.0-r1_all.ipk
|
||||||
Size: 8084
|
Size: 8089
|
||||||
|
|
||||||
Package: secubox-iot-guard
|
Package: secubox-iot-guard
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1864,7 +1864,7 @@ Description: IoT device isolation, classification, and security monitoring.
|
|||||||
risk scoring. Orchestrates Client Guardian, MAC Guardian
|
risk scoring. Orchestrates Client Guardian, MAC Guardian
|
||||||
Vortex Firewall, and Bandwidth Manager for IoT protection.
|
Vortex Firewall, and Bandwidth Manager for IoT protection.
|
||||||
Filename: secubox-iot-guard_1.0.0-r1_all.ipk
|
Filename: secubox-iot-guard_1.0.0-r1_all.ipk
|
||||||
Size: 13370
|
Size: 13369
|
||||||
|
|
||||||
Package: secubox-localrecall
|
Package: secubox-localrecall
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1879,7 +1879,7 @@ Description: Persistent memory system for SecuBox AI agents.
|
|||||||
for context across sessions. LocalAI integration for
|
for context across sessions. LocalAI integration for
|
||||||
semantic search and AI-powered summarization.
|
semantic search and AI-powered summarization.
|
||||||
Filename: secubox-localrecall_1.0.0-r1_all.ipk
|
Filename: secubox-localrecall_1.0.0-r1_all.ipk
|
||||||
Size: 7793
|
Size: 7800
|
||||||
|
|
||||||
Package: secubox-master-link
|
Package: secubox-master-link
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1901,7 +1901,7 @@ Description: Secure mesh onboarding for SecuBox nodes via master/peer link.
|
|||||||
|
|
||||||
Configure in /etc/config/master-link.
|
Configure in /etc/config/master-link.
|
||||||
Filename: secubox-master-link_1.0.0-r1_all.ipk
|
Filename: secubox-master-link_1.0.0-r1_all.ipk
|
||||||
Size: 15035
|
Size: 15038
|
||||||
|
|
||||||
Package: secubox-mcp-server
|
Package: secubox-mcp-server
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1947,7 +1947,7 @@ Description: MirrorNet core mesh orchestration for SecuBox.
|
|||||||
- Mesh health monitoring and anomaly detection
|
- Mesh health monitoring and anomaly detection
|
||||||
- DID-based identity (did:plc compatible)
|
- DID-based identity (did:plc compatible)
|
||||||
Filename: secubox-mirrornet_0.1.0-r1_all.ipk
|
Filename: secubox-mirrornet_0.1.0-r1_all.ipk
|
||||||
Size: 15309
|
Size: 15308
|
||||||
|
|
||||||
Package: secubox-network-anomaly
|
Package: secubox-network-anomaly
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -1962,7 +1962,7 @@ Description: AI-powered network anomaly detection for SecuBox.
|
|||||||
DNS anomalies, and protocol anomalies using statistical
|
DNS anomalies, and protocol anomalies using statistical
|
||||||
analysis and optional LocalAI integration.
|
analysis and optional LocalAI integration.
|
||||||
Filename: secubox-network-anomaly_1.0.0-r1_all.ipk
|
Filename: secubox-network-anomaly_1.0.0-r1_all.ipk
|
||||||
Size: 6167
|
Size: 6165
|
||||||
|
|
||||||
Package: secubox-p2p
|
Package: secubox-p2p
|
||||||
Version: 0.6.0-r3
|
Version: 0.6.0-r3
|
||||||
@ -1981,7 +1981,7 @@ Description: SecuBox P2P Hub backend providing peer discovery, mesh networking
|
|||||||
and MirrorBox NetMesh Catalog for cross-chain distributed service
|
and MirrorBox NetMesh Catalog for cross-chain distributed service
|
||||||
registry with HAProxy vhost discovery and multi-endpoint access URLs.
|
registry with HAProxy vhost discovery and multi-endpoint access URLs.
|
||||||
Filename: secubox-p2p_0.6.0-r3_all.ipk
|
Filename: secubox-p2p_0.6.0-r3_all.ipk
|
||||||
Size: 47860
|
Size: 47869
|
||||||
|
|
||||||
Package: secubox-p2p-intel
|
Package: secubox-p2p-intel
|
||||||
Version: 0.1.0-r1
|
Version: 0.1.0-r1
|
||||||
@ -2000,7 +2000,7 @@ Description: Decentralized threat intelligence sharing for SecuBox mesh.
|
|||||||
- CrowdSec and mitmproxy integration
|
- CrowdSec and mitmproxy integration
|
||||||
- Automatic firewall rule application
|
- Automatic firewall rule application
|
||||||
Filename: secubox-p2p-intel_0.1.0-r1_all.ipk
|
Filename: secubox-p2p-intel_0.1.0-r1_all.ipk
|
||||||
Size: 9801
|
Size: 9797
|
||||||
|
|
||||||
Package: secubox-threat-analyst
|
Package: secubox-threat-analyst
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -2019,7 +2019,7 @@ Description: Autonomous threat analysis agent for SecuBox.
|
|||||||
|
|
||||||
Part of SecuBox AI Gateway (Couche 2).
|
Part of SecuBox AI Gateway (Couche 2).
|
||||||
Filename: secubox-threat-analyst_1.0.0-r1_all.ipk
|
Filename: secubox-threat-analyst_1.0.0-r1_all.ipk
|
||||||
Size: 9863
|
Size: 9868
|
||||||
|
|
||||||
Package: secubox-vortex-dns
|
Package: secubox-vortex-dns
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
@ -2038,7 +2038,7 @@ Description: Meshed multi-dynamic subdomain delegation system for SecuBox.
|
|||||||
- Gossip-based exposure config sync
|
- Gossip-based exposure config sync
|
||||||
- Submastering for nested hierarchies
|
- Submastering for nested hierarchies
|
||||||
Filename: secubox-vortex-dns_1.0.0-r1_all.ipk
|
Filename: secubox-vortex-dns_1.0.0-r1_all.ipk
|
||||||
Size: 5441
|
Size: 5442
|
||||||
|
|
||||||
Package: secubox-vortex-firewall
|
Package: secubox-vortex-firewall
|
||||||
Version: 1.0.0-r1
|
Version: 1.0.0-r1
|
||||||
|
|||||||
Binary file not shown.
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"feed_url": "/secubox-feed",
|
"feed_url": "/secubox-feed",
|
||||||
"generated": "2026-02-21T10:31:16+01:00",
|
"generated": "2026-02-23T16:38:44+01:00",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "luci-app-ai-insights",
|
"name": "luci-app-ai-insights",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-ai-insights_1.0.0-r1_all.ipk",
|
"filename": "luci-app-ai-insights_1.0.0-r1_all.ipk",
|
||||||
"size": 11637,
|
"size": 11638,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -18,7 +18,7 @@
|
|||||||
"name": "luci-app-auth-guardian",
|
"name": "luci-app-auth-guardian",
|
||||||
"version": "0.4.0-r3",
|
"version": "0.4.0-r3",
|
||||||
"filename": "luci-app-auth-guardian_0.4.0-r3_all.ipk",
|
"filename": "luci-app-auth-guardian_0.4.0-r3_all.ipk",
|
||||||
"size": 12396,
|
"size": 12394,
|
||||||
"category": "security",
|
"category": "security",
|
||||||
"icon": "key",
|
"icon": "key",
|
||||||
"description": "Authentication management",
|
"description": "Authentication management",
|
||||||
@ -30,7 +30,7 @@
|
|||||||
"name": "luci-app-backup",
|
"name": "luci-app-backup",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-backup_1.0.0-r1_all.ipk",
|
"filename": "luci-app-backup_1.0.0-r1_all.ipk",
|
||||||
"size": 4532,
|
"size": 4527,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -54,7 +54,7 @@
|
|||||||
"name": "luci-app-cdn-cache",
|
"name": "luci-app-cdn-cache",
|
||||||
"version": "0.5.0-r3",
|
"version": "0.5.0-r3",
|
||||||
"filename": "luci-app-cdn-cache_0.5.0-r3_all.ipk",
|
"filename": "luci-app-cdn-cache_0.5.0-r3_all.ipk",
|
||||||
"size": 24254,
|
"size": 24256,
|
||||||
"category": "network",
|
"category": "network",
|
||||||
"icon": "globe",
|
"icon": "globe",
|
||||||
"description": "CDN caching",
|
"description": "CDN caching",
|
||||||
@ -66,7 +66,7 @@
|
|||||||
"name": "luci-app-client-guardian",
|
"name": "luci-app-client-guardian",
|
||||||
"version": "0.4.0-r7",
|
"version": "0.4.0-r7",
|
||||||
"filename": "luci-app-client-guardian_0.4.0-r7_all.ipk",
|
"filename": "luci-app-client-guardian_0.4.0-r7_all.ipk",
|
||||||
"size": 52684,
|
"size": 52689,
|
||||||
"category": "network",
|
"category": "network",
|
||||||
"icon": "users",
|
"icon": "users",
|
||||||
"description": "Client management and monitoring",
|
"description": "Client management and monitoring",
|
||||||
@ -78,7 +78,7 @@
|
|||||||
"name": "luci-app-cloner",
|
"name": "luci-app-cloner",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-cloner_1.0.0-r1_all.ipk",
|
"filename": "luci-app-cloner_1.0.0-r1_all.ipk",
|
||||||
"size": 19433,
|
"size": 19435,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -90,7 +90,7 @@
|
|||||||
"name": "luci-app-config-advisor",
|
"name": "luci-app-config-advisor",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-config-advisor_1.0.0-r1_all.ipk",
|
"filename": "luci-app-config-advisor_1.0.0-r1_all.ipk",
|
||||||
"size": 8858,
|
"size": 8857,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -102,7 +102,7 @@
|
|||||||
"name": "luci-app-cookie-tracker",
|
"name": "luci-app-cookie-tracker",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-cookie-tracker_1.0.0-r1_all.ipk",
|
"filename": "luci-app-cookie-tracker_1.0.0-r1_all.ipk",
|
||||||
"size": 5663,
|
"size": 5655,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -114,7 +114,7 @@
|
|||||||
"name": "luci-app-crowdsec-dashboard",
|
"name": "luci-app-crowdsec-dashboard",
|
||||||
"version": "0.8.0-r1",
|
"version": "0.8.0-r1",
|
||||||
"filename": "luci-app-crowdsec-dashboard_0.8.0-r1_all.ipk",
|
"filename": "luci-app-crowdsec-dashboard_0.8.0-r1_all.ipk",
|
||||||
"size": 43019,
|
"size": 43023,
|
||||||
"category": "security",
|
"category": "security",
|
||||||
"icon": "shield",
|
"icon": "shield",
|
||||||
"description": "CrowdSec security monitoring",
|
"description": "CrowdSec security monitoring",
|
||||||
@ -126,7 +126,7 @@
|
|||||||
"name": "luci-app-cve-triage",
|
"name": "luci-app-cve-triage",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-cve-triage_1.0.0-r1_all.ipk",
|
"filename": "luci-app-cve-triage_1.0.0-r1_all.ipk",
|
||||||
"size": 5950,
|
"size": 5945,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -162,7 +162,7 @@
|
|||||||
"name": "luci-app-dnsguard",
|
"name": "luci-app-dnsguard",
|
||||||
"version": "1.1.0-r1",
|
"version": "1.1.0-r1",
|
||||||
"filename": "luci-app-dnsguard_1.1.0-r1_all.ipk",
|
"filename": "luci-app-dnsguard_1.1.0-r1_all.ipk",
|
||||||
"size": 12444,
|
"size": 12449,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -174,7 +174,7 @@
|
|||||||
"name": "luci-app-dns-provider",
|
"name": "luci-app-dns-provider",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-dns-provider_1.0.0-r1_all.ipk",
|
"filename": "luci-app-dns-provider_1.0.0-r1_all.ipk",
|
||||||
"size": 7168,
|
"size": 7173,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -186,7 +186,7 @@
|
|||||||
"name": "luci-app-domoticz",
|
"name": "luci-app-domoticz",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-domoticz_1.0.0-r1_all.ipk",
|
"filename": "luci-app-domoticz_1.0.0-r1_all.ipk",
|
||||||
"size": 7121,
|
"size": 7126,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -210,7 +210,7 @@
|
|||||||
"name": "luci-app-gitea",
|
"name": "luci-app-gitea",
|
||||||
"version": "1.0.0-r2",
|
"version": "1.0.0-r2",
|
||||||
"filename": "luci-app-gitea_1.0.0-r2_all.ipk",
|
"filename": "luci-app-gitea_1.0.0-r2_all.ipk",
|
||||||
"size": 16621,
|
"size": 16625,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -222,7 +222,7 @@
|
|||||||
"name": "luci-app-glances",
|
"name": "luci-app-glances",
|
||||||
"version": "1.0.0-r2",
|
"version": "1.0.0-r2",
|
||||||
"filename": "luci-app-glances_1.0.0-r2_all.ipk",
|
"filename": "luci-app-glances_1.0.0-r2_all.ipk",
|
||||||
"size": 7022,
|
"size": 7023,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -234,7 +234,7 @@
|
|||||||
"name": "luci-app-gotosocial",
|
"name": "luci-app-gotosocial",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "luci-app-gotosocial_0.1.0-r1_all.ipk",
|
"filename": "luci-app-gotosocial_0.1.0-r1_all.ipk",
|
||||||
"size": 8206,
|
"size": 8213,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -246,7 +246,7 @@
|
|||||||
"name": "luci-app-haproxy",
|
"name": "luci-app-haproxy",
|
||||||
"version": "1.0.0-r8",
|
"version": "1.0.0-r8",
|
||||||
"filename": "luci-app-haproxy_1.0.0-r8_all.ipk",
|
"filename": "luci-app-haproxy_1.0.0-r8_all.ipk",
|
||||||
"size": 35339,
|
"size": 35341,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -258,7 +258,7 @@
|
|||||||
"name": "luci-app-hexojs",
|
"name": "luci-app-hexojs",
|
||||||
"version": "1.0.0-r3",
|
"version": "1.0.0-r3",
|
||||||
"filename": "luci-app-hexojs_1.0.0-r3_all.ipk",
|
"filename": "luci-app-hexojs_1.0.0-r3_all.ipk",
|
||||||
"size": 30447,
|
"size": 30451,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -270,7 +270,7 @@
|
|||||||
"name": "luci-app-iot-guard",
|
"name": "luci-app-iot-guard",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-iot-guard_1.0.0-r1_all.ipk",
|
"filename": "luci-app-iot-guard_1.0.0-r1_all.ipk",
|
||||||
"size": 10532,
|
"size": 10535,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -282,7 +282,7 @@
|
|||||||
"name": "luci-app-ipblocklist",
|
"name": "luci-app-ipblocklist",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-ipblocklist_1.0.0-r1_all.ipk",
|
"filename": "luci-app-ipblocklist_1.0.0-r1_all.ipk",
|
||||||
"size": 6528,
|
"size": 6531,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -294,7 +294,7 @@
|
|||||||
"name": "luci-app-jabber",
|
"name": "luci-app-jabber",
|
||||||
"version": "0",
|
"version": "0",
|
||||||
"filename": "luci-app-jabber_0_all.ipk",
|
"filename": "luci-app-jabber_0_all.ipk",
|
||||||
"size": 9304,
|
"size": 9309,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -306,7 +306,7 @@
|
|||||||
"name": "luci-app-jellyfin",
|
"name": "luci-app-jellyfin",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-jellyfin_1.0.0-r1_all.ipk",
|
"filename": "luci-app-jellyfin_1.0.0-r1_all.ipk",
|
||||||
"size": 10482,
|
"size": 10488,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -318,7 +318,7 @@
|
|||||||
"name": "luci-app-jitsi",
|
"name": "luci-app-jitsi",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-jitsi_1.0.0-r1_all.ipk",
|
"filename": "luci-app-jitsi_1.0.0-r1_all.ipk",
|
||||||
"size": 5176,
|
"size": 5179,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -330,7 +330,7 @@
|
|||||||
"name": "luci-app-ksm-manager",
|
"name": "luci-app-ksm-manager",
|
||||||
"version": "0.4.0-r2",
|
"version": "0.4.0-r2",
|
||||||
"filename": "luci-app-ksm-manager_0.4.0-r2_all.ipk",
|
"filename": "luci-app-ksm-manager_0.4.0-r2_all.ipk",
|
||||||
"size": 18776,
|
"size": 18781,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "cpu",
|
"icon": "cpu",
|
||||||
"description": "Kernel memory management",
|
"description": "Kernel memory management",
|
||||||
@ -354,7 +354,7 @@
|
|||||||
"name": "luci-app-localrecall",
|
"name": "luci-app-localrecall",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-localrecall_1.0.0-r1_all.ipk",
|
"filename": "luci-app-localrecall_1.0.0-r1_all.ipk",
|
||||||
"size": 8418,
|
"size": 8417,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -366,7 +366,7 @@
|
|||||||
"name": "luci-app-lyrion",
|
"name": "luci-app-lyrion",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-lyrion_1.0.0-r1_all.ipk",
|
"filename": "luci-app-lyrion_1.0.0-r1_all.ipk",
|
||||||
"size": 6834,
|
"size": 6836,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -378,7 +378,7 @@
|
|||||||
"name": "luci-app-mac-guardian",
|
"name": "luci-app-mac-guardian",
|
||||||
"version": "0.5.0-r1",
|
"version": "0.5.0-r1",
|
||||||
"filename": "luci-app-mac-guardian_0.5.0-r1_all.ipk",
|
"filename": "luci-app-mac-guardian_0.5.0-r1_all.ipk",
|
||||||
"size": 6657,
|
"size": 6666,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -390,7 +390,7 @@
|
|||||||
"name": "luci-app-magicmirror2",
|
"name": "luci-app-magicmirror2",
|
||||||
"version": "0.4.0-r6",
|
"version": "0.4.0-r6",
|
||||||
"filename": "luci-app-magicmirror2_0.4.0-r6_all.ipk",
|
"filename": "luci-app-magicmirror2_0.4.0-r6_all.ipk",
|
||||||
"size": 12359,
|
"size": 12360,
|
||||||
"category": "iot",
|
"category": "iot",
|
||||||
"icon": "monitor",
|
"icon": "monitor",
|
||||||
"description": "Smart mirror display",
|
"description": "Smart mirror display",
|
||||||
@ -402,7 +402,7 @@
|
|||||||
"name": "luci-app-mailinabox",
|
"name": "luci-app-mailinabox",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-mailinabox_1.0.0-r1_all.ipk",
|
"filename": "luci-app-mailinabox_1.0.0-r1_all.ipk",
|
||||||
"size": 5486,
|
"size": 5484,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -414,7 +414,7 @@
|
|||||||
"name": "luci-app-mailserver",
|
"name": "luci-app-mailserver",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-mailserver_1.0.0-r1_all.ipk",
|
"filename": "luci-app-mailserver_1.0.0-r1_all.ipk",
|
||||||
"size": 6508,
|
"size": 6506,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -438,10 +438,10 @@
|
|||||||
"name": "luci-app-matrix",
|
"name": "luci-app-matrix",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-matrix_1.0.0-r1_all.ipk",
|
"filename": "luci-app-matrix_1.0.0-r1_all.ipk",
|
||||||
"size": 7523,
|
"size": 7524,
|
||||||
"category": "messaging",
|
"category": "utility",
|
||||||
"icon": "message-square",
|
"icon": "package",
|
||||||
"description": "Matrix/Conduit E2EE messaging server dashboard",
|
"description": "SecuBox package",
|
||||||
"installed": false,
|
"installed": false,
|
||||||
"luci_app": null
|
"luci_app": null
|
||||||
}
|
}
|
||||||
@ -462,7 +462,7 @@
|
|||||||
"name": "luci-app-metablogizer",
|
"name": "luci-app-metablogizer",
|
||||||
"version": "1.1.0-r1",
|
"version": "1.1.0-r1",
|
||||||
"filename": "luci-app-metablogizer_1.1.0-r1_all.ipk",
|
"filename": "luci-app-metablogizer_1.1.0-r1_all.ipk",
|
||||||
"size": 26205,
|
"size": 26207,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -474,7 +474,7 @@
|
|||||||
"name": "luci-app-metabolizer",
|
"name": "luci-app-metabolizer",
|
||||||
"version": "1.0.0-r2",
|
"version": "1.0.0-r2",
|
||||||
"filename": "luci-app-metabolizer_1.0.0-r2_all.ipk",
|
"filename": "luci-app-metabolizer_1.0.0-r2_all.ipk",
|
||||||
"size": 4822,
|
"size": 4820,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"name": "luci-app-mitmproxy",
|
"name": "luci-app-mitmproxy",
|
||||||
"version": "0.5.0-r2",
|
"version": "0.5.0-r2",
|
||||||
"filename": "luci-app-mitmproxy_0.5.0-r2_all.ipk",
|
"filename": "luci-app-mitmproxy_0.5.0-r2_all.ipk",
|
||||||
"size": 13235,
|
"size": 13233,
|
||||||
"category": "security",
|
"category": "security",
|
||||||
"icon": "lock",
|
"icon": "lock",
|
||||||
"description": "HTTPS proxy and traffic inspection",
|
"description": "HTTPS proxy and traffic inspection",
|
||||||
@ -498,7 +498,7 @@
|
|||||||
"name": "luci-app-mmpm",
|
"name": "luci-app-mmpm",
|
||||||
"version": "0.2.0-r3",
|
"version": "0.2.0-r3",
|
||||||
"filename": "luci-app-mmpm_0.2.0-r3_all.ipk",
|
"filename": "luci-app-mmpm_0.2.0-r3_all.ipk",
|
||||||
"size": 7970,
|
"size": 7972,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -510,7 +510,7 @@
|
|||||||
"name": "luci-app-mqtt-bridge",
|
"name": "luci-app-mqtt-bridge",
|
||||||
"version": "0.4.0-r4",
|
"version": "0.4.0-r4",
|
||||||
"filename": "luci-app-mqtt-bridge_0.4.0-r4_all.ipk",
|
"filename": "luci-app-mqtt-bridge_0.4.0-r4_all.ipk",
|
||||||
"size": 22688,
|
"size": 22690,
|
||||||
"category": "iot",
|
"category": "iot",
|
||||||
"icon": "message-square",
|
"icon": "message-square",
|
||||||
"description": "MQTT bridge",
|
"description": "MQTT bridge",
|
||||||
@ -522,7 +522,7 @@
|
|||||||
"name": "luci-app-ndpid",
|
"name": "luci-app-ndpid",
|
||||||
"version": "1.1.2-r2",
|
"version": "1.1.2-r2",
|
||||||
"filename": "luci-app-ndpid_1.1.2-r2_all.ipk",
|
"filename": "luci-app-ndpid_1.1.2-r2_all.ipk",
|
||||||
"size": 21699,
|
"size": 21702,
|
||||||
"category": "security",
|
"category": "security",
|
||||||
"icon": "eye",
|
"icon": "eye",
|
||||||
"description": "Deep packet inspection",
|
"description": "Deep packet inspection",
|
||||||
@ -534,7 +534,7 @@
|
|||||||
"name": "luci-app-netdata-dashboard",
|
"name": "luci-app-netdata-dashboard",
|
||||||
"version": "0.5.0-r2",
|
"version": "0.5.0-r2",
|
||||||
"filename": "luci-app-netdata-dashboard_0.5.0-r2_all.ipk",
|
"filename": "luci-app-netdata-dashboard_0.5.0-r2_all.ipk",
|
||||||
"size": 20561,
|
"size": 20558,
|
||||||
"category": "monitoring",
|
"category": "monitoring",
|
||||||
"icon": "bar-chart-2",
|
"icon": "bar-chart-2",
|
||||||
"description": "System monitoring dashboard",
|
"description": "System monitoring dashboard",
|
||||||
@ -546,7 +546,7 @@
|
|||||||
"name": "luci-app-network-anomaly",
|
"name": "luci-app-network-anomaly",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-network-anomaly_1.0.0-r1_all.ipk",
|
"filename": "luci-app-network-anomaly_1.0.0-r1_all.ipk",
|
||||||
"size": 7639,
|
"size": 7646,
|
||||||
"category": "network",
|
"category": "network",
|
||||||
"icon": "wifi",
|
"icon": "wifi",
|
||||||
"description": "Network configuration",
|
"description": "Network configuration",
|
||||||
@ -558,7 +558,7 @@
|
|||||||
"name": "luci-app-network-modes",
|
"name": "luci-app-network-modes",
|
||||||
"version": "0.5.0-r3",
|
"version": "0.5.0-r3",
|
||||||
"filename": "luci-app-network-modes_0.5.0-r3_all.ipk",
|
"filename": "luci-app-network-modes_0.5.0-r3_all.ipk",
|
||||||
"size": 54227,
|
"size": 54226,
|
||||||
"category": "network",
|
"category": "network",
|
||||||
"icon": "wifi",
|
"icon": "wifi",
|
||||||
"description": "Network configuration",
|
"description": "Network configuration",
|
||||||
@ -570,7 +570,7 @@
|
|||||||
"name": "luci-app-network-tweaks",
|
"name": "luci-app-network-tweaks",
|
||||||
"version": "1.0.0-r7",
|
"version": "1.0.0-r7",
|
||||||
"filename": "luci-app-network-tweaks_1.0.0-r7_all.ipk",
|
"filename": "luci-app-network-tweaks_1.0.0-r7_all.ipk",
|
||||||
"size": 15945,
|
"size": 15944,
|
||||||
"category": "network",
|
"category": "network",
|
||||||
"icon": "wifi",
|
"icon": "wifi",
|
||||||
"description": "Network configuration",
|
"description": "Network configuration",
|
||||||
@ -582,7 +582,7 @@
|
|||||||
"name": "luci-app-nextcloud",
|
"name": "luci-app-nextcloud",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-nextcloud_1.0.0-r1_all.ipk",
|
"filename": "luci-app-nextcloud_1.0.0-r1_all.ipk",
|
||||||
"size": 10351,
|
"size": 10348,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -606,7 +606,7 @@
|
|||||||
"name": "luci-app-peertube",
|
"name": "luci-app-peertube",
|
||||||
"version": "0",
|
"version": "0",
|
||||||
"filename": "luci-app-peertube_0_all.ipk",
|
"filename": "luci-app-peertube_0_all.ipk",
|
||||||
"size": 5757,
|
"size": 5759,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -618,7 +618,7 @@
|
|||||||
"name": "luci-app-picobrew",
|
"name": "luci-app-picobrew",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-picobrew_1.0.0-r1_all.ipk",
|
"filename": "luci-app-picobrew_1.0.0-r1_all.ipk",
|
||||||
"size": 9535,
|
"size": 9531,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -630,7 +630,7 @@
|
|||||||
"name": "luci-app-secubox",
|
"name": "luci-app-secubox",
|
||||||
"version": "0.7.1-r4",
|
"version": "0.7.1-r4",
|
||||||
"filename": "luci-app-secubox_0.7.1-r4_all.ipk",
|
"filename": "luci-app-secubox_0.7.1-r4_all.ipk",
|
||||||
"size": 82095,
|
"size": 82097,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -642,7 +642,7 @@
|
|||||||
"name": "luci-app-secubox-admin",
|
"name": "luci-app-secubox-admin",
|
||||||
"version": "1.0.0-r19",
|
"version": "1.0.0-r19",
|
||||||
"filename": "luci-app-secubox-admin_1.0.0-r19_all.ipk",
|
"filename": "luci-app-secubox-admin_1.0.0-r19_all.ipk",
|
||||||
"size": 58041,
|
"size": 58042,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -654,7 +654,7 @@
|
|||||||
"name": "luci-app-secubox-crowdsec",
|
"name": "luci-app-secubox-crowdsec",
|
||||||
"version": "1.0.0-r3",
|
"version": "1.0.0-r3",
|
||||||
"filename": "luci-app-secubox-crowdsec_1.0.0-r3_all.ipk",
|
"filename": "luci-app-secubox-crowdsec_1.0.0-r3_all.ipk",
|
||||||
"size": 13923,
|
"size": 13919,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -666,7 +666,7 @@
|
|||||||
"name": "luci-app-secubox-mirror",
|
"name": "luci-app-secubox-mirror",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "luci-app-secubox-mirror_0.1.0-r1_all.ipk",
|
"filename": "luci-app-secubox-mirror_0.1.0-r1_all.ipk",
|
||||||
"size": 5847,
|
"size": 5848,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -678,7 +678,7 @@
|
|||||||
"name": "luci-app-secubox-netdiag",
|
"name": "luci-app-secubox-netdiag",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-secubox-netdiag_1.0.0-r1_all.ipk",
|
"filename": "luci-app-secubox-netdiag_1.0.0-r1_all.ipk",
|
||||||
"size": 15346,
|
"size": 15347,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -690,7 +690,7 @@
|
|||||||
"name": "luci-app-secubox-netifyd",
|
"name": "luci-app-secubox-netifyd",
|
||||||
"version": "1.2.1-r1",
|
"version": "1.2.1-r1",
|
||||||
"filename": "luci-app-secubox-netifyd_1.2.1-r1_all.ipk",
|
"filename": "luci-app-secubox-netifyd_1.2.1-r1_all.ipk",
|
||||||
"size": 36721,
|
"size": 36720,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -702,7 +702,7 @@
|
|||||||
"name": "luci-app-secubox-p2p",
|
"name": "luci-app-secubox-p2p",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "luci-app-secubox-p2p_0.1.0-r1_all.ipk",
|
"filename": "luci-app-secubox-p2p_0.1.0-r1_all.ipk",
|
||||||
"size": 46833,
|
"size": 46831,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -714,7 +714,7 @@
|
|||||||
"name": "luci-app-secubox-portal",
|
"name": "luci-app-secubox-portal",
|
||||||
"version": "0.7.0-r3",
|
"version": "0.7.0-r3",
|
||||||
"filename": "luci-app-secubox-portal_0.7.0-r3_all.ipk",
|
"filename": "luci-app-secubox-portal_0.7.0-r3_all.ipk",
|
||||||
"size": 41685,
|
"size": 41686,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -726,7 +726,7 @@
|
|||||||
"name": "luci-app-secubox-security-threats",
|
"name": "luci-app-secubox-security-threats",
|
||||||
"version": "1.0.0-r4",
|
"version": "1.0.0-r4",
|
||||||
"filename": "luci-app-secubox-security-threats_1.0.0-r4_all.ipk",
|
"filename": "luci-app-secubox-security-threats_1.0.0-r4_all.ipk",
|
||||||
"size": 10658,
|
"size": 10657,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -738,7 +738,7 @@
|
|||||||
"name": "luci-app-secubox-users",
|
"name": "luci-app-secubox-users",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-secubox-users_1.0.0-r1_all.ipk",
|
"filename": "luci-app-secubox-users_1.0.0-r1_all.ipk",
|
||||||
"size": 5148,
|
"size": 5146,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "box",
|
"icon": "box",
|
||||||
"description": "SecuBox system component",
|
"description": "SecuBox system component",
|
||||||
@ -750,7 +750,7 @@
|
|||||||
"name": "luci-app-service-registry",
|
"name": "luci-app-service-registry",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-service-registry_1.0.0-r1_all.ipk",
|
"filename": "luci-app-service-registry_1.0.0-r1_all.ipk",
|
||||||
"size": 39954,
|
"size": 39953,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -762,7 +762,7 @@
|
|||||||
"name": "luci-app-simplex",
|
"name": "luci-app-simplex",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-simplex_1.0.0-r1_all.ipk",
|
"filename": "luci-app-simplex_1.0.0-r1_all.ipk",
|
||||||
"size": 7027,
|
"size": 7037,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -774,7 +774,7 @@
|
|||||||
"name": "luci-app-streamlit",
|
"name": "luci-app-streamlit",
|
||||||
"version": "1.0.0-r11",
|
"version": "1.0.0-r11",
|
||||||
"filename": "luci-app-streamlit_1.0.0-r11_all.ipk",
|
"filename": "luci-app-streamlit_1.0.0-r11_all.ipk",
|
||||||
"size": 20567,
|
"size": 20568,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -786,7 +786,7 @@
|
|||||||
"name": "luci-app-system-hub",
|
"name": "luci-app-system-hub",
|
||||||
"version": "0.5.2-r2",
|
"version": "0.5.2-r2",
|
||||||
"filename": "luci-app-system-hub_0.5.2-r2_all.ipk",
|
"filename": "luci-app-system-hub_0.5.2-r2_all.ipk",
|
||||||
"size": 64288,
|
"size": 64291,
|
||||||
"category": "system",
|
"category": "system",
|
||||||
"icon": "settings",
|
"icon": "settings",
|
||||||
"description": "System management",
|
"description": "System management",
|
||||||
@ -798,7 +798,7 @@
|
|||||||
"name": "luci-app-threat-analyst",
|
"name": "luci-app-threat-analyst",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-threat-analyst_1.0.0-r1_all.ipk",
|
"filename": "luci-app-threat-analyst_1.0.0-r1_all.ipk",
|
||||||
"size": 10140,
|
"size": 10141,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -810,7 +810,7 @@
|
|||||||
"name": "luci-app-tor",
|
"name": "luci-app-tor",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-tor_1.0.0-r1_all.ipk",
|
"filename": "luci-app-tor_1.0.0-r1_all.ipk",
|
||||||
"size": 17816,
|
"size": 17818,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -822,7 +822,7 @@
|
|||||||
"name": "luci-app-tor-shield",
|
"name": "luci-app-tor-shield",
|
||||||
"version": "1.0.0-r10",
|
"version": "1.0.0-r10",
|
||||||
"filename": "luci-app-tor-shield_1.0.0-r10_all.ipk",
|
"filename": "luci-app-tor-shield_1.0.0-r10_all.ipk",
|
||||||
"size": 22765,
|
"size": 22767,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -834,7 +834,7 @@
|
|||||||
"name": "luci-app-traffic-shaper",
|
"name": "luci-app-traffic-shaper",
|
||||||
"version": "0.4.0-r2",
|
"version": "0.4.0-r2",
|
||||||
"filename": "luci-app-traffic-shaper_0.4.0-r2_all.ipk",
|
"filename": "luci-app-traffic-shaper_0.4.0-r2_all.ipk",
|
||||||
"size": 14585,
|
"size": 14591,
|
||||||
"category": "network",
|
"category": "network",
|
||||||
"icon": "filter",
|
"icon": "filter",
|
||||||
"description": "Traffic shaping and QoS",
|
"description": "Traffic shaping and QoS",
|
||||||
@ -846,7 +846,7 @@
|
|||||||
"name": "luci-app-vhost-manager",
|
"name": "luci-app-vhost-manager",
|
||||||
"version": "0.5.0-r5",
|
"version": "0.5.0-r5",
|
||||||
"filename": "luci-app-vhost-manager_0.5.0-r5_all.ipk",
|
"filename": "luci-app-vhost-manager_0.5.0-r5_all.ipk",
|
||||||
"size": 26281,
|
"size": 26283,
|
||||||
"category": "network",
|
"category": "network",
|
||||||
"icon": "server",
|
"icon": "server",
|
||||||
"description": "Virtual host management",
|
"description": "Virtual host management",
|
||||||
@ -858,7 +858,7 @@
|
|||||||
"name": "luci-app-voip",
|
"name": "luci-app-voip",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-voip_1.0.0-r1_all.ipk",
|
"filename": "luci-app-voip_1.0.0-r1_all.ipk",
|
||||||
"size": 11040,
|
"size": 11043,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -870,7 +870,7 @@
|
|||||||
"name": "luci-app-vortex-dns",
|
"name": "luci-app-vortex-dns",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-vortex-dns_1.0.0-r1_all.ipk",
|
"filename": "luci-app-vortex-dns_1.0.0-r1_all.ipk",
|
||||||
"size": 6078,
|
"size": 6072,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -882,7 +882,7 @@
|
|||||||
"name": "luci-app-vortex-firewall",
|
"name": "luci-app-vortex-firewall",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-vortex-firewall_1.0.0-r1_all.ipk",
|
"filename": "luci-app-vortex-firewall_1.0.0-r1_all.ipk",
|
||||||
"size": 5453,
|
"size": 5455,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -894,7 +894,7 @@
|
|||||||
"name": "luci-app-wazuh",
|
"name": "luci-app-wazuh",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "luci-app-wazuh_1.0.0-r1_all.ipk",
|
"filename": "luci-app-wazuh_1.0.0-r1_all.ipk",
|
||||||
"size": 11069,
|
"size": 11072,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -906,7 +906,7 @@
|
|||||||
"name": "luci-app-wireguard-dashboard",
|
"name": "luci-app-wireguard-dashboard",
|
||||||
"version": "0.7.0-r5",
|
"version": "0.7.0-r5",
|
||||||
"filename": "luci-app-wireguard-dashboard_0.7.0-r5_all.ipk",
|
"filename": "luci-app-wireguard-dashboard_0.7.0-r5_all.ipk",
|
||||||
"size": 42286,
|
"size": 42288,
|
||||||
"category": "vpn",
|
"category": "vpn",
|
||||||
"icon": "shield",
|
"icon": "shield",
|
||||||
"description": "WireGuard VPN dashboard",
|
"description": "WireGuard VPN dashboard",
|
||||||
@ -918,7 +918,7 @@
|
|||||||
"name": "luci-app-zigbee2mqtt",
|
"name": "luci-app-zigbee2mqtt",
|
||||||
"version": "1.0.0-r2",
|
"version": "1.0.0-r2",
|
||||||
"filename": "luci-app-zigbee2mqtt_1.0.0-r2_all.ipk",
|
"filename": "luci-app-zigbee2mqtt_1.0.0-r2_all.ipk",
|
||||||
"size": 6592,
|
"size": 6594,
|
||||||
"category": "iot",
|
"category": "iot",
|
||||||
"icon": "radio",
|
"icon": "radio",
|
||||||
"description": "Zigbee device management",
|
"description": "Zigbee device management",
|
||||||
@ -928,9 +928,9 @@
|
|||||||
,
|
,
|
||||||
{
|
{
|
||||||
"name": "luci-theme-secubox",
|
"name": "luci-theme-secubox",
|
||||||
"version": "0.4.7-r1",
|
"version": "0.4.8-r1",
|
||||||
"filename": "luci-theme-secubox_0.4.7-r1_all.ipk",
|
"filename": "luci-theme-secubox_0.4.8-r1_all.ipk",
|
||||||
"size": 110239,
|
"size": 121591,
|
||||||
"category": "theme",
|
"category": "theme",
|
||||||
"icon": "palette",
|
"icon": "palette",
|
||||||
"description": "LuCI theme",
|
"description": "LuCI theme",
|
||||||
@ -942,7 +942,7 @@
|
|||||||
"name": "secubox-app",
|
"name": "secubox-app",
|
||||||
"version": "1.0.0-r2",
|
"version": "1.0.0-r2",
|
||||||
"filename": "secubox-app_1.0.0-r2_all.ipk",
|
"filename": "secubox-app_1.0.0-r2_all.ipk",
|
||||||
"size": 11186,
|
"size": 11183,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -954,7 +954,7 @@
|
|||||||
"name": "secubox-app-adguardhome",
|
"name": "secubox-app-adguardhome",
|
||||||
"version": "1.0.0-r2",
|
"version": "1.0.0-r2",
|
||||||
"filename": "secubox-app-adguardhome_1.0.0-r2_all.ipk",
|
"filename": "secubox-app-adguardhome_1.0.0-r2_all.ipk",
|
||||||
"size": 2877,
|
"size": 2883,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -966,7 +966,7 @@
|
|||||||
"name": "secubox-app-auth-logger",
|
"name": "secubox-app-auth-logger",
|
||||||
"version": "1.2.2-r1",
|
"version": "1.2.2-r1",
|
||||||
"filename": "secubox-app-auth-logger_1.2.2-r1_all.ipk",
|
"filename": "secubox-app-auth-logger_1.2.2-r1_all.ipk",
|
||||||
"size": 9375,
|
"size": 9379,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -978,7 +978,7 @@
|
|||||||
"name": "secubox-app-crowdsec-custom",
|
"name": "secubox-app-crowdsec-custom",
|
||||||
"version": "1.1.0-r1",
|
"version": "1.1.0-r1",
|
||||||
"filename": "secubox-app-crowdsec-custom_1.1.0-r1_all.ipk",
|
"filename": "secubox-app-crowdsec-custom_1.1.0-r1_all.ipk",
|
||||||
"size": 6940,
|
"size": 6944,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -990,7 +990,7 @@
|
|||||||
"name": "secubox-app-cs-firewall-bouncer",
|
"name": "secubox-app-cs-firewall-bouncer",
|
||||||
"version": "0.0.31-r4_aarch64",
|
"version": "0.0.31-r4_aarch64",
|
||||||
"filename": "secubox-app-cs-firewall-bouncer_0.0.31-r4_aarch64_cortex-a72.ipk",
|
"filename": "secubox-app-cs-firewall-bouncer_0.0.31-r4_aarch64_cortex-a72.ipk",
|
||||||
"size": 5049321,
|
"size": 5049325,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1002,7 +1002,7 @@
|
|||||||
"name": "secubox-app-cyberfeed",
|
"name": "secubox-app-cyberfeed",
|
||||||
"version": "0.2.1-r1",
|
"version": "0.2.1-r1",
|
||||||
"filename": "secubox-app-cyberfeed_0.2.1-r1_all.ipk",
|
"filename": "secubox-app-cyberfeed_0.2.1-r1_all.ipk",
|
||||||
"size": 12452,
|
"size": 12456,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1014,7 +1014,7 @@
|
|||||||
"name": "secubox-app-device-intel",
|
"name": "secubox-app-device-intel",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-device-intel_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-device-intel_1.0.0-r1_all.ipk",
|
||||||
"size": 13100,
|
"size": 13109,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"name": "secubox-app-dns-provider",
|
"name": "secubox-app-dns-provider",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-dns-provider_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-dns-provider_1.0.0-r1_all.ipk",
|
||||||
"size": 8259,
|
"size": 8260,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1050,7 +1050,7 @@
|
|||||||
"name": "secubox-app-exposure",
|
"name": "secubox-app-exposure",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-exposure_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-exposure_1.0.0-r1_all.ipk",
|
||||||
"size": 9147,
|
"size": 9154,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1062,7 +1062,7 @@
|
|||||||
"name": "secubox-app-gitea",
|
"name": "secubox-app-gitea",
|
||||||
"version": "1.0.0-r5",
|
"version": "1.0.0-r5",
|
||||||
"filename": "secubox-app-gitea_1.0.0-r5_all.ipk",
|
"filename": "secubox-app-gitea_1.0.0-r5_all.ipk",
|
||||||
"size": 9441,
|
"size": 9442,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1074,7 +1074,7 @@
|
|||||||
"name": "secubox-app-gk2hub",
|
"name": "secubox-app-gk2hub",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "secubox-app-gk2hub_0.1.0-r1_all.ipk",
|
"filename": "secubox-app-gk2hub_0.1.0-r1_all.ipk",
|
||||||
"size": 4057,
|
"size": 4061,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1086,7 +1086,7 @@
|
|||||||
"name": "secubox-app-glances",
|
"name": "secubox-app-glances",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-glances_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-glances_1.0.0-r1_all.ipk",
|
||||||
"size": 6142,
|
"size": 6139,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1098,7 +1098,7 @@
|
|||||||
"name": "secubox-app-guacamole",
|
"name": "secubox-app-guacamole",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-guacamole_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-guacamole_1.0.0-r1_all.ipk",
|
||||||
"size": 6941,
|
"size": 6945,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1110,7 +1110,7 @@
|
|||||||
"name": "secubox-app-haproxy",
|
"name": "secubox-app-haproxy",
|
||||||
"version": "1.0.0-r24",
|
"version": "1.0.0-r24",
|
||||||
"filename": "secubox-app-haproxy_1.0.0-r24_all.ipk",
|
"filename": "secubox-app-haproxy_1.0.0-r24_all.ipk",
|
||||||
"size": 22008,
|
"size": 22010,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1122,7 +1122,7 @@
|
|||||||
"name": "secubox-app-hexojs",
|
"name": "secubox-app-hexojs",
|
||||||
"version": "1.0.0-r8",
|
"version": "1.0.0-r8",
|
||||||
"filename": "secubox-app-hexojs_1.0.0-r8_all.ipk",
|
"filename": "secubox-app-hexojs_1.0.0-r8_all.ipk",
|
||||||
"size": 100061,
|
"size": 100062,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1134,7 +1134,7 @@
|
|||||||
"name": "secubox-app-ipblocklist",
|
"name": "secubox-app-ipblocklist",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-ipblocklist_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-ipblocklist_1.0.0-r1_all.ipk",
|
||||||
"size": 4698,
|
"size": 4697,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1146,7 +1146,7 @@
|
|||||||
"name": "secubox-app-jabber",
|
"name": "secubox-app-jabber",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-jabber_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-jabber_1.0.0-r1_all.ipk",
|
||||||
"size": 13276,
|
"size": 13278,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1158,7 +1158,7 @@
|
|||||||
"name": "secubox-app-jellyfin",
|
"name": "secubox-app-jellyfin",
|
||||||
"version": "3.0.0-r1",
|
"version": "3.0.0-r1",
|
||||||
"filename": "secubox-app-jellyfin_3.0.0-r1_all.ipk",
|
"filename": "secubox-app-jellyfin_3.0.0-r1_all.ipk",
|
||||||
"size": 4746,
|
"size": 4753,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1170,7 +1170,7 @@
|
|||||||
"name": "secubox-app-jitsi",
|
"name": "secubox-app-jitsi",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-jitsi_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-jitsi_1.0.0-r1_all.ipk",
|
||||||
"size": 8921,
|
"size": 8925,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1182,7 +1182,7 @@
|
|||||||
"name": "secubox-app-localai",
|
"name": "secubox-app-localai",
|
||||||
"version": "3.9.0-r1",
|
"version": "3.9.0-r1",
|
||||||
"filename": "secubox-app-localai_3.9.0-r1_all.ipk",
|
"filename": "secubox-app-localai_3.9.0-r1_all.ipk",
|
||||||
"size": 5838,
|
"size": 5845,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1194,7 +1194,7 @@
|
|||||||
"name": "secubox-app-localai-wb",
|
"name": "secubox-app-localai-wb",
|
||||||
"version": "2.25.0-r1",
|
"version": "2.25.0-r1",
|
||||||
"filename": "secubox-app-localai-wb_2.25.0-r1_all.ipk",
|
"filename": "secubox-app-localai-wb_2.25.0-r1_all.ipk",
|
||||||
"size": 7947,
|
"size": 7949,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1206,7 +1206,7 @@
|
|||||||
"name": "secubox-app-lyrion",
|
"name": "secubox-app-lyrion",
|
||||||
"version": "2.0.2-r1",
|
"version": "2.0.2-r1",
|
||||||
"filename": "secubox-app-lyrion_2.0.2-r1_all.ipk",
|
"filename": "secubox-app-lyrion_2.0.2-r1_all.ipk",
|
||||||
"size": 8122,
|
"size": 8130,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1218,7 +1218,7 @@
|
|||||||
"name": "secubox-app-mac-guardian",
|
"name": "secubox-app-mac-guardian",
|
||||||
"version": "0.5.0-r1",
|
"version": "0.5.0-r1",
|
||||||
"filename": "secubox-app-mac-guardian_0.5.0-r1_all.ipk",
|
"filename": "secubox-app-mac-guardian_0.5.0-r1_all.ipk",
|
||||||
"size": 12096,
|
"size": 12098,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1230,7 +1230,7 @@
|
|||||||
"name": "secubox-app-magicmirror2",
|
"name": "secubox-app-magicmirror2",
|
||||||
"version": "0.4.0-r8",
|
"version": "0.4.0-r8",
|
||||||
"filename": "secubox-app-magicmirror2_0.4.0-r8_all.ipk",
|
"filename": "secubox-app-magicmirror2_0.4.0-r8_all.ipk",
|
||||||
"size": 9248,
|
"size": 9249,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1254,7 +1254,7 @@
|
|||||||
"name": "secubox-app-mailserver",
|
"name": "secubox-app-mailserver",
|
||||||
"version": "2.0.0-r1",
|
"version": "2.0.0-r1",
|
||||||
"filename": "secubox-app-mailserver_2.0.0-r1_all.ipk",
|
"filename": "secubox-app-mailserver_2.0.0-r1_all.ipk",
|
||||||
"size": 5694,
|
"size": 5700,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1266,10 +1266,10 @@
|
|||||||
"name": "secubox-app-matrix",
|
"name": "secubox-app-matrix",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-matrix_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-matrix_1.0.0-r1_all.ipk",
|
||||||
"size": 10453,
|
"size": 10448,
|
||||||
"category": "messaging",
|
"category": "secubox",
|
||||||
"icon": "message-square",
|
"icon": "package",
|
||||||
"description": "Matrix/Conduit federated E2EE messaging server",
|
"description": "SecuBox backend service",
|
||||||
"installed": false,
|
"installed": false,
|
||||||
"luci_app": "luci-app-matrix"
|
"luci_app": "luci-app-matrix"
|
||||||
}
|
}
|
||||||
@ -1278,7 +1278,7 @@
|
|||||||
"name": "secubox-app-metabolizer",
|
"name": "secubox-app-metabolizer",
|
||||||
"version": "1.0.0-r3",
|
"version": "1.0.0-r3",
|
||||||
"filename": "secubox-app-metabolizer_1.0.0-r3_all.ipk",
|
"filename": "secubox-app-metabolizer_1.0.0-r3_all.ipk",
|
||||||
"size": 13976,
|
"size": 13983,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1290,7 +1290,7 @@
|
|||||||
"name": "secubox-app-mitmproxy",
|
"name": "secubox-app-mitmproxy",
|
||||||
"version": "0.5.0-r19",
|
"version": "0.5.0-r19",
|
||||||
"filename": "secubox-app-mitmproxy_0.5.0-r19_all.ipk",
|
"filename": "secubox-app-mitmproxy_0.5.0-r19_all.ipk",
|
||||||
"size": 22957,
|
"size": 22952,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1302,7 +1302,7 @@
|
|||||||
"name": "secubox-app-mmpm",
|
"name": "secubox-app-mmpm",
|
||||||
"version": "0.2.0-r5",
|
"version": "0.2.0-r5",
|
||||||
"filename": "secubox-app-mmpm_0.2.0-r5_all.ipk",
|
"filename": "secubox-app-mmpm_0.2.0-r5_all.ipk",
|
||||||
"size": 3975,
|
"size": 3976,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1314,7 +1314,7 @@
|
|||||||
"name": "secubox-app-nextcloud",
|
"name": "secubox-app-nextcloud",
|
||||||
"version": "1.0.0-r2",
|
"version": "1.0.0-r2",
|
||||||
"filename": "secubox-app-nextcloud_1.0.0-r2_all.ipk",
|
"filename": "secubox-app-nextcloud_1.0.0-r2_all.ipk",
|
||||||
"size": 9671,
|
"size": 9675,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1326,7 +1326,7 @@
|
|||||||
"name": "secubox-app-ollama",
|
"name": "secubox-app-ollama",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "secubox-app-ollama_0.1.0-r1_all.ipk",
|
"filename": "secubox-app-ollama_0.1.0-r1_all.ipk",
|
||||||
"size": 5731,
|
"size": 5738,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1338,7 +1338,7 @@
|
|||||||
"name": "secubox-app-picobrew",
|
"name": "secubox-app-picobrew",
|
||||||
"version": "1.0.0-r7",
|
"version": "1.0.0-r7",
|
||||||
"filename": "secubox-app-picobrew_1.0.0-r7_all.ipk",
|
"filename": "secubox-app-picobrew_1.0.0-r7_all.ipk",
|
||||||
"size": 5543,
|
"size": 5533,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1350,7 +1350,7 @@
|
|||||||
"name": "secubox-app-rustdesk",
|
"name": "secubox-app-rustdesk",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-rustdesk_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-rustdesk_1.0.0-r1_all.ipk",
|
||||||
"size": 4466,
|
"size": 4465,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1362,7 +1362,7 @@
|
|||||||
"name": "secubox-app-simplex",
|
"name": "secubox-app-simplex",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-simplex_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-simplex_1.0.0-r1_all.ipk",
|
||||||
"size": 9367,
|
"size": 9368,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1374,7 +1374,7 @@
|
|||||||
"name": "secubox-app-smbfs",
|
"name": "secubox-app-smbfs",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-smbfs_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-smbfs_1.0.0-r1_all.ipk",
|
||||||
"size": 5268,
|
"size": 5253,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1386,7 +1386,7 @@
|
|||||||
"name": "secubox-app-streamlit",
|
"name": "secubox-app-streamlit",
|
||||||
"version": "1.0.0-r5",
|
"version": "1.0.0-r5",
|
||||||
"filename": "secubox-app-streamlit_1.0.0-r5_all.ipk",
|
"filename": "secubox-app-streamlit_1.0.0-r5_all.ipk",
|
||||||
"size": 16512,
|
"size": 16515,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1398,7 +1398,7 @@
|
|||||||
"name": "secubox-app-tor",
|
"name": "secubox-app-tor",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-tor_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-tor_1.0.0-r1_all.ipk",
|
||||||
"size": 7371,
|
"size": 7372,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1410,7 +1410,7 @@
|
|||||||
"name": "secubox-app-voip",
|
"name": "secubox-app-voip",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-app-voip_1.0.0-r1_all.ipk",
|
"filename": "secubox-app-voip_1.0.0-r1_all.ipk",
|
||||||
"size": 11955,
|
"size": 11954,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1422,7 +1422,7 @@
|
|||||||
"name": "secubox-app-webapp",
|
"name": "secubox-app-webapp",
|
||||||
"version": "1.5.0-r7",
|
"version": "1.5.0-r7",
|
||||||
"filename": "secubox-app-webapp_1.5.0-r7_all.ipk",
|
"filename": "secubox-app-webapp_1.5.0-r7_all.ipk",
|
||||||
"size": 39177,
|
"size": 39175,
|
||||||
"category": "secubox",
|
"category": "secubox",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox backend service",
|
"description": "SecuBox backend service",
|
||||||
@ -1446,7 +1446,7 @@
|
|||||||
"name": "secubox-config-advisor",
|
"name": "secubox-config-advisor",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "secubox-config-advisor_0.1.0-r1_all.ipk",
|
"filename": "secubox-config-advisor_0.1.0-r1_all.ipk",
|
||||||
"size": 14849,
|
"size": 14848,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1458,7 +1458,7 @@
|
|||||||
"name": "secubox-content-pkg",
|
"name": "secubox-content-pkg",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-content-pkg_1.0.0-r1_all.ipk",
|
"filename": "secubox-content-pkg_1.0.0-r1_all.ipk",
|
||||||
"size": 3909,
|
"size": 3910,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1506,7 +1506,7 @@
|
|||||||
"name": "secubox-dns-guard",
|
"name": "secubox-dns-guard",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-dns-guard_1.0.0-r1_all.ipk",
|
"filename": "secubox-dns-guard_1.0.0-r1_all.ipk",
|
||||||
"size": 12482,
|
"size": 12485,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1518,7 +1518,7 @@
|
|||||||
"name": "secubox-identity",
|
"name": "secubox-identity",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "secubox-identity_0.1.0-r1_all.ipk",
|
"filename": "secubox-identity_0.1.0-r1_all.ipk",
|
||||||
"size": 8084,
|
"size": 8089,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1530,7 +1530,7 @@
|
|||||||
"name": "secubox-iot-guard",
|
"name": "secubox-iot-guard",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-iot-guard_1.0.0-r1_all.ipk",
|
"filename": "secubox-iot-guard_1.0.0-r1_all.ipk",
|
||||||
"size": 13370,
|
"size": 13369,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1542,7 +1542,7 @@
|
|||||||
"name": "secubox-localrecall",
|
"name": "secubox-localrecall",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-localrecall_1.0.0-r1_all.ipk",
|
"filename": "secubox-localrecall_1.0.0-r1_all.ipk",
|
||||||
"size": 7793,
|
"size": 7800,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1554,7 +1554,7 @@
|
|||||||
"name": "secubox-master-link",
|
"name": "secubox-master-link",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-master-link_1.0.0-r1_all.ipk",
|
"filename": "secubox-master-link_1.0.0-r1_all.ipk",
|
||||||
"size": 15035,
|
"size": 15038,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1578,7 +1578,7 @@
|
|||||||
"name": "secubox-mirrornet",
|
"name": "secubox-mirrornet",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "secubox-mirrornet_0.1.0-r1_all.ipk",
|
"filename": "secubox-mirrornet_0.1.0-r1_all.ipk",
|
||||||
"size": 15309,
|
"size": 15308,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1590,7 +1590,7 @@
|
|||||||
"name": "secubox-network-anomaly",
|
"name": "secubox-network-anomaly",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-network-anomaly_1.0.0-r1_all.ipk",
|
"filename": "secubox-network-anomaly_1.0.0-r1_all.ipk",
|
||||||
"size": 6167,
|
"size": 6165,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1602,7 +1602,7 @@
|
|||||||
"name": "secubox-p2p",
|
"name": "secubox-p2p",
|
||||||
"version": "0.6.0-r3",
|
"version": "0.6.0-r3",
|
||||||
"filename": "secubox-p2p_0.6.0-r3_all.ipk",
|
"filename": "secubox-p2p_0.6.0-r3_all.ipk",
|
||||||
"size": 47860,
|
"size": 47869,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1614,7 +1614,7 @@
|
|||||||
"name": "secubox-p2p-intel",
|
"name": "secubox-p2p-intel",
|
||||||
"version": "0.1.0-r1",
|
"version": "0.1.0-r1",
|
||||||
"filename": "secubox-p2p-intel_0.1.0-r1_all.ipk",
|
"filename": "secubox-p2p-intel_0.1.0-r1_all.ipk",
|
||||||
"size": 9801,
|
"size": 9797,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1626,7 +1626,7 @@
|
|||||||
"name": "secubox-threat-analyst",
|
"name": "secubox-threat-analyst",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-threat-analyst_1.0.0-r1_all.ipk",
|
"filename": "secubox-threat-analyst_1.0.0-r1_all.ipk",
|
||||||
"size": 9863,
|
"size": 9868,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
@ -1638,7 +1638,7 @@
|
|||||||
"name": "secubox-vortex-dns",
|
"name": "secubox-vortex-dns",
|
||||||
"version": "1.0.0-r1",
|
"version": "1.0.0-r1",
|
||||||
"filename": "secubox-vortex-dns_1.0.0-r1_all.ipk",
|
"filename": "secubox-vortex-dns_1.0.0-r1_all.ipk",
|
||||||
"size": 5441,
|
"size": 5442,
|
||||||
"category": "utility",
|
"category": "utility",
|
||||||
"icon": "package",
|
"icon": "package",
|
||||||
"description": "SecuBox package",
|
"description": "SecuBox package",
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user