4373 lines
273 KiB
HTML
4373 lines
273 KiB
HTML
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
<meta name="description" content="OpenWrt LuCI Security & Management Suite">
|
|
|
|
|
|
<meta name="author" content="CyberMind.fr">
|
|
|
|
|
|
<link rel="canonical" href="https://gkerma.github.io/secubox-openwrt/feature-regeneration-prompts/">
|
|
|
|
|
|
<link rel="prev" href="../module-status/">
|
|
|
|
|
|
<link rel="next" href="../todo-analyse/">
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="icon" href="../assets/images/favicon.png">
|
|
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.1">
|
|
|
|
|
|
|
|
<title>Feature Prompts - SecuBox Documentation</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../assets/stylesheets/main.484c7ddc.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300,300i,400,400i,700,700i%7CJetBrains+Mono:400,400i,700,700i&display=fallback">
|
|
<style>:root{--md-text-font:"Inter";--md-code-font:"JetBrains Mono"}</style>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../stylesheets/extra.css">
|
|
|
|
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="purple">
|
|
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
|
|
|
|
<a href="#secubox-feature-regeneration-prompts" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
</div>
|
|
<div data-md-component="announce">
|
|
|
|
</div>
|
|
|
|
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
<a href=".." title="SecuBox Documentation" class="md-header__button md-logo" aria-label="SecuBox Documentation" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
|
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
SecuBox Documentation
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
Feature Prompts
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<form class="md-header__option" data-md-component="palette">
|
|
|
|
|
|
|
|
|
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="purple" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
|
|
|
|
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
|
|
</label>
|
|
|
|
|
|
|
|
|
|
|
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="purple" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
|
|
|
|
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
|
|
</label>
|
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-header__button md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|
<label class="md-search__icon md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
|
</label>
|
|
<nav class="md-search__options" aria-label="Search">
|
|
|
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
<div class="md-search__suggest" data-md-component="search-suggest"></div>
|
|
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="search-result">
|
|
<div class="md-search-result__meta">
|
|
Initializing search
|
|
</div>
|
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-header__source">
|
|
<a href="https://github.com/gkerma/secubox-openwrt" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
gkerma/secubox-openwrt
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
|
<div class="md-grid">
|
|
<ul class="md-tabs__list">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href=".." class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
|
|
Home
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../quick-start/" class="md-tabs__link">
|
|
|
|
|
|
|
|
Getting Started
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../development-guidelines/" class="md-tabs__link">
|
|
|
|
|
|
|
|
Development
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../claude/" class="md-tabs__link">
|
|
|
|
|
|
|
|
Reference
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item md-tabs__item--active">
|
|
<a href="../module-status/" class="md-tabs__link">
|
|
|
|
|
|
|
|
Modules
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../todo-analyse/" class="md-tabs__link">
|
|
|
|
|
|
|
|
Tools & Roadmap
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../archive/" class="md-tabs__link">
|
|
|
|
|
|
|
|
Archive
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
</header>
|
|
|
|
<div class="md-container" data-md-component="container">
|
|
|
|
|
|
|
|
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a href=".." title="SecuBox Documentation" class="md-nav__button md-logo" aria-label="SecuBox Documentation" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
|
|
|
</a>
|
|
SecuBox Documentation
|
|
</label>
|
|
|
|
<div class="md-nav__source">
|
|
<a href="https://github.com/gkerma/secubox-openwrt" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
gkerma/secubox-openwrt
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href=".." class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Home
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Getting Started
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
|
|
Getting Started
|
|
|
|
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../quick-start/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Quick Start
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../documentation-index/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Documentation Index
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../repository-guidelines/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Repository Guidelines
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Development
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
|
|
Development
|
|
|
|
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../development-guidelines/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Development Guidelines
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../code-templates/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Code Templates
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../module-implementation-guide/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Module Implementation
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Reference
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
|
|
Reference
|
|
|
|
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../claude/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
RPCD & Architecture
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../validation-guide/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Validation Guide
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../permissions-guide/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Permissions Guide
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../luci-development-reference/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
LuCI Development
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../codex/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Codex Manual
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Modules
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
|
|
<label class="md-nav__title" for="__nav_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
|
|
Modules
|
|
|
|
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../module-status/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Module Status
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Feature Prompts
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Feature Prompts
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#see-also" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
See Also
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#table-of-contents" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Table of Contents
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#design-system-reference" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Design System Reference
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Design System Reference">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#color-palette-variables" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Color Palette & Variables
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#typography-standards" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Typography Standards
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#component-patterns" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Component Patterns
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#core-modules-prompts" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Core Modules Prompts
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Core Modules Prompts">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#1-secubox-central-hub-luci-app-secubox" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
1. SecuBox Central Hub (luci-app-secubox)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#2-system-hub-luci-app-system-hub" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
2. System Hub (luci-app-system-hub)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#security-monitoring-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Security & Monitoring Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Security & Monitoring Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#3-crowdsec-dashboard-luci-app-crowdsec-dashboard" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
3. CrowdSec Dashboard (luci-app-crowdsec-dashboard)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#4-netdata-dashboard-luci-app-netdata-dashboard" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
4. Netdata Dashboard (luci-app-netdata-dashboard)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#network-intelligence-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Network Intelligence Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Network Intelligence Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#5-netifyd-dashboard-luci-app-netifyd-dashboard" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
5. Netifyd Dashboard (luci-app-netifyd-dashboard)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#6-network-modes-luci-app-network-modes" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
6. Network Modes (luci-app-network-modes)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#vpn-access-control-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
VPN & Access Control Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="VPN & Access Control Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#7-wireguard-dashboard-luci-app-wireguard-dashboard" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
7. WireGuard Dashboard (luci-app-wireguard-dashboard)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#8-client-guardian-luci-app-client-guardian" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
8. Client Guardian (luci-app-client-guardian)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#9-auth-guardian-luci-app-auth-guardian" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
9. Auth Guardian (luci-app-auth-guardian)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#bandwidth-traffic-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Bandwidth & Traffic Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Bandwidth & Traffic Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#10-bandwidth-manager-luci-app-bandwidth-manager" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
10. Bandwidth Manager (luci-app-bandwidth-manager)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#11-traffic-shaper-luci-app-traffic-shaper" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
11. Traffic Shaper (luci-app-traffic-shaper)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#12-media-flow-luci-app-media-flow" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
12. Media Flow (luci-app-media-flow)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#performance-services-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Performance & Services Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Performance & Services Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#13-cdn-cache-luci-app-cdn-cache" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
13. CDN Cache (luci-app-cdn-cache)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#14-vhost-manager-luci-app-vhost-manager" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
14. VHost Manager (luci-app-vhost-manager)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#15-ksm-manager-luci-app-ksm-manager" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
15. KSM Manager (luci-app-ksm-manager)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#common-ui-patterns-across-all-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Common UI Patterns Across All Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Common UI Patterns Across All Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#global-design-consistency" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Global Design Consistency
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#how-to-use-these-prompts" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
How to Use These Prompts
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="How to Use These Prompts">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#step-1-select-module" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Step 1: Select Module
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#step-2-copy-full-prompt" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Step 2: Copy Full Prompt
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#step-3-provide-to-claudeai" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Step 3: Provide to Claude.ai
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#step-4-iterate" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Step 4: Iterate
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#additional-resources" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Additional Resources
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Tools & Roadmap
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_6">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
|
|
Tools & Roadmap
|
|
|
|
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../todo-analyse/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
TODO Roadmap
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Archive
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_7">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
|
|
Archive
|
|
|
|
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../archive/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Archive Index
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../archive/build-issues/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Build Issues
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../archive/completion-report/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Completion Report
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../archive/module-enable-disable-design/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Module Enable/Disable
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#see-also" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
See Also
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#table-of-contents" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Table of Contents
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#design-system-reference" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Design System Reference
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Design System Reference">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#color-palette-variables" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Color Palette & Variables
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#typography-standards" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Typography Standards
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#component-patterns" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Component Patterns
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#core-modules-prompts" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Core Modules Prompts
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Core Modules Prompts">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#1-secubox-central-hub-luci-app-secubox" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
1. SecuBox Central Hub (luci-app-secubox)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#2-system-hub-luci-app-system-hub" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
2. System Hub (luci-app-system-hub)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#security-monitoring-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Security & Monitoring Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Security & Monitoring Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#3-crowdsec-dashboard-luci-app-crowdsec-dashboard" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
3. CrowdSec Dashboard (luci-app-crowdsec-dashboard)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#4-netdata-dashboard-luci-app-netdata-dashboard" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
4. Netdata Dashboard (luci-app-netdata-dashboard)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#network-intelligence-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Network Intelligence Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Network Intelligence Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#5-netifyd-dashboard-luci-app-netifyd-dashboard" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
5. Netifyd Dashboard (luci-app-netifyd-dashboard)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#6-network-modes-luci-app-network-modes" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
6. Network Modes (luci-app-network-modes)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#vpn-access-control-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
VPN & Access Control Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="VPN & Access Control Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#7-wireguard-dashboard-luci-app-wireguard-dashboard" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
7. WireGuard Dashboard (luci-app-wireguard-dashboard)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#8-client-guardian-luci-app-client-guardian" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
8. Client Guardian (luci-app-client-guardian)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#9-auth-guardian-luci-app-auth-guardian" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
9. Auth Guardian (luci-app-auth-guardian)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#bandwidth-traffic-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Bandwidth & Traffic Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Bandwidth & Traffic Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#10-bandwidth-manager-luci-app-bandwidth-manager" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
10. Bandwidth Manager (luci-app-bandwidth-manager)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#11-traffic-shaper-luci-app-traffic-shaper" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
11. Traffic Shaper (luci-app-traffic-shaper)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#12-media-flow-luci-app-media-flow" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
12. Media Flow (luci-app-media-flow)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#performance-services-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Performance & Services Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Performance & Services Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#13-cdn-cache-luci-app-cdn-cache" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
13. CDN Cache (luci-app-cdn-cache)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#14-vhost-manager-luci-app-vhost-manager" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
14. VHost Manager (luci-app-vhost-manager)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#15-ksm-manager-luci-app-ksm-manager" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
15. KSM Manager (luci-app-ksm-manager)
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#common-ui-patterns-across-all-modules" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Common UI Patterns Across All Modules
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Common UI Patterns Across All Modules">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#global-design-consistency" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Global Design Consistency
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#how-to-use-these-prompts" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
How to Use These Prompts
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="How to Use These Prompts">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#step-1-select-module" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Step 1: Select Module
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#step-2-copy-full-prompt" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Step 2: Copy Full Prompt
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#step-3-provide-to-claudeai" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Step 3: Provide to Claude.ai
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#step-4-iterate" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Step 4: Iterate
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#additional-resources" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Additional Resources
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-content" data-md-component="content">
|
|
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1 id="secubox-feature-regeneration-prompts">SecuBox Feature Regeneration Prompts<a class="headerlink" href="#secubox-feature-regeneration-prompts" title="Permanent link">¶</a></h1>
|
|
<p><strong>Version:</strong> 1.0.0<br />
|
|
<strong>Last Updated:</strong> 2025-12-28<br />
|
|
<strong>Status:</strong> Active<br />
|
|
<strong>Purpose:</strong> Comprehensive prompts for Claude.ai to regenerate all SecuBox module features matching the live demo at secubox.cybermood.eu</p>
|
|
<hr />
|
|
<h2 id="see-also">See Also<a class="headerlink" href="#see-also" title="Permanent link">¶</a></h2>
|
|
<ul>
|
|
<li><strong>Implementation Workflow:</strong> <a href="../module-implementation-guide/">MODULE-IMPLEMENTATION-GUIDE.md</a></li>
|
|
<li><strong>Code Templates:</strong> <a href="../code-templates/">CODE-TEMPLATES.md</a></li>
|
|
<li><strong>Quick Commands:</strong> <a href="../quick-start/">QUICK-START.md</a></li>
|
|
<li><strong>Automation Guardrails:</strong> <a href="../codex/">CODEX.md</a></li>
|
|
</ul>
|
|
<hr />
|
|
<h2 id="table-of-contents">Table of Contents<a class="headerlink" href="#table-of-contents" title="Permanent link">¶</a></h2>
|
|
<ol>
|
|
<li><a href="#design-system-reference">Design System Reference</a></li>
|
|
<li><a href="#core-modules-prompts">Core Modules Prompts</a></li>
|
|
<li><a href="#security-monitoring-modules">Security & Monitoring Modules</a></li>
|
|
<li><a href="#network-intelligence-modules">Network Intelligence Modules</a></li>
|
|
<li><a href="#vpn-access-control-modules">VPN & Access Control Modules</a></li>
|
|
<li><a href="#bandwidth-traffic-modules">Bandwidth & Traffic Modules</a></li>
|
|
<li><a href="#performance-services-modules">Performance & Services Modules</a></li>
|
|
</ol>
|
|
<hr />
|
|
<h2 id="design-system-reference">Design System Reference<a class="headerlink" href="#design-system-reference" title="Permanent link">¶</a></h2>
|
|
<h3 id="color-palette-variables">Color Palette & Variables<a class="headerlink" href="#color-palette-variables" title="Permanent link">¶</a></h3>
|
|
<p>All modules MUST use CSS variables from <code>system-hub/common.css</code>:</p>
|
|
<p><strong>Dark Mode (Primary):</strong>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">--sh-bg-primary</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">0a0a0f</span><span class="o">;</span><span class="w"> </span><span class="c">/* Deep black background */</span>
|
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="nt">--sh-bg-secondary</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">12121a</span><span class="o">;</span><span class="w"> </span><span class="c">/* Card backgrounds */</span>
|
|
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="nt">--sh-bg-tertiary</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">1a1a24</span><span class="o">;</span><span class="w"> </span><span class="c">/* Hover/active states */</span>
|
|
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="nt">--sh-primary</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">6366f1</span><span class="o">;</span><span class="w"> </span><span class="c">/* Indigo primary */</span>
|
|
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="nt">--sh-primary-end</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">8b5cf6</span><span class="o">;</span><span class="w"> </span><span class="c">/* Violet (gradients) */</span>
|
|
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="nt">--sh-success</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">22c55e</span><span class="o">;</span><span class="w"> </span><span class="c">/* Green */</span>
|
|
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="nt">--sh-danger</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">ef4444</span><span class="o">;</span><span class="w"> </span><span class="c">/* Red */</span>
|
|
<a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="nt">--sh-warning</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">f59e0b</span><span class="o">;</span><span class="w"> </span><span class="c">/* Orange */</span>
|
|
<a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="nt">--sh-text-primary</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">fafafa</span><span class="o">;</span><span class="w"> </span><span class="c">/* Main text */</span>
|
|
<a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="nt">--sh-text-secondary</span><span class="o">:</span><span class="w"> </span><span class="p">#</span><span class="nn">a0a0b0</span><span class="o">;</span><span class="w"> </span><span class="c">/* Secondary text */</span>
|
|
</code></pre></div></p>
|
|
<h3 id="typography-standards">Typography Standards<a class="headerlink" href="#typography-standards" title="Permanent link">¶</a></h3>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="c">/* Fonts */</span>
|
|
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="nt">Inter</span><span class="o">:</span><span class="w"> </span><span class="nt">Body</span><span class="w"> </span><span class="nt">text</span><span class="o">,</span><span class="w"> </span><span class="nt">labels</span><span class="o">,</span><span class="w"> </span><span class="nt">UI</span><span class="w"> </span><span class="nt">elements</span>
|
|
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="nt">JetBrains</span><span class="w"> </span><span class="nt">Mono</span><span class="o">:</span><span class="w"> </span><span class="nt">Numbers</span><span class="o">,</span><span class="w"> </span><span class="nt">IDs</span><span class="o">,</span><span class="w"> </span><span class="nt">code</span><span class="o">,</span><span class="w"> </span><span class="nt">metrics</span>
|
|
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>
|
|
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="c">/* Sizes */</span>
|
|
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="nt">--sh-title-xl</span><span class="o">:</span><span class="w"> </span><span class="nt">28px</span><span class="o">;</span><span class="w"> </span><span class="c">/* Page titles */</span>
|
|
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="nt">--sh-title-lg</span><span class="o">:</span><span class="w"> </span><span class="nt">20px</span><span class="o">;</span><span class="w"> </span><span class="c">/* Card titles */</span>
|
|
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="nt">--sh-value-xl</span><span class="o">:</span><span class="w"> </span><span class="nt">40px</span><span class="o">;</span><span class="w"> </span><span class="c">/* Large metrics */</span>
|
|
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="nt">--sh-value-lg</span><span class="o">:</span><span class="w"> </span><span class="nt">32px</span><span class="o">;</span><span class="w"> </span><span class="c">/* Stats overview */</span>
|
|
</code></pre></div>
|
|
<h3 id="component-patterns">Component Patterns<a class="headerlink" href="#component-patterns" title="Permanent link">¶</a></h3>
|
|
<ol>
|
|
<li><strong>Page Header</strong>: Icon + Title + Subtitle + Stats Grid</li>
|
|
<li><strong>Stats Badges</strong>: Monospace values, 130px minimum width</li>
|
|
<li><strong>Cards</strong>: 3px top border (gradient or solid color)</li>
|
|
<li><strong>Buttons</strong>: Gradient backgrounds, shadow effects, smooth transitions</li>
|
|
<li><strong>Filter Tabs</strong>: Gradient for active, icon + label pattern</li>
|
|
</ol>
|
|
<hr />
|
|
<h2 id="core-modules-prompts">Core Modules Prompts<a class="headerlink" href="#core-modules-prompts" title="Permanent link">¶</a></h2>
|
|
<h3 id="1-secubox-central-hub-luci-app-secubox">1. SecuBox Central Hub (luci-app-secubox)<a class="headerlink" href="#1-secubox-central-hub-luci-app-secubox" title="Permanent link">¶</a></h3>
|
|
<p><strong>Module Purpose:</strong> Main dashboard and central control panel</p>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>Create a LuCI dashboard module for SecuBox Central Hub with these features:
|
|
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>
|
|
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a>DESIGN REQUIREMENTS:
|
|
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a>- Dark theme with gradient backgrounds (#0a0a0f → #12121a)
|
|
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a>- Page header with rocket icon 🚀 and title "SecuBox Control Center"
|
|
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a>- Stats grid showing: Total Modules (badge), Active Services, System Health, Alerts Count
|
|
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a>- Use CSS variables from --sh-* (never hardcode colors)
|
|
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a>
|
|
<a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a>MAIN FEATURES:
|
|
<a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a>1. Module Overview Grid
|
|
<a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a> - Display all 15 installed SecuBox modules as cards
|
|
<a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a> - Each card: Module icon, name, status badge (active/inactive), version
|
|
<a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a> - Color-coded borders: green (running), orange (warning), red (stopped)
|
|
<a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a> - "Configure" and "View Details" buttons per card
|
|
<a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a> - Filter tabs: All | Security | Network | Services
|
|
<a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a>
|
|
<a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a>2. System Health Dashboard
|
|
<a id="__codelineno-2-18" name="__codelineno-2-18" href="#__codelineno-2-18"></a> - Real-time metrics: CPU, RAM, Disk, Network
|
|
<a id="__codelineno-2-19" name="__codelineno-2-19" href="#__codelineno-2-19"></a> - Animated progress bars with gradient fills
|
|
<a id="__codelineno-2-20" name="__codelineno-2-20" href="#__codelineno-2-20"></a> - Threshold indicators (warn >80%, danger >90%)
|
|
<a id="__codelineno-2-21" name="__codelineno-2-21" href="#__codelineno-2-21"></a> - JetBrains Mono font for all numeric values
|
|
<a id="__codelineno-2-22" name="__codelineno-2-22" href="#__codelineno-2-22"></a>
|
|
<a id="__codelineno-2-23" name="__codelineno-2-23" href="#__codelineno-2-23"></a>3. Quick Actions Panel
|
|
<a id="__codelineno-2-24" name="__codelineno-2-24" href="#__codelineno-2-24"></a> - Restart All Services button (gradient orange)
|
|
<a id="__codelineno-2-25" name="__codelineno-2-25" href="#__codelineno-2-25"></a> - Update Packages button (gradient blue)
|
|
<a id="__codelineno-2-26" name="__codelineno-2-26" href="#__codelineno-2-26"></a> - View System Logs button (gradient indigo)
|
|
<a id="__codelineno-2-27" name="__codelineno-2-27" href="#__codelineno-2-27"></a> - Export Config button (gradient green)
|
|
<a id="__codelineno-2-28" name="__codelineno-2-28" href="#__codelineno-2-28"></a>
|
|
<a id="__codelineno-2-29" name="__codelineno-2-29" href="#__codelineno-2-29"></a>4. Alert Timeline
|
|
<a id="__codelineno-2-30" name="__codelineno-2-30" href="#__codelineno-2-30"></a> - Last 10 system events with timestamps
|
|
<a id="__codelineno-2-31" name="__codelineno-2-31" href="#__codelineno-2-31"></a> - Icon indicators for severity levels
|
|
<a id="__codelineno-2-32" name="__codelineno-2-32" href="#__codelineno-2-32"></a> - Expandable details per alert
|
|
<a id="__codelineno-2-33" name="__codelineno-2-33" href="#__codelineno-2-33"></a> - Auto-refresh every 30 seconds
|
|
<a id="__codelineno-2-34" name="__codelineno-2-34" href="#__codelineno-2-34"></a>
|
|
<a id="__codelineno-2-35" name="__codelineno-2-35" href="#__codelineno-2-35"></a>TECHNICAL SPECS:
|
|
<a id="__codelineno-2-36" name="__codelineno-2-36" href="#__codelineno-2-36"></a>- File: luci-app-secubox/htdocs/luci-static/resources/view/secubox/dashboard.js
|
|
<a id="__codelineno-2-37" name="__codelineno-2-37" href="#__codelineno-2-37"></a>- RPCD backend: luci.secubox (methods: getModules, getHealth, getAlerts)
|
|
<a id="__codelineno-2-38" name="__codelineno-2-38" href="#__codelineno-2-38"></a>- CSS: luci-app-secubox/htdocs/luci-static/resources/secubox/dashboard.css
|
|
<a id="__codelineno-2-39" name="__codelineno-2-39" href="#__codelineno-2-39"></a>- Use L.resolveDefault() for all ubus calls
|
|
<a id="__codelineno-2-40" name="__codelineno-2-40" href="#__codelineno-2-40"></a>- Implement proper error handling with user-friendly messages
|
|
<a id="__codelineno-2-41" name="__codelineno-2-41" href="#__codelineno-2-41"></a>- Add loading states with skeleton screens
|
|
<a id="__codelineno-2-42" name="__codelineno-2-42" href="#__codelineno-2-42"></a>
|
|
<a id="__codelineno-2-43" name="__codelineno-2-43" href="#__codelineno-2-43"></a>UI COMPONENTS TO USE:
|
|
<a id="__codelineno-2-44" name="__codelineno-2-44" href="#__codelineno-2-44"></a>- sh-page-header for main header
|
|
<a id="__codelineno-2-45" name="__codelineno-2-45" href="#__codelineno-2-45"></a>- sh-card with sh-card-success/warning/danger variants
|
|
<a id="__codelineno-2-46" name="__codelineno-2-46" href="#__codelineno-2-46"></a>- sh-stat-badge for metrics (130px minimum)
|
|
<a id="__codelineno-2-47" name="__codelineno-2-47" href="#__codelineno-2-47"></a>- sh-btn sh-btn-primary for action buttons
|
|
<a id="__codelineno-2-48" name="__codelineno-2-48" href="#__codelineno-2-48"></a>- sh-filter-tabs for category filtering
|
|
<a id="__codelineno-2-49" name="__codelineno-2-49" href="#__codelineno-2-49"></a>
|
|
<a id="__codelineno-2-50" name="__codelineno-2-50" href="#__codelineno-2-50"></a>REFERENCE THE LIVE DEMO:
|
|
<a id="__codelineno-2-51" name="__codelineno-2-51" href="#__codelineno-2-51"></a>Match the look and feel of secubox.cybermood.eu demo
|
|
<a id="__codelineno-2-52" name="__codelineno-2-52" href="#__codelineno-2-52"></a>- Smooth animations on card hover
|
|
<a id="__codelineno-2-53" name="__codelineno-2-53" href="#__codelineno-2-53"></a>- Gradient text effects on titles
|
|
<a id="__codelineno-2-54" name="__codelineno-2-54" href="#__codelineno-2-54"></a>- Glow effects on active elements
|
|
<a id="__codelineno-2-55" name="__codelineno-2-55" href="#__codelineno-2-55"></a>- Responsive grid (min 280px cards)
|
|
</code></pre></div>
|
|
<h3 id="2-system-hub-luci-app-system-hub">2. System Hub (luci-app-system-hub)<a class="headerlink" href="#2-system-hub-luci-app-system-hub" title="Permanent link">¶</a></h3>
|
|
<p><strong>Module Purpose:</strong> Unified system control center</p>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>Create a comprehensive System Hub module for OpenWrt with these features:
|
|
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>
|
|
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a>DESIGN REQUIREMENTS:
|
|
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a>- Use System Hub design system (common.css variables)
|
|
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a>- Page title: "System Control Center" with ⚙️ icon
|
|
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a>- Multi-tab interface: Overview | Services | Logs | Backup | Components | Diagnostics | Health | Remote | Settings
|
|
<a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a>
|
|
<a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a>1. System Info Grid (4 columns, responsive)
|
|
<a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a> - Hostname card with edit button
|
|
<a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a> - Uptime card with formatted duration
|
|
<a id="__codelineno-3-12" name="__codelineno-3-12" href="#__codelineno-3-12"></a> - Load Average card (1m, 5m, 15m) in monospace
|
|
<a id="__codelineno-3-13" name="__codelineno-3-13" href="#__codelineno-3-13"></a> - Kernel Version card with copy icon
|
|
<a id="__codelineno-3-14" name="__codelineno-3-14" href="#__codelineno-3-14"></a>
|
|
<a id="__codelineno-3-15" name="__codelineno-3-15" href="#__codelineno-3-15"></a>2. Resource Monitors (animated progress circles)
|
|
<a id="__codelineno-3-16" name="__codelineno-3-16" href="#__codelineno-3-16"></a> - CPU usage with color coding (<70% green, 70-90% orange, >90% red)
|
|
<a id="__codelineno-3-17" name="__codelineno-3-17" href="#__codelineno-3-17"></a> - Memory usage with used/total display
|
|
<a id="__codelineno-3-18" name="__codelineno-3-18" href="#__codelineno-3-18"></a> - Storage usage with filesystem breakdown
|
|
<a id="__codelineno-3-19" name="__codelineno-3-19" href="#__codelineno-3-19"></a> - Network throughput (RX/TX rates in real-time)
|
|
<a id="__codelineno-3-20" name="__codelineno-3-20" href="#__codelineno-3-20"></a>
|
|
<a id="__codelineno-3-21" name="__codelineno-3-21" href="#__codelineno-3-21"></a>3. Quick Status Indicators
|
|
<a id="__codelineno-3-22" name="__codelineno-3-22" href="#__codelineno-3-22"></a> - Internet connectivity (ping test every 60s)
|
|
<a id="__codelineno-3-23" name="__codelineno-3-23" href="#__codelineno-3-23"></a> - DNS resolution status
|
|
<a id="__codelineno-3-24" name="__codelineno-3-24" href="#__codelineno-3-24"></a> - NTP sync status
|
|
<a id="__codelineno-3-25" name="__codelineno-3-25" href="#__codelineno-3-25"></a> - Firewall status with rule count
|
|
<a id="__codelineno-3-26" name="__codelineno-3-26" href="#__codelineno-3-26"></a>
|
|
<a id="__codelineno-3-27" name="__codelineno-3-27" href="#__codelineno-3-27"></a>SERVICES TAB:
|
|
<a id="__codelineno-3-28" name="__codelineno-3-28" href="#__codelineno-3-28"></a>1. Service Cards Grid
|
|
<a id="__codelineno-3-29" name="__codelineno-3-29" href="#__codelineno-3-29"></a> - Each service: name, status badge, description, uptime
|
|
<a id="__codelineno-3-30" name="__codelineno-3-30" href="#__codelineno-3-30"></a> - Color-coded borders based on status
|
|
<a id="__codelineno-3-31" name="__codelineno-3-31" href="#__codelineno-3-31"></a> - Action buttons: Start/Stop/Restart/Enable/Disable
|
|
<a id="__codelineno-3-32" name="__codelineno-3-32" href="#__codelineno-3-32"></a> - Filter by: All | Running | Stopped | Enabled | Disabled
|
|
<a id="__codelineno-3-33" name="__codelineno-3-33" href="#__codelineno-3-33"></a> - Search bar for filtering services
|
|
<a id="__codelineno-3-34" name="__codelineno-3-34" href="#__codelineno-3-34"></a>
|
|
<a id="__codelineno-3-35" name="__codelineno-3-35" href="#__codelineno-3-35"></a>2. Service Details Modal
|
|
<a id="__codelineno-3-36" name="__codelineno-3-36" href="#__codelineno-3-36"></a> - Full service info (PID, memory usage, CPU time)
|
|
<a id="__codelineno-3-37" name="__codelineno-3-37" href="#__codelineno-3-37"></a> - Recent logs (last 50 lines with syntax highlighting)
|
|
<a id="__codelineno-3-38" name="__codelineno-3-38" href="#__codelineno-3-38"></a> - Configuration file path with edit link
|
|
<a id="__codelineno-3-39" name="__codelineno-3-39" href="#__codelineno-3-39"></a> - Dependencies tree view
|
|
<a id="__codelineno-3-40" name="__codelineno-3-40" href="#__codelineno-3-40"></a>
|
|
<a id="__codelineno-3-41" name="__codelineno-3-41" href="#__codelineno-3-41"></a>LOGS TAB:
|
|
<a id="__codelineno-3-42" name="__codelineno-3-42" href="#__codelineno-3-42"></a>1. System Logs Viewer
|
|
<a id="__codelineno-3-43" name="__codelineno-3-43" href="#__codelineno-3-43"></a> - Real-time log streaming (WebSocket or polling)
|
|
<a id="__codelineno-3-44" name="__codelineno-3-44" href="#__codelineno-3-44"></a> - Color-coded severity levels (error=red, warn=orange, info=blue)
|
|
<a id="__codelineno-3-45" name="__codelineno-3-45" href="#__codelineno-3-45"></a> - Filter by: severity, service, date range
|
|
<a id="__codelineno-3-46" name="__codelineno-3-46" href="#__codelineno-3-46"></a> - Search functionality with regex support
|
|
<a id="__codelineno-3-47" name="__codelineno-3-47" href="#__codelineno-3-47"></a> - Auto-scroll toggle
|
|
<a id="__codelineno-3-48" name="__codelineno-3-48" href="#__codelineno-3-48"></a> - Export logs button (download as .txt)
|
|
<a id="__codelineno-3-49" name="__codelineno-3-49" href="#__codelineno-3-49"></a> - Line numbers in monospace
|
|
<a id="__codelineno-3-50" name="__codelineno-3-50" href="#__codelineno-3-50"></a> - Compact header mode (saves vertical space)
|
|
<a id="__codelineno-3-51" name="__codelineno-3-51" href="#__codelineno-3-51"></a>
|
|
<a id="__codelineno-3-52" name="__codelineno-3-52" href="#__codelineno-3-52"></a>2. Log Statistics
|
|
<a id="__codelineno-3-53" name="__codelineno-3-53" href="#__codelineno-3-53"></a> - Error count in last hour/day
|
|
<a id="__codelineno-3-54" name="__codelineno-3-54" href="#__codelineno-3-54"></a> - Most active services
|
|
<a id="__codelineno-3-55" name="__codelineno-3-55" href="#__codelineno-3-55"></a> - Alert frequency chart (sparkline)
|
|
<a id="__codelineno-3-56" name="__codelineno-3-56" href="#__codelineno-3-56"></a>
|
|
<a id="__codelineno-3-57" name="__codelineno-3-57" href="#__codelineno-3-57"></a>BACKUP TAB:
|
|
<a id="__codelineno-3-58" name="__codelineno-3-58" href="#__codelineno-3-58"></a>1. Backup Management
|
|
<a id="__codelineno-3-59" name="__codelineno-3-59" href="#__codelineno-3-59"></a> - Create backup button (includes config + installed packages list)
|
|
<a id="__codelineno-3-60" name="__codelineno-3-60" href="#__codelineno-3-60"></a> - List existing backups with date, size, description
|
|
<a id="__codelineno-3-61" name="__codelineno-3-61" href="#__codelineno-3-61"></a> - Restore from backup with confirmation modal
|
|
<a id="__codelineno-3-62" name="__codelineno-3-62" href="#__codelineno-3-62"></a> - Download backup to local machine
|
|
<a id="__codelineno-3-63" name="__codelineno-3-63" href="#__codelineno-3-63"></a> - Upload backup from file
|
|
<a id="__codelineno-3-64" name="__codelineno-3-64" href="#__codelineno-3-64"></a> - Auto-backup schedule configuration
|
|
<a id="__codelineno-3-65" name="__codelineno-3-65" href="#__codelineno-3-65"></a>
|
|
<a id="__codelineno-3-66" name="__codelineno-3-66" href="#__codelineno-3-66"></a>2. Backup Preview
|
|
<a id="__codelineno-3-67" name="__codelineno-3-67" href="#__codelineno-3-67"></a> - Show included files before creating
|
|
<a id="__codelineno-3-68" name="__codelineno-3-68" href="#__codelineno-3-68"></a> - Estimated size calculation
|
|
<a id="__codelineno-3-69" name="__codelineno-3-69" href="#__codelineno-3-69"></a> - Compression options (gz, xz)
|
|
<a id="__codelineno-3-70" name="__codelineno-3-70" href="#__codelineno-3-70"></a>
|
|
<a id="__codelineno-3-71" name="__codelineno-3-71" href="#__codelineno-3-71"></a>COMPONENTS TAB:
|
|
<a id="__codelineno-3-72" name="__codelineno-3-72" href="#__codelineno-3-72"></a>1. Installed Packages Display
|
|
<a id="__codelineno-3-73" name="__codelineno-3-73" href="#__codelineno-3-73"></a> - Grid of all luci-app-* packages
|
|
<a id="__codelineno-3-74" name="__codelineno-3-74" href="#__codelineno-3-74"></a> - Each card: package name, version, size, status
|
|
<a id="__codelineno-3-75" name="__codelineno-3-75" href="#__codelineno-3-75"></a> - Category filtering (same as SecuBox modules)
|
|
<a id="__codelineno-3-76" name="__codelineno-3-76" href="#__codelineno-3-76"></a> - Dependency information
|
|
<a id="__codelineno-3-77" name="__codelineno-3-77" href="#__codelineno-3-77"></a> - Uninstall button with warning
|
|
<a id="__codelineno-3-78" name="__codelineno-3-78" href="#__codelineno-3-78"></a>
|
|
<a id="__codelineno-3-79" name="__codelineno-3-79" href="#__codelineno-3-79"></a>DIAGNOSTICS TAB:
|
|
<a id="__codelineno-3-80" name="__codelineno-3-80" href="#__codelineno-3-80"></a>1. Network Diagnostics
|
|
<a id="__codelineno-3-81" name="__codelineno-3-81" href="#__codelineno-3-81"></a> - Ping tool with target input
|
|
<a id="__codelineno-3-82" name="__codelineno-3-82" href="#__codelineno-3-82"></a> - Traceroute with hop visualization
|
|
<a id="__codelineno-3-83" name="__codelineno-3-83" href="#__codelineno-3-83"></a> - DNS lookup with multiple nameservers
|
|
<a id="__codelineno-3-84" name="__codelineno-3-84" href="#__codelineno-3-84"></a> - Port scanner (common ports or custom range)
|
|
<a id="__codelineno-3-85" name="__codelineno-3-85" href="#__codelineno-3-85"></a> - Bandwidth test (speedtest-cli integration)
|
|
<a id="__codelineno-3-86" name="__codelineno-3-86" href="#__codelineno-3-86"></a>
|
|
<a id="__codelineno-3-87" name="__codelineno-3-87" href="#__codelineno-3-87"></a>2. System Diagnostics
|
|
<a id="__codelineno-3-88" name="__codelineno-3-88" href="#__codelineno-3-88"></a> - Filesystem check status
|
|
<a id="__codelineno-3-89" name="__codelineno-3-89" href="#__codelineno-3-89"></a> - Memory leak detection
|
|
<a id="__codelineno-3-90" name="__codelineno-3-90" href="#__codelineno-3-90"></a> - Process list with resource usage
|
|
<a id="__codelineno-3-91" name="__codelineno-3-91" href="#__codelineno-3-91"></a> - Open file descriptors count
|
|
<a id="__codelineno-3-92" name="__codelineno-3-92" href="#__codelineno-3-92"></a> - Network connections table
|
|
<a id="__codelineno-3-93" name="__codelineno-3-93" href="#__codelineno-3-93"></a>
|
|
<a id="__codelineno-3-94" name="__codelineno-3-94" href="#__codelineno-3-94"></a>HEALTH TAB:
|
|
<a id="__codelineno-3-95" name="__codelineno-3-95" href="#__codelineno-3-95"></a>1. System Health Report
|
|
<a id="__codelineno-3-96" name="__codelineno-3-96" href="#__codelineno-3-96"></a> - Overall health score (0-100) with gradient circle
|
|
<a id="__codelineno-3-97" name="__codelineno-3-97" href="#__codelineno-3-97"></a> - Critical issues list with fix suggestions
|
|
<a id="__codelineno-3-98" name="__codelineno-3-98" href="#__codelineno-3-98"></a> - Temperature sensors (if available)
|
|
<a id="__codelineno-3-99" name="__codelineno-3-99" href="#__codelineno-3-99"></a> - Fan speeds (if available)
|
|
<a id="__codelineno-3-100" name="__codelineno-3-100" href="#__codelineno-3-100"></a> - SMART disk status
|
|
<a id="__codelineno-3-101" name="__codelineno-3-101" href="#__codelineno-3-101"></a> - Battery status (for UPS-backed systems)
|
|
<a id="__codelineno-3-102" name="__codelineno-3-102" href="#__codelineno-3-102"></a>
|
|
<a id="__codelineno-3-103" name="__codelineno-3-103" href="#__codelineno-3-103"></a>2. Health History
|
|
<a id="__codelineno-3-104" name="__codelineno-3-104" href="#__codelineno-3-104"></a> - 24h health score chart (line graph)
|
|
<a id="__codelineno-3-105" name="__codelineno-3-105" href="#__codelineno-3-105"></a> - Resource usage trends
|
|
<a id="__codelineno-3-106" name="__codelineno-3-106" href="#__codelineno-3-106"></a> - Alert frequency over time
|
|
<a id="__codelineno-3-107" name="__codelineno-3-107" href="#__codelineno-3-107"></a>
|
|
<a id="__codelineno-3-108" name="__codelineno-3-108" href="#__codelineno-3-108"></a>REMOTE TAB:
|
|
<a id="__codelineno-3-109" name="__codelineno-3-109" href="#__codelineno-3-109"></a>1. Remote Access Management
|
|
<a id="__codelineno-3-110" name="__codelineno-3-110" href="#__codelineno-3-110"></a> - SSH status with port and allowed IPs
|
|
<a id="__codelineno-3-111" name="__codelineno-3-111" href="#__codelineno-3-111"></a> - Web UI access info (HTTP/HTTPS, port, external access)
|
|
<a id="__codelineno-3-112" name="__codelineno-3-112" href="#__codelineno-3-112"></a> - RustDesk remote desktop integration
|
|
<a id="__codelineno-3-113" name="__codelineno-3-113" href="#__codelineno-3-113"></a> - WireGuard VPN status (if installed)
|
|
<a id="__codelineno-3-114" name="__codelineno-3-114" href="#__codelineno-3-114"></a> - Dynamic DNS configuration
|
|
<a id="__codelineno-3-115" name="__codelineno-3-115" href="#__codelineno-3-115"></a>
|
|
<a id="__codelineno-3-116" name="__codelineno-3-116" href="#__codelineno-3-116"></a>SETTINGS TAB:
|
|
<a id="__codelineno-3-117" name="__codelineno-3-117" href="#__codelineno-3-117"></a>1. System Hub Preferences
|
|
<a id="__codelineno-3-118" name="__codelineno-3-118" href="#__codelineno-3-118"></a> - Auto-refresh interval (10s/30s/60s/disabled)
|
|
<a id="__codelineno-3-119" name="__codelineno-3-119" href="#__codelineno-3-119"></a> - Dark/Light mode toggle
|
|
<a id="__codelineno-3-120" name="__codelineno-3-120" href="#__codelineno-3-120"></a> - Compact mode toggle
|
|
<a id="__codelineno-3-121" name="__codelineno-3-121" href="#__codelineno-3-121"></a> - Language selection
|
|
<a id="__codelineno-3-122" name="__codelineno-3-122" href="#__codelineno-3-122"></a> - Timezone configuration
|
|
<a id="__codelineno-3-123" name="__codelineno-3-123" href="#__codelineno-3-123"></a> - Dashboard layout customization
|
|
<a id="__codelineno-3-124" name="__codelineno-3-124" href="#__codelineno-3-124"></a>
|
|
<a id="__codelineno-3-125" name="__codelineno-3-125" href="#__codelineno-3-125"></a>TECHNICAL IMPLEMENTATION:
|
|
<a id="__codelineno-3-126" name="__codelineno-3-126" href="#__codelineno-3-126"></a>- Files: system-hub/overview.js, services.js, logs.js, backup.js, components.js, diagnostics.js, health.js, remote.js, settings.js
|
|
<a id="__codelineno-3-127" name="__codelineno-3-127" href="#__codelineno-3-127"></a>- RPCD: luci.system-hub with methods for each feature
|
|
<a id="__codelineno-3-128" name="__codelineno-3-128" href="#__codelineno-3-128"></a>- API file: system-hub/api.js with clean method wrappers
|
|
<a id="__codelineno-3-129" name="__codelineno-3-129" href="#__codelineno-3-129"></a>- CSS: system-hub/dashboard.css + common.css
|
|
<a id="__codelineno-3-130" name="__codelineno-3-130" href="#__codelineno-3-130"></a>- Use theme.js for dark/light mode switching
|
|
<a id="__codelineno-3-131" name="__codelineno-3-131" href="#__codelineno-3-131"></a>- WebSocket support for real-time log streaming
|
|
<a id="__codelineno-3-132" name="__codelineno-3-132" href="#__codelineno-3-132"></a>- LocalStorage for user preferences
|
|
<a id="__codelineno-3-133" name="__codelineno-3-133" href="#__codelineno-3-133"></a>- Proper loading states and error handling
|
|
<a id="__codelineno-3-134" name="__codelineno-3-134" href="#__codelineno-3-134"></a>
|
|
<a id="__codelineno-3-135" name="__codelineno-3-135" href="#__codelineno-3-135"></a>REFERENCE DEMO:
|
|
<a id="__codelineno-3-136" name="__codelineno-3-136" href="#__codelineno-3-136"></a>Match secubox.cybermood.eu/system-hub demo
|
|
<a id="__codelineno-3-137" name="__codelineno-3-137" href="#__codelineno-3-137"></a>- Smooth tab transitions
|
|
<a id="__codelineno-3-138" name="__codelineno-3-138" href="#__codelineno-3-138"></a>- Real-time data updates
|
|
<a id="__codelineno-3-139" name="__codelineno-3-139" href="#__codelineno-3-139"></a>- Responsive grid layouts
|
|
<a id="__codelineno-3-140" name="__codelineno-3-140" href="#__codelineno-3-140"></a>- Professional color coding
|
|
</code></pre></div>
|
|
<hr />
|
|
<h2 id="security-monitoring-modules">Security & Monitoring Modules<a class="headerlink" href="#security-monitoring-modules" title="Permanent link">¶</a></h2>
|
|
<h3 id="3-crowdsec-dashboard-luci-app-crowdsec-dashboard">3. CrowdSec Dashboard (luci-app-crowdsec-dashboard)<a class="headerlink" href="#3-crowdsec-dashboard-luci-app-crowdsec-dashboard" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>Create a CrowdSec security monitoring dashboard for OpenWrt:
|
|
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a>
|
|
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a>DESIGN:
|
|
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a>- Title: "CrowdSec Security" with 🛡️ icon
|
|
<a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a>- Dark theme with emphasis on threat indicators
|
|
<a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a>- Stats badges: Active Decisions | Blocked IPs | Alerts | Bouncers
|
|
<a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a>
|
|
<a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a>1. Threat Intelligence Summary
|
|
<a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a> - Total decisions count (15M+ IPs blocked globally reference)
|
|
<a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a> - Active local decisions with expiry countdown
|
|
<a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a> - Decision types breakdown (ban, captcha, throttle) as pie chart
|
|
<a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a> - Country distribution of threats (top 10 with flags)
|
|
<a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a>
|
|
<a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a>2. Recent Alerts Timeline
|
|
<a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a> - Alert cards with: timestamp, scenario, IP, country flag, severity
|
|
<a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a> - Color-coded by risk level
|
|
<a id="__codelineno-4-18" name="__codelineno-4-18" href="#__codelineno-4-18"></a> - Expandable details showing full event data
|
|
<a id="__codelineno-4-19" name="__codelineno-4-19" href="#__codelineno-4-19"></a> - Filter by: time range, scenario type, severity
|
|
<a id="__codelineno-4-20" name="__codelineno-4-20" href="#__codelineno-4-20"></a>
|
|
<a id="__codelineno-4-21" name="__codelineno-4-21" href="#__codelineno-4-21"></a>3. Real-time Activity Feed
|
|
<a id="__codelineno-4-22" name="__codelineno-4-22" href="#__codelineno-4-22"></a> - Last 100 events (scrollable, auto-updating)
|
|
<a id="__codelineno-4-23" name="__codelineno-4-23" href="#__codelineno-4-23"></a> - IP address in monospace with copy button
|
|
<a id="__codelineno-4-24" name="__codelineno-4-24" href="#__codelineno-4-24"></a> - Scenario name with icon
|
|
<a id="__codelineno-4-25" name="__codelineno-4-25" href="#__codelineno-4-25"></a> - Action taken (ban/log/captcha)
|
|
<a id="__codelineno-4-26" name="__codelineno-4-26" href="#__codelineno-4-26"></a>
|
|
<a id="__codelineno-4-27" name="__codelineno-4-27" href="#__codelineno-4-27"></a>DECISIONS TAB:
|
|
<a id="__codelineno-4-28" name="__codelineno-4-28" href="#__codelineno-4-28"></a>1. Active Decisions Table
|
|
<a id="__codelineno-4-29" name="__codelineno-4-29" href="#__codelineno-4-29"></a> - Columns: IP, Reason, Duration, Expires In, Type, Origin, Actions
|
|
<a id="__codelineno-4-30" name="__codelineno-4-30" href="#__codelineno-4-30"></a> - Sortable by all columns
|
|
<a id="__codelineno-4-31" name="__codelineno-4-31" href="#__codelineno-4-31"></a> - Search and filter capabilities
|
|
<a id="__codelineno-4-32" name="__codelineno-4-32" href="#__codelineno-4-32"></a> - Manual decision add/remove buttons
|
|
<a id="__codelineno-4-33" name="__codelineno-4-33" href="#__codelineno-4-33"></a> - Bulk actions (delete selected)
|
|
<a id="__codelineno-4-34" name="__codelineno-4-34" href="#__codelineno-4-34"></a> - Export to CSV button
|
|
<a id="__codelineno-4-35" name="__codelineno-4-35" href="#__codelineno-4-35"></a>
|
|
<a id="__codelineno-4-36" name="__codelineno-4-36" href="#__codelineno-4-36"></a>2. Decision Statistics
|
|
<a id="__codelineno-4-37" name="__codelineno-4-37" href="#__codelineno-4-37"></a> - Decisions over time (24h chart)
|
|
<a id="__codelineno-4-38" name="__codelineno-4-38" href="#__codelineno-4-38"></a> - Most blocked IPs
|
|
<a id="__codelineno-4-39" name="__codelineno-4-39" href="#__codelineno-4-39"></a> - Most triggered scenarios
|
|
<a id="__codelineno-4-40" name="__codelineno-4-40" href="#__codelineno-4-40"></a> - Average decision duration
|
|
<a id="__codelineno-4-41" name="__codelineno-4-41" href="#__codelineno-4-41"></a>
|
|
<a id="__codelineno-4-42" name="__codelineno-4-42" href="#__codelineno-4-42"></a>ALERTS TAB:
|
|
<a id="__codelineno-4-43" name="__codelineno-4-43" href="#__codelineno-4-43"></a>1. Alert Management
|
|
<a id="__codelineno-4-44" name="__codelineno-4-44" href="#__codelineno-4-44"></a> - Alert cards grouped by scenario
|
|
<a id="__codelineno-4-45" name="__codelineno-4-45" href="#__codelineno-4-45"></a> - Timeline view with date headers
|
|
<a id="__codelineno-4-46" name="__codelineno-4-46" href="#__codelineno-4-46"></a> - Severity indicators (critical/high/medium/low)
|
|
<a id="__codelineno-4-47" name="__codelineno-4-47" href="#__codelineno-4-47"></a> - Related decisions linking
|
|
<a id="__codelineno-4-48" name="__codelineno-4-48" href="#__codelineno-4-48"></a> - Mark as resolved functionality
|
|
<a id="__codelineno-4-49" name="__codelineno-4-49" href="#__codelineno-4-49"></a>
|
|
<a id="__codelineno-4-50" name="__codelineno-4-50" href="#__codelineno-4-50"></a>BOUNCERS TAB:
|
|
<a id="__codelineno-4-51" name="__codelineno-4-51" href="#__codelineno-4-51"></a>1. Bouncer Status
|
|
<a id="__codelineno-4-52" name="__codelineno-4-52" href="#__codelineno-4-52"></a> - Connected bouncers list
|
|
<a id="__codelineno-4-53" name="__codelineno-4-53" href="#__codelineno-4-53"></a> - Each bouncer: name, type, version, last pull, status
|
|
<a id="__codelineno-4-54" name="__codelineno-4-54" href="#__codelineno-4-54"></a> - Add new bouncer with API key generation
|
|
<a id="__codelineno-4-55" name="__codelineno-4-55" href="#__codelineno-4-55"></a> - Delete bouncer with confirmation
|
|
<a id="__codelineno-4-56" name="__codelineno-4-56" href="#__codelineno-4-56"></a> - Bouncer metrics (decisions applied, queries made)
|
|
<a id="__codelineno-4-57" name="__codelineno-4-57" href="#__codelineno-4-57"></a>
|
|
<a id="__codelineno-4-58" name="__codelineno-4-58" href="#__codelineno-4-58"></a>METRICS TAB:
|
|
<a id="__codelineno-4-59" name="__codelineno-4-59" href="#__codelineno-4-59"></a>1. Performance Metrics
|
|
<a id="__codelineno-4-60" name="__codelineno-4-60" href="#__codelineno-4-60"></a> - CrowdSec service health
|
|
<a id="__codelineno-4-61" name="__codelineno-4-61" href="#__codelineno-4-61"></a> - Decision pull frequency
|
|
<a id="__codelineno-4-62" name="__codelineno-4-62" href="#__codelineno-4-62"></a> - API response times
|
|
<a id="__codelineno-4-63" name="__codelineno-4-63" href="#__codelineno-4-63"></a> - Memory and CPU usage
|
|
<a id="__codelineno-4-64" name="__codelineno-4-64" href="#__codelineno-4-64"></a> - LAPI/CAPI status indicators
|
|
<a id="__codelineno-4-65" name="__codelineno-4-65" href="#__codelineno-4-65"></a>
|
|
<a id="__codelineno-4-66" name="__codelineno-4-66" href="#__codelineno-4-66"></a>SETTINGS TAB:
|
|
<a id="__codelineno-4-67" name="__codelineno-4-67" href="#__codelineno-4-67"></a>1. CrowdSec Configuration
|
|
<a id="__codelineno-4-68" name="__codelineno-4-68" href="#__codelineno-4-68"></a> - Enable/disable service
|
|
<a id="__codelineno-4-69" name="__codelineno-4-69" href="#__codelineno-4-69"></a> - Acquisition configuration (log paths)
|
|
<a id="__codelineno-4-70" name="__codelineno-4-70" href="#__codelineno-4-70"></a> - Scenario management (enable/disable specific scenarios)
|
|
<a id="__codelineno-4-71" name="__codelineno-4-71" href="#__codelineno-4-71"></a> - Collection management (install/remove)
|
|
<a id="__codelineno-4-72" name="__codelineno-4-72" href="#__codelineno-4-72"></a> - Console enrollment status
|
|
<a id="__codelineno-4-73" name="__codelineno-4-73" href="#__codelineno-4-73"></a>
|
|
<a id="__codelineno-4-74" name="__codelineno-4-74" href="#__codelineno-4-74"></a>TECHNICAL:
|
|
<a id="__codelineno-4-75" name="__codelineno-4-75" href="#__codelineno-4-75"></a>- RPCD: luci.crowdsec-dashboard
|
|
<a id="__codelineno-4-76" name="__codelineno-4-76" href="#__codelineno-4-76"></a>- Methods: getStats, getDecisions, getAlerts, getBouncers, getMetrics
|
|
<a id="__codelineno-4-77" name="__codelineno-4-77" href="#__codelineno-4-77"></a>- Commands: cscli decisions list/add/delete, cscli alerts list, cscli bouncers list
|
|
<a id="__codelineno-4-78" name="__codelineno-4-78" href="#__codelineno-4-78"></a>- Parse JSON output from cscli commands
|
|
<a id="__codelineno-4-79" name="__codelineno-4-79" href="#__codelineno-4-79"></a>- Handle API communication with CrowdSec daemon
|
|
<a id="__codelineno-4-80" name="__codelineno-4-80" href="#__codelineno-4-80"></a>
|
|
<a id="__codelineno-4-81" name="__codelineno-4-81" href="#__codelineno-4-81"></a>VISUAL ENHANCEMENTS:
|
|
<a id="__codelineno-4-82" name="__codelineno-4-82" href="#__codelineno-4-82"></a>- Gradient borders for threat level cards (green→orange→red)
|
|
<a id="__codelineno-4-83" name="__codelineno-4-83" href="#__codelineno-4-83"></a>- Animated pulse on new alerts
|
|
<a id="__codelineno-4-84" name="__codelineno-4-84" href="#__codelineno-4-84"></a>- Country flags for IP geolocation
|
|
<a id="__codelineno-4-85" name="__codelineno-4-85" href="#__codelineno-4-85"></a>- Sparkline charts for metrics
|
|
<a id="__codelineno-4-86" name="__codelineno-4-86" href="#__codelineno-4-86"></a>- Loading skeletons during data fetch
|
|
</code></pre></div>
|
|
<h3 id="4-netdata-dashboard-luci-app-netdata-dashboard">4. Netdata Dashboard (luci-app-netdata-dashboard)<a class="headerlink" href="#4-netdata-dashboard-luci-app-netdata-dashboard" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>Create a Netdata system monitoring dashboard with 1000+ metrics:
|
|
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>
|
|
<a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a>DESIGN:
|
|
<a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a>- Title: "System Monitoring" with 📊 icon
|
|
<a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a>- Emphasis on real-time charts and metrics
|
|
<a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a>- Stats badges: Alerts | Services | Charts | Collectors
|
|
<a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a>
|
|
<a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a>DASHBOARD TAB:
|
|
<a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a>1. Overview Metrics Grid
|
|
<a id="__codelineno-5-10" name="__codelineno-5-10" href="#__codelineno-5-10"></a> - System load (1m, 5m, 15m) as gauge charts
|
|
<a id="__codelineno-5-11" name="__codelineno-5-11" href="#__codelineno-5-11"></a> - CPU usage per core (multi-core visualization)
|
|
<a id="__codelineno-5-12" name="__codelineno-5-12" href="#__codelineno-5-12"></a> - RAM usage with breakdown (used/cached/buffers/free)
|
|
<a id="__codelineno-5-13" name="__codelineno-5-13" href="#__codelineno-5-13"></a> - Disk I/O rates (read/write MB/s)
|
|
<a id="__codelineno-5-14" name="__codelineno-5-14" href="#__codelineno-5-14"></a> - Network throughput (all interfaces combined)
|
|
<a id="__codelineno-5-15" name="__codelineno-5-15" href="#__codelineno-5-15"></a>
|
|
<a id="__codelineno-5-16" name="__codelineno-5-16" href="#__codelineno-5-16"></a>2. Quick Charts
|
|
<a id="__codelineno-5-17" name="__codelineno-5-17" href="#__codelineno-5-17"></a> - CPU temperature chart (if available)
|
|
<a id="__codelineno-5-18" name="__codelineno-5-18" href="#__codelineno-5-18"></a> - Swap usage chart
|
|
<a id="__codelineno-5-19" name="__codelineno-5-19" href="#__codelineno-5-19"></a> - Processes count chart (running/sleeping/zombie)
|
|
<a id="__codelineno-5-20" name="__codelineno-5-20" href="#__codelineno-5-20"></a> - Context switches and interrupts chart
|
|
<a id="__codelineno-5-21" name="__codelineno-5-21" href="#__codelineno-5-21"></a>
|
|
<a id="__codelineno-5-22" name="__codelineno-5-22" href="#__codelineno-5-22"></a>3. Embedded Netdata
|
|
<a id="__codelineno-5-23" name="__codelineno-5-23" href="#__codelineno-5-23"></a> - Full Netdata web UI embedded in iframe
|
|
<a id="__codelineno-5-24" name="__codelineno-5-24" href="#__codelineno-5-24"></a> - Responsive sizing
|
|
<a id="__codelineno-5-25" name="__codelineno-5-25" href="#__codelineno-5-25"></a> - Theme matching (dark mode)
|
|
<a id="__codelineno-5-26" name="__codelineno-5-26" href="#__codelineno-5-26"></a>
|
|
<a id="__codelineno-5-27" name="__codelineno-5-27" href="#__codelineno-5-27"></a>SYSTEM TAB:
|
|
<a id="__codelineno-5-28" name="__codelineno-5-28" href="#__codelineno-5-28"></a>1. System Metrics Deep Dive
|
|
<a id="__codelineno-5-29" name="__codelineno-5-29" href="#__codelineno-5-29"></a> - CPU frequency and governor
|
|
<a id="__codelineno-5-30" name="__codelineno-5-30" href="#__codelineno-5-30"></a> - CPU idle time percentage
|
|
<a id="__codelineno-5-31" name="__codelineno-5-31" href="#__codelineno-5-31"></a> - Per-core usage bars
|
|
<a id="__codelineno-5-32" name="__codelineno-5-32" href="#__codelineno-5-32"></a> - System interrupts per second
|
|
<a id="__codelineno-5-33" name="__codelineno-5-33" href="#__codelineno-5-33"></a> - Context switches rate
|
|
<a id="__codelineno-5-34" name="__codelineno-5-34" href="#__codelineno-5-34"></a> - Kernel internal metrics
|
|
<a id="__codelineno-5-35" name="__codelineno-5-35" href="#__codelineno-5-35"></a>
|
|
<a id="__codelineno-5-36" name="__codelineno-5-36" href="#__codelineno-5-36"></a>2. Memory Details
|
|
<a id="__codelineno-5-37" name="__codelineno-5-37" href="#__codelineno-5-37"></a> - Memory allocation chart
|
|
<a id="__codelineno-5-38" name="__codelineno-5-38" href="#__codelineno-5-38"></a> - Page faults rate
|
|
<a id="__codelineno-5-39" name="__codelineno-5-39" href="#__codelineno-5-39"></a> - Committed memory ratio
|
|
<a id="__codelineno-5-40" name="__codelineno-5-40" href="#__codelineno-5-40"></a> - Huge pages usage
|
|
<a id="__codelineno-5-41" name="__codelineno-5-41" href="#__codelineno-5-41"></a> - Slab memory breakdown
|
|
<a id="__codelineno-5-42" name="__codelineno-5-42" href="#__codelineno-5-42"></a>
|
|
<a id="__codelineno-5-43" name="__codelineno-5-43" href="#__codelineno-5-43"></a>PROCESSES TAB:
|
|
<a id="__codelineno-5-44" name="__codelineno-5-44" href="#__codelineno-5-44"></a>1. Process Monitoring
|
|
<a id="__codelineno-5-45" name="__codelineno-5-45" href="#__codelineno-5-45"></a> - Top processes by CPU (live updating table)
|
|
<a id="__codelineno-5-46" name="__codelineno-5-46" href="#__codelineno-5-46"></a> - Top processes by RAM
|
|
<a id="__codelineno-5-47" name="__codelineno-5-47" href="#__codelineno-5-47"></a> - Process count by state
|
|
<a id="__codelineno-5-48" name="__codelineno-5-48" href="#__codelineno-5-48"></a> - Thread count total
|
|
<a id="__codelineno-5-49" name="__codelineno-5-49" href="#__codelineno-5-49"></a> - Process spawn rate
|
|
<a id="__codelineno-5-50" name="__codelineno-5-50" href="#__codelineno-5-50"></a>
|
|
<a id="__codelineno-5-51" name="__codelineno-5-51" href="#__codelineno-5-51"></a>2. Process Details
|
|
<a id="__codelineno-5-52" name="__codelineno-5-52" href="#__codelineno-5-52"></a> - Per-process CPU time
|
|
<a id="__codelineno-5-53" name="__codelineno-5-53" href="#__codelineno-5-53"></a> - Per-process memory maps
|
|
<a id="__codelineno-5-54" name="__codelineno-5-54" href="#__codelineno-5-54"></a> - Open files per process
|
|
<a id="__codelineno-5-55" name="__codelineno-5-55" href="#__codelineno-5-55"></a> - Process tree visualization
|
|
<a id="__codelineno-5-56" name="__codelineno-5-56" href="#__codelineno-5-56"></a>
|
|
<a id="__codelineno-5-57" name="__codelineno-5-57" href="#__codelineno-5-57"></a>REALTIME TAB:
|
|
<a id="__codelineno-5-58" name="__codelineno-5-58" href="#__codelineno-5-58"></a>1. Live Monitoring
|
|
<a id="__codelineno-5-59" name="__codelineno-5-59" href="#__codelineno-5-59"></a> - Real-time CPU chart (1s granularity)
|
|
<a id="__codelineno-5-60" name="__codelineno-5-60" href="#__codelineno-5-60"></a> - Real-time network I/O
|
|
<a id="__codelineno-5-61" name="__codelineno-5-61" href="#__codelineno-5-61"></a> - Real-time disk I/O
|
|
<a id="__codelineno-5-62" name="__codelineno-5-62" href="#__codelineno-5-62"></a> - Real-time memory changes
|
|
<a id="__codelineno-5-63" name="__codelineno-5-63" href="#__codelineno-5-63"></a> - Auto-refreshing every second
|
|
<a id="__codelineno-5-64" name="__codelineno-5-64" href="#__codelineno-5-64"></a>
|
|
<a id="__codelineno-5-65" name="__codelineno-5-65" href="#__codelineno-5-65"></a>NETWORK TAB:
|
|
<a id="__codelineno-5-66" name="__codelineno-5-66" href="#__codelineno-5-66"></a>1. Network Metrics
|
|
<a id="__codelineno-5-67" name="__codelineno-5-67" href="#__codelineno-5-67"></a> - Interface statistics (all interfaces)
|
|
<a id="__codelineno-5-68" name="__codelineno-5-68" href="#__codelineno-5-68"></a> - Packet rates (packets/s in/out)
|
|
<a id="__codelineno-5-69" name="__codelineno-5-69" href="#__codelineno-5-69"></a> - Error and drop counters
|
|
<a id="__codelineno-5-70" name="__codelineno-5-70" href="#__codelineno-5-70"></a> - TCP/UDP connection states
|
|
<a id="__codelineno-5-71" name="__codelineno-5-71" href="#__codelineno-5-71"></a> - Netfilter statistics
|
|
<a id="__codelineno-5-72" name="__codelineno-5-72" href="#__codelineno-5-72"></a> - DNS query statistics (if available)
|
|
<a id="__codelineno-5-73" name="__codelineno-5-73" href="#__codelineno-5-73"></a>
|
|
<a id="__codelineno-5-74" name="__codelineno-5-74" href="#__codelineno-5-74"></a>SETTINGS TAB:
|
|
<a id="__codelineno-5-75" name="__codelineno-5-75" href="#__codelineno-5-75"></a>1. Netdata Configuration
|
|
<a id="__codelineno-5-76" name="__codelineno-5-76" href="#__codelineno-5-76"></a> - Enable/disable Netdata service
|
|
<a id="__codelineno-5-77" name="__codelineno-5-77" href="#__codelineno-5-77"></a> - Configure retention period
|
|
<a id="__codelineno-5-78" name="__codelineno-5-78" href="#__codelineno-5-78"></a> - Enable/disable specific collectors
|
|
<a id="__codelineno-5-79" name="__codelineno-5-79" href="#__codelineno-5-79"></a> - Alert configuration
|
|
<a id="__codelineno-5-80" name="__codelineno-5-80" href="#__codelineno-5-80"></a> - Streaming configuration (central Netdata)
|
|
<a id="__codelineno-5-81" name="__codelineno-5-81" href="#__codelineno-5-81"></a>
|
|
<a id="__codelineno-5-82" name="__codelineno-5-82" href="#__codelineno-5-82"></a>TECHNICAL:
|
|
<a id="__codelineno-5-83" name="__codelineno-5-83" href="#__codelineno-5-83"></a>- RPCD: luci.netdata-dashboard
|
|
<a id="__codelineno-5-84" name="__codelineno-5-84" href="#__codelineno-5-84"></a>- Netdata API integration (http://localhost:19999/api/v1/)
|
|
<a id="__codelineno-5-85" name="__codelineno-5-85" href="#__codelineno-5-85"></a>- Methods: /info, /charts, /data, /alarms
|
|
<a id="__codelineno-5-86" name="__codelineno-5-86" href="#__codelineno-5-86"></a>- Real-time data fetching with polling
|
|
<a id="__codelineno-5-87" name="__codelineno-5-87" href="#__codelineno-5-87"></a>- Chart.js or native Netdata charts
|
|
<a id="__codelineno-5-88" name="__codelineno-5-88" href="#__codelineno-5-88"></a>- WebSocket support for live updates
|
|
<a id="__codelineno-5-89" name="__codelineno-5-89" href="#__codelineno-5-89"></a>
|
|
<a id="__codelineno-5-90" name="__codelineno-5-90" href="#__codelineno-5-90"></a>CHARTS TO INCLUDE:
|
|
<a id="__codelineno-5-91" name="__codelineno-5-91" href="#__codelineno-5-91"></a>- Line charts for time-series data
|
|
<a id="__codelineno-5-92" name="__codelineno-5-92" href="#__codelineno-5-92"></a>- Bar charts for comparisons
|
|
<a id="__codelineno-5-93" name="__codelineno-5-93" href="#__codelineno-5-93"></a>- Gauge charts for current values
|
|
<a id="__codelineno-5-94" name="__codelineno-5-94" href="#__codelineno-5-94"></a>- Area charts for stacked metrics
|
|
<a id="__codelineno-5-95" name="__codelineno-5-95" href="#__codelineno-5-95"></a>- Sparklines for compact overviews
|
|
</code></pre></div>
|
|
<hr />
|
|
<h2 id="network-intelligence-modules">Network Intelligence Modules<a class="headerlink" href="#network-intelligence-modules" title="Permanent link">¶</a></h2>
|
|
<h3 id="5-netifyd-dashboard-luci-app-netifyd-dashboard">5. Netifyd Dashboard (luci-app-netifyd-dashboard)<a class="headerlink" href="#5-netifyd-dashboard-luci-app-netifyd-dashboard" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>Create a Deep Packet Inspection dashboard using Netifyd (300+ app detection):
|
|
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a>
|
|
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a>DESIGN:
|
|
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a>- Title: "Network Intelligence" with 🔍 icon
|
|
<a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a>- Focus on application and protocol visibility
|
|
<a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a>- Stats badges: Active Flows | Applications | Devices | Protocols
|
|
<a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a>
|
|
<a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a>1. Network Activity Summary
|
|
<a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a> - Total flows count (current + historical)
|
|
<a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a> - Unique applications detected today
|
|
<a id="__codelineno-6-12" name="__codelineno-6-12" href="#__codelineno-6-12"></a> - Active devices count
|
|
<a id="__codelineno-6-13" name="__codelineno-6-13" href="#__codelineno-6-13"></a> - Protocol distribution (TCP/UDP/ICMP pie chart)
|
|
<a id="__codelineno-6-14" name="__codelineno-6-14" href="#__codelineno-6-14"></a>
|
|
<a id="__codelineno-6-15" name="__codelineno-6-15" href="#__codelineno-6-15"></a>2. Top Applications Chart
|
|
<a id="__codelineno-6-16" name="__codelineno-6-16" href="#__codelineno-6-16"></a> - Bar chart of top 10 applications by bandwidth
|
|
<a id="__codelineno-6-17" name="__codelineno-6-17" href="#__codelineno-6-17"></a> - Icons for recognized apps (Netflix, YouTube, Spotify, etc.)
|
|
<a id="__codelineno-6-18" name="__codelineno-6-18" href="#__codelineno-6-18"></a> - Percentage of total traffic
|
|
<a id="__codelineno-6-19" name="__codelineno-6-19" href="#__codelineno-6-19"></a> - Click to filter flows by application
|
|
<a id="__codelineno-6-20" name="__codelineno-6-20" href="#__codelineno-6-20"></a>
|
|
<a id="__codelineno-6-21" name="__codelineno-6-21" href="#__codelineno-6-21"></a>3. Top Devices
|
|
<a id="__codelineno-6-22" name="__codelineno-6-22" href="#__codelineno-6-22"></a> - Device cards with: hostname, MAC, IP, current app
|
|
<a id="__codelineno-6-23" name="__codelineno-6-23" href="#__codelineno-6-23"></a> - Bandwidth usage per device (RX/TX)
|
|
<a id="__codelineno-6-24" name="__codelineno-6-24" href="#__codelineno-6-24"></a> - Device type icon (phone, laptop, TV, IoT)
|
|
<a id="__codelineno-6-25" name="__codelineno-6-25" href="#__codelineno-6-25"></a>
|
|
<a id="__codelineno-6-26" name="__codelineno-6-26" href="#__codelineno-6-26"></a>APPLICATIONS TAB:
|
|
<a id="__codelineno-6-27" name="__codelineno-6-27" href="#__codelineno-6-27"></a>1. Application Discovery
|
|
<a id="__codelineno-6-28" name="__codelineno-6-28" href="#__codelineno-6-28"></a> - Grid of detected applications
|
|
<a id="__codelineno-6-29" name="__codelineno-6-29" href="#__codelineno-6-29"></a> - Each card: app icon, name, category, protocol, active flows
|
|
<a id="__codelineno-6-30" name="__codelineno-6-30" href="#__codelineno-6-30"></a> - Color-coded categories:
|
|
<a id="__codelineno-6-31" name="__codelineno-6-31" href="#__codelineno-6-31"></a> * Streaming (red): Netflix, YouTube, Twitch
|
|
<a id="__codelineno-6-32" name="__codelineno-6-32" href="#__codelineno-6-32"></a> * Social (blue): Facebook, Instagram, TikTok
|
|
<a id="__codelineno-6-33" name="__codelineno-6-33" href="#__codelineno-6-33"></a> * Messaging (green): WhatsApp, Telegram, Signal
|
|
<a id="__codelineno-6-34" name="__codelineno-6-34" href="#__codelineno-6-34"></a> * VoIP (purple): Zoom, Teams, Discord
|
|
<a id="__codelineno-6-35" name="__codelineno-6-35" href="#__codelineno-6-35"></a> * Gaming (orange): Steam, PlayStation, Xbox
|
|
<a id="__codelineno-6-36" name="__codelineno-6-36" href="#__codelineno-6-36"></a> - Real-time bandwidth per app (sparklines)
|
|
<a id="__codelineno-6-37" name="__codelineno-6-37" href="#__codelineno-6-37"></a>
|
|
<a id="__codelineno-6-38" name="__codelineno-6-38" href="#__codelineno-6-38"></a>2. Application Details
|
|
<a id="__codelineno-6-39" name="__codelineno-6-39" href="#__codelineno-6-39"></a> - Click app to see: active connections, total bandwidth, protocols used
|
|
<a id="__codelineno-6-40" name="__codelineno-6-40" href="#__codelineno-6-40"></a> - Flow timeline for selected app
|
|
<a id="__codelineno-6-41" name="__codelineno-6-41" href="#__codelineno-6-41"></a> - Device breakdown (which devices use this app)
|
|
<a id="__codelineno-6-42" name="__codelineno-6-42" href="#__codelineno-6-42"></a>
|
|
<a id="__codelineno-6-43" name="__codelineno-6-43" href="#__codelineno-6-43"></a>DEVICES TAB:
|
|
<a id="__codelineno-6-44" name="__codelineno-6-44" href="#__codelineno-6-44"></a>1. Device Inventory
|
|
<a id="__codelineno-6-45" name="__codelineno-6-45" href="#__codelineno-6-45"></a> - Table: IP, MAC, Hostname, Vendor, Active Apps, Bandwidth
|
|
<a id="__codelineno-6-46" name="__codelineno-6-46" href="#__codelineno-6-46"></a> - Sortable and searchable
|
|
<a id="__codelineno-6-47" name="__codelineno-6-47" href="#__codelineno-6-47"></a> - Device grouping by subnet
|
|
<a id="__codelineno-6-48" name="__codelineno-6-48" href="#__codelineno-6-48"></a> - Manual device naming/tagging
|
|
<a id="__codelineno-6-49" name="__codelineno-6-49" href="#__codelineno-6-49"></a>
|
|
<a id="__codelineno-6-50" name="__codelineno-6-50" href="#__codelineno-6-50"></a>2. Device Profile
|
|
<a id="__codelineno-6-51" name="__codelineno-6-51" href="#__codelineno-6-51"></a> - Per-device view: all flows, app usage history
|
|
<a id="__codelineno-6-52" name="__codelineno-6-52" href="#__codelineno-6-52"></a> - Bandwidth trends (24h chart)
|
|
<a id="__codelineno-6-53" name="__codelineno-6-53" href="#__codelineno-6-53"></a> - Risk assessment (unknown protocols, suspicious apps)
|
|
<a id="__codelineno-6-54" name="__codelineno-6-54" href="#__codelineno-6-54"></a> - Block/allow rules management
|
|
<a id="__codelineno-6-55" name="__codelineno-6-55" href="#__codelineno-6-55"></a>
|
|
<a id="__codelineno-6-56" name="__codelineno-6-56" href="#__codelineno-6-56"></a>FLOWS TAB:
|
|
<a id="__codelineno-6-57" name="__codelineno-6-57" href="#__codelineno-6-57"></a>1. Active Flows Monitor
|
|
<a id="__codelineno-6-58" name="__codelineno-6-58" href="#__codelineno-6-58"></a> - Real-time table of network flows
|
|
<a id="__codelineno-6-59" name="__codelineno-6-59" href="#__codelineno-6-59"></a> - Columns: Source, Destination, App, Protocol, Bandwidth, Duration
|
|
<a id="__codelineno-6-60" name="__codelineno-6-60" href="#__codelineno-6-60"></a> - Auto-scrolling with pause button
|
|
<a id="__codelineno-6-61" name="__codelineno-6-61" href="#__codelineno-6-61"></a> - Color-coded by risk level
|
|
<a id="__codelineno-6-62" name="__codelineno-6-62" href="#__codelineno-6-62"></a> - Flow details on click (full 5-tuple + DPI data)
|
|
<a id="__codelineno-6-63" name="__codelineno-6-63" href="#__codelineno-6-63"></a>
|
|
<a id="__codelineno-6-64" name="__codelineno-6-64" href="#__codelineno-6-64"></a>2. Flow Statistics
|
|
<a id="__codelineno-6-65" name="__codelineno-6-65" href="#__codelineno-6-65"></a> - Flows by protocol (pie chart)
|
|
<a id="__codelineno-6-66" name="__codelineno-6-66" href="#__codelineno-6-66"></a> - Top talkers (source IPs)
|
|
<a id="__codelineno-6-67" name="__codelineno-6-67" href="#__codelineno-6-67"></a> - Top destinations (external IPs)
|
|
<a id="__codelineno-6-68" name="__codelineno-6-68" href="#__codelineno-6-68"></a> - Port distribution
|
|
<a id="__codelineno-6-69" name="__codelineno-6-69" href="#__codelineno-6-69"></a>
|
|
<a id="__codelineno-6-70" name="__codelineno-6-70" href="#__codelineno-6-70"></a>TOP TALKERS TAB:
|
|
<a id="__codelineno-6-71" name="__codelineno-6-71" href="#__codelineno-6-71"></a>1. Bandwidth Leaders
|
|
<a id="__codelineno-6-72" name="__codelineno-6-72" href="#__codelineno-6-72"></a> - Ranked list of IP addresses by total traffic
|
|
<a id="__codelineno-6-73" name="__codelineno-6-73" href="#__codelineno-6-73"></a> - Direction indicators (upload/download)
|
|
<a id="__codelineno-6-74" name="__codelineno-6-74" href="#__codelineno-6-74"></a> - Time range selector (1h/24h/7d/30d)
|
|
<a id="__codelineno-6-75" name="__codelineno-6-75" href="#__codelineno-6-75"></a> - Export to CSV
|
|
<a id="__codelineno-6-76" name="__codelineno-6-76" href="#__codelineno-6-76"></a>
|
|
<a id="__codelineno-6-77" name="__codelineno-6-77" href="#__codelineno-6-77"></a>RISKS TAB:
|
|
<a id="__codelineno-6-78" name="__codelineno-6-78" href="#__codelineno-6-78"></a>1. Risk Assessment
|
|
<a id="__codelineno-6-79" name="__codelineno-6-79" href="#__codelineno-6-79"></a> - Suspicious flows detection
|
|
<a id="__codelineno-6-80" name="__codelineno-6-80" href="#__codelineno-6-80"></a> - Unknown protocols list
|
|
<a id="__codelineno-6-81" name="__codelineno-6-81" href="#__codelineno-6-81"></a> - Connections to blacklisted IPs
|
|
<a id="__codelineno-6-82" name="__codelineno-6-82" href="#__codelineno-6-82"></a> - Unusual port usage
|
|
<a id="__codelineno-6-83" name="__codelineno-6-83" href="#__codelineno-6-83"></a> - Potential malware C2 traffic
|
|
<a id="__codelineno-6-84" name="__codelineno-6-84" href="#__codelineno-6-84"></a> - Risk score per device (0-100)
|
|
<a id="__codelineno-6-85" name="__codelineno-6-85" href="#__codelineno-6-85"></a>
|
|
<a id="__codelineno-6-86" name="__codelineno-6-86" href="#__codelineno-6-86"></a>CATEGORY BANDWIDTH TAB:
|
|
<a id="__codelineno-6-87" name="__codelineno-6-87" href="#__codelineno-6-87"></a>1. Traffic by Category
|
|
<a id="__codelineno-6-88" name="__codelineno-6-88" href="#__codelineno-6-88"></a> - Stacked area chart showing categories over time
|
|
<a id="__codelineno-6-89" name="__codelineno-6-89" href="#__codelineno-6-89"></a> - Categories: Streaming, Social, Gaming, Business, Other
|
|
<a id="__codelineno-6-90" name="__codelineno-6-90" href="#__codelineno-6-90"></a> - Percentage breakdown
|
|
<a id="__codelineno-6-91" name="__codelineno-6-91" href="#__codelineno-6-91"></a> - Peak usage times
|
|
<a id="__codelineno-6-92" name="__codelineno-6-92" href="#__codelineno-6-92"></a>
|
|
<a id="__codelineno-6-93" name="__codelineno-6-93" href="#__codelineno-6-93"></a>DNS QUERIES TAB:
|
|
<a id="__codelineno-6-94" name="__codelineno-6-94" href="#__codelineno-6-94"></a>1. DNS Analytics
|
|
<a id="__codelineno-6-95" name="__codelineno-6-95" href="#__codelineno-6-95"></a> - Recent DNS queries table
|
|
<a id="__codelineno-6-96" name="__codelineno-6-96" href="#__codelineno-6-96"></a> - Most queried domains
|
|
<a id="__codelineno-6-97" name="__codelineno-6-97" href="#__codelineno-6-97"></a> - Failed queries count
|
|
<a id="__codelineno-6-98" name="__codelineno-6-98" href="#__codelineno-6-98"></a> - DNS leak detection
|
|
<a id="__codelineno-6-99" name="__codelineno-6-99" href="#__codelineno-6-99"></a> - Blocked queries (if using DNS filtering)
|
|
<a id="__codelineno-6-100" name="__codelineno-6-100" href="#__codelineno-6-100"></a>
|
|
<a id="__codelineno-6-101" name="__codelineno-6-101" href="#__codelineno-6-101"></a>SETTINGS TAB:
|
|
<a id="__codelineno-6-102" name="__codelineno-6-102" href="#__codelineno-6-102"></a>1. Netifyd Configuration
|
|
<a id="__codelineno-6-103" name="__codelineno-6-103" href="#__codelineno-6-103"></a> - Enable/disable DPI
|
|
<a id="__codelineno-6-104" name="__codelineno-6-104" href="#__codelineno-6-104"></a> - Select interfaces to monitor
|
|
<a id="__codelineno-6-105" name="__codelineno-6-105" href="#__codelineno-6-105"></a> - Application detection sensitivity
|
|
<a id="__codelineno-6-106" name="__codelineno-6-106" href="#__codelineno-6-106"></a> - Flow export configuration
|
|
<a id="__codelineno-6-107" name="__codelineno-6-107" href="#__codelineno-6-107"></a> - Privacy settings (data retention)
|
|
<a id="__codelineno-6-108" name="__codelineno-6-108" href="#__codelineno-6-108"></a>
|
|
<a id="__codelineno-6-109" name="__codelineno-6-109" href="#__codelineno-6-109"></a>TECHNICAL:
|
|
<a id="__codelineno-6-110" name="__codelineno-6-110" href="#__codelineno-6-110"></a>- RPCD: luci.netifyd-dashboard
|
|
<a id="__codelineno-6-111" name="__codelineno-6-111" href="#__codelineno-6-111"></a>- Netifyd API: Unix socket /var/run/netifyd/netifyd.sock
|
|
<a id="__codelineno-6-112" name="__codelineno-6-112" href="#__codelineno-6-112"></a>- JSON flow export parsing
|
|
<a id="__codelineno-6-113" name="__codelineno-6-113" href="#__codelineno-6-113"></a>- Application database from Netify signatures
|
|
<a id="__codelineno-6-114" name="__codelineno-6-114" href="#__codelineno-6-114"></a>- Real-time flow updates (WebSocket or SSE)
|
|
<a id="__codelineno-6-115" name="__codelineno-6-115" href="#__codelineno-6-115"></a>
|
|
<a id="__codelineno-6-116" name="__codelineno-6-116" href="#__codelineno-6-116"></a>VISUAL FEATURES:
|
|
<a id="__codelineno-6-117" name="__codelineno-6-117" href="#__codelineno-6-117"></a>- Application icons from FontAwesome or custom SVG set
|
|
<a id="__codelineno-6-118" name="__codelineno-6-118" href="#__codelineno-6-118"></a>- Animated flow counters (counting up effect)
|
|
<a id="__codelineno-6-119" name="__codelineno-6-119" href="#__codelineno-6-119"></a>- Color-coded bandwidth bars
|
|
<a id="__codelineno-6-120" name="__codelineno-6-120" href="#__codelineno-6-120"></a>- Interactive charts (click to filter)
|
|
<a id="__codelineno-6-121" name="__codelineno-6-121" href="#__codelineno-6-121"></a>- Tooltips with detailed info
|
|
</code></pre></div>
|
|
<h3 id="6-network-modes-luci-app-network-modes">6. Network Modes (luci-app-network-modes)<a class="headerlink" href="#6-network-modes-luci-app-network-modes" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>Create a Network Mode Configuration wizard with 5 topology options:
|
|
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>
|
|
<a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a>DESIGN:
|
|
<a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a>- Title: "Network Configuration" with 🌐 icon
|
|
<a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a>- Wizard-style interface with step progression
|
|
<a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a>- Large mode cards with illustrations
|
|
<a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a>
|
|
<a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a>1. Current Mode Display
|
|
<a id="__codelineno-7-10" name="__codelineno-7-10" href="#__codelineno-7-10"></a> - Large card showing active mode with icon
|
|
<a id="__codelineno-7-11" name="__codelineno-7-11" href="#__codelineno-7-11"></a> - Mode description
|
|
<a id="__codelineno-7-12" name="__codelineno-7-12" href="#__codelineno-7-12"></a> - Current network config summary (WAN/LAN IPs, DHCP status)
|
|
<a id="__codelineno-7-13" name="__codelineno-7-13" href="#__codelineno-7-13"></a> - "Change Mode" button (gradient)
|
|
<a id="__codelineno-7-14" name="__codelineno-7-14" href="#__codelineno-7-14"></a>
|
|
<a id="__codelineno-7-15" name="__codelineno-7-15" href="#__codelineno-7-15"></a>2. Mode Comparison Table
|
|
<a id="__codelineno-7-16" name="__codelineno-7-16" href="#__codelineno-7-16"></a> - All 5 modes in columns
|
|
<a id="__codelineno-7-17" name="__codelineno-7-17" href="#__codelineno-7-17"></a> - Rows: Use case, WAN ports, LAN ports, WiFi role, DHCP server, NAT
|
|
<a id="__codelineno-7-18" name="__codelineno-7-18" href="#__codelineno-7-18"></a> - Highlight current mode
|
|
<a id="__codelineno-7-19" name="__codelineno-7-19" href="#__codelineno-7-19"></a>
|
|
<a id="__codelineno-7-20" name="__codelineno-7-20" href="#__codelineno-7-20"></a>WIZARD TAB:
|
|
<a id="__codelineno-7-21" name="__codelineno-7-21" href="#__codelineno-7-21"></a>1. Mode Selection Screen
|
|
<a id="__codelineno-7-22" name="__codelineno-7-22" href="#__codelineno-7-22"></a> - 5 mode cards in grid:
|
|
<a id="__codelineno-7-23" name="__codelineno-7-23" href="#__codelineno-7-23"></a> * Router Mode 🏠 - Default home/office setup
|
|
<a id="__codelineno-7-24" name="__codelineno-7-24" href="#__codelineno-7-24"></a> * Bridge Mode 🌉 - Transparent layer-2 forwarding
|
|
<a id="__codelineno-7-25" name="__codelineno-7-25" href="#__codelineno-7-25"></a> * Access Point Mode 📡 - WiFi only, wired uplink
|
|
<a id="__codelineno-7-26" name="__codelineno-7-26" href="#__codelineno-7-26"></a> * Repeater/Extender Mode 🔁 - WiFi to WiFi repeating
|
|
<a id="__codelineno-7-27" name="__codelineno-7-27" href="#__codelineno-7-27"></a> * Travel Router Mode ✈️ - Portable WiFi from hotel ethernet
|
|
<a id="__codelineno-7-28" name="__codelineno-7-28" href="#__codelineno-7-28"></a> - Each card: title, description, pros/cons, diagram
|
|
<a id="__codelineno-7-29" name="__codelineno-7-29" href="#__codelineno-7-29"></a> - "Select" button per card
|
|
<a id="__codelineno-7-30" name="__codelineno-7-30" href="#__codelineno-7-30"></a>
|
|
<a id="__codelineno-7-31" name="__codelineno-7-31" href="#__codelineno-7-31"></a>2. Configuration Screen (per mode)
|
|
<a id="__codelineno-7-32" name="__codelineno-7-32" href="#__codelineno-7-32"></a> - Mode-specific settings:
|
|
<a id="__codelineno-7-33" name="__codelineno-7-33" href="#__codelineno-7-33"></a> * Router: WAN type (DHCP/PPPoE/Static), LAN subnet, DHCP range
|
|
<a id="__codelineno-7-34" name="__codelineno-7-34" href="#__codelineno-7-34"></a> * Bridge: Bridge members, STP enable, VLAN config
|
|
<a id="__codelineno-7-35" name="__codelineno-7-35" href="#__codelineno-7-35"></a> * AP: Uplink interface, SSID, security, channel
|
|
<a id="__codelineno-7-36" name="__codelineno-7-36" href="#__codelineno-7-36"></a> * Repeater: Source SSID scan, credentials, rebroadcast SSID
|
|
<a id="__codelineno-7-37" name="__codelineno-7-37" href="#__codelineno-7-37"></a> * Travel Router: Client WiFi scan, WAN MAC clone option
|
|
<a id="__codelineno-7-38" name="__codelineno-7-38" href="#__codelineno-7-38"></a>
|
|
<a id="__codelineno-7-39" name="__codelineno-7-39" href="#__codelineno-7-39"></a>3. Preview Screen
|
|
<a id="__codelineno-7-40" name="__codelineno-7-40" href="#__codelineno-7-40"></a> - Show configuration changes before applying
|
|
<a id="__codelineno-7-41" name="__codelineno-7-41" href="#__codelineno-7-41"></a> - Network diagram with new topology
|
|
<a id="__codelineno-7-42" name="__codelineno-7-42" href="#__codelineno-7-42"></a> - List of services that will be reconfigured
|
|
<a id="__codelineno-7-43" name="__codelineno-7-43" href="#__codelineno-7-43"></a> - Estimated downtime warning
|
|
<a id="__codelineno-7-44" name="__codelineno-7-44" href="#__codelineno-7-44"></a> - "Apply" and "Back" buttons
|
|
<a id="__codelineno-7-45" name="__codelineno-7-45" href="#__codelineno-7-45"></a>
|
|
<a id="__codelineno-7-46" name="__codelineno-7-46" href="#__codelineno-7-46"></a>4. Apply Screen
|
|
<a id="__codelineno-7-47" name="__codelineno-7-47" href="#__codelineno-7-47"></a> - Progress indicator during application
|
|
<a id="__codelineno-7-48" name="__codelineno-7-48" href="#__codelineno-7-48"></a> - Step-by-step status:
|
|
<a id="__codelineno-7-49" name="__codelineno-7-49" href="#__codelineno-7-49"></a> * Stopping services...
|
|
<a id="__codelineno-7-50" name="__codelineno-7-50" href="#__codelineno-7-50"></a> * Updating network config...
|
|
<a id="__codelineno-7-51" name="__codelineno-7-51" href="#__codelineno-7-51"></a> * Restarting interfaces...
|
|
<a id="__codelineno-7-52" name="__codelineno-7-52" href="#__codelineno-7-52"></a> * Starting services...
|
|
<a id="__codelineno-7-53" name="__codelineno-7-53" href="#__codelineno-7-53"></a> - Rollback timer (60 seconds to confirm)
|
|
<a id="__codelineno-7-54" name="__codelineno-7-54" href="#__codelineno-7-54"></a> - Confirmation screen after success
|
|
<a id="__codelineno-7-55" name="__codelineno-7-55" href="#__codelineno-7-55"></a>
|
|
<a id="__codelineno-7-56" name="__codelineno-7-56" href="#__codelineno-7-56"></a>ROUTER MODE TAB:
|
|
<a id="__codelineno-7-57" name="__codelineno-7-57" href="#__codelineno-7-57"></a>1. Router Settings
|
|
<a id="__codelineno-7-58" name="__codelineno-7-58" href="#__codelineno-7-58"></a> - WAN interface config (DHCP client, static, PPPoE, 3G/4G)
|
|
<a id="__codelineno-7-59" name="__codelineno-7-59" href="#__codelineno-7-59"></a> - LAN interface config (IP, netmask, DHCP server)
|
|
<a id="__codelineno-7-60" name="__codelineno-7-60" href="#__codelineno-7-60"></a> - Port mapping (which physical ports are WAN vs LAN)
|
|
<a id="__codelineno-7-61" name="__codelineno-7-61" href="#__codelineno-7-61"></a> - NAT and firewall rules
|
|
<a id="__codelineno-7-62" name="__codelineno-7-62" href="#__codelineno-7-62"></a> - DNS forwarder configuration
|
|
<a id="__codelineno-7-63" name="__codelineno-7-63" href="#__codelineno-7-63"></a>
|
|
<a id="__codelineno-7-64" name="__codelineno-7-64" href="#__codelineno-7-64"></a>ACCESS POINT TAB:
|
|
<a id="__codelineno-7-65" name="__codelineno-7-65" href="#__codelineno-7-65"></a>1. AP Settings
|
|
<a id="__codelineno-7-66" name="__codelineno-7-66" href="#__codelineno-7-66"></a> - Uplink interface selection (ethernet or WiFi)
|
|
<a id="__codelineno-7-67" name="__codelineno-7-67" href="#__codelineno-7-67"></a> - Disable NAT and DHCP server
|
|
<a id="__codelineno-7-68" name="__codelineno-7-68" href="#__codelineno-7-68"></a> - Bridge LAN and Uplink
|
|
<a id="__codelineno-7-69" name="__codelineno-7-69" href="#__codelineno-7-69"></a> - WiFi configuration (SSID, security, channel, power)
|
|
<a id="__codelineno-7-70" name="__codelineno-7-70" href="#__codelineno-7-70"></a> - Fast roaming (802.11r) settings
|
|
<a id="__codelineno-7-71" name="__codelineno-7-71" href="#__codelineno-7-71"></a>
|
|
<a id="__codelineno-7-72" name="__codelineno-7-72" href="#__codelineno-7-72"></a>RELAY TAB:
|
|
<a id="__codelineno-7-73" name="__codelineno-7-73" href="#__codelineno-7-73"></a>1. Relay/Repeater Settings
|
|
<a id="__codelineno-7-74" name="__codelineno-7-74" href="#__codelineno-7-74"></a> - Site survey (scan for WiFi networks)
|
|
<a id="__codelineno-7-75" name="__codelineno-7-75" href="#__codelineno-7-75"></a> - Connect to upstream WiFi (credentials)
|
|
<a id="__codelineno-7-76" name="__codelineno-7-76" href="#__codelineno-7-76"></a> - Rebroadcast SSID (same or different)
|
|
<a id="__codelineno-7-77" name="__codelineno-7-77" href="#__codelineno-7-77"></a> - WiFi to WiFi bridge config
|
|
<a id="__codelineno-7-78" name="__codelineno-7-78" href="#__codelineno-7-78"></a> - Signal strength indicators
|
|
<a id="__codelineno-7-79" name="__codelineno-7-79" href="#__codelineno-7-79"></a>
|
|
<a id="__codelineno-7-80" name="__codelineno-7-80" href="#__codelineno-7-80"></a>SNIFFER MODE TAB:
|
|
<a id="__codelineno-7-81" name="__codelineno-7-81" href="#__codelineno-7-81"></a>1. Packet Capture Configuration
|
|
<a id="__codelineno-7-82" name="__codelineno-7-82" href="#__codelineno-7-82"></a> - Monitor mode on WiFi
|
|
<a id="__codelineno-7-83" name="__codelineno-7-83" href="#__codelineno-7-83"></a> - Promiscuous mode on ethernet
|
|
<a id="__codelineno-7-84" name="__codelineno-7-84" href="#__codelineno-7-84"></a> - Capture filters (BPF syntax)
|
|
<a id="__codelineno-7-85" name="__codelineno-7-85" href="#__codelineno-7-85"></a> - Output format (pcap, pcapng)
|
|
<a id="__codelineno-7-86" name="__codelineno-7-86" href="#__codelineno-7-86"></a> - Capture rotation and storage
|
|
<a id="__codelineno-7-87" name="__codelineno-7-87" href="#__codelineno-7-87"></a> - Integration with tcpdump/wireshark
|
|
<a id="__codelineno-7-88" name="__codelineno-7-88" href="#__codelineno-7-88"></a>
|
|
<a id="__codelineno-7-89" name="__codelineno-7-89" href="#__codelineno-7-89"></a>SETTINGS TAB:
|
|
<a id="__codelineno-7-90" name="__codelineno-7-90" href="#__codelineno-7-90"></a>1. Advanced Network Settings
|
|
<a id="__codelineno-7-91" name="__codelineno-7-91" href="#__codelineno-7-91"></a> - VLAN configuration
|
|
<a id="__codelineno-7-92" name="__codelineno-7-92" href="#__codelineno-7-92"></a> - Link aggregation (bonding)
|
|
<a id="__codelineno-7-93" name="__codelineno-7-93" href="#__codelineno-7-93"></a> - QoS settings
|
|
<a id="__codelineno-7-94" name="__codelineno-7-94" href="#__codelineno-7-94"></a> - IPv6 configuration
|
|
<a id="__codelineno-7-95" name="__codelineno-7-95" href="#__codelineno-7-95"></a> - Custom routing rules
|
|
<a id="__codelineno-7-96" name="__codelineno-7-96" href="#__codelineno-7-96"></a>
|
|
<a id="__codelineno-7-97" name="__codelineno-7-97" href="#__codelineno-7-97"></a>TECHNICAL:
|
|
<a id="__codelineno-7-98" name="__codelineno-7-98" href="#__codelineno-7-98"></a>- RPCD: luci.network-modes
|
|
<a id="__codelineno-7-99" name="__codelineno-7-99" href="#__codelineno-7-99"></a>- Methods: get_current_mode, get_available_modes, set_mode, validate_config
|
|
<a id="__codelineno-7-100" name="__codelineno-7-100" href="#__codelineno-7-100"></a>- UCI config manipulation (/etc/config/network, wireless, firewall, dhcp)
|
|
<a id="__codelineno-7-101" name="__codelineno-7-101" href="#__codelineno-7-101"></a>- Interface state monitoring (network.interface events)
|
|
<a id="__codelineno-7-102" name="__codelineno-7-102" href="#__codelineno-7-102"></a>- Rollback mechanism (uci revert + timer)
|
|
<a id="__codelineno-7-103" name="__codelineno-7-103" href="#__codelineno-7-103"></a>
|
|
<a id="__codelineno-7-104" name="__codelineno-7-104" href="#__codelineno-7-104"></a>VALIDATION:
|
|
<a id="__codelineno-7-105" name="__codelineno-7-105" href="#__codelineno-7-105"></a>- IP address format validation
|
|
<a id="__codelineno-7-106" name="__codelineno-7-106" href="#__codelineno-7-106"></a>- Subnet overlap detection
|
|
<a id="__codelineno-7-107" name="__codelineno-7-107" href="#__codelineno-7-107"></a>- DHCP range within subnet check
|
|
<a id="__codelineno-7-108" name="__codelineno-7-108" href="#__codelineno-7-108"></a>- WiFi channel availability check
|
|
<a id="__codelineno-7-109" name="__codelineno-7-109" href="#__codelineno-7-109"></a>- Physical port assignment conflicts
|
|
</code></pre></div>
|
|
<hr />
|
|
<h2 id="vpn-access-control-modules">VPN & Access Control Modules<a class="headerlink" href="#vpn-access-control-modules" title="Permanent link">¶</a></h2>
|
|
<h3 id="7-wireguard-dashboard-luci-app-wireguard-dashboard">7. WireGuard Dashboard (luci-app-wireguard-dashboard)<a class="headerlink" href="#7-wireguard-dashboard-luci-app-wireguard-dashboard" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>Create a WireGuard VPN management dashboard with QR code generation:
|
|
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a>
|
|
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a>DESIGN:
|
|
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a>- Title: "WireGuard VPN" with 🔐 icon
|
|
<a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a>- Modern VPN dashboard aesthetic
|
|
<a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a>- Stats badges: Active Peers | Data Transferred | Uptime | Endpoints
|
|
<a id="__codelineno-8-7" name="__codelineno-8-7" href="#__codelineno-8-7"></a>
|
|
<a id="__codelineno-8-8" name="__codelineno-8-8" href="#__codelineno-8-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-8-9" name="__codelineno-8-9" href="#__codelineno-8-9"></a>1. VPN Status
|
|
<a id="__codelineno-8-10" name="__codelineno-8-10" href="#__codelineno-8-10"></a> - Interface status (up/down) with toggle
|
|
<a id="__codelineno-8-11" name="__codelineno-8-11" href="#__codelineno-8-11"></a> - Public key display (monospace, copy button)
|
|
<a id="__codelineno-8-12" name="__codelineno-8-12" href="#__codelineno-8-12"></a> - Listen port
|
|
<a id="__codelineno-8-13" name="__codelineno-8-13" href="#__codelineno-8-13"></a> - IP address (VPN subnet)
|
|
<a id="__codelineno-8-14" name="__codelineno-8-14" href="#__codelineno-8-14"></a> - Endpoint (if client mode)
|
|
<a id="__codelineno-8-15" name="__codelineno-8-15" href="#__codelineno-8-15"></a>
|
|
<a id="__codelineno-8-16" name="__codelineno-8-16" href="#__codelineno-8-16"></a>2. Peer Statistics
|
|
<a id="__codelineno-8-17" name="__codelineno-8-17" href="#__codelineno-8-17"></a> - Active peers count
|
|
<a id="__codelineno-8-18" name="__codelineno-8-18" href="#__codelineno-8-18"></a> - Total data RX/TX (all peers combined)
|
|
<a id="__codelineno-8-19" name="__codelineno-8-19" href="#__codelineno-8-19"></a> - Latest handshake timestamp
|
|
<a id="__codelineno-8-20" name="__codelineno-8-20" href="#__codelineno-8-20"></a> - Connection quality indicators
|
|
<a id="__codelineno-8-21" name="__codelineno-8-21" href="#__codelineno-8-21"></a>
|
|
<a id="__codelineno-8-22" name="__codelineno-8-22" href="#__codelineno-8-22"></a>3. Quick Actions
|
|
<a id="__codelineno-8-23" name="__codelineno-8-23" href="#__codelineno-8-23"></a> - Start/Stop VPN button
|
|
<a id="__codelineno-8-24" name="__codelineno-8-24" href="#__codelineno-8-24"></a> - Generate New Keypair button
|
|
<a id="__codelineno-8-25" name="__codelineno-8-25" href="#__codelineno-8-25"></a> - Download Config button
|
|
<a id="__codelineno-8-26" name="__codelineno-8-26" href="#__codelineno-8-26"></a> - Add Peer button (quick modal)
|
|
<a id="__codelineno-8-27" name="__codelineno-8-27" href="#__codelineno-8-27"></a>
|
|
<a id="__codelineno-8-28" name="__codelineno-8-28" href="#__codelineno-8-28"></a>PEERS TAB:
|
|
<a id="__codelineno-8-29" name="__codelineno-8-29" href="#__codelineno-8-29"></a>1. Peer Management
|
|
<a id="__codelineno-8-30" name="__codelineno-8-30" href="#__codelineno-8-30"></a> - Peer cards grid:
|
|
<a id="__codelineno-8-31" name="__codelineno-8-31" href="#__codelineno-8-31"></a> * Each card: name, public key (truncated), allowed IPs, endpoint, status
|
|
<a id="__codelineno-8-32" name="__codelineno-8-32" href="#__codelineno-8-32"></a> * Color-coded border (green=active, orange=stale, red=disconnected)
|
|
<a id="__codelineno-8-33" name="__codelineno-8-33" href="#__codelineno-8-33"></a> * Last handshake time (e.g., "2 minutes ago")
|
|
<a id="__codelineno-8-34" name="__codelineno-8-34" href="#__codelineno-8-34"></a> * Data transfer counters (RX/TX)
|
|
<a id="__codelineno-8-35" name="__codelineno-8-35" href="#__codelineno-8-35"></a> * Edit and Delete buttons
|
|
<a id="__codelineno-8-36" name="__codelineno-8-36" href="#__codelineno-8-36"></a>
|
|
<a id="__codelineno-8-37" name="__codelineno-8-37" href="#__codelineno-8-37"></a>2. Add Peer Dialog
|
|
<a id="__codelineno-8-38" name="__codelineno-8-38" href="#__codelineno-8-38"></a> - Generate keypair automatically OR paste existing public key
|
|
<a id="__codelineno-8-39" name="__codelineno-8-39" href="#__codelineno-8-39"></a> - Assign VPN IP address (auto-suggest next available)
|
|
<a id="__codelineno-8-40" name="__codelineno-8-40" href="#__codelineno-8-40"></a> - Define allowed IPs (0.0.0.0/0 for full tunnel, specific subnets for split)
|
|
<a id="__codelineno-8-41" name="__codelineno-8-41" href="#__codelineno-8-41"></a> - Optional: persistent keepalive interval
|
|
<a id="__codelineno-8-42" name="__codelineno-8-42" href="#__codelineno-8-42"></a> - Optional: pre-shared key (PSK) for post-quantum security
|
|
<a id="__codelineno-8-43" name="__codelineno-8-43" href="#__codelineno-8-43"></a> - Generate config file and QR code instantly
|
|
<a id="__codelineno-8-44" name="__codelineno-8-44" href="#__codelineno-8-44"></a>
|
|
<a id="__codelineno-8-45" name="__codelineno-8-45" href="#__codelineno-8-45"></a>QR CODES TAB:
|
|
<a id="__codelineno-8-46" name="__codelineno-8-46" href="#__codelineno-8-46"></a>1. Mobile Client Setup
|
|
<a id="__codelineno-8-47" name="__codelineno-8-47" href="#__codelineno-8-47"></a> - Select peer from dropdown
|
|
<a id="__codelineno-8-48" name="__codelineno-8-48" href="#__codelineno-8-48"></a> - Generate WireGuard client config
|
|
<a id="__codelineno-8-49" name="__codelineno-8-49" href="#__codelineno-8-49"></a> - Display as QR code (for WireGuard mobile app scanning)
|
|
<a id="__codelineno-8-50" name="__codelineno-8-50" href="#__codelineno-8-50"></a> - Also show config text (copyable)
|
|
<a id="__codelineno-8-51" name="__codelineno-8-51" href="#__codelineno-8-51"></a> - Download .conf file button
|
|
<a id="__codelineno-8-52" name="__codelineno-8-52" href="#__codelineno-8-52"></a> - Include DNS servers in config
|
|
<a id="__codelineno-8-53" name="__codelineno-8-53" href="#__codelineno-8-53"></a>
|
|
<a id="__codelineno-8-54" name="__codelineno-8-54" href="#__codelineno-8-54"></a>2. QR Code Options
|
|
<a id="__codelineno-8-55" name="__codelineno-8-55" href="#__codelineno-8-55"></a> - Custom DNS servers
|
|
<a id="__codelineno-8-56" name="__codelineno-8-56" href="#__codelineno-8-56"></a> - Include all routes vs split tunnel
|
|
<a id="__codelineno-8-57" name="__codelineno-8-57" href="#__codelineno-8-57"></a> - MTU configuration
|
|
<a id="__codelineno-8-58" name="__codelineno-8-58" href="#__codelineno-8-58"></a> - Persistent keepalive setting
|
|
<a id="__codelineno-8-59" name="__codelineno-8-59" href="#__codelineno-8-59"></a>
|
|
<a id="__codelineno-8-60" name="__codelineno-8-60" href="#__codelineno-8-60"></a>TRAFFIC TAB:
|
|
<a id="__codelineno-8-61" name="__codelineno-8-61" href="#__codelineno-8-61"></a>1. Traffic Analytics
|
|
<a id="__codelineno-8-62" name="__codelineno-8-62" href="#__codelineno-8-62"></a> - Real-time bandwidth chart (per peer)
|
|
<a id="__codelineno-8-63" name="__codelineno-8-63" href="#__codelineno-8-63"></a> - Historical traffic graph (24h, 7d, 30d)
|
|
<a id="__codelineno-8-64" name="__codelineno-8-64" href="#__codelineno-8-64"></a> - Top bandwidth users
|
|
<a id="__codelineno-8-65" name="__codelineno-8-65" href="#__codelineno-8-65"></a> - Traffic by protocol (if DPI available)
|
|
<a id="__codelineno-8-66" name="__codelineno-8-66" href="#__codelineno-8-66"></a>
|
|
<a id="__codelineno-8-67" name="__codelineno-8-67" href="#__codelineno-8-67"></a>CONFIG TAB:
|
|
<a id="__codelineno-8-68" name="__codelineno-8-68" href="#__codelineno-8-68"></a>1. Interface Configuration
|
|
<a id="__codelineno-8-69" name="__codelineno-8-69" href="#__codelineno-8-69"></a> - Private key (hidden by default, show button)
|
|
<a id="__codelineno-8-70" name="__codelineno-8-70" href="#__codelineno-8-70"></a> - Public key (derived, read-only)
|
|
<a id="__codelineno-8-71" name="__codelineno-8-71" href="#__codelineno-8-71"></a> - Listen port (51820 default)
|
|
<a id="__codelineno-8-72" name="__codelineno-8-72" href="#__codelineno-8-72"></a> - IP addresses (comma-separated for multi-subnet)
|
|
<a id="__codelineno-8-73" name="__codelineno-8-73" href="#__codelineno-8-73"></a> - MTU size
|
|
<a id="__codelineno-8-74" name="__codelineno-8-74" href="#__codelineno-8-74"></a> - Table (routing table number)
|
|
<a id="__codelineno-8-75" name="__codelineno-8-75" href="#__codelineno-8-75"></a>
|
|
<a id="__codelineno-8-76" name="__codelineno-8-76" href="#__codelineno-8-76"></a>2. Advanced Settings
|
|
<a id="__codelineno-8-77" name="__codelineno-8-77" href="#__codelineno-8-77"></a> - Pre-up/Post-up scripts
|
|
<a id="__codelineno-8-78" name="__codelineno-8-78" href="#__codelineno-8-78"></a> - Pre-down/Post-down scripts
|
|
<a id="__codelineno-8-79" name="__codelineno-8-79" href="#__codelineno-8-79"></a> - Firewall zone assignment
|
|
<a id="__codelineno-8-80" name="__codelineno-8-80" href="#__codelineno-8-80"></a> - NAT masquerading toggle
|
|
<a id="__codelineno-8-81" name="__codelineno-8-81" href="#__codelineno-8-81"></a>
|
|
<a id="__codelineno-8-82" name="__codelineno-8-82" href="#__codelineno-8-82"></a>SETTINGS TAB:
|
|
<a id="__codelineno-8-83" name="__codelineno-8-83" href="#__codelineno-8-83"></a>1. Global VPN Settings
|
|
<a id="__codelineno-8-84" name="__codelineno-8-84" href="#__codelineno-8-84"></a> - Auto-start on boot toggle
|
|
<a id="__codelineno-8-85" name="__codelineno-8-85" href="#__codelineno-8-85"></a> - Keep-alive interval (global default)
|
|
<a id="__codelineno-8-86" name="__codelineno-8-86" href="#__codelineno-8-86"></a> - DNS leak protection
|
|
<a id="__codelineno-8-87" name="__codelineno-8-87" href="#__codelineno-8-87"></a> - IPv6 support toggle
|
|
<a id="__codelineno-8-88" name="__codelineno-8-88" href="#__codelineno-8-88"></a> - Logging level
|
|
<a id="__codelineno-8-89" name="__codelineno-8-89" href="#__codelineno-8-89"></a>
|
|
<a id="__codelineno-8-90" name="__codelineno-8-90" href="#__codelineno-8-90"></a>2. Endpoint Configuration (for client mode)
|
|
<a id="__codelineno-8-91" name="__codelineno-8-91" href="#__codelineno-8-91"></a> - Server endpoint hostname/IP
|
|
<a id="__codelineno-8-92" name="__codelineno-8-92" href="#__codelineno-8-92"></a> - Server public key
|
|
<a id="__codelineno-8-93" name="__codelineno-8-93" href="#__codelineno-8-93"></a> - Allowed IPs (what routes through VPN)
|
|
<a id="__codelineno-8-94" name="__codelineno-8-94" href="#__codelineno-8-94"></a> - Persistent keepalive for NAT traversal
|
|
<a id="__codelineno-8-95" name="__codelineno-8-95" href="#__codelineno-8-95"></a>
|
|
<a id="__codelineno-8-96" name="__codelineno-8-96" href="#__codelineno-8-96"></a>TECHNICAL:
|
|
<a id="__codelineno-8-97" name="__codelineno-8-97" href="#__codelineno-8-97"></a>- RPCD: luci.wireguard-dashboard
|
|
<a id="__codelineno-8-98" name="__codelineno-8-98" href="#__codelineno-8-98"></a>- Methods: status, get_interfaces, get_peers, add_peer, remove_peer, generate_keys, generate_config, generate_qr
|
|
<a id="__codelineno-8-99" name="__codelineno-8-99" href="#__codelineno-8-99"></a>- Commands: wg show, wg set, wg genkey, wg pubkey, wg genpsk
|
|
<a id="__codelineno-8-100" name="__codelineno-8-100" href="#__codelineno-8-100"></a>- QR code generation: qrencode command or JavaScript library (qrcodejs)
|
|
<a id="__codelineno-8-101" name="__codelineno-8-101" href="#__codelineno-8-101"></a>- Config file template generation
|
|
<a id="__codelineno-8-102" name="__codelineno-8-102" href="#__codelineno-8-102"></a>- Real-time peer status updates
|
|
<a id="__codelineno-8-103" name="__codelineno-8-103" href="#__codelineno-8-103"></a>
|
|
<a id="__codelineno-8-104" name="__codelineno-8-104" href="#__codelineno-8-104"></a>UI ENHANCEMENTS:
|
|
<a id="__codelineno-8-105" name="__codelineno-8-105" href="#__codelineno-8-105"></a>- Animated connection status indicators
|
|
<a id="__codelineno-8-106" name="__codelineno-8-106" href="#__codelineno-8-106"></a>- Gradient border for active peers
|
|
<a id="__codelineno-8-107" name="__codelineno-8-107" href="#__codelineno-8-107"></a>- Copy-to-clipboard for keys and configs
|
|
<a id="__codelineno-8-108" name="__codelineno-8-108" href="#__codelineno-8-108"></a>- Modal dialogs for add/edit peer
|
|
<a id="__codelineno-8-109" name="__codelineno-8-109" href="#__codelineno-8-109"></a>- Confirmation dialogs for destructive actions
|
|
<a id="__codelineno-8-110" name="__codelineno-8-110" href="#__codelineno-8-110"></a>- Toast notifications for success/error
|
|
</code></pre></div>
|
|
<h3 id="8-client-guardian-luci-app-client-guardian">8. Client Guardian (luci-app-client-guardian)<a class="headerlink" href="#8-client-guardian-luci-app-client-guardian" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>Create a Network Access Control (NAC) and Captive Portal system:
|
|
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>
|
|
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a>DESIGN:
|
|
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a>- Title: "Access Control" with 👥 icon
|
|
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a>- Focus on device management and access policies
|
|
<a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a>- Stats badges: Total Devices | Allowed | Blocked | Guest
|
|
<a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a>
|
|
<a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a>1. Network Summary
|
|
<a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a> - Total devices seen (ever)
|
|
<a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a> - Currently connected devices
|
|
<a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a> - Allowed devices count
|
|
<a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a> - Blocked devices count
|
|
<a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a> - Guest devices (captive portal)
|
|
<a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a>
|
|
<a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a>2. Recent Activity
|
|
<a id="__codelineno-9-17" name="__codelineno-9-17" href="#__codelineno-9-17"></a> - Last 20 connection events
|
|
<a id="__codelineno-9-18" name="__codelineno-9-18" href="#__codelineno-9-18"></a> - Each event: timestamp, MAC, IP, hostname, action (allow/block/captive)
|
|
<a id="__codelineno-9-19" name="__codelineno-9-19" href="#__codelineno-9-19"></a> - Color-coded by action type
|
|
<a id="__codelineno-9-20" name="__codelineno-9-20" href="#__codelineno-9-20"></a>
|
|
<a id="__codelineno-9-21" name="__codelineno-9-21" href="#__codelineno-9-21"></a>3. Quick Actions
|
|
<a id="__codelineno-9-22" name="__codelineno-9-22" href="#__codelineno-9-22"></a> - Block All Unknown button (lockdown mode)
|
|
<a id="__codelineno-9-23" name="__codelineno-9-23" href="#__codelineno-9-23"></a> - Allow All button (open mode)
|
|
<a id="__codelineno-9-24" name="__codelineno-9-24" href="#__codelineno-9-24"></a> - Clear Guest Sessions button
|
|
<a id="__codelineno-9-25" name="__codelineno-9-25" href="#__codelineno-9-25"></a>
|
|
<a id="__codelineno-9-26" name="__codelineno-9-26" href="#__codelineno-9-26"></a>CLIENTS TAB:
|
|
<a id="__codelineno-9-27" name="__codelineno-9-27" href="#__codelineno-9-27"></a>1. Device Table
|
|
<a id="__codelineno-9-28" name="__codelineno-9-28" href="#__codelineno-9-28"></a> - Columns: MAC, IP, Hostname, Vendor, Zone, Status, Actions
|
|
<a id="__codelineno-9-29" name="__codelineno-9-29" href="#__codelineno-9-29"></a> - Sortable by all columns
|
|
<a id="__codelineno-9-30" name="__codelineno-9-30" href="#__codelineno-9-30"></a> - Search/filter bar
|
|
<a id="__codelineno-9-31" name="__codelineno-9-31" href="#__codelineno-9-31"></a> - Bulk selection for actions
|
|
<a id="__codelineno-9-32" name="__codelineno-9-32" href="#__codelineno-9-32"></a>
|
|
<a id="__codelineno-9-33" name="__codelineno-9-33" href="#__codelineno-9-33"></a>2. Device Details Modal
|
|
<a id="__codelineno-9-34" name="__codelineno-9-34" href="#__codelineno-9-34"></a> - Full device info: MAC, IP, Hostname, Vendor (from MAC prefix)
|
|
<a id="__codelineno-9-35" name="__codelineno-9-35" href="#__codelineno-9-35"></a> - Connection history (first seen, last seen, total connections)
|
|
<a id="__codelineno-9-36" name="__codelineno-9-36" href="#__codelineno-9-36"></a> - Current zone assignment (LAN, Guest, Blocked)
|
|
<a id="__codelineno-9-37" name="__codelineno-9-37" href="#__codelineno-9-37"></a> - Assigned policies
|
|
<a id="__codelineno-9-38" name="__codelineno-9-38" href="#__codelineno-9-38"></a> - Edit button (change hostname, zone, policies)
|
|
<a id="__codelineno-9-39" name="__codelineno-9-39" href="#__codelineno-9-39"></a>
|
|
<a id="__codelineno-9-40" name="__codelineno-9-40" href="#__codelineno-9-40"></a>ZONES TAB:
|
|
<a id="__codelineno-9-41" name="__codelineno-9-41" href="#__codelineno-9-41"></a>1. Zone Management
|
|
<a id="__codelineno-9-42" name="__codelineno-9-42" href="#__codelineno-9-42"></a> - Predefined zones:
|
|
<a id="__codelineno-9-43" name="__codelineno-9-43" href="#__codelineno-9-43"></a> * Trusted (full access)
|
|
<a id="__codelineno-9-44" name="__codelineno-9-44" href="#__codelineno-9-44"></a> * LAN (standard access)
|
|
<a id="__codelineno-9-45" name="__codelineno-9-45" href="#__codelineno-9-45"></a> * Guest (restricted access, captive portal)
|
|
<a id="__codelineno-9-46" name="__codelineno-9-46" href="#__codelineno-9-46"></a> * IoT (isolated, limited access)
|
|
<a id="__codelineno-9-47" name="__codelineno-9-47" href="#__codelineno-9-47"></a> * Quarantine (blocked)
|
|
<a id="__codelineno-9-48" name="__codelineno-9-48" href="#__codelineno-9-48"></a>
|
|
<a id="__codelineno-9-49" name="__codelineno-9-49" href="#__codelineno-9-49"></a>2. Zone Configuration
|
|
<a id="__codelineno-9-50" name="__codelineno-9-50" href="#__codelineno-9-50"></a> - Per-zone settings:
|
|
<a id="__codelineno-9-51" name="__codelineno-9-51" href="#__codelineno-9-51"></a> * Allowed services (HTTP, HTTPS, DNS, etc.)
|
|
<a id="__codelineno-9-52" name="__codelineno-9-52" href="#__codelineno-9-52"></a> * Bandwidth limits
|
|
<a id="__codelineno-9-53" name="__codelineno-9-53" href="#__codelineno-9-53"></a> * Time restrictions
|
|
<a id="__codelineno-9-54" name="__codelineno-9-54" href="#__codelineno-9-54"></a> * Inter-zone communication rules
|
|
<a id="__codelineno-9-55" name="__codelineno-9-55" href="#__codelineno-9-55"></a> * Firewall rules
|
|
<a id="__codelineno-9-56" name="__codelineno-9-56" href="#__codelineno-9-56"></a>
|
|
<a id="__codelineno-9-57" name="__codelineno-9-57" href="#__codelineno-9-57"></a>CAPTIVE PORTAL TAB:
|
|
<a id="__codelineno-9-58" name="__codelineno-9-58" href="#__codelineno-9-58"></a>1. Captive Portal Configuration
|
|
<a id="__codelineno-9-59" name="__codelineno-9-59" href="#__codelineno-9-59"></a> - Enable/disable portal
|
|
<a id="__codelineno-9-60" name="__codelineno-9-60" href="#__codelineno-9-60"></a> - Splash page customization:
|
|
<a id="__codelineno-9-61" name="__codelineno-9-61" href="#__codelineno-9-61"></a> * Custom logo upload
|
|
<a id="__codelineno-9-62" name="__codelineno-9-62" href="#__codelineno-9-62"></a> * Welcome message (HTML editor)
|
|
<a id="__codelineno-9-63" name="__codelineno-9-63" href="#__codelineno-9-63"></a> * Terms of Service text
|
|
<a id="__codelineno-9-64" name="__codelineno-9-64" href="#__codelineno-9-64"></a> * Redirect URL after acceptance
|
|
<a id="__codelineno-9-65" name="__codelineno-9-65" href="#__codelineno-9-65"></a>
|
|
<a id="__codelineno-9-66" name="__codelineno-9-66" href="#__codelineno-9-66"></a>2. Portal Themes
|
|
<a id="__codelineno-9-67" name="__codelineno-9-67" href="#__codelineno-9-67"></a> - Predefined themes (Business, Hotel, Cafe, School)
|
|
<a id="__codelineno-9-68" name="__codelineno-9-68" href="#__codelineno-9-68"></a> - Color scheme customization
|
|
<a id="__codelineno-9-69" name="__codelineno-9-69" href="#__codelineno-9-69"></a> - Preview button
|
|
<a id="__codelineno-9-70" name="__codelineno-9-70" href="#__codelineno-9-70"></a>
|
|
<a id="__codelineno-9-71" name="__codelineno-9-71" href="#__codelineno-9-71"></a>3. Portal Settings
|
|
<a id="__codelineno-9-72" name="__codelineno-9-72" href="#__codelineno-9-72"></a> - Session duration (1h, 4h, 24h, unlimited)
|
|
<a id="__codelineno-9-73" name="__codelineno-9-73" href="#__codelineno-9-73"></a> - Require email before access
|
|
<a id="__codelineno-9-74" name="__codelineno-9-74" href="#__codelineno-9-74"></a> - Require SMS verification
|
|
<a id="__codelineno-9-75" name="__codelineno-9-75" href="#__codelineno-9-75"></a> - Require social login (Facebook, Google)
|
|
<a id="__codelineno-9-76" name="__codelineno-9-76" href="#__codelineno-9-76"></a> - Auto-allow known devices
|
|
<a id="__codelineno-9-77" name="__codelineno-9-77" href="#__codelineno-9-77"></a>
|
|
<a id="__codelineno-9-78" name="__codelineno-9-78" href="#__codelineno-9-78"></a>PORTAL DESIGN TAB:
|
|
<a id="__codelineno-9-79" name="__codelineno-9-79" href="#__codelineno-9-79"></a>1. Splash Page Editor
|
|
<a id="__codelineno-9-80" name="__codelineno-9-80" href="#__codelineno-9-80"></a> - WYSIWYG HTML editor
|
|
<a id="__codelineno-9-81" name="__codelineno-9-81" href="#__codelineno-9-81"></a> - Template variables (e.g., {{client_mac}}, {{client_ip}})
|
|
<a id="__codelineno-9-82" name="__codelineno-9-82" href="#__codelineno-9-82"></a> - Background image upload
|
|
<a id="__codelineno-9-83" name="__codelineno-9-83" href="#__codelineno-9-83"></a> - CSS styling panel
|
|
<a id="__codelineno-9-84" name="__codelineno-9-84" href="#__codelineno-9-84"></a> - Live preview
|
|
<a id="__codelineno-9-85" name="__codelineno-9-85" href="#__codelineno-9-85"></a>
|
|
<a id="__codelineno-9-86" name="__codelineno-9-86" href="#__codelineno-9-86"></a>LOGS TAB:
|
|
<a id="__codelineno-9-87" name="__codelineno-9-87" href="#__codelineno-9-87"></a>1. Access Logs
|
|
<a id="__codelineno-9-88" name="__codelineno-9-88" href="#__codelineno-9-88"></a> - Connection attempts log
|
|
<a id="__codelineno-9-89" name="__codelineno-9-89" href="#__codelineno-9-89"></a> - Allowed/blocked decisions
|
|
<a id="__codelineno-9-90" name="__codelineno-9-90" href="#__codelineno-9-90"></a> - Captive portal authentications
|
|
<a id="__codelineno-9-91" name="__codelineno-9-91" href="#__codelineno-9-91"></a> - Filter by: time range, MAC, IP, zone, action
|
|
<a id="__codelineno-9-92" name="__codelineno-9-92" href="#__codelineno-9-92"></a>
|
|
<a id="__codelineno-9-93" name="__codelineno-9-93" href="#__codelineno-9-93"></a>ALERTS TAB:
|
|
<a id="__codelineno-9-94" name="__codelineno-9-94" href="#__codelineno-9-94"></a>1. Security Alerts
|
|
<a id="__codelineno-9-95" name="__codelineno-9-95" href="#__codelineno-9-95"></a> - MAC spoofing detection
|
|
<a id="__codelineno-9-96" name="__codelineno-9-96" href="#__codelineno-9-96"></a> - Excessive connection attempts
|
|
<a id="__codelineno-9-97" name="__codelineno-9-97" href="#__codelineno-9-97"></a> - Unknown devices connecting
|
|
<a id="__codelineno-9-98" name="__codelineno-9-98" href="#__codelineno-9-98"></a> - Devices changing zones
|
|
<a id="__codelineno-9-99" name="__codelineno-9-99" href="#__codelineno-9-99"></a> - Alert rules configuration
|
|
<a id="__codelineno-9-100" name="__codelineno-9-100" href="#__codelineno-9-100"></a>
|
|
<a id="__codelineno-9-101" name="__codelineno-9-101" href="#__codelineno-9-101"></a>PARENTAL CONTROLS TAB:
|
|
<a id="__codelineno-9-102" name="__codelineno-9-102" href="#__codelineno-9-102"></a>1. Content Filtering
|
|
<a id="__codelineno-9-103" name="__codelineno-9-103" href="#__codelineno-9-103"></a> - Website category blocking (adult, social, gaming, etc.)
|
|
<a id="__codelineno-9-104" name="__codelineno-9-104" href="#__codelineno-9-104"></a> - Time-based access controls (school hours, bedtime)
|
|
<a id="__codelineno-9-105" name="__codelineno-9-105" href="#__codelineno-9-105"></a> - Per-device or per-user policies
|
|
<a id="__codelineno-9-106" name="__codelineno-9-106" href="#__codelineno-9-106"></a> - SafeSearch enforcement
|
|
<a id="__codelineno-9-107" name="__codelineno-9-107" href="#__codelineno-9-107"></a> - YouTube restricted mode
|
|
<a id="__codelineno-9-108" name="__codelineno-9-108" href="#__codelineno-9-108"></a>
|
|
<a id="__codelineno-9-109" name="__codelineno-9-109" href="#__codelineno-9-109"></a>2. Device Groups
|
|
<a id="__codelineno-9-110" name="__codelineno-9-110" href="#__codelineno-9-110"></a> - Group devices (e.g., "Kids Devices")
|
|
<a id="__codelineno-9-111" name="__codelineno-9-111" href="#__codelineno-9-111"></a> - Apply policies to groups
|
|
<a id="__codelineno-9-112" name="__codelineno-9-112" href="#__codelineno-9-112"></a> - Schedule-based rules (weekday vs weekend)
|
|
<a id="__codelineno-9-113" name="__codelineno-9-113" href="#__codelineno-9-113"></a>
|
|
<a id="__codelineno-9-114" name="__codelineno-9-114" href="#__codelineno-9-114"></a>SETTINGS TAB:
|
|
<a id="__codelineno-9-115" name="__codelineno-9-115" href="#__codelineno-9-115"></a>1. Client Guardian Settings
|
|
<a id="__codelineno-9-116" name="__codelineno-9-116" href="#__codelineno-9-116"></a> - Default zone for new devices
|
|
<a id="__codelineno-9-117" name="__codelineno-9-117" href="#__codelineno-9-117"></a> - MAC-IP binding enforcement
|
|
<a id="__codelineno-9-118" name="__codelineno-9-118" href="#__codelineno-9-118"></a> - ARP cache timeout
|
|
<a id="__codelineno-9-119" name="__codelineno-9-119" href="#__codelineno-9-119"></a> - DHCP integration (assign zone based on IP range)
|
|
<a id="__codelineno-9-120" name="__codelineno-9-120" href="#__codelineno-9-120"></a> - Logging level and retention
|
|
<a id="__codelineno-9-121" name="__codelineno-9-121" href="#__codelineno-9-121"></a>
|
|
<a id="__codelineno-9-122" name="__codelineno-9-122" href="#__codelineno-9-122"></a>TECHNICAL:
|
|
<a id="__codelineno-9-123" name="__codelineno-9-123" href="#__codelineno-9-123"></a>- RPCD: luci.client-guardian
|
|
<a id="__codelineno-9-124" name="__codelineno-9-124" href="#__codelineno-9-124"></a>- Methods: list_clients, update_client, get_zones, configure_portal, get_logs
|
|
<a id="__codelineno-9-125" name="__codelineno-9-125" href="#__codelineno-9-125"></a>- Integration with:
|
|
<a id="__codelineno-9-126" name="__codelineno-9-126" href="#__codelineno-9-126"></a> * nftables/iptables for access control
|
|
<a id="__codelineno-9-127" name="__codelineno-9-127" href="#__codelineno-9-127"></a> * dnsmasq for DNS and DHCP
|
|
<a id="__codelineno-9-128" name="__codelineno-9-128" href="#__codelineno-9-128"></a> * nginx/uhttpd for captive portal
|
|
<a id="__codelineno-9-129" name="__codelineno-9-129" href="#__codelineno-9-129"></a> * ipset for efficient device grouping
|
|
<a id="__codelineno-9-130" name="__codelineno-9-130" href="#__codelineno-9-130"></a>- Database for device tracking (SQLite or UCI)
|
|
<a id="__codelineno-9-131" name="__codelineno-9-131" href="#__codelineno-9-131"></a>
|
|
<a id="__codelineno-9-132" name="__codelineno-9-132" href="#__codelineno-9-132"></a>CAPTIVE PORTAL IMPLEMENTATION:
|
|
<a id="__codelineno-9-133" name="__codelineno-9-133" href="#__codelineno-9-133"></a>- Intercept HTTP traffic for unauthenticated clients
|
|
<a id="__codelineno-9-134" name="__codelineno-9-134" href="#__codelineno-9-134"></a>- Redirect to splash page
|
|
<a id="__codelineno-9-135" name="__codelineno-9-135" href="#__codelineno-9-135"></a>- After acceptance, add to allowed ipset
|
|
<a id="__codelineno-9-136" name="__codelineno-9-136" href="#__codelineno-9-136"></a>- Session management with cookies or tokens
|
|
</code></pre></div>
|
|
<h3 id="9-auth-guardian-luci-app-auth-guardian">9. Auth Guardian (luci-app-auth-guardian)<a class="headerlink" href="#9-auth-guardian-luci-app-auth-guardian" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>Create an authentication and session management system with OAuth2 and vouchers:
|
|
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a>
|
|
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a>DESIGN:
|
|
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a>- Title: "Authentication" with 🔑 icon
|
|
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a>- Professional authentication dashboard
|
|
<a id="__codelineno-10-6" name="__codelineno-10-6" href="#__codelineno-10-6"></a>- Stats badges: Active Sessions | OAuth Providers | Vouchers | Bypass Rules
|
|
<a id="__codelineno-10-7" name="__codelineno-10-7" href="#__codelineno-10-7"></a>
|
|
<a id="__codelineno-10-8" name="__codelineno-10-8" href="#__codelineno-10-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-10-9" name="__codelineno-10-9" href="#__codelineno-10-9"></a>1. Authentication Status
|
|
<a id="__codelineno-10-10" name="__codelineno-10-10" href="#__codelineno-10-10"></a> - Total registered users
|
|
<a id="__codelineno-10-11" name="__codelineno-10-11" href="#__codelineno-10-11"></a> - Active sessions count
|
|
<a id="__codelineno-10-12" name="__codelineno-10-12" href="#__codelineno-10-12"></a> - OAuth providers configured
|
|
<a id="__codelineno-10-13" name="__codelineno-10-13" href="#__codelineno-10-13"></a> - Voucher redemptions today
|
|
<a id="__codelineno-10-14" name="__codelineno-10-14" href="#__codelineno-10-14"></a>
|
|
<a id="__codelineno-10-15" name="__codelineno-10-15" href="#__codelineno-10-15"></a>2. Recent Authentications
|
|
<a id="__codelineno-10-16" name="__codelineno-10-16" href="#__codelineno-10-16"></a> - Last 20 auth events
|
|
<a id="__codelineno-10-17" name="__codelineno-10-17" href="#__codelineno-10-17"></a> - Each: timestamp, username/email, method (OAuth/voucher/bypass), IP, status
|
|
<a id="__codelineno-10-18" name="__codelineno-10-18" href="#__codelineno-10-18"></a> - Color-coded by status (success=green, fail=red)
|
|
<a id="__codelineno-10-19" name="__codelineno-10-19" href="#__codelineno-10-19"></a>
|
|
<a id="__codelineno-10-20" name="__codelineno-10-20" href="#__codelineno-10-20"></a>SESSIONS TAB:
|
|
<a id="__codelineno-10-21" name="__codelineno-10-21" href="#__codelineno-10-21"></a>1. Active Sessions Table
|
|
<a id="__codelineno-10-22" name="__codelineno-10-22" href="#__codelineno-10-22"></a> - Columns: User, Session ID, Started, Last Activity, IP, Device, Actions
|
|
<a id="__codelineno-10-23" name="__codelineno-10-23" href="#__codelineno-10-23"></a> - Session details on click
|
|
<a id="__codelineno-10-24" name="__codelineno-10-24" href="#__codelineno-10-24"></a> - Revoke session button (with confirmation)
|
|
<a id="__codelineno-10-25" name="__codelineno-10-25" href="#__codelineno-10-25"></a> - Force logout all sessions button
|
|
<a id="__codelineno-10-26" name="__codelineno-10-26" href="#__codelineno-10-26"></a>
|
|
<a id="__codelineno-10-27" name="__codelineno-10-27" href="#__codelineno-10-27"></a>2. Session Management
|
|
<a id="__codelineno-10-28" name="__codelineno-10-28" href="#__codelineno-10-28"></a> - Session timeout configuration
|
|
<a id="__codelineno-10-29" name="__codelineno-10-29" href="#__codelineno-10-29"></a> - Concurrent session limit per user
|
|
<a id="__codelineno-10-30" name="__codelineno-10-30" href="#__codelineno-10-30"></a> - Idle timeout
|
|
<a id="__codelineno-10-31" name="__codelineno-10-31" href="#__codelineno-10-31"></a> - Remember me duration
|
|
<a id="__codelineno-10-32" name="__codelineno-10-32" href="#__codelineno-10-32"></a>
|
|
<a id="__codelineno-10-33" name="__codelineno-10-33" href="#__codelineno-10-33"></a>VOUCHERS TAB:
|
|
<a id="__codelineno-10-34" name="__codelineno-10-34" href="#__codelineno-10-34"></a>1. Voucher Management
|
|
<a id="__codelineno-10-35" name="__codelineno-10-35" href="#__codelineno-10-35"></a> - Create new voucher button
|
|
<a id="__codelineno-10-36" name="__codelineno-10-36" href="#__codelineno-10-36"></a> - Voucher table: Code, Duration, Remaining Uses, Created, Expires, Status
|
|
<a id="__codelineno-10-37" name="__codelineno-10-37" href="#__codelineno-10-37"></a> - Voucher types:
|
|
<a id="__codelineno-10-38" name="__codelineno-10-38" href="#__codelineno-10-38"></a> * Single-use (one time only)
|
|
<a id="__codelineno-10-39" name="__codelineno-10-39" href="#__codelineno-10-39"></a> * Multi-use (X redemptions)
|
|
<a id="__codelineno-10-40" name="__codelineno-10-40" href="#__codelineno-10-40"></a> * Time-limited (expires after duration)
|
|
<a id="__codelineno-10-41" name="__codelineno-10-41" href="#__codelineno-10-41"></a> * Bandwidth-limited (X GB quota)
|
|
<a id="__codelineno-10-42" name="__codelineno-10-42" href="#__codelineno-10-42"></a>
|
|
<a id="__codelineno-10-43" name="__codelineno-10-43" href="#__codelineno-10-43"></a>2. Create Voucher Dialog
|
|
<a id="__codelineno-10-44" name="__codelineno-10-44" href="#__codelineno-10-44"></a> - Generate random code OR custom code
|
|
<a id="__codelineno-10-45" name="__codelineno-10-45" href="#__codelineno-10-45"></a> - Voucher duration (1h, 4h, 24h, 7d, 30d, unlimited)
|
|
<a id="__codelineno-10-46" name="__codelineno-10-46" href="#__codelineno-10-46"></a> - Usage limit (1, 10, 100, unlimited)
|
|
<a id="__codelineno-10-47" name="__codelineno-10-47" href="#__codelineno-10-47"></a> - Bandwidth quota (optional)
|
|
<a id="__codelineno-10-48" name="__codelineno-10-48" href="#__codelineno-10-48"></a> - Notes/description field
|
|
<a id="__codelineno-10-49" name="__codelineno-10-49" href="#__codelineno-10-49"></a> - Print voucher button (printable page with code)
|
|
<a id="__codelineno-10-50" name="__codelineno-10-50" href="#__codelineno-10-50"></a>
|
|
<a id="__codelineno-10-51" name="__codelineno-10-51" href="#__codelineno-10-51"></a>3. Bulk Voucher Generation
|
|
<a id="__codelineno-10-52" name="__codelineno-10-52" href="#__codelineno-10-52"></a> - Generate X vouchers at once
|
|
<a id="__codelineno-10-53" name="__codelineno-10-53" href="#__codelineno-10-53"></a> - Export as CSV
|
|
<a id="__codelineno-10-54" name="__codelineno-10-54" href="#__codelineno-10-54"></a> - Print sheet (multiple vouchers per page)
|
|
<a id="__codelineno-10-55" name="__codelineno-10-55" href="#__codelineno-10-55"></a>
|
|
<a id="__codelineno-10-56" name="__codelineno-10-56" href="#__codelineno-10-56"></a>OAUTH TAB:
|
|
<a id="__codelineno-10-57" name="__codelineno-10-57" href="#__codelineno-10-57"></a>1. OAuth Provider Configuration
|
|
<a id="__codelineno-10-58" name="__codelineno-10-58" href="#__codelineno-10-58"></a> - Supported providers:
|
|
<a id="__codelineno-10-59" name="__codelineno-10-59" href="#__codelineno-10-59"></a> * Google OAuth
|
|
<a id="__codelineno-10-60" name="__codelineno-10-60" href="#__codelineno-10-60"></a> * GitHub OAuth
|
|
<a id="__codelineno-10-61" name="__codelineno-10-61" href="#__codelineno-10-61"></a> * Facebook Login
|
|
<a id="__codelineno-10-62" name="__codelineno-10-62" href="#__codelineno-10-62"></a> * Microsoft Azure AD
|
|
<a id="__codelineno-10-63" name="__codelineno-10-63" href="#__codelineno-10-63"></a> * Custom OAuth2 provider
|
|
<a id="__codelineno-10-64" name="__codelineno-10-64" href="#__codelineno-10-64"></a>
|
|
<a id="__codelineno-10-65" name="__codelineno-10-65" href="#__codelineno-10-65"></a>2. Provider Setup
|
|
<a id="__codelineno-10-66" name="__codelineno-10-66" href="#__codelineno-10-66"></a> - Client ID input
|
|
<a id="__codelineno-10-67" name="__codelineno-10-67" href="#__codelineno-10-67"></a> - Client Secret input (masked)
|
|
<a id="__codelineno-10-68" name="__codelineno-10-68" href="#__codelineno-10-68"></a> - Redirect URI (auto-generated)
|
|
<a id="__codelineno-10-69" name="__codelineno-10-69" href="#__codelineno-10-69"></a> - Scopes configuration
|
|
<a id="__codelineno-10-70" name="__codelineno-10-70" href="#__codelineno-10-70"></a> - Enable/disable per provider
|
|
<a id="__codelineno-10-71" name="__codelineno-10-71" href="#__codelineno-10-71"></a> - Test button (initiates OAuth flow)
|
|
<a id="__codelineno-10-72" name="__codelineno-10-72" href="#__codelineno-10-72"></a>
|
|
<a id="__codelineno-10-73" name="__codelineno-10-73" href="#__codelineno-10-73"></a>3. User Mapping
|
|
<a id="__codelineno-10-74" name="__codelineno-10-74" href="#__codelineno-10-74"></a> - Map OAuth attributes to local user fields
|
|
<a id="__codelineno-10-75" name="__codelineno-10-75" href="#__codelineno-10-75"></a> - Auto-create user on first OAuth login
|
|
<a id="__codelineno-10-76" name="__codelineno-10-76" href="#__codelineno-10-76"></a> - Group assignment based on OAuth claims
|
|
<a id="__codelineno-10-77" name="__codelineno-10-77" href="#__codelineno-10-77"></a>
|
|
<a id="__codelineno-10-78" name="__codelineno-10-78" href="#__codelineno-10-78"></a>SPLASH PAGE TAB:
|
|
<a id="__codelineno-10-79" name="__codelineno-10-79" href="#__codelineno-10-79"></a>1. Login Page Customization
|
|
<a id="__codelineno-10-80" name="__codelineno-10-80" href="#__codelineno-10-80"></a> - Custom logo upload
|
|
<a id="__codelineno-10-81" name="__codelineno-10-81" href="#__codelineno-10-81"></a> - Welcome text editor
|
|
<a id="__codelineno-10-82" name="__codelineno-10-82" href="#__codelineno-10-82"></a> - Enabled auth methods (OAuth buttons, voucher input, bypass link)
|
|
<a id="__codelineno-10-83" name="__codelineno-10-83" href="#__codelineno-10-83"></a> - Background image or gradient
|
|
<a id="__codelineno-10-84" name="__codelineno-10-84" href="#__codelineno-10-84"></a> - Color scheme
|
|
<a id="__codelineno-10-85" name="__codelineno-10-85" href="#__codelineno-10-85"></a> - Preview button
|
|
<a id="__codelineno-10-86" name="__codelineno-10-86" href="#__codelineno-10-86"></a>
|
|
<a id="__codelineno-10-87" name="__codelineno-10-87" href="#__codelineno-10-87"></a>BYPASS RULES TAB:
|
|
<a id="__codelineno-10-88" name="__codelineno-10-88" href="#__codelineno-10-88"></a>1. Bypass Configuration
|
|
<a id="__codelineno-10-89" name="__codelineno-10-89" href="#__codelineno-10-89"></a> - Whitelist MAC addresses (no auth required)
|
|
<a id="__codelineno-10-90" name="__codelineno-10-90" href="#__codelineno-10-90"></a> - Whitelist IP ranges
|
|
<a id="__codelineno-10-91" name="__codelineno-10-91" href="#__codelineno-10-91"></a> - Whitelist hostnames (regex patterns)
|
|
<a id="__codelineno-10-92" name="__codelineno-10-92" href="#__codelineno-10-92"></a> - Time-based bypass (e.g., office hours, all devices allowed)
|
|
<a id="__codelineno-10-93" name="__codelineno-10-93" href="#__codelineno-10-93"></a>
|
|
<a id="__codelineno-10-94" name="__codelineno-10-94" href="#__codelineno-10-94"></a>2. Bypass List
|
|
<a id="__codelineno-10-95" name="__codelineno-10-95" href="#__codelineno-10-95"></a> - Table: MAC/IP, Description, Added, Expires
|
|
<a id="__codelineno-10-96" name="__codelineno-10-96" href="#__codelineno-10-96"></a> - Add/remove bypass rules
|
|
<a id="__codelineno-10-97" name="__codelineno-10-97" href="#__codelineno-10-97"></a> - Temporary bypass (expires after X hours)
|
|
<a id="__codelineno-10-98" name="__codelineno-10-98" href="#__codelineno-10-98"></a>
|
|
<a id="__codelineno-10-99" name="__codelineno-10-99" href="#__codelineno-10-99"></a>LOGS TAB:
|
|
<a id="__codelineno-10-100" name="__codelineno-10-100" href="#__codelineno-10-100"></a>1. Authentication Logs
|
|
<a id="__codelineno-10-101" name="__codelineno-10-101" href="#__codelineno-10-101"></a> - All auth attempts (success and failure)
|
|
<a id="__codelineno-10-102" name="__codelineno-10-102" href="#__codelineno-10-102"></a> - Filter by: date range, username, method, IP
|
|
<a id="__codelineno-10-103" name="__codelineno-10-103" href="#__codelineno-10-103"></a> - Export to CSV
|
|
<a id="__codelineno-10-104" name="__codelineno-10-104" href="#__codelineno-10-104"></a> - Visualizations:
|
|
<a id="__codelineno-10-105" name="__codelineno-10-105" href="#__codelineno-10-105"></a> * Auth attempts over time (line chart)
|
|
<a id="__codelineno-10-106" name="__codelineno-10-106" href="#__codelineno-10-106"></a> * Auth methods breakdown (pie chart)
|
|
<a id="__codelineno-10-107" name="__codelineno-10-107" href="#__codelineno-10-107"></a> * Failed attempts by IP (bar chart)
|
|
<a id="__codelineno-10-108" name="__codelineno-10-108" href="#__codelineno-10-108"></a>
|
|
<a id="__codelineno-10-109" name="__codelineno-10-109" href="#__codelineno-10-109"></a>SETTINGS TAB:
|
|
<a id="__codelineno-10-110" name="__codelineno-10-110" href="#__codelineno-10-110"></a>1. Auth Guardian Settings
|
|
<a id="__codelineno-10-111" name="__codelineno-10-111" href="#__codelineno-10-111"></a> - Require authentication (global toggle)
|
|
<a id="__codelineno-10-112" name="__codelineno-10-112" href="#__codelineno-10-112"></a> - Default session duration
|
|
<a id="__codelineno-10-113" name="__codelineno-10-113" href="#__codelineno-10-113"></a> - Password policy (if local users)
|
|
<a id="__codelineno-10-114" name="__codelineno-10-114" href="#__codelineno-10-114"></a> - Two-factor authentication (TOTP)
|
|
<a id="__codelineno-10-115" name="__codelineno-10-115" href="#__codelineno-10-115"></a> - Login attempt limits (brute force protection)
|
|
<a id="__codelineno-10-116" name="__codelineno-10-116" href="#__codelineno-10-116"></a> - Session storage (memory vs database)
|
|
<a id="__codelineno-10-117" name="__codelineno-10-117" href="#__codelineno-10-117"></a>
|
|
<a id="__codelineno-10-118" name="__codelineno-10-118" href="#__codelineno-10-118"></a>TECHNICAL:
|
|
<a id="__codelineno-10-119" name="__codelineno-10-119" href="#__codelineno-10-119"></a>- RPCD: luci.auth-guardian
|
|
<a id="__codelineno-10-120" name="__codelineno-10-120" href="#__codelineno-10-120"></a>- Methods: status, list_providers, list_vouchers, create_voucher, delete_voucher, validate_voucher, list_sessions, revoke_session
|
|
<a id="__codelineno-10-121" name="__codelineno-10-121" href="#__codelineno-10-121"></a>- OAuth implementation:
|
|
<a id="__codelineno-10-122" name="__codelineno-10-122" href="#__codelineno-10-122"></a> * Authorization code flow
|
|
<a id="__codelineno-10-123" name="__codelineno-10-123" href="#__codelineno-10-123"></a> * JWT token validation
|
|
<a id="__codelineno-10-124" name="__codelineno-10-124" href="#__codelineno-10-124"></a> * Provider-specific API calls
|
|
<a id="__codelineno-10-125" name="__codelineno-10-125" href="#__codelineno-10-125"></a>- Voucher system:
|
|
<a id="__codelineno-10-126" name="__codelineno-10-126" href="#__codelineno-10-126"></a> * Random code generation (alphanumeric, 8-16 chars)
|
|
<a id="__codelineno-10-127" name="__codelineno-10-127" href="#__codelineno-10-127"></a> * Expiry tracking (cron job or daemon)
|
|
<a id="__codelineno-10-128" name="__codelineno-10-128" href="#__codelineno-10-128"></a> * Redemption logging
|
|
<a id="__codelineno-10-129" name="__codelineno-10-129" href="#__codelineno-10-129"></a>- Session management:
|
|
<a id="__codelineno-10-130" name="__codelineno-10-130" href="#__codelineno-10-130"></a> * Cookie-based or token-based
|
|
<a id="__codelineno-10-131" name="__codelineno-10-131" href="#__codelineno-10-131"></a> * Redis or in-memory storage for sessions
|
|
<a id="__codelineno-10-132" name="__codelineno-10-132" href="#__codelineno-10-132"></a> * Session cleanup task
|
|
<a id="__codelineno-10-133" name="__codelineno-10-133" href="#__codelineno-10-133"></a>
|
|
<a id="__codelineno-10-134" name="__codelineno-10-134" href="#__codelineno-10-134"></a>INTEGRATION:
|
|
<a id="__codelineno-10-135" name="__codelineno-10-135" href="#__codelineno-10-135"></a>- Works with Client Guardian for captive portal
|
|
<a id="__codelineno-10-136" name="__codelineno-10-136" href="#__codelineno-10-136"></a>- Firewall integration for post-auth access
|
|
<a id="__codelineno-10-137" name="__codelineno-10-137" href="#__codelineno-10-137"></a>- RADIUS support (optional, for enterprise)
|
|
</code></pre></div>
|
|
<hr />
|
|
<h2 id="bandwidth-traffic-modules">Bandwidth & Traffic Modules<a class="headerlink" href="#bandwidth-traffic-modules" title="Permanent link">¶</a></h2>
|
|
<h3 id="10-bandwidth-manager-luci-app-bandwidth-manager">10. Bandwidth Manager (luci-app-bandwidth-manager)<a class="headerlink" href="#10-bandwidth-manager-luci-app-bandwidth-manager" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>Create a comprehensive QoS and bandwidth management system:
|
|
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a>
|
|
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a>DESIGN:
|
|
<a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a>- Title: "Bandwidth Manager" with 📶 icon
|
|
<a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a>- Focus on traffic shaping and quotas
|
|
<a id="__codelineno-11-6" name="__codelineno-11-6" href="#__codelineno-11-6"></a>- Stats badges: Active Rules | Total Bandwidth | Clients Tracked | Quotas
|
|
<a id="__codelineno-11-7" name="__codelineno-11-7" href="#__codelineno-11-7"></a>
|
|
<a id="__codelineno-11-8" name="__codelineno-11-8" href="#__codelineno-11-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-11-9" name="__codelineno-11-9" href="#__codelineno-11-9"></a>1. Bandwidth Summary
|
|
<a id="__codelineno-11-10" name="__codelineno-11-10" href="#__codelineno-11-10"></a> - Total available bandwidth (WAN uplink/downlink)
|
|
<a id="__codelineno-11-11" name="__codelineno-11-11" href="#__codelineno-11-11"></a> - Current usage (real-time gauge)
|
|
<a id="__codelineno-11-12" name="__codelineno-11-12" href="#__codelineno-11-12"></a> - Peak usage (today's maximum)
|
|
<a id="__codelineno-11-13" name="__codelineno-11-13" href="#__codelineno-11-13"></a> - Average usage (24h)
|
|
<a id="__codelineno-11-14" name="__codelineno-11-14" href="#__codelineno-11-14"></a>
|
|
<a id="__codelineno-11-15" name="__codelineno-11-15" href="#__codelineno-11-15"></a>2. Top Bandwidth Users
|
|
<a id="__codelineno-11-16" name="__codelineno-11-16" href="#__codelineno-11-16"></a> - Table: IP/Hostname, Download, Upload, Total, Percentage
|
|
<a id="__codelineno-11-17" name="__codelineno-11-17" href="#__codelineno-11-17"></a> - Real-time updates
|
|
<a id="__codelineno-11-18" name="__codelineno-11-18" href="#__codelineno-11-18"></a> - Click to apply quick rule
|
|
<a id="__codelineno-11-19" name="__codelineno-11-19" href="#__codelineno-11-19"></a>
|
|
<a id="__codelineno-11-20" name="__codelineno-11-20" href="#__codelineno-11-20"></a>3. Traffic Classification
|
|
<a id="__codelineno-11-21" name="__codelineno-11-21" href="#__codelineno-11-21"></a> - By protocol: HTTP, HTTPS, DNS, P2P, Streaming, Gaming
|
|
<a id="__codelineno-11-22" name="__codelineno-11-22" href="#__codelineno-11-22"></a> - By priority: High, Medium, Low, Bulk
|
|
<a id="__codelineno-11-23" name="__codelineno-11-23" href="#__codelineno-11-23"></a> - Pie chart visualization
|
|
<a id="__codelineno-11-24" name="__codelineno-11-24" href="#__codelineno-11-24"></a>
|
|
<a id="__codelineno-11-25" name="__codelineno-11-25" href="#__codelineno-11-25"></a>RULES TAB:
|
|
<a id="__codelineno-11-26" name="__codelineno-11-26" href="#__codelineno-11-26"></a>1. QoS Rules Table
|
|
<a id="__codelineno-11-27" name="__codelineno-11-27" href="#__codelineno-11-27"></a> - Columns: Name, Source, Destination, Service, Priority, Rate Limit, Status
|
|
<a id="__codelineno-11-28" name="__codelineno-11-28" href="#__codelineno-11-28"></a> - Sortable and filterable
|
|
<a id="__codelineno-11-29" name="__codelineno-11-29" href="#__codelineno-11-29"></a> - Enable/disable toggle per rule
|
|
<a id="__codelineno-11-30" name="__codelineno-11-30" href="#__codelineno-11-30"></a> - Edit/Delete actions
|
|
<a id="__codelineno-11-31" name="__codelineno-11-31" href="#__codelineno-11-31"></a>
|
|
<a id="__codelineno-11-32" name="__codelineno-11-32" href="#__codelineno-11-32"></a>2. Add Rule Dialog
|
|
<a id="__codelineno-11-33" name="__codelineno-11-33" href="#__codelineno-11-33"></a> - Rule type: Bandwidth Limit, Priority, Guarantee
|
|
<a id="__codelineno-11-34" name="__codelineno-11-34" href="#__codelineno-11-34"></a> - Match criteria:
|
|
<a id="__codelineno-11-35" name="__codelineno-11-35" href="#__codelineno-11-35"></a> * Source IP/MAC/Subnet
|
|
<a id="__codelineno-11-36" name="__codelineno-11-36" href="#__codelineno-11-36"></a> * Destination IP/Subnet
|
|
<a id="__codelineno-11-37" name="__codelineno-11-37" href="#__codelineno-11-37"></a> * Port/Service (HTTP, HTTPS, SSH, etc.)
|
|
<a id="__codelineno-11-38" name="__codelineno-11-38" href="#__codelineno-11-38"></a> * Protocol (TCP, UDP, ICMP)
|
|
<a id="__codelineno-11-39" name="__codelineno-11-39" href="#__codelineno-11-39"></a> * Application (DPI-based, if available)
|
|
<a id="__codelineno-11-40" name="__codelineno-11-40" href="#__codelineno-11-40"></a> - Action:
|
|
<a id="__codelineno-11-41" name="__codelineno-11-41" href="#__codelineno-11-41"></a> * Set download limit (kbps/mbps)
|
|
<a id="__codelineno-11-42" name="__codelineno-11-42" href="#__codelineno-11-42"></a> * Set upload limit
|
|
<a id="__codelineno-11-43" name="__codelineno-11-43" href="#__codelineno-11-43"></a> * Set priority (1-7, or class names)
|
|
<a id="__codelineno-11-44" name="__codelineno-11-44" href="#__codelineno-11-44"></a> * Guarantee minimum bandwidth
|
|
<a id="__codelineno-11-45" name="__codelineno-11-45" href="#__codelineno-11-45"></a> - Schedule (always, time-based, day-of-week)
|
|
<a id="__codelineno-11-46" name="__codelineno-11-46" href="#__codelineno-11-46"></a>
|
|
<a id="__codelineno-11-47" name="__codelineno-11-47" href="#__codelineno-11-47"></a>QUOTAS TAB:
|
|
<a id="__codelineno-11-48" name="__codelineno-11-48" href="#__codelineno-11-48"></a>1. Bandwidth Quotas
|
|
<a id="__codelineno-11-49" name="__codelineno-11-49" href="#__codelineno-11-49"></a> - Per-device quotas
|
|
<a id="__codelineno-11-50" name="__codelineno-11-50" href="#__codelineno-11-50"></a> - Per-user quotas
|
|
<a id="__codelineno-11-51" name="__codelineno-11-51" href="#__codelineno-11-51"></a> - Family quotas (group of devices)
|
|
<a id="__codelineno-11-52" name="__codelineno-11-52" href="#__codelineno-11-52"></a> - Time-based quotas (daily, weekly, monthly)
|
|
<a id="__codelineno-11-53" name="__codelineno-11-53" href="#__codelineno-11-53"></a>
|
|
<a id="__codelineno-11-54" name="__codelineno-11-54" href="#__codelineno-11-54"></a>2. Quota Configuration
|
|
<a id="__codelineno-11-55" name="__codelineno-11-55" href="#__codelineno-11-55"></a> - Set quota amount (GB)
|
|
<a id="__codelineno-11-56" name="__codelineno-11-56" href="#__codelineno-11-56"></a> - Set quota period (day/week/month)
|
|
<a id="__codelineno-11-57" name="__codelineno-11-57" href="#__codelineno-11-57"></a> - Action on quota exceeded:
|
|
<a id="__codelineno-11-58" name="__codelineno-11-58" href="#__codelineno-11-58"></a> * Block all traffic
|
|
<a id="__codelineno-11-59" name="__codelineno-11-59" href="#__codelineno-11-59"></a> * Throttle to X kbps
|
|
<a id="__codelineno-11-60" name="__codelineno-11-60" href="#__codelineno-11-60"></a> * Send notification only
|
|
<a id="__codelineno-11-61" name="__codelineno-11-61" href="#__codelineno-11-61"></a> - Quota reset schedule
|
|
<a id="__codelineno-11-62" name="__codelineno-11-62" href="#__codelineno-11-62"></a> - Rollover unused quota (optional)
|
|
<a id="__codelineno-11-63" name="__codelineno-11-63" href="#__codelineno-11-63"></a>
|
|
<a id="__codelineno-11-64" name="__codelineno-11-64" href="#__codelineno-11-64"></a>3. Quota Usage Dashboard
|
|
<a id="__codelineno-11-65" name="__codelineno-11-65" href="#__codelineno-11-65"></a> - Cards per device/user showing:
|
|
<a id="__codelineno-11-66" name="__codelineno-11-66" href="#__codelineno-11-66"></a> * Quota limit
|
|
<a id="__codelineno-11-67" name="__codelineno-11-67" href="#__codelineno-11-67"></a> * Used amount
|
|
<a id="__codelineno-11-68" name="__codelineno-11-68" href="#__codelineno-11-68"></a> * Remaining
|
|
<a id="__codelineno-11-69" name="__codelineno-11-69" href="#__codelineno-11-69"></a> * Progress bar with color coding
|
|
<a id="__codelineno-11-70" name="__codelineno-11-70" href="#__codelineno-11-70"></a> * Reset date
|
|
<a id="__codelineno-11-71" name="__codelineno-11-71" href="#__codelineno-11-71"></a> - Warning threshold (notify at 80%, 90%)
|
|
<a id="__codelineno-11-72" name="__codelineno-11-72" href="#__codelineno-11-72"></a>
|
|
<a id="__codelineno-11-73" name="__codelineno-11-73" href="#__codelineno-11-73"></a>USAGE TAB:
|
|
<a id="__codelineno-11-74" name="__codelineno-11-74" href="#__codelineno-11-74"></a>1. Historical Usage
|
|
<a id="__codelineno-11-75" name="__codelineno-11-75" href="#__codelineno-11-75"></a> - Charts:
|
|
<a id="__codelineno-11-76" name="__codelineno-11-76" href="#__codelineno-11-76"></a> * Daily usage (last 30 days) as bar chart
|
|
<a id="__codelineno-11-77" name="__codelineno-11-77" href="#__codelineno-11-77"></a> * Hourly usage (last 24h) as line chart
|
|
<a id="__codelineno-11-78" name="__codelineno-11-78" href="#__codelineno-11-78"></a> * Weekly usage (last 12 weeks) as area chart
|
|
<a id="__codelineno-11-79" name="__codelineno-11-79" href="#__codelineno-11-79"></a> - Filter by device, service, direction (up/down)
|
|
<a id="__codelineno-11-80" name="__codelineno-11-80" href="#__codelineno-11-80"></a> - Export to CSV
|
|
<a id="__codelineno-11-81" name="__codelineno-11-81" href="#__codelineno-11-81"></a>
|
|
<a id="__codelineno-11-82" name="__codelineno-11-82" href="#__codelineno-11-82"></a>2. Usage Statistics
|
|
<a id="__codelineno-11-83" name="__codelineno-11-83" href="#__codelineno-11-83"></a> - Total transferred this month
|
|
<a id="__codelineno-11-84" name="__codelineno-11-84" href="#__codelineno-11-84"></a> - Average daily usage
|
|
<a id="__codelineno-11-85" name="__codelineno-11-85" href="#__codelineno-11-85"></a> - Peak hour (when usage is highest)
|
|
<a id="__codelineno-11-86" name="__codelineno-11-86" href="#__codelineno-11-86"></a> - Trending applications
|
|
<a id="__codelineno-11-87" name="__codelineno-11-87" href="#__codelineno-11-87"></a>
|
|
<a id="__codelineno-11-88" name="__codelineno-11-88" href="#__codelineno-11-88"></a>MEDIA TAB:
|
|
<a id="__codelineno-11-89" name="__codelineno-11-89" href="#__codelineno-11-89"></a>1. Media Traffic Detection
|
|
<a id="__codelineno-11-90" name="__codelineno-11-90" href="#__codelineno-11-90"></a> - Streaming services: Netflix, YouTube, Disney+, Twitch, etc.
|
|
<a id="__codelineno-11-91" name="__codelineno-11-91" href="#__codelineno-11-91"></a> - VoIP: Zoom, Teams, Discord, WhatsApp calls
|
|
<a id="__codelineno-11-92" name="__codelineno-11-92" href="#__codelineno-11-92"></a> - Gaming: Steam, PlayStation, Xbox Live
|
|
<a id="__codelineno-11-93" name="__codelineno-11-93" href="#__codelineno-11-93"></a> - Social Media: Facebook, Instagram, TikTok
|
|
<a id="__codelineno-11-94" name="__codelineno-11-94" href="#__codelineno-11-94"></a>
|
|
<a id="__codelineno-11-95" name="__codelineno-11-95" href="#__codelineno-11-95"></a>2. Media-Specific Rules
|
|
<a id="__codelineno-11-96" name="__codelineno-11-96" href="#__codelineno-11-96"></a> - Quick templates:
|
|
<a id="__codelineno-11-97" name="__codelineno-11-97" href="#__codelineno-11-97"></a> * Prioritize VoIP over streaming
|
|
<a id="__codelineno-11-98" name="__codelineno-11-98" href="#__codelineno-11-98"></a> * Throttle streaming during work hours
|
|
<a id="__codelineno-11-99" name="__codelineno-11-99" href="#__codelineno-11-99"></a> * Limit gaming bandwidth
|
|
<a id="__codelineno-11-100" name="__codelineno-11-100" href="#__codelineno-11-100"></a> - Per-service bandwidth allocation
|
|
<a id="__codelineno-11-101" name="__codelineno-11-101" href="#__codelineno-11-101"></a> - Quality-based throttling (4K vs 720p detection)
|
|
<a id="__codelineno-11-102" name="__codelineno-11-102" href="#__codelineno-11-102"></a>
|
|
<a id="__codelineno-11-103" name="__codelineno-11-103" href="#__codelineno-11-103"></a>CLASSES TAB:
|
|
<a id="__codelineno-11-104" name="__codelineno-11-104" href="#__codelineno-11-104"></a>1. Traffic Classes (HTB/CAKE)
|
|
<a id="__codelineno-11-105" name="__codelineno-11-105" href="#__codelineno-11-105"></a> - Predefined classes:
|
|
<a id="__codelineno-11-106" name="__codelineno-11-106" href="#__codelineno-11-106"></a> * Realtime (VoIP, gaming): highest priority
|
|
<a id="__codelineno-11-107" name="__codelineno-11-107" href="#__codelineno-11-107"></a> * Interactive (web browsing, SSH): high priority
|
|
<a id="__codelineno-11-108" name="__codelineno-11-108" href="#__codelineno-11-108"></a> * Bulk (downloads, updates): low priority
|
|
<a id="__codelineno-11-109" name="__codelineno-11-109" href="#__codelineno-11-109"></a> * Default: medium priority
|
|
<a id="__codelineno-11-110" name="__codelineno-11-110" href="#__codelineno-11-110"></a>
|
|
<a id="__codelineno-11-111" name="__codelineno-11-111" href="#__codelineno-11-111"></a>2. Class Configuration
|
|
<a id="__codelineno-11-112" name="__codelineno-11-112" href="#__codelineno-11-112"></a> - Per-class bandwidth allocation (percentage or absolute)
|
|
<a id="__codelineno-11-113" name="__codelineno-11-113" href="#__codelineno-11-113"></a> - Borrowing (allow class to use unused bandwidth from others)
|
|
<a id="__codelineno-11-114" name="__codelineno-11-114" href="#__codelineno-11-114"></a> - Ceiling (maximum bandwidth a class can use)
|
|
<a id="__codelineno-11-115" name="__codelineno-11-115" href="#__codelineno-11-115"></a> - Quantum (packet size for fair queuing)
|
|
<a id="__codelineno-11-116" name="__codelineno-11-116" href="#__codelineno-11-116"></a>
|
|
<a id="__codelineno-11-117" name="__codelineno-11-117" href="#__codelineno-11-117"></a>CLIENTS TAB:
|
|
<a id="__codelineno-11-118" name="__codelineno-11-118" href="#__codelineno-11-118"></a>1. Per-Client Management
|
|
<a id="__codelineno-11-119" name="__codelineno-11-119" href="#__codelineno-11-119"></a> - Client list with current bandwidth usage
|
|
<a id="__codelineno-11-120" name="__codelineno-11-120" href="#__codelineno-11-120"></a> - Quick actions:
|
|
<a id="__codelineno-11-121" name="__codelineno-11-121" href="#__codelineno-11-121"></a> * Set bandwidth limit for client
|
|
<a id="__codelineno-11-122" name="__codelineno-11-122" href="#__codelineno-11-122"></a> * Apply quota to client
|
|
<a id="__codelineno-11-123" name="__codelineno-11-123" href="#__codelineno-11-123"></a> * Block client temporarily
|
|
<a id="__codelineno-11-124" name="__codelineno-11-124" href="#__codelineno-11-124"></a> * Assign to traffic class
|
|
<a id="__codelineno-11-125" name="__codelineno-11-125" href="#__codelineno-11-125"></a>
|
|
<a id="__codelineno-11-126" name="__codelineno-11-126" href="#__codelineno-11-126"></a>SCHEDULES TAB:
|
|
<a id="__codelineno-11-127" name="__codelineno-11-127" href="#__codelineno-11-127"></a>1. Schedule Management
|
|
<a id="__codelineno-11-128" name="__codelineno-11-128" href="#__codelineno-11-128"></a> - Create time-based rules
|
|
<a id="__codelineno-11-129" name="__codelineno-11-129" href="#__codelineno-11-129"></a> - Examples:
|
|
<a id="__codelineno-11-130" name="__codelineno-11-130" href="#__codelineno-11-130"></a> * Business hours (9am-5pm Mon-Fri): prioritize business apps
|
|
<a id="__codelineno-11-131" name="__codelineno-11-131" href="#__codelineno-11-131"></a> * Evening (6pm-11pm): allow streaming
|
|
<a id="__codelineno-11-132" name="__codelineno-11-132" href="#__codelineno-11-132"></a> * Late night (11pm-6am): throttle everything
|
|
<a id="__codelineno-11-133" name="__codelineno-11-133" href="#__codelineno-11-133"></a> - Calendar view of schedules
|
|
<a id="__codelineno-11-134" name="__codelineno-11-134" href="#__codelineno-11-134"></a> - Conflict detection
|
|
<a id="__codelineno-11-135" name="__codelineno-11-135" href="#__codelineno-11-135"></a>
|
|
<a id="__codelineno-11-136" name="__codelineno-11-136" href="#__codelineno-11-136"></a>SETTINGS TAB:
|
|
<a id="__codelineno-11-137" name="__codelineno-11-137" href="#__codelineno-11-137"></a>1. Global Settings
|
|
<a id="__codelineno-11-138" name="__codelineno-11-138" href="#__codelineno-11-138"></a> - WAN bandwidth limits (uplink/downlink in Mbps)
|
|
<a id="__codelineno-11-139" name="__codelineno-11-139" href="#__codelineno-11-139"></a> - QoS algorithm: CAKE, HTB, SFQ, FQ_CODEL
|
|
<a id="__codelineno-11-140" name="__codelineno-11-140" href="#__codelineno-11-140"></a> - Enable/disable QoS globally
|
|
<a id="__codelineno-11-141" name="__codelineno-11-141" href="#__codelineno-11-141"></a> - Default traffic class
|
|
<a id="__codelineno-11-142" name="__codelineno-11-142" href="#__codelineno-11-142"></a> - Bandwidth test (measure actual WAN speed)
|
|
<a id="__codelineno-11-143" name="__codelineno-11-143" href="#__codelineno-11-143"></a>
|
|
<a id="__codelineno-11-144" name="__codelineno-11-144" href="#__codelineno-11-144"></a>2. Advanced Settings
|
|
<a id="__codelineno-11-145" name="__codelineno-11-145" href="#__codelineno-11-145"></a> - DSCP marking
|
|
<a id="__codelineno-11-146" name="__codelineno-11-146" href="#__codelineno-11-146"></a> - ECN (Explicit Congestion Notification)
|
|
<a id="__codelineno-11-147" name="__codelineno-11-147" href="#__codelineno-11-147"></a> - Overhead calculation (for PPPoE, etc.)
|
|
<a id="__codelineno-11-148" name="__codelineno-11-148" href="#__codelineno-11-148"></a> - Per-packet overhead bytes
|
|
<a id="__codelineno-11-149" name="__codelineno-11-149" href="#__codelineno-11-149"></a> - Link layer adaptation
|
|
<a id="__codelineno-11-150" name="__codelineno-11-150" href="#__codelineno-11-150"></a>
|
|
<a id="__codelineno-11-151" name="__codelineno-11-151" href="#__codelineno-11-151"></a>TECHNICAL:
|
|
<a id="__codelineno-11-152" name="__codelineno-11-152" href="#__codelineno-11-152"></a>- RPCD: luci.bandwidth-manager
|
|
<a id="__codelineno-11-153" name="__codelineno-11-153" href="#__codelineno-11-153"></a>- Methods: getStats, getRules, addRule, deleteRule, getQuotas, setQuota, getUsage
|
|
<a id="__codelineno-11-154" name="__codelineno-11-154" href="#__codelineno-11-154"></a>- QoS implementation:
|
|
<a id="__codelineno-11-155" name="__codelineno-11-155" href="#__codelineno-11-155"></a> * tc (traffic control) commands for HTB
|
|
<a id="__codelineno-11-156" name="__codelineno-11-156" href="#__codelineno-11-156"></a> * cake qdisc for modern QoS
|
|
<a id="__codelineno-11-157" name="__codelineno-11-157" href="#__codelineno-11-157"></a> * iptables conntrack for usage accounting
|
|
<a id="__codelineno-11-158" name="__codelineno-11-158" href="#__codelineno-11-158"></a> * nftables meters for rate limiting
|
|
<a id="__codelineno-11-159" name="__codelineno-11-159" href="#__codelineno-11-159"></a>- Database:
|
|
<a id="__codelineno-11-160" name="__codelineno-11-160" href="#__codelineno-11-160"></a> * SQLite or UCI for rules and quotas
|
|
<a id="__codelineno-11-161" name="__codelineno-11-161" href="#__codelineno-11-161"></a> * RRD for historical bandwidth data
|
|
<a id="__codelineno-11-162" name="__codelineno-11-162" href="#__codelineno-11-162"></a> * iptables counters for real-time stats
|
|
<a id="__codelineno-11-163" name="__codelineno-11-163" href="#__codelineno-11-163"></a>
|
|
<a id="__codelineno-11-164" name="__codelineno-11-164" href="#__codelineno-11-164"></a>VISUAL ENHANCEMENTS:
|
|
<a id="__codelineno-11-165" name="__codelineno-11-165" href="#__codelineno-11-165"></a>- Bandwidth gauge charts (animated)
|
|
<a id="__codelineno-11-166" name="__codelineno-11-166" href="#__codelineno-11-166"></a>- Sparklines for trending
|
|
<a id="__codelineno-11-167" name="__codelineno-11-167" href="#__codelineno-11-167"></a>- Color-coded quota bars
|
|
<a id="__codelineno-11-168" name="__codelineno-11-168" href="#__codelineno-11-168"></a>- Responsive rule cards
|
|
</code></pre></div>
|
|
<h3 id="11-traffic-shaper-luci-app-traffic-shaper">11. Traffic Shaper (luci-app-traffic-shaper)<a class="headerlink" href="#11-traffic-shaper-luci-app-traffic-shaper" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>Create an advanced traffic shaping module with anti-bufferbloat (CAKE):
|
|
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a>
|
|
<a id="__codelineno-12-3" name="__codelineno-12-3" href="#__codelineno-12-3"></a>DESIGN:
|
|
<a id="__codelineno-12-4" name="__codelineno-12-4" href="#__codelineno-12-4"></a>- Title: "Traffic Shaper" with 🚀 icon
|
|
<a id="__codelineno-12-5" name="__codelineno-12-5" href="#__codelineno-12-5"></a>- Technical/advanced focus
|
|
<a id="__codelineno-12-6" name="__codelineno-12-6" href="#__codelineno-12-6"></a>- Stats badges: Active Queues | Avg Latency | Packet Loss | Throughput
|
|
<a id="__codelineno-12-7" name="__codelineno-12-7" href="#__codelineno-12-7"></a>
|
|
<a id="__codelineno-12-8" name="__codelineno-12-8" href="#__codelineno-12-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-12-9" name="__codelineno-12-9" href="#__codelineno-12-9"></a>1. Shaper Status
|
|
<a id="__codelineno-12-10" name="__codelineno-12-10" href="#__codelineno-12-10"></a> - QoS enabled status toggle
|
|
<a id="__codelineno-12-11" name="__codelineno-12-11" href="#__codelineno-12-11"></a> - Active algorithm (CAKE, HTB, FQ_CODEL)
|
|
<a id="__codelineno-12-12" name="__codelineno-12-12" href="#__codelineno-12-12"></a> - Shaped interfaces (WAN, LAN)
|
|
<a id="__codelineno-12-13" name="__codelineno-12-13" href="#__codelineno-12-13"></a> - Current latency (ping to 1.1.1.1)
|
|
<a id="__codelineno-12-14" name="__codelineno-12-14" href="#__codelineno-12-14"></a>
|
|
<a id="__codelineno-12-15" name="__codelineno-12-15" href="#__codelineno-12-15"></a>2. Performance Metrics
|
|
<a id="__codelineno-12-16" name="__codelineno-12-16" href="#__codelineno-12-16"></a> - Round-trip time (RTT) under load
|
|
<a id="__codelineno-12-17" name="__codelineno-12-17" href="#__codelineno-12-17"></a> - Buffer size (current vs optimal)
|
|
<a id="__codelineno-12-18" name="__codelineno-12-18" href="#__codelineno-12-18"></a> - Packet drop rate
|
|
<a id="__codelineno-12-19" name="__codelineno-12-19" href="#__codelineno-12-19"></a> - Throughput (actual vs configured)
|
|
<a id="__codelineno-12-20" name="__codelineno-12-20" href="#__codelineno-12-20"></a>
|
|
<a id="__codelineno-12-21" name="__codelineno-12-21" href="#__codelineno-12-21"></a>3. Bufferbloat Test
|
|
<a id="__codelineno-12-22" name="__codelineno-12-22" href="#__codelineno-12-22"></a> - Run DSLReports speed test button
|
|
<a id="__codelineno-12-23" name="__codelineno-12-23" href="#__codelineno-12-23"></a> - Display results: download, upload, latency, grade
|
|
<a id="__codelineno-12-24" name="__codelineno-12-24" href="#__codelineno-12-24"></a> - Historical test results chart
|
|
<a id="__codelineno-12-25" name="__codelineno-12-25" href="#__codelineno-12-25"></a>
|
|
<a id="__codelineno-12-26" name="__codelineno-12-26" href="#__codelineno-12-26"></a>CLASSES TAB:
|
|
<a id="__codelineno-12-27" name="__codelineno-12-27" href="#__codelineno-12-27"></a>1. Traffic Classes (HTB hierarchy)
|
|
<a id="__codelineno-12-28" name="__codelineno-12-28" href="#__codelineno-12-28"></a> - Root class (total bandwidth)
|
|
<a id="__codelineno-12-29" name="__codelineno-12-29" href="#__codelineno-12-29"></a> - Child classes with priority:
|
|
<a id="__codelineno-12-30" name="__codelineno-12-30" href="#__codelineno-12-30"></a> * Expedited Forwarding (EF): VoIP, gaming
|
|
<a id="__codelineno-12-31" name="__codelineno-12-31" href="#__codelineno-12-31"></a> * Assured Forwarding (AF): business apps
|
|
<a id="__codelineno-12-32" name="__codelineno-12-32" href="#__codelineno-12-32"></a> * Best Effort (BE): web, email
|
|
<a id="__codelineno-12-33" name="__codelineno-12-33" href="#__codelineno-12-33"></a> * Background (bulk downloads)
|
|
<a id="__codelineno-12-34" name="__codelineno-12-34" href="#__codelineno-12-34"></a>
|
|
<a id="__codelineno-12-35" name="__codelineno-12-35" href="#__codelineno-12-35"></a>2. Class Configuration
|
|
<a id="__codelineno-12-36" name="__codelineno-12-36" href="#__codelineno-12-36"></a> - Rate (guaranteed bandwidth)
|
|
<a id="__codelineno-12-37" name="__codelineno-12-37" href="#__codelineno-12-37"></a> - Ceil (maximum bandwidth)
|
|
<a id="__codelineno-12-38" name="__codelineno-12-38" href="#__codelineno-12-38"></a> - Priority (1-7)
|
|
<a id="__codelineno-12-39" name="__codelineno-12-39" href="#__codelineno-12-39"></a> - Quantum (packet size)
|
|
<a id="__codelineno-12-40" name="__codelineno-12-40" href="#__codelineno-12-40"></a> - Burst (allow temporary overage)
|
|
<a id="__codelineno-12-41" name="__codelineno-12-41" href="#__codelineno-12-41"></a>
|
|
<a id="__codelineno-12-42" name="__codelineno-12-42" href="#__codelineno-12-42"></a>RULES TAB:
|
|
<a id="__codelineno-12-43" name="__codelineno-12-43" href="#__codelineno-12-43"></a>1. Classification Rules
|
|
<a id="__codelineno-12-44" name="__codelineno-12-44" href="#__codelineno-12-44"></a> - Match criteria:
|
|
<a id="__codelineno-12-45" name="__codelineno-12-45" href="#__codelineno-12-45"></a> * DSCP/TOS field
|
|
<a id="__codelineno-12-46" name="__codelineno-12-46" href="#__codelineno-12-46"></a> * Port numbers
|
|
<a id="__codelineno-12-47" name="__codelineno-12-47" href="#__codelineno-12-47"></a> * IP addresses
|
|
<a id="__codelineno-12-48" name="__codelineno-12-48" href="#__codelineno-12-48"></a> * Protocol
|
|
<a id="__codelineno-12-49" name="__codelineno-12-49" href="#__codelineno-12-49"></a> * DPI signature
|
|
<a id="__codelineno-12-50" name="__codelineno-12-50" href="#__codelineno-12-50"></a> - Action: assign to traffic class
|
|
<a id="__codelineno-12-51" name="__codelineno-12-51" href="#__codelineno-12-51"></a> - Rule priority (1-999)
|
|
<a id="__codelineno-12-52" name="__codelineno-12-52" href="#__codelineno-12-52"></a>
|
|
<a id="__codelineno-12-53" name="__codelineno-12-53" href="#__codelineno-12-53"></a>2. Rule Templates
|
|
<a id="__codelineno-12-54" name="__codelineno-12-54" href="#__codelineno-12-54"></a> - Predefined rules:
|
|
<a id="__codelineno-12-55" name="__codelineno-12-55" href="#__codelineno-12-55"></a> * VoIP optimization (SIP, RTP ports)
|
|
<a id="__codelineno-12-56" name="__codelineno-12-56" href="#__codelineno-12-56"></a> * Gaming optimization (known game servers)
|
|
<a id="__codelineno-12-57" name="__codelineno-12-57" href="#__codelineno-12-57"></a> * Streaming deprioritization
|
|
<a id="__codelineno-12-58" name="__codelineno-12-58" href="#__codelineno-12-58"></a> * P2P throttling
|
|
<a id="__codelineno-12-59" name="__codelineno-12-59" href="#__codelineno-12-59"></a> - One-click apply
|
|
<a id="__codelineno-12-60" name="__codelineno-12-60" href="#__codelineno-12-60"></a>
|
|
<a id="__codelineno-12-61" name="__codelineno-12-61" href="#__codelineno-12-61"></a>STATS TAB:
|
|
<a id="__codelineno-12-62" name="__codelineno-12-62" href="#__codelineno-12-62"></a>1. Queue Statistics
|
|
<a id="__codelineno-12-63" name="__codelineno-12-63" href="#__codelineno-12-63"></a> - Per-class metrics:
|
|
<a id="__codelineno-12-64" name="__codelineno-12-64" href="#__codelineno-12-64"></a> * Packets sent
|
|
<a id="__codelineno-12-65" name="__codelineno-12-65" href="#__codelineno-12-65"></a> * Bytes sent
|
|
<a id="__codelineno-12-66" name="__codelineno-12-66" href="#__codelineno-12-66"></a> * Drops (overload indicator)
|
|
<a id="__codelineno-12-67" name="__codelineno-12-67" href="#__codelineno-12-67"></a> * Overlimits (ceiling hits)
|
|
<a id="__codelineno-12-68" name="__codelineno-12-68" href="#__codelineno-12-68"></a> * Requeues
|
|
<a id="__codelineno-12-69" name="__codelineno-12-69" href="#__codelineno-12-69"></a> - Real-time and historical charts
|
|
<a id="__codelineno-12-70" name="__codelineno-12-70" href="#__codelineno-12-70"></a>
|
|
<a id="__codelineno-12-71" name="__codelineno-12-71" href="#__codelineno-12-71"></a>2. Interface Statistics
|
|
<a id="__codelineno-12-72" name="__codelineno-12-72" href="#__codelineno-12-72"></a> - Per-interface counters
|
|
<a id="__codelineno-12-73" name="__codelineno-12-73" href="#__codelineno-12-73"></a> - Queue depth graphs
|
|
<a id="__codelineno-12-74" name="__codelineno-12-74" href="#__codelineno-12-74"></a> - Latency measurements (ICMP ping or timestamping)
|
|
<a id="__codelineno-12-75" name="__codelineno-12-75" href="#__codelineno-12-75"></a>
|
|
<a id="__codelineno-12-76" name="__codelineno-12-76" href="#__codelineno-12-76"></a>PRESETS TAB:
|
|
<a id="__codelineno-12-77" name="__codelineno-12-77" href="#__codelineno-12-77"></a>1. QoS Presets
|
|
<a id="__codelineno-12-78" name="__codelineno-12-78" href="#__codelineno-12-78"></a> - Gaming preset (lowest latency, prioritize gaming ports)
|
|
<a id="__codelineno-12-79" name="__codelineno-12-79" href="#__codelineno-12-79"></a> - Streaming preset (balance, allow bandwidth for streaming)
|
|
<a id="__codelineno-12-80" name="__codelineno-12-80" href="#__codelineno-12-80"></a> - Business preset (prioritize VoIP, remote desktop)
|
|
<a id="__codelineno-12-81" name="__codelineno-12-81" href="#__codelineno-12-81"></a> - Balanced preset (general home use)
|
|
<a id="__codelineno-12-82" name="__codelineno-12-82" href="#__codelineno-12-82"></a> - Manual preset (custom configuration)
|
|
<a id="__codelineno-12-83" name="__codelineno-12-83" href="#__codelineno-12-83"></a>
|
|
<a id="__codelineno-12-84" name="__codelineno-12-84" href="#__codelineno-12-84"></a>2. Preset Configuration
|
|
<a id="__codelineno-12-85" name="__codelineno-12-85" href="#__codelineno-12-85"></a> - Select preset from dropdown
|
|
<a id="__codelineno-12-86" name="__codelineno-12-86" href="#__codelineno-12-86"></a> - Auto-configure all parameters
|
|
<a id="__codelineno-12-87" name="__codelineno-12-87" href="#__codelineno-12-87"></a> - Show what will change (diff preview)
|
|
<a id="__codelineno-12-88" name="__codelineno-12-88" href="#__codelineno-12-88"></a> - Apply button
|
|
<a id="__codelineno-12-89" name="__codelineno-12-89" href="#__codelineno-12-89"></a>
|
|
<a id="__codelineno-12-90" name="__codelineno-12-90" href="#__codelineno-12-90"></a>CAKE CONFIGURATION TAB:
|
|
<a id="__codelineno-12-91" name="__codelineno-12-91" href="#__codelineno-12-91"></a>1. CAKE Settings
|
|
<a id="__codelineno-12-92" name="__codelineno-12-92" href="#__codelineno-12-92"></a> - Bandwidth (uplink/downlink in Mbps)
|
|
<a id="__codelineno-12-93" name="__codelineno-12-93" href="#__codelineno-12-93"></a> - Overhead:
|
|
<a id="__codelineno-12-94" name="__codelineno-12-94" href="#__codelineno-12-94"></a> * None
|
|
<a id="__codelineno-12-95" name="__codelineno-12-95" href="#__codelineno-12-95"></a> * ADSL (with interleaving)
|
|
<a id="__codelineno-12-96" name="__codelineno-12-96" href="#__codelineno-12-96"></a> * VDSL2
|
|
<a id="__codelineno-12-97" name="__codelineno-12-97" href="#__codelineno-12-97"></a> * Ethernet
|
|
<a id="__codelineno-12-98" name="__codelineno-12-98" href="#__codelineno-12-98"></a> * PPPoE
|
|
<a id="__codelineno-12-99" name="__codelineno-12-99" href="#__codelineno-12-99"></a> - Link layer adaptation:
|
|
<a id="__codelineno-12-100" name="__codelineno-12-100" href="#__codelineno-12-100"></a> * Ethernet
|
|
<a id="__codelineno-12-101" name="__codelineno-12-101" href="#__codelineno-12-101"></a> * ATM
|
|
<a id="__codelineno-12-102" name="__codelineno-12-102" href="#__codelineno-12-102"></a> * PTM
|
|
<a id="__codelineno-12-103" name="__codelineno-12-103" href="#__codelineno-12-103"></a> - Flows:
|
|
<a id="__codelineno-12-104" name="__codelineno-12-104" href="#__codelineno-12-104"></a> * Triple-isolate (src IP, dst IP, port)
|
|
<a id="__codelineno-12-105" name="__codelineno-12-105" href="#__codelineno-12-105"></a> * Dual-srchost
|
|
<a id="__codelineno-12-106" name="__codelineno-12-106" href="#__codelineno-12-106"></a> * Dual-dsthost
|
|
<a id="__codelineno-12-107" name="__codelineno-12-107" href="#__codelineno-12-107"></a> * Per-host
|
|
<a id="__codelineno-12-108" name="__codelineno-12-108" href="#__codelineno-12-108"></a> - Diffserv:
|
|
<a id="__codelineno-12-109" name="__codelineno-12-109" href="#__codelineno-12-109"></a> * Diffserv4 (4 tins)
|
|
<a id="__codelineno-12-110" name="__codelineno-12-110" href="#__codelineno-12-110"></a> * Diffserv3 (3 tins)
|
|
<a id="__codelineno-12-111" name="__codelineno-12-111" href="#__codelineno-12-111"></a> * Besteffort (single queue)
|
|
<a id="__codelineno-12-112" name="__codelineno-12-112" href="#__codelineno-12-112"></a> - ECN: enable/disable
|
|
<a id="__codelineno-12-113" name="__codelineno-12-113" href="#__codelineno-12-113"></a> - ACK filter: enable/disable (for slow uplinks)
|
|
<a id="__codelineno-12-114" name="__codelineno-12-114" href="#__codelineno-12-114"></a>
|
|
<a id="__codelineno-12-115" name="__codelineno-12-115" href="#__codelineno-12-115"></a>TECHNICAL:
|
|
<a id="__codelineno-12-116" name="__codelineno-12-116" href="#__codelineno-12-116"></a>- RPCD: luci.traffic-shaper
|
|
<a id="__codelineno-12-117" name="__codelineno-12-117" href="#__codelineno-12-117"></a>- Commands:
|
|
<a id="__codelineno-12-118" name="__codelineno-12-118" href="#__codelineno-12-118"></a> * tc qdisc add/del/replace
|
|
<a id="__codelineno-12-119" name="__codelineno-12-119" href="#__codelineno-12-119"></a> * tc class add/del/change
|
|
<a id="__codelineno-12-120" name="__codelineno-12-120" href="#__codelineno-12-120"></a> * tc filter add/del
|
|
<a id="__codelineno-12-121" name="__codelineno-12-121" href="#__codelineno-12-121"></a> * cake qdisc configuration
|
|
<a id="__codelineno-12-122" name="__codelineno-12-122" href="#__codelineno-12-122"></a>- Real-time monitoring:
|
|
<a id="__codelineno-12-123" name="__codelineno-12-123" href="#__codelineno-12-123"></a> * tc -s qdisc show
|
|
<a id="__codelineno-12-124" name="__codelineno-12-124" href="#__codelineno-12-124"></a> * tc -s class show
|
|
<a id="__codelineno-12-125" name="__codelineno-12-125" href="#__codelineno-12-125"></a> * Parse output for statistics
|
|
<a id="__codelineno-12-126" name="__codelineno-12-126" href="#__codelineno-12-126"></a>- Latency testing:
|
|
<a id="__codelineno-12-127" name="__codelineno-12-127" href="#__codelineno-12-127"></a> * ping command with timestamps
|
|
<a id="__codelineno-12-128" name="__codelineno-12-128" href="#__codelineno-12-128"></a> * Integration with fping or hping3
|
|
<a id="__codelineno-12-129" name="__codelineno-12-129" href="#__codelineno-12-129"></a>
|
|
<a id="__codelineno-12-130" name="__codelineno-12-130" href="#__codelineno-12-130"></a>VISUAL ENHANCEMENTS:
|
|
<a id="__codelineno-12-131" name="__codelineno-12-131" href="#__codelineno-12-131"></a>- Real-time latency graph (live updating)
|
|
<a id="__codelineno-12-132" name="__codelineno-12-132" href="#__codelineno-12-132"></a>- Packet drop rate sparklines
|
|
<a id="__codelineno-12-133" name="__codelineno-12-133" href="#__codelineno-12-133"></a>- Class hierarchy tree view
|
|
<a id="__codelineno-12-134" name="__codelineno-12-134" href="#__codelineno-12-134"></a>- Color-coded classes by priority
|
|
</code></pre></div>
|
|
<h3 id="12-media-flow-luci-app-media-flow">12. Media Flow (luci-app-media-flow)<a class="headerlink" href="#12-media-flow-luci-app-media-flow" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>Create a media streaming and VoIP traffic detection dashboard:
|
|
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a>
|
|
<a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a>DESIGN:
|
|
<a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a>- Title: "Media Monitor" with 🎬 icon
|
|
<a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a>- Focus on streaming services and video calls
|
|
<a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a>- Stats badges: Active Streams | VoIP Calls | Bandwidth Used | Services
|
|
<a id="__codelineno-13-7" name="__codelineno-13-7" href="#__codelineno-13-7"></a>
|
|
<a id="__codelineno-13-8" name="__codelineno-13-8" href="#__codelineno-13-8"></a>DASHBOARD TAB:
|
|
<a id="__codelineno-13-9" name="__codelineno-13-9" href="#__codelineno-13-9"></a>1. Active Media Streams
|
|
<a id="__codelineno-13-10" name="__codelineno-13-10" href="#__codelineno-13-10"></a> - Cards for each active stream:
|
|
<a id="__codelineno-13-11" name="__codelineno-13-11" href="#__codelineno-13-11"></a> * Service logo (Netflix, YouTube, etc.)
|
|
<a id="__codelineno-13-12" name="__codelineno-13-12" href="#__codelineno-13-12"></a> * Client device (IP, hostname)
|
|
<a id="__codelineno-13-13" name="__codelineno-13-13" href="#__codelineno-13-13"></a> * Stream quality estimate (4K, 1080p, 720p, SD)
|
|
<a id="__codelineno-13-14" name="__codelineno-13-14" href="#__codelineno-13-14"></a> * Current bitrate (Mbps)
|
|
<a id="__codelineno-13-15" name="__codelineno-13-15" href="#__codelineno-13-15"></a> * Duration
|
|
<a id="__codelineno-13-16" name="__codelineno-13-16" href="#__codelineno-13-16"></a> - Color-coded by service type (streaming=red, VoIP=green)
|
|
<a id="__codelineno-13-17" name="__codelineno-13-17" href="#__codelineno-13-17"></a>
|
|
<a id="__codelineno-13-18" name="__codelineno-13-18" href="#__codelineno-13-18"></a>2. Service Breakdown
|
|
<a id="__codelineno-13-19" name="__codelineno-13-19" href="#__codelineno-13-19"></a> - Pie chart: bandwidth by service
|
|
<a id="__codelineno-13-20" name="__codelineno-13-20" href="#__codelineno-13-20"></a> - Services:
|
|
<a id="__codelineno-13-21" name="__codelineno-13-21" href="#__codelineno-13-21"></a> * Netflix, Amazon Prime, Disney+, Hulu, HBO Max
|
|
<a id="__codelineno-13-22" name="__codelineno-13-22" href="#__codelineno-13-22"></a> * YouTube, Twitch, Vimeo
|
|
<a id="__codelineno-13-23" name="__codelineno-13-23" href="#__codelineno-13-23"></a> * Spotify, Apple Music, Pandora
|
|
<a id="__codelineno-13-24" name="__codelineno-13-24" href="#__codelineno-13-24"></a> * Zoom, Teams, Meet, Webex
|
|
<a id="__codelineno-13-25" name="__codelineno-13-25" href="#__codelineno-13-25"></a> * WhatsApp, Telegram, FaceTime
|
|
<a id="__codelineno-13-26" name="__codelineno-13-26" href="#__codelineno-13-26"></a>
|
|
<a id="__codelineno-13-27" name="__codelineno-13-27" href="#__codelineno-13-27"></a>SERVICES TAB:
|
|
<a id="__codelineno-13-28" name="__codelineno-13-28" href="#__codelineno-13-28"></a>1. Streaming Services Grid
|
|
<a id="__codelineno-13-29" name="__codelineno-13-29" href="#__codelineno-13-29"></a> - Each service as card:
|
|
<a id="__codelineno-13-30" name="__codelineno-13-30" href="#__codelineno-13-30"></a> * Icon/logo
|
|
<a id="__codelineno-13-31" name="__codelineno-13-31" href="#__codelineno-13-31"></a> * Total bandwidth used today
|
|
<a id="__codelineno-13-32" name="__codelineno-13-32" href="#__codelineno-13-32"></a> * Active sessions
|
|
<a id="__codelineno-13-33" name="__codelineno-13-33" href="#__codelineno-13-33"></a> * Peak quality detected
|
|
<a id="__codelineno-13-34" name="__codelineno-13-34" href="#__codelineno-13-34"></a> * Average session duration
|
|
<a id="__codelineno-13-35" name="__codelineno-13-35" href="#__codelineno-13-35"></a> - Click card for details
|
|
<a id="__codelineno-13-36" name="__codelineno-13-36" href="#__codelineno-13-36"></a>
|
|
<a id="__codelineno-13-37" name="__codelineno-13-37" href="#__codelineno-13-37"></a>2. Service History
|
|
<a id="__codelineno-13-38" name="__codelineno-13-38" href="#__codelineno-13-38"></a> - Per-service usage over time
|
|
<a id="__codelineno-13-39" name="__codelineno-13-39" href="#__codelineno-13-39"></a> - Quality distribution (how often 4K vs HD vs SD)
|
|
<a id="__codelineno-13-40" name="__codelineno-13-40" href="#__codelineno-13-40"></a> - Peak viewing hours
|
|
<a id="__codelineno-13-41" name="__codelineno-13-41" href="#__codelineno-13-41"></a>
|
|
<a id="__codelineno-13-42" name="__codelineno-13-42" href="#__codelineno-13-42"></a>CLIENTS TAB:
|
|
<a id="__codelineno-13-43" name="__codelineno-13-43" href="#__codelineno-13-43"></a>1. Device Media Usage
|
|
<a id="__codelineno-13-44" name="__codelineno-13-44" href="#__codelineno-13-44"></a> - Table: Device, Service, Quality, Bitrate, Duration
|
|
<a id="__codelineno-13-45" name="__codelineno-13-45" href="#__codelineno-13-45"></a> - Group by device
|
|
<a id="__codelineno-13-46" name="__codelineno-13-46" href="#__codelineno-13-46"></a> - Show total media consumption per device
|
|
<a id="__codelineno-13-47" name="__codelineno-13-47" href="#__codelineno-13-47"></a> - Identify heavy streaming users
|
|
<a id="__codelineno-13-48" name="__codelineno-13-48" href="#__codelineno-13-48"></a>
|
|
<a id="__codelineno-13-49" name="__codelineno-13-49" href="#__codelineno-13-49"></a>HISTORY TAB:
|
|
<a id="__codelineno-13-50" name="__codelineno-13-50" href="#__codelineno-13-50"></a>1. Historical Media Activity
|
|
<a id="__codelineno-13-51" name="__codelineno-13-51" href="#__codelineno-13-51"></a> - Timeline view of all media sessions
|
|
<a id="__codelineno-13-52" name="__codelineno-13-52" href="#__codelineno-13-52"></a> - Filter by: date range, service, device, quality
|
|
<a id="__codelineno-13-53" name="__codelineno-13-53" href="#__codelineno-13-53"></a> - Export to CSV
|
|
<a id="__codelineno-13-54" name="__codelineno-13-54" href="#__codelineno-13-54"></a> - Charts:
|
|
<a id="__codelineno-13-55" name="__codelineno-13-55" href="#__codelineno-13-55"></a> * Daily streaming hours
|
|
<a id="__codelineno-13-56" name="__codelineno-13-56" href="#__codelineno-13-56"></a> * Service popularity trends
|
|
<a id="__codelineno-13-57" name="__codelineno-13-57" href="#__codelineno-13-57"></a> * Quality vs bandwidth correlation
|
|
<a id="__codelineno-13-58" name="__codelineno-13-58" href="#__codelineno-13-58"></a>
|
|
<a id="__codelineno-13-59" name="__codelineno-13-59" href="#__codelineno-13-59"></a>ALERTS TAB:
|
|
<a id="__codelineno-13-60" name="__codelineno-13-60" href="#__codelineno-13-60"></a>1. Media Alerts
|
|
<a id="__codelineno-13-61" name="__codelineno-13-61" href="#__codelineno-13-61"></a> - Excessive streaming alerts
|
|
<a id="__codelineno-13-62" name="__codelineno-13-62" href="#__codelineno-13-62"></a> - Quality degradation alerts (4K dropped to 720p)
|
|
<a id="__codelineno-13-63" name="__codelineno-13-63" href="#__codelineno-13-63"></a> - VoIP quality issues (packet loss, jitter)
|
|
<a id="__codelineno-13-64" name="__codelineno-13-64" href="#__codelineno-13-64"></a> - New service detection
|
|
<a id="__codelineno-13-65" name="__codelineno-13-65" href="#__codelineno-13-65"></a> - Unusual patterns (e.g., streaming at 3am)
|
|
<a id="__codelineno-13-66" name="__codelineno-13-66" href="#__codelineno-13-66"></a>
|
|
<a id="__codelineno-13-67" name="__codelineno-13-67" href="#__codelineno-13-67"></a>2. Alert Configuration
|
|
<a id="__codelineno-13-68" name="__codelineno-13-68" href="#__codelineno-13-68"></a> - Set thresholds for alerts
|
|
<a id="__codelineno-13-69" name="__codelineno-13-69" href="#__codelineno-13-69"></a> - Notification methods (web UI, email, webhook)
|
|
<a id="__codelineno-13-70" name="__codelineno-13-70" href="#__codelineno-13-70"></a> - Per-device alert rules
|
|
<a id="__codelineno-13-71" name="__codelineno-13-71" href="#__codelineno-13-71"></a>
|
|
<a id="__codelineno-13-72" name="__codelineno-13-72" href="#__codelineno-13-72"></a>TECHNICAL:
|
|
<a id="__codelineno-13-73" name="__codelineno-13-73" href="#__codelineno-13-73"></a>- RPCD: luci.media-flow
|
|
<a id="__codelineno-13-74" name="__codelineno-13-74" href="#__codelineno-13-74"></a>- DPI integration:
|
|
<a id="__codelineno-13-75" name="__codelineno-13-75" href="#__codelineno-13-75"></a> * Netifyd for application detection
|
|
<a id="__codelineno-13-76" name="__codelineno-13-76" href="#__codelineno-13-76"></a> * nDPI library for deep inspection
|
|
<a id="__codelineno-13-77" name="__codelineno-13-77" href="#__codelineno-13-77"></a> * Signature matching for streaming protocols
|
|
<a id="__codelineno-13-78" name="__codelineno-13-78" href="#__codelineno-13-78"></a>- Quality estimation:
|
|
<a id="__codelineno-13-79" name="__codelineno-13-79" href="#__codelineno-13-79"></a> * Bitrate analysis (e.g., >15 Mbps = 4K, 5-15 Mbps = 1080p)
|
|
<a id="__codelineno-13-80" name="__codelineno-13-80" href="#__codelineno-13-80"></a> * DASH/HLS manifest parsing (if accessible)
|
|
<a id="__codelineno-13-81" name="__codelineno-13-81" href="#__codelineno-13-81"></a>- VoIP detection:
|
|
<a id="__codelineno-13-82" name="__codelineno-13-82" href="#__codelineno-13-82"></a> * RTP/RTCP ports and patterns
|
|
<a id="__codelineno-13-83" name="__codelineno-13-83" href="#__codelineno-13-83"></a> * SIP signaling detection
|
|
<a id="__codelineno-13-84" name="__codelineno-13-84" href="#__codelineno-13-84"></a> * WebRTC detection
|
|
<a id="__codelineno-13-85" name="__codelineno-13-85" href="#__codelineno-13-85"></a>
|
|
<a id="__codelineno-13-86" name="__codelineno-13-86" href="#__codelineno-13-86"></a>STREAMING PROTOCOLS:
|
|
<a id="__codelineno-13-87" name="__codelineno-13-87" href="#__codelineno-13-87"></a>- HLS (HTTP Live Streaming)
|
|
<a id="__codelineno-13-88" name="__codelineno-13-88" href="#__codelineno-13-88"></a>- DASH (Dynamic Adaptive Streaming)
|
|
<a id="__codelineno-13-89" name="__codelineno-13-89" href="#__codelineno-13-89"></a>- RTMP (Real-Time Messaging Protocol)
|
|
<a id="__codelineno-13-90" name="__codelineno-13-90" href="#__codelineno-13-90"></a>- RTP (for VoIP)
|
|
<a id="__codelineno-13-91" name="__codelineno-13-91" href="#__codelineno-13-91"></a>- WebRTC (for video calls)
|
|
</code></pre></div>
|
|
<hr />
|
|
<h2 id="performance-services-modules">Performance & Services Modules<a class="headerlink" href="#performance-services-modules" title="Permanent link">¶</a></h2>
|
|
<h3 id="13-cdn-cache-luci-app-cdn-cache">13. CDN Cache (luci-app-cdn-cache)<a class="headerlink" href="#13-cdn-cache-luci-app-cdn-cache" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>Create a CDN caching proxy dashboard with bandwidth savings analytics:
|
|
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a>
|
|
<a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a>DESIGN:
|
|
<a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a>- Title: "CDN Cache" with 💨 icon
|
|
<a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a>- Focus on performance and savings
|
|
<a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a>- Stats badges: Cache Hit Rate | Bandwidth Saved | Cached Objects | Storage Used
|
|
<a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a>
|
|
<a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a>1. Cache Performance
|
|
<a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a> - Hit rate percentage (big gauge chart)
|
|
<a id="__codelineno-14-11" name="__codelineno-14-11" href="#__codelineno-14-11"></a> - Requests today: total, hits, misses
|
|
<a id="__codelineno-14-12" name="__codelineno-14-12" href="#__codelineno-14-12"></a> - Bandwidth saved estimate (GB and percentage)
|
|
<a id="__codelineno-14-13" name="__codelineno-14-13" href="#__codelineno-14-13"></a> - Storage usage (used/total)
|
|
<a id="__codelineno-14-14" name="__codelineno-14-14" href="#__codelineno-14-14"></a>
|
|
<a id="__codelineno-14-15" name="__codelineno-14-15" href="#__codelineno-14-15"></a>2. Top Cached Content
|
|
<a id="__codelineno-14-16" name="__codelineno-14-16" href="#__codelineno-14-16"></a> - Table: URL/domain, Hits, Size, Last Access
|
|
<a id="__codelineno-14-17" name="__codelineno-14-17" href="#__codelineno-14-17"></a> - Content types breakdown (images, videos, scripts, docs)
|
|
<a id="__codelineno-14-18" name="__codelineno-14-18" href="#__codelineno-14-18"></a> - Pie chart: cached vs non-cacheable traffic
|
|
<a id="__codelineno-14-19" name="__codelineno-14-19" href="#__codelineno-14-19"></a>
|
|
<a id="__codelineno-14-20" name="__codelineno-14-20" href="#__codelineno-14-20"></a>CACHE TAB:
|
|
<a id="__codelineno-14-21" name="__codelineno-14-21" href="#__codelineno-14-21"></a>1. Cached Objects Browser
|
|
<a id="__codelineno-14-22" name="__codelineno-14-22" href="#__codelineno-14-22"></a> - List of cached objects:
|
|
<a id="__codelineno-14-23" name="__codelineno-14-23" href="#__codelineno-14-23"></a> * URL
|
|
<a id="__codelineno-14-24" name="__codelineno-14-24" href="#__codelineno-14-24"></a> * Content-Type
|
|
<a id="__codelineno-14-25" name="__codelineno-14-25" href="#__codelineno-14-25"></a> * Size
|
|
<a id="__codelineno-14-26" name="__codelineno-14-26" href="#__codelineno-14-26"></a> * Expiry
|
|
<a id="__codelineno-14-27" name="__codelineno-14-27" href="#__codelineno-14-27"></a> * Hit count
|
|
<a id="__codelineno-14-28" name="__codelineno-14-28" href="#__codelineno-14-28"></a> * Actions (view, purge)
|
|
<a id="__codelineno-14-29" name="__codelineno-14-29" href="#__codelineno-14-29"></a> - Search and filter
|
|
<a id="__codelineno-14-30" name="__codelineno-14-30" href="#__codelineno-14-30"></a> - Bulk purge by pattern
|
|
<a id="__codelineno-14-31" name="__codelineno-14-31" href="#__codelineno-14-31"></a>
|
|
<a id="__codelineno-14-32" name="__codelineno-14-32" href="#__codelineno-14-32"></a>2. Cache Statistics
|
|
<a id="__codelineno-14-33" name="__codelineno-14-33" href="#__codelineno-14-33"></a> - Total objects
|
|
<a id="__codelineno-14-34" name="__codelineno-14-34" href="#__codelineno-14-34"></a> - Average object size
|
|
<a id="__codelineno-14-35" name="__codelineno-14-35" href="#__codelineno-14-35"></a> - Largest objects
|
|
<a id="__codelineno-14-36" name="__codelineno-14-36" href="#__codelineno-14-36"></a> - Most hit objects
|
|
<a id="__codelineno-14-37" name="__codelineno-14-37" href="#__codelineno-14-37"></a> - Expiring soon count
|
|
<a id="__codelineno-14-38" name="__codelineno-14-38" href="#__codelineno-14-38"></a>
|
|
<a id="__codelineno-14-39" name="__codelineno-14-39" href="#__codelineno-14-39"></a>POLICIES TAB:
|
|
<a id="__codelineno-14-40" name="__codelineno-14-40" href="#__codelineno-14-40"></a>1. Caching Policies
|
|
<a id="__codelineno-14-41" name="__codelineno-14-41" href="#__codelineno-14-41"></a> - Domains to cache (whitelist)
|
|
<a id="__codelineno-14-42" name="__codelineno-14-42" href="#__codelineno-14-42"></a> - Domains to never cache (blacklist)
|
|
<a id="__codelineno-14-43" name="__codelineno-14-43" href="#__codelineno-14-43"></a> - Content types to cache (image/*, video/*, text/css, etc.)
|
|
<a id="__codelineno-14-44" name="__codelineno-14-44" href="#__codelineno-14-44"></a> - Max object size (MB)
|
|
<a id="__codelineno-14-45" name="__codelineno-14-45" href="#__codelineno-14-45"></a> - Cache duration (TTL) by content type
|
|
<a id="__codelineno-14-46" name="__codelineno-14-46" href="#__codelineno-14-46"></a>
|
|
<a id="__codelineno-14-47" name="__codelineno-14-47" href="#__codelineno-14-47"></a>2. Cache Rules
|
|
<a id="__codelineno-14-48" name="__codelineno-14-48" href="#__codelineno-14-48"></a> - Rule editor:
|
|
<a id="__codelineno-14-49" name="__codelineno-14-49" href="#__codelineno-14-49"></a> * Match URL pattern (regex)
|
|
<a id="__codelineno-14-50" name="__codelineno-14-50" href="#__codelineno-14-50"></a> * Cache duration override
|
|
<a id="__codelineno-14-51" name="__codelineno-14-51" href="#__codelineno-14-51"></a> * Cache or bypass decision
|
|
<a id="__codelineno-14-52" name="__codelineno-14-52" href="#__codelineno-14-52"></a> * Priority (1-100)
|
|
<a id="__codelineno-14-53" name="__codelineno-14-53" href="#__codelineno-14-53"></a>
|
|
<a id="__codelineno-14-54" name="__codelineno-14-54" href="#__codelineno-14-54"></a>STATISTICS TAB:
|
|
<a id="__codelineno-14-55" name="__codelineno-14-55" href="#__codelineno-14-55"></a>1. Performance Metrics
|
|
<a id="__codelineno-14-56" name="__codelineno-14-56" href="#__codelineno-14-56"></a> - Response time comparison: cache hit vs miss
|
|
<a id="__codelineno-14-57" name="__codelineno-14-57" href="#__codelineno-14-57"></a> - Bandwidth charts: cached vs origin
|
|
<a id="__codelineno-14-58" name="__codelineno-14-58" href="#__codelineno-14-58"></a> - Request rate over time
|
|
<a id="__codelineno-14-59" name="__codelineno-14-59" href="#__codelineno-14-59"></a> - Cache efficiency trends (24h, 7d, 30d)
|
|
<a id="__codelineno-14-60" name="__codelineno-14-60" href="#__codelineno-14-60"></a>
|
|
<a id="__codelineno-14-61" name="__codelineno-14-61" href="#__codelineno-14-61"></a>2. Savings Calculator
|
|
<a id="__codelineno-14-62" name="__codelineno-14-62" href="#__codelineno-14-62"></a> - Original bandwidth used (without cache)
|
|
<a id="__codelineno-14-63" name="__codelineno-14-63" href="#__codelineno-14-63"></a> - Bandwidth saved (GB)
|
|
<a id="__codelineno-14-64" name="__codelineno-14-64" href="#__codelineno-14-64"></a> - Cost savings estimate ($ per GB from ISP)
|
|
<a id="__codelineno-14-65" name="__codelineno-14-65" href="#__codelineno-14-65"></a> - Response time improvement (ms)
|
|
<a id="__codelineno-14-66" name="__codelineno-14-66" href="#__codelineno-14-66"></a>
|
|
<a id="__codelineno-14-67" name="__codelineno-14-67" href="#__codelineno-14-67"></a>MAINTENANCE TAB:
|
|
<a id="__codelineno-14-68" name="__codelineno-14-68" href="#__codelineno-14-68"></a>1. Cache Maintenance
|
|
<a id="__codelineno-14-69" name="__codelineno-14-69" href="#__codelineno-14-69"></a> - Purge all button (with confirmation)
|
|
<a id="__codelineno-14-70" name="__codelineno-14-70" href="#__codelineno-14-70"></a> - Purge by pattern (e.g., *.youtube.com/*)
|
|
<a id="__codelineno-14-71" name="__codelineno-14-71" href="#__codelineno-14-71"></a> - Purge expired objects
|
|
<a id="__codelineno-14-72" name="__codelineno-14-72" href="#__codelineno-14-72"></a> - Optimize database (rebuild indexes)
|
|
<a id="__codelineno-14-73" name="__codelineno-14-73" href="#__codelineno-14-73"></a> - Prewarm cache (prefetch popular URLs)
|
|
<a id="__codelineno-14-74" name="__codelineno-14-74" href="#__codelineno-14-74"></a>
|
|
<a id="__codelineno-14-75" name="__codelineno-14-75" href="#__codelineno-14-75"></a>2. Storage Management
|
|
<a id="__codelineno-14-76" name="__codelineno-14-76" href="#__codelineno-14-76"></a> - Storage usage breakdown
|
|
<a id="__codelineno-14-77" name="__codelineno-14-77" href="#__codelineno-14-77"></a> - LRU eviction settings (least recently used)
|
|
<a id="__codelineno-14-78" name="__codelineno-14-78" href="#__codelineno-14-78"></a> - Max cache size configuration
|
|
<a id="__codelineno-14-79" name="__codelineno-14-79" href="#__codelineno-14-79"></a> - Storage location (disk, RAM, or hybrid)
|
|
<a id="__codelineno-14-80" name="__codelineno-14-80" href="#__codelineno-14-80"></a>
|
|
<a id="__codelineno-14-81" name="__codelineno-14-81" href="#__codelineno-14-81"></a>SETTINGS TAB:
|
|
<a id="__codelineno-14-82" name="__codelineno-14-82" href="#__codelineno-14-82"></a>1. CDN Cache Configuration
|
|
<a id="__codelineno-14-83" name="__codelineno-14-83" href="#__codelineno-14-83"></a> - Enable/disable cache
|
|
<a id="__codelineno-14-84" name="__codelineno-14-84" href="#__codelineno-14-84"></a> - Upstream DNS servers
|
|
<a id="__codelineno-14-85" name="__codelineno-14-85" href="#__codelineno-14-85"></a> - Proxy port (transparent or explicit)
|
|
<a id="__codelineno-14-86" name="__codelineno-14-86" href="#__codelineno-14-86"></a> - SSL certificate handling (bump or pass-through)
|
|
<a id="__codelineno-14-87" name="__codelineno-14-87" href="#__codelineno-14-87"></a> - Logging level
|
|
<a id="__codelineno-14-88" name="__codelineno-14-88" href="#__codelineno-14-88"></a>
|
|
<a id="__codelineno-14-89" name="__codelineno-14-89" href="#__codelineno-14-89"></a>2. Advanced Settings
|
|
<a id="__codelineno-14-90" name="__codelineno-14-90" href="#__codelineno-14-90"></a> - Negative caching (cache 404s, etc.)
|
|
<a id="__codelineno-14-91" name="__codelineno-14-91" href="#__codelineno-14-91"></a> - Range request handling
|
|
<a id="__codelineno-14-92" name="__codelineno-14-92" href="#__codelineno-14-92"></a> - Vary header support
|
|
<a id="__codelineno-14-93" name="__codelineno-14-93" href="#__codelineno-14-93"></a> - ETag validation
|
|
<a id="__codelineno-14-94" name="__codelineno-14-94" href="#__codelineno-14-94"></a> - Stale-while-revalidate
|
|
<a id="__codelineno-14-95" name="__codelineno-14-95" href="#__codelineno-14-95"></a>
|
|
<a id="__codelineno-14-96" name="__codelineno-14-96" href="#__codelineno-14-96"></a>TECHNICAL:
|
|
<a id="__codelineno-14-97" name="__codelineno-14-97" href="#__codelineno-14-97"></a>- RPCD: luci.cdn-cache
|
|
<a id="__codelineno-14-98" name="__codelineno-14-98" href="#__codelineno-14-98"></a>- Caching software:
|
|
<a id="__codelineno-14-99" name="__codelineno-14-99" href="#__codelineno-14-99"></a> * Squid proxy
|
|
<a id="__codelineno-14-100" name="__codelineno-14-100" href="#__codelineno-14-100"></a> * Nginx caching proxy
|
|
<a id="__codelineno-14-101" name="__codelineno-14-101" href="#__codelineno-14-101"></a> * Varnish
|
|
<a id="__codelineno-14-102" name="__codelineno-14-102" href="#__codelineno-14-102"></a> * OpenWrt's own uhttpd with caching module
|
|
<a id="__codelineno-14-103" name="__codelineno-14-103" href="#__codelineno-14-103"></a>- Methods: getStats, getCacheObjects, purge, setPolicies
|
|
<a id="__codelineno-14-104" name="__codelineno-14-104" href="#__codelineno-14-104"></a>- Storage backend: filesystem or database
|
|
<a id="__codelineno-14-105" name="__codelineno-14-105" href="#__codelineno-14-105"></a>- Monitoring: access logs parsing for hit/miss
|
|
<a id="__codelineno-14-106" name="__codelineno-14-106" href="#__codelineno-14-106"></a>
|
|
<a id="__codelineno-14-107" name="__codelineno-14-107" href="#__codelineno-14-107"></a>VISUAL ENHANCEMENTS:
|
|
<a id="__codelineno-14-108" name="__codelineno-14-108" href="#__codelineno-14-108"></a>- Animated gauge for hit rate
|
|
<a id="__codelineno-14-109" name="__codelineno-14-109" href="#__codelineno-14-109"></a>- Sparklines for trending metrics
|
|
<a id="__codelineno-14-110" name="__codelineno-14-110" href="#__codelineno-14-110"></a>- Color-coded savings (green = high savings)
|
|
<a id="__codelineno-14-111" name="__codelineno-14-111" href="#__codelineno-14-111"></a>- Before/after comparison charts
|
|
</code></pre></div>
|
|
<h3 id="14-vhost-manager-luci-app-vhost-manager">14. VHost Manager (luci-app-vhost-manager)<a class="headerlink" href="#14-vhost-manager-luci-app-vhost-manager" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>Create a virtual host and reverse proxy manager with auto SSL:
|
|
<a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a>
|
|
<a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a>DESIGN:
|
|
<a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a>- Title: "Virtual Hosts" with 🌍 icon
|
|
<a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a>- Focus on web hosting and proxying
|
|
<a id="__codelineno-15-6" name="__codelineno-15-6" href="#__codelineno-15-6"></a>- Stats badges: Active VHosts | SSL Certs | Total Requests | Uptime
|
|
<a id="__codelineno-15-7" name="__codelineno-15-7" href="#__codelineno-15-7"></a>
|
|
<a id="__codelineno-15-8" name="__codelineno-15-8" href="#__codelineno-15-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-15-9" name="__codelineno-15-9" href="#__codelineno-15-9"></a>1. VHost Summary
|
|
<a id="__codelineno-15-10" name="__codelineno-15-10" href="#__codelineno-15-10"></a> - Total virtual hosts configured
|
|
<a id="__codelineno-15-11" name="__codelineno-15-11" href="#__codelineno-15-11"></a> - Active (enabled) vs inactive
|
|
<a id="__codelineno-15-12" name="__codelineno-15-12" href="#__codelineno-15-12"></a> - SSL-enabled hosts count
|
|
<a id="__codelineno-15-13" name="__codelineno-15-13" href="#__codelineno-15-13"></a> - Certificate expiry warnings
|
|
<a id="__codelineno-15-14" name="__codelineno-15-14" href="#__codelineno-15-14"></a>
|
|
<a id="__codelineno-15-15" name="__codelineno-15-15" href="#__codelineno-15-15"></a>2. Quick Actions
|
|
<a id="__codelineno-15-16" name="__codelineno-15-16" href="#__codelineno-15-16"></a> - Add VHost button
|
|
<a id="__codelineno-15-17" name="__codelineno-15-17" href="#__codelineno-15-17"></a> - Request SSL Certificate button
|
|
<a id="__codelineno-15-18" name="__codelineno-15-18" href="#__codelineno-15-18"></a> - View Access Logs button
|
|
<a id="__codelineno-15-19" name="__codelineno-15-19" href="#__codelineno-15-19"></a>
|
|
<a id="__codelineno-15-20" name="__codelineno-15-20" href="#__codelineno-15-20"></a>VHOSTS TAB:
|
|
<a id="__codelineno-15-21" name="__codelineno-15-21" href="#__codelineno-15-21"></a>1. Virtual Hosts List
|
|
<a id="__codelineno-15-22" name="__codelineno-15-22" href="#__codelineno-15-22"></a> - Cards for each vhost:
|
|
<a id="__codelineno-15-23" name="__codelineno-15-23" href="#__codelineno-15-23"></a> * Domain name
|
|
<a id="__codelineno-15-24" name="__codelineno-15-24" href="#__codelineno-15-24"></a> * Type (reverse proxy, static site, redirect)
|
|
<a id="__codelineno-15-25" name="__codelineno-15-25" href="#__codelineno-15-25"></a> * Backend (if proxy)
|
|
<a id="__codelineno-15-26" name="__codelineno-15-26" href="#__codelineno-15-26"></a> * Status (enabled/disabled)
|
|
<a id="__codelineno-15-27" name="__codelineno-15-27" href="#__codelineno-15-27"></a> * SSL status (valid, expiring, none)
|
|
<a id="__codelineno-15-28" name="__codelineno-15-28" href="#__codelineno-15-28"></a> * Actions (edit, disable, delete, view logs)
|
|
<a id="__codelineno-15-29" name="__codelineno-15-29" href="#__codelineno-15-29"></a>
|
|
<a id="__codelineno-15-30" name="__codelineno-15-30" href="#__codelineno-15-30"></a>2. Add/Edit VHost Dialog
|
|
<a id="__codelineno-15-31" name="__codelineno-15-31" href="#__codelineno-15-31"></a> - Domain name input (auto-validate DNS)
|
|
<a id="__codelineno-15-32" name="__codelineno-15-32" href="#__codelineno-15-32"></a> - VHost type:
|
|
<a id="__codelineno-15-33" name="__codelineno-15-33" href="#__codelineno-15-33"></a> * Reverse Proxy (proxy to backend server)
|
|
<a id="__codelineno-15-34" name="__codelineno-15-34" href="#__codelineno-15-34"></a> * Static Site (serve from directory)
|
|
<a id="__codelineno-15-35" name="__codelineno-15-35" href="#__codelineno-15-35"></a> * Redirect (301/302 to another URL)
|
|
<a id="__codelineno-15-36" name="__codelineno-15-36" href="#__codelineno-15-36"></a> - Backend configuration (for proxy):
|
|
<a id="__codelineno-15-37" name="__codelineno-15-37" href="#__codelineno-15-37"></a> * Backend URL (http://192.168.1.10:8080)
|
|
<a id="__codelineno-15-38" name="__codelineno-15-38" href="#__codelineno-15-38"></a> * Protocol (HTTP, HTTPS, WebSocket)
|
|
<a id="__codelineno-15-39" name="__codelineno-15-39" href="#__codelineno-15-39"></a> * Load balancing (if multiple backends)
|
|
<a id="__codelineno-15-40" name="__codelineno-15-40" href="#__codelineno-15-40"></a> - SSL configuration:
|
|
<a id="__codelineno-15-41" name="__codelineno-15-41" href="#__codelineno-15-41"></a> * Auto (Let's Encrypt via ACME)
|
|
<a id="__codelineno-15-42" name="__codelineno-15-42" href="#__codelineno-15-42"></a> * Manual (upload cert + key)
|
|
<a id="__codelineno-15-43" name="__codelineno-15-43" href="#__codelineno-15-43"></a> * None (HTTP only)
|
|
<a id="__codelineno-15-44" name="__codelineno-15-44" href="#__codelineno-15-44"></a> - Advanced:
|
|
<a id="__codelineno-15-45" name="__codelineno-15-45" href="#__codelineno-15-45"></a> * Custom headers
|
|
<a id="__codelineno-15-46" name="__codelineno-15-46" href="#__codelineno-15-46"></a> * Access control (allow/deny IPs)
|
|
<a id="__codelineno-15-47" name="__codelineno-15-47" href="#__codelineno-15-47"></a> * Request rewriting
|
|
<a id="__codelineno-15-48" name="__codelineno-15-48" href="#__codelineno-15-48"></a>
|
|
<a id="__codelineno-15-49" name="__codelineno-15-49" href="#__codelineno-15-49"></a>INTERNAL TAB:
|
|
<a id="__codelineno-15-50" name="__codelineno-15-50" href="#__codelineno-15-50"></a>1. Internal Services
|
|
<a id="__codelineno-15-51" name="__codelineno-15-51" href="#__codelineno-15-51"></a> - Predefined proxies for common services:
|
|
<a id="__codelineno-15-52" name="__codelineno-15-52" href="#__codelineno-15-52"></a> * LuCI itself
|
|
<a id="__codelineno-15-53" name="__codelineno-15-53" href="#__codelineno-15-53"></a> * Netdata
|
|
<a id="__codelineno-15-54" name="__codelineno-15-54" href="#__codelineno-15-54"></a> * CrowdSec dashboard
|
|
<a id="__codelineno-15-55" name="__codelineno-15-55" href="#__codelineno-15-55"></a> * RustDesk
|
|
<a id="__codelineno-15-56" name="__codelineno-15-56" href="#__codelineno-15-56"></a> * Custom apps
|
|
<a id="__codelineno-15-57" name="__codelineno-15-57" href="#__codelineno-15-57"></a> - One-click enable proxy for internal service
|
|
<a id="__codelineno-15-58" name="__codelineno-15-58" href="#__codelineno-15-58"></a>
|
|
<a id="__codelineno-15-59" name="__codelineno-15-59" href="#__codelineno-15-59"></a>CERTIFICATES TAB:
|
|
<a id="__codelineno-15-60" name="__codelineno-15-60" href="#__codelineno-15-60"></a>1. SSL Certificate Management
|
|
<a id="__codelineno-15-61" name="__codelineno-15-61" href="#__codelineno-15-61"></a> - List of certificates:
|
|
<a id="__codelineno-15-62" name="__codelineno-15-62" href="#__codelineno-15-62"></a> * Domain
|
|
<a id="__codelineno-15-63" name="__codelineno-15-63" href="#__codelineno-15-63"></a> * Issuer (Let's Encrypt, self-signed, CA)
|
|
<a id="__codelineno-15-64" name="__codelineno-15-64" href="#__codelineno-15-64"></a> * Valid From - Valid To
|
|
<a id="__codelineno-15-65" name="__codelineno-15-65" href="#__codelineno-15-65"></a> * Days until expiry
|
|
<a id="__codelineno-15-66" name="__codelineno-15-66" href="#__codelineno-15-66"></a> * Actions (renew, revoke, download, delete)
|
|
<a id="__codelineno-15-67" name="__codelineno-15-67" href="#__codelineno-15-67"></a>
|
|
<a id="__codelineno-15-68" name="__codelineno-15-68" href="#__codelineno-15-68"></a>2. ACME Configuration
|
|
<a id="__codelineno-15-69" name="__codelineno-15-69" href="#__codelineno-15-69"></a> - ACME provider (Let's Encrypt production/staging, ZeroSSL, BuyPass)
|
|
<a id="__codelineno-15-70" name="__codelineno-15-70" href="#__codelineno-15-70"></a> - Email for notifications
|
|
<a id="__codelineno-15-71" name="__codelineno-15-71" href="#__codelineno-15-71"></a> - Challenge type:
|
|
<a id="__codelineno-15-72" name="__codelineno-15-72" href="#__codelineno-15-72"></a> * HTTP-01 (port 80 validation)
|
|
<a id="__codelineno-15-73" name="__codelineno-15-73" href="#__codelineno-15-73"></a> * DNS-01 (TXT record validation)
|
|
<a id="__codelineno-15-74" name="__codelineno-15-74" href="#__codelineno-15-74"></a> * TLS-ALPN-01 (port 443 validation)
|
|
<a id="__codelineno-15-75" name="__codelineno-15-75" href="#__codelineno-15-75"></a> - Auto-renewal toggle (renew when <30 days remaining)
|
|
<a id="__codelineno-15-76" name="__codelineno-15-76" href="#__codelineno-15-76"></a>
|
|
<a id="__codelineno-15-77" name="__codelineno-15-77" href="#__codelineno-15-77"></a>3. Request Certificate
|
|
<a id="__codelineno-15-78" name="__codelineno-15-78" href="#__codelineno-15-78"></a> - Domain input (supports wildcards with DNS-01)
|
|
<a id="__codelineno-15-79" name="__codelineno-15-79" href="#__codelineno-15-79"></a> - Validation method selector
|
|
<a id="__codelineno-15-80" name="__codelineno-15-80" href="#__codelineno-15-80"></a> - Issue button (shows progress)
|
|
<a id="__codelineno-15-81" name="__codelineno-15-81" href="#__codelineno-15-81"></a>
|
|
<a id="__codelineno-15-82" name="__codelineno-15-82" href="#__codelineno-15-82"></a>SSL TAB:
|
|
<a id="__codelineno-15-83" name="__codelineno-15-83" href="#__codelineno-15-83"></a>1. SSL/TLS Settings
|
|
<a id="__codelineno-15-84" name="__codelineno-15-84" href="#__codelineno-15-84"></a> - Global SSL settings:
|
|
<a id="__codelineno-15-85" name="__codelineno-15-85" href="#__codelineno-15-85"></a> * Minimum TLS version (1.0, 1.1, 1.2, 1.3)
|
|
<a id="__codelineno-15-86" name="__codelineno-15-86" href="#__codelineno-15-86"></a> * Cipher suites
|
|
<a id="__codelineno-15-87" name="__codelineno-15-87" href="#__codelineno-15-87"></a> * HSTS (HTTP Strict Transport Security)
|
|
<a id="__codelineno-15-88" name="__codelineno-15-88" href="#__codelineno-15-88"></a> * OCSP stapling
|
|
<a id="__codelineno-15-89" name="__codelineno-15-89" href="#__codelineno-15-89"></a> - Per-vhost overrides
|
|
<a id="__codelineno-15-90" name="__codelineno-15-90" href="#__codelineno-15-90"></a>
|
|
<a id="__codelineno-15-91" name="__codelineno-15-91" href="#__codelineno-15-91"></a>REDIRECTS TAB:
|
|
<a id="__codelineno-15-92" name="__codelineno-15-92" href="#__codelineno-15-92"></a>1. Redirect Rules
|
|
<a id="__codelineno-15-93" name="__codelineno-15-93" href="#__codelineno-15-93"></a> - Simple redirects:
|
|
<a id="__codelineno-15-94" name="__codelineno-15-94" href="#__codelineno-15-94"></a> * From domain/path
|
|
<a id="__codelineno-15-95" name="__codelineno-15-95" href="#__codelineno-15-95"></a> * To URL
|
|
<a id="__codelineno-15-96" name="__codelineno-15-96" href="#__codelineno-15-96"></a> * Type (301 permanent, 302 temporary, 307 temporary preserve method)
|
|
<a id="__codelineno-15-97" name="__codelineno-15-97" href="#__codelineno-15-97"></a> - Wildcard redirects
|
|
<a id="__codelineno-15-98" name="__codelineno-15-98" href="#__codelineno-15-98"></a> - Regex-based redirects
|
|
<a id="__codelineno-15-99" name="__codelineno-15-99" href="#__codelineno-15-99"></a>
|
|
<a id="__codelineno-15-100" name="__codelineno-15-100" href="#__codelineno-15-100"></a>LOGS TAB:
|
|
<a id="__codelineno-15-101" name="__codelineno-15-101" href="#__codelineno-15-101"></a>1. Access Logs
|
|
<a id="__codelineno-15-102" name="__codelineno-15-102" href="#__codelineno-15-102"></a> - Combined access log for all vhosts
|
|
<a id="__codelineno-15-103" name="__codelineno-15-103" href="#__codelineno-15-103"></a> - Filter by vhost, IP, status code, date
|
|
<a id="__codelineno-15-104" name="__codelineno-15-104" href="#__codelineno-15-104"></a> - Columns: Timestamp, IP, Method, Path, Status, Bytes, Referrer, User-Agent
|
|
<a id="__codelineno-15-105" name="__codelineno-15-105" href="#__codelineno-15-105"></a> - Real-time log streaming
|
|
<a id="__codelineno-15-106" name="__codelineno-15-106" href="#__codelineno-15-106"></a> - Export to CSV
|
|
<a id="__codelineno-15-107" name="__codelineno-15-107" href="#__codelineno-15-107"></a>
|
|
<a id="__codelineno-15-108" name="__codelineno-15-108" href="#__codelineno-15-108"></a>2. Error Logs
|
|
<a id="__codelineno-15-109" name="__codelineno-15-109" href="#__codelineno-15-109"></a> - Proxy errors (backend unreachable, timeout)
|
|
<a id="__codelineno-15-110" name="__codelineno-15-110" href="#__codelineno-15-110"></a> - SSL errors (cert invalid, expired)
|
|
<a id="__codelineno-15-111" name="__codelineno-15-111" href="#__codelineno-15-111"></a> - Configuration errors
|
|
<a id="__codelineno-15-112" name="__codelineno-15-112" href="#__codelineno-15-112"></a>
|
|
<a id="__codelineno-15-113" name="__codelineno-15-113" href="#__codelineno-15-113"></a>TECHNICAL:
|
|
<a id="__codelineno-15-114" name="__codelineno-15-114" href="#__codelineno-15-114"></a>- RPCD: luci.vhost-manager
|
|
<a id="__codelineno-15-115" name="__codelineno-15-115" href="#__codelineno-15-115"></a>- Reverse proxy software:
|
|
<a id="__codelineno-15-116" name="__codelineno-15-116" href="#__codelineno-15-116"></a> * Nginx
|
|
<a id="__codelineno-15-117" name="__codelineno-15-117" href="#__codelineno-15-117"></a> * HAProxy
|
|
<a id="__codelineno-15-118" name="__codelineno-15-118" href="#__codelineno-15-118"></a> * Caddy (for auto SSL)
|
|
<a id="__codelineno-15-119" name="__codelineno-15-119" href="#__codelineno-15-119"></a> * Apache
|
|
<a id="__codelineno-15-120" name="__codelineno-15-120" href="#__codelineno-15-120"></a>- ACME client:
|
|
<a id="__codelineno-15-121" name="__codelineno-15-121" href="#__codelineno-15-121"></a> * acme.sh script
|
|
<a id="__codelineno-15-122" name="__codelineno-15-122" href="#__codelineno-15-122"></a> * Certbot
|
|
<a id="__codelineno-15-123" name="__codelineno-15-123" href="#__codelineno-15-123"></a> * Caddy built-in ACME
|
|
<a id="__codelineno-15-124" name="__codelineno-15-124" href="#__codelineno-15-124"></a>- Methods: getVHosts, addVHost, deleteVHost, requestCertificate, getLogs
|
|
<a id="__codelineno-15-125" name="__codelineno-15-125" href="#__codelineno-15-125"></a>
|
|
<a id="__codelineno-15-126" name="__codelineno-15-126" href="#__codelineno-15-126"></a>INTEGRATION:
|
|
<a id="__codelineno-15-127" name="__codelineno-15-127" href="#__codelineno-15-127"></a>- DNS validation via API (Cloudflare, etc.)
|
|
<a id="__codelineno-15-128" name="__codelineno-15-128" href="#__codelineno-15-128"></a>- Dynamic DNS updates
|
|
<a id="__codelineno-15-129" name="__codelineno-15-129" href="#__codelineno-15-129"></a>- Firewall port opening (80, 443)
|
|
<a id="__codelineno-15-130" name="__codelineno-15-130" href="#__codelineno-15-130"></a>- Let's Encrypt rate limit handling
|
|
</code></pre></div>
|
|
<h3 id="15-ksm-manager-luci-app-ksm-manager">15. KSM Manager (luci-app-ksm-manager)<a class="headerlink" href="#15-ksm-manager-luci-app-ksm-manager" title="Permanent link">¶</a></h3>
|
|
<p><strong>Prompt for Claude.ai:</strong></p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>Create a cryptographic key and secrets management dashboard with HSM support:
|
|
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>
|
|
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a>DESIGN:
|
|
<a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a>- Title: "Key Management" with 🔐 icon
|
|
<a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a>- Security-focused, professional aesthetic
|
|
<a id="__codelineno-16-6" name="__codelineno-16-6" href="#__codelineno-16-6"></a>- Stats badges: Total Keys | Active Keys | Certificates | Secrets
|
|
<a id="__codelineno-16-7" name="__codelineno-16-7" href="#__codelineno-16-7"></a>
|
|
<a id="__codelineno-16-8" name="__codelineno-16-8" href="#__codelineno-16-8"></a>OVERVIEW TAB:
|
|
<a id="__codelineno-16-9" name="__codelineno-16-9" href="#__codelineno-16-9"></a>1. Key Management Status
|
|
<a id="__codelineno-16-10" name="__codelineno-16-10" href="#__codelineno-16-10"></a> - Total keys managed
|
|
<a id="__codelineno-16-11" name="__codelineno-16-11" href="#__codelineno-16-11"></a> - Key types breakdown (RSA, ECDSA, ED25519)
|
|
<a id="__codelineno-16-12" name="__codelineno-16-12" href="#__codelineno-16-12"></a> - Expiring keys (next 30 days)
|
|
<a id="__codelineno-16-13" name="__codelineno-16-13" href="#__codelineno-16-13"></a> - HSM status (if connected)
|
|
<a id="__codelineno-16-14" name="__codelineno-16-14" href="#__codelineno-16-14"></a>
|
|
<a id="__codelineno-16-15" name="__codelineno-16-15" href="#__codelineno-16-15"></a>2. Recent Activity
|
|
<a id="__codelineno-16-16" name="__codelineno-16-16" href="#__codelineno-16-16"></a> - Last key operations: generated, used, rotated, revoked
|
|
<a id="__codelineno-16-17" name="__codelineno-16-17" href="#__codelineno-16-17"></a> - Audit log (last 20 entries)
|
|
<a id="__codelineno-16-18" name="__codelineno-16-18" href="#__codelineno-16-18"></a>
|
|
<a id="__codelineno-16-19" name="__codelineno-16-19" href="#__codelineno-16-19"></a>KEYS TAB:
|
|
<a id="__codelineno-16-20" name="__codelineno-16-20" href="#__codelineno-16-20"></a>1. Cryptographic Keys List
|
|
<a id="__codelineno-16-21" name="__codelineno-16-21" href="#__codelineno-16-21"></a> - Table: Key ID, Type, Size, Usage, Created, Expires, Status
|
|
<a id="__codelineno-16-22" name="__codelineno-16-22" href="#__codelineno-16-22"></a> - Key types:
|
|
<a id="__codelineno-16-23" name="__codelineno-16-23" href="#__codelineno-16-23"></a> * Signing keys (for code, documents)
|
|
<a id="__codelineno-16-24" name="__codelineno-16-24" href="#__codelineno-16-24"></a> * Encryption keys (for data at rest)
|
|
<a id="__codelineno-16-25" name="__codelineno-16-25" href="#__codelineno-16-25"></a> * Authentication keys (SSH, TLS client)
|
|
<a id="__codelineno-16-26" name="__codelineno-16-26" href="#__codelineno-16-26"></a> - Actions: view, export public, rotate, revoke, delete
|
|
<a id="__codelineno-16-27" name="__codelineno-16-27" href="#__codelineno-16-27"></a>
|
|
<a id="__codelineno-16-28" name="__codelineno-16-28" href="#__codelineno-16-28"></a>2. Generate Key Dialog
|
|
<a id="__codelineno-16-29" name="__codelineno-16-29" href="#__codelineno-16-29"></a> - Algorithm selection:
|
|
<a id="__codelineno-16-30" name="__codelineno-16-30" href="#__codelineno-16-30"></a> * RSA (2048, 3072, 4096 bit)
|
|
<a id="__codelineno-16-31" name="__codelineno-16-31" href="#__codelineno-16-31"></a> * ECDSA (P-256, P-384, P-521)
|
|
<a id="__codelineno-16-32" name="__codelineno-16-32" href="#__codelineno-16-32"></a> * ED25519
|
|
<a id="__codelineno-16-33" name="__codelineno-16-33" href="#__codelineno-16-33"></a> - Usage flags:
|
|
<a id="__codelineno-16-34" name="__codelineno-16-34" href="#__codelineno-16-34"></a> * Digital signature
|
|
<a id="__codelineno-16-35" name="__codelineno-16-35" href="#__codelineno-16-35"></a> * Key encipherment
|
|
<a id="__codelineno-16-36" name="__codelineno-16-36" href="#__codelineno-16-36"></a> * Data encipherment
|
|
<a id="__codelineno-16-37" name="__codelineno-16-37" href="#__codelineno-16-37"></a> - Storage:
|
|
<a id="__codelineno-16-38" name="__codelineno-16-38" href="#__codelineno-16-38"></a> * Software (filesystem)
|
|
<a id="__codelineno-16-39" name="__codelineno-16-39" href="#__codelineno-16-39"></a> * HSM (if available)
|
|
<a id="__codelineno-16-40" name="__codelineno-16-40" href="#__codelineno-16-40"></a> * TPM (if available)
|
|
<a id="__codelineno-16-41" name="__codelineno-16-41" href="#__codelineno-16-41"></a> - Passphrase protection (optional)
|
|
<a id="__codelineno-16-42" name="__codelineno-16-42" href="#__codelineno-16-42"></a>
|
|
<a id="__codelineno-16-43" name="__codelineno-16-43" href="#__codelineno-16-43"></a>HSM TAB:
|
|
<a id="__codelineno-16-44" name="__codelineno-16-44" href="#__codelineno-16-44"></a>1. Hardware Security Module
|
|
<a id="__codelineno-16-45" name="__codelineno-16-45" href="#__codelineno-16-45"></a> - HSM connection status
|
|
<a id="__codelineno-16-46" name="__codelineno-16-46" href="#__codelineno-16-46"></a> - HSM info: vendor, model, firmware version
|
|
<a id="__codelineno-16-47" name="__codelineno-16-47" href="#__codelineno-16-47"></a> - Available key slots
|
|
<a id="__codelineno-16-48" name="__codelineno-16-48" href="#__codelineno-16-48"></a> - HSM operations:
|
|
<a id="__codelineno-16-49" name="__codelineno-16-49" href="#__codelineno-16-49"></a> * Initialize HSM
|
|
<a id="__codelineno-16-50" name="__codelineno-16-50" href="#__codelineno-16-50"></a> * Generate key on HSM
|
|
<a id="__codelineno-16-51" name="__codelineno-16-51" href="#__codelineno-16-51"></a> * Import key to HSM
|
|
<a id="__codelineno-16-52" name="__codelineno-16-52" href="#__codelineno-16-52"></a> * Backup HSM
|
|
<a id="__codelineno-16-53" name="__codelineno-16-53" href="#__codelineno-16-53"></a>
|
|
<a id="__codelineno-16-54" name="__codelineno-16-54" href="#__codelineno-16-54"></a>CERTIFICATES TAB:
|
|
<a id="__codelineno-16-55" name="__codelineno-16-55" href="#__codelineno-16-55"></a>1. X.509 Certificate Management
|
|
<a id="__codelineno-16-56" name="__codelineno-16-56" href="#__codelineno-16-56"></a> - List: Subject, Issuer, Valid From/To, Serial, Fingerprint
|
|
<a id="__codelineno-16-57" name="__codelineno-16-57" href="#__codelineno-16-57"></a> - Certificate chain view
|
|
<a id="__codelineno-16-58" name="__codelineno-16-58" href="#__codelineno-16-58"></a> - Actions: view details, export (PEM/DER), revoke
|
|
<a id="__codelineno-16-59" name="__codelineno-16-59" href="#__codelineno-16-59"></a>
|
|
<a id="__codelineno-16-60" name="__codelineno-16-60" href="#__codelineno-16-60"></a>2. Certificate Request (CSR)
|
|
<a id="__codelineno-16-61" name="__codelineno-16-61" href="#__codelineno-16-61"></a> - Generate CSR for signing by CA
|
|
<a id="__codelineno-16-62" name="__codelineno-16-62" href="#__codelineno-16-62"></a> - Fields: CN, O, OU, C, ST, L, Email
|
|
<a id="__codelineno-16-63" name="__codelineno-16-63" href="#__codelineno-16-63"></a> - Key usage extensions
|
|
<a id="__codelineno-16-64" name="__codelineno-16-64" href="#__codelineno-16-64"></a> - Export CSR for submission to CA
|
|
<a id="__codelineno-16-65" name="__codelineno-16-65" href="#__codelineno-16-65"></a>
|
|
<a id="__codelineno-16-66" name="__codelineno-16-66" href="#__codelineno-16-66"></a>3. Self-Signed Certificates
|
|
<a id="__codelineno-16-67" name="__codelineno-16-67" href="#__codelineno-16-67"></a> - Quick generate self-signed cert
|
|
<a id="__codelineno-16-68" name="__codelineno-16-68" href="#__codelineno-16-68"></a> - Validity period selection
|
|
<a id="__codelineno-16-69" name="__codelineno-16-69" href="#__codelineno-16-69"></a> - Subject alternative names (SANs)
|
|
<a id="__codelineno-16-70" name="__codelineno-16-70" href="#__codelineno-16-70"></a>
|
|
<a id="__codelineno-16-71" name="__codelineno-16-71" href="#__codelineno-16-71"></a>SECRETS TAB:
|
|
<a id="__codelineno-16-72" name="__codelineno-16-72" href="#__codelineno-16-72"></a>1. Secret Storage (Vault)
|
|
<a id="__codelineno-16-73" name="__codelineno-16-73" href="#__codelineno-16-73"></a> - Key-value secret store
|
|
<a id="__codelineno-16-74" name="__codelineno-16-74" href="#__codelineno-16-74"></a> - Secrets list: Name, Type, Created, Last Accessed
|
|
<a id="__codelineno-16-75" name="__codelineno-16-75" href="#__codelineno-16-75"></a> - Secret types:
|
|
<a id="__codelineno-16-76" name="__codelineno-16-76" href="#__codelineno-16-76"></a> * Password
|
|
<a id="__codelineno-16-77" name="__codelineno-16-77" href="#__codelineno-16-77"></a> * API key
|
|
<a id="__codelineno-16-78" name="__codelineno-16-78" href="#__codelineno-16-78"></a> * Token
|
|
<a id="__codelineno-16-79" name="__codelineno-16-79" href="#__codelineno-16-79"></a> * Connection string
|
|
<a id="__codelineno-16-80" name="__codelineno-16-80" href="#__codelineno-16-80"></a> - Encrypted at rest
|
|
<a id="__codelineno-16-81" name="__codelineno-16-81" href="#__codelineno-16-81"></a> - Access control (which users/apps can access)
|
|
<a id="__codelineno-16-82" name="__codelineno-16-82" href="#__codelineno-16-82"></a>
|
|
<a id="__codelineno-16-83" name="__codelineno-16-83" href="#__codelineno-16-83"></a>2. Add Secret Dialog
|
|
<a id="__codelineno-16-84" name="__codelineno-16-84" href="#__codelineno-16-84"></a> - Secret name (path-based: db/prod/password)
|
|
<a id="__codelineno-16-85" name="__codelineno-16-85" href="#__codelineno-16-85"></a> - Secret value (masked input)
|
|
<a id="__codelineno-16-86" name="__codelineno-16-86" href="#__codelineno-16-86"></a> - TTL (time-to-live, auto-expire)
|
|
<a id="__codelineno-16-87" name="__codelineno-16-87" href="#__codelineno-16-87"></a> - Version control (keep old versions)
|
|
<a id="__codelineno-16-88" name="__codelineno-16-88" href="#__codelineno-16-88"></a>
|
|
<a id="__codelineno-16-89" name="__codelineno-16-89" href="#__codelineno-16-89"></a>SSH TAB:
|
|
<a id="__codelineno-16-90" name="__codelineno-16-90" href="#__codelineno-16-90"></a>1. SSH Key Management
|
|
<a id="__codelineno-16-91" name="__codelineno-16-91" href="#__codelineno-16-91"></a> - SSH key pairs list
|
|
<a id="__codelineno-16-92" name="__codelineno-16-92" href="#__codelineno-16-92"></a> - Generate SSH key (RSA, ED25519, ECDSA)
|
|
<a id="__codelineno-16-93" name="__codelineno-16-93" href="#__codelineno-16-93"></a> - Import existing key
|
|
<a id="__codelineno-16-94" name="__codelineno-16-94" href="#__codelineno-16-94"></a> - Export public key (for authorized_keys)
|
|
<a id="__codelineno-16-95" name="__codelineno-16-95" href="#__codelineno-16-95"></a> - Authorized keys management (who can SSH in)
|
|
<a id="__codelineno-16-96" name="__codelineno-16-96" href="#__codelineno-16-96"></a>
|
|
<a id="__codelineno-16-97" name="__codelineno-16-97" href="#__codelineno-16-97"></a>AUDIT TAB:
|
|
<a id="__codelineno-16-98" name="__codelineno-16-98" href="#__codelineno-16-98"></a>1. Audit Log
|
|
<a id="__codelineno-16-99" name="__codelineno-16-99" href="#__codelineno-16-99"></a> - All key operations logged:
|
|
<a id="__codelineno-16-100" name="__codelineno-16-100" href="#__codelineno-16-100"></a> * Generated, imported, exported, used, rotated, revoked, deleted
|
|
<a id="__codelineno-16-101" name="__codelineno-16-101" href="#__codelineno-16-101"></a> - Timestamp, user, operation, key ID, result
|
|
<a id="__codelineno-16-102" name="__codelineno-16-102" href="#__codelineno-16-102"></a> - Filter by: date range, operation type, key ID, user
|
|
<a id="__codelineno-16-103" name="__codelineno-16-103" href="#__codelineno-16-103"></a> - Export audit log
|
|
<a id="__codelineno-16-104" name="__codelineno-16-104" href="#__codelineno-16-104"></a>
|
|
<a id="__codelineno-16-105" name="__codelineno-16-105" href="#__codelineno-16-105"></a>SETTINGS TAB:
|
|
<a id="__codelineno-16-106" name="__codelineno-16-106" href="#__codelineno-16-106"></a>1. KSM Configuration
|
|
<a id="__codelineno-16-107" name="__codelineno-16-107" href="#__codelineno-16-107"></a> - Key storage location
|
|
<a id="__codelineno-16-108" name="__codelineno-16-108" href="#__codelineno-16-108"></a> - Default key algorithm and size
|
|
<a id="__codelineno-16-109" name="__codelineno-16-109" href="#__codelineno-16-109"></a> - Auto-rotation policy (rotate keys every X days)
|
|
<a id="__codelineno-16-110" name="__codelineno-16-110" href="#__codelineno-16-110"></a> - Backup location and schedule
|
|
<a id="__codelineno-16-111" name="__codelineno-16-111" href="#__codelineno-16-111"></a> - HSM connection settings (if supported)
|
|
<a id="__codelineno-16-112" name="__codelineno-16-112" href="#__codelineno-16-112"></a>
|
|
<a id="__codelineno-16-113" name="__codelineno-16-113" href="#__codelineno-16-113"></a>TECHNICAL:
|
|
<a id="__codelineno-16-114" name="__codelineno-16-114" href="#__codelineno-16-114"></a>- RPCD: luci.ksm-manager
|
|
<a id="__codelineno-16-115" name="__codelineno-16-115" href="#__codelineno-16-115"></a>- Key storage:
|
|
<a id="__codelineno-16-116" name="__codelineno-16-116" href="#__codelineno-16-116"></a> * OpenSSL for key operations
|
|
<a id="__codelineno-16-117" name="__codelineno-16-117" href="#__codelineno-16-117"></a> * GnuPG for PGP keys
|
|
<a id="__codelineno-16-118" name="__codelineno-16-118" href="#__codelineno-16-118"></a> * SSH-keygen for SSH keys
|
|
<a id="__codelineno-16-119" name="__codelineno-16-119" href="#__codelineno-16-119"></a> * HSM integration via PKCS#11
|
|
<a id="__codelineno-16-120" name="__codelineno-16-120" href="#__codelineno-16-120"></a>- Secret encryption:
|
|
<a id="__codelineno-16-121" name="__codelineno-16-121" href="#__codelineno-16-121"></a> * Encrypt secrets with master key
|
|
<a id="__codelineno-16-122" name="__codelineno-16-122" href="#__codelineno-16-122"></a> * Master key derived from passphrase or stored in HSM
|
|
<a id="__codelineno-16-123" name="__codelineno-16-123" href="#__codelineno-16-123"></a>- Methods: listKeys, generateKey, exportKey, importKey, listSecrets, addSecret, getSecret
|
|
<a id="__codelineno-16-124" name="__codelineno-16-124" href="#__codelineno-16-124"></a>
|
|
<a id="__codelineno-16-125" name="__codelineno-16-125" href="#__codelineno-16-125"></a>SECURITY:
|
|
<a id="__codelineno-16-126" name="__codelineno-16-126" href="#__codelineno-16-126"></a>- All secrets encrypted at rest
|
|
<a id="__codelineno-16-127" name="__codelineno-16-127" href="#__codelineno-16-127"></a>- Audit logging of all operations
|
|
<a id="__codelineno-16-128" name="__codelineno-16-128" href="#__codelineno-16-128"></a>- Access control (role-based)
|
|
<a id="__codelineno-16-129" name="__codelineno-16-129" href="#__codelineno-16-129"></a>- Secure key deletion (overwrite before delete)
|
|
</code></pre></div>
|
|
<hr />
|
|
<h2 id="common-ui-patterns-across-all-modules">Common UI Patterns Across All Modules<a class="headerlink" href="#common-ui-patterns-across-all-modules" title="Permanent link">¶</a></h2>
|
|
<h3 id="global-design-consistency">Global Design Consistency<a class="headerlink" href="#global-design-consistency" title="Permanent link">¶</a></h3>
|
|
<p><strong>All modules MUST include:</strong></p>
|
|
<ol>
|
|
<li>
|
|
<p><strong>Page Header Pattern</strong>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-page-header'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'h2'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-page-title'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'span'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-page-title-icon'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="s1">'[ICON]'</span><span class="p">),</span>
|
|
<a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a><span class="w"> </span><span class="s1">'[MODULE TITLE]'</span>
|
|
<a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a><span class="w"> </span><span class="p">]),</span>
|
|
<a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'p'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-page-subtitle'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="s1">'[DESCRIPTION]'</span><span class="p">)</span>
|
|
<a id="__codelineno-17-8" name="__codelineno-17-8" href="#__codelineno-17-8"></a><span class="w"> </span><span class="p">]),</span>
|
|
<a id="__codelineno-17-9" name="__codelineno-17-9" href="#__codelineno-17-9"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-stats-grid'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-17-10" name="__codelineno-17-10" href="#__codelineno-17-10"></a><span class="w"> </span><span class="c1">// 4 stat badges minimum</span>
|
|
<a id="__codelineno-17-11" name="__codelineno-17-11" href="#__codelineno-17-11"></a><span class="w"> </span><span class="p">])</span>
|
|
<a id="__codelineno-17-12" name="__codelineno-17-12" href="#__codelineno-17-12"></a><span class="p">])</span>
|
|
</code></pre></div></p>
|
|
</li>
|
|
<li>
|
|
<p><strong>Stats Badges</strong> (130px minimum, monospace values)
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-stat-badge'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-stat-value'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="s1">'[VALUE]'</span><span class="p">),</span>
|
|
<a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-stat-label'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="s1">'[LABEL]'</span><span class="p">)</span>
|
|
<a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a><span class="p">])</span>
|
|
</code></pre></div></p>
|
|
</li>
|
|
<li>
|
|
<p><strong>Filter Tabs</strong> (for categorization)
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-filter-tabs'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-filter-tab active'</span><span class="p">,</span><span class="w"> </span><span class="s1">'data-filter'</span><span class="o">:</span><span class="w"> </span><span class="s1">'all'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-19-3" name="__codelineno-19-3" href="#__codelineno-19-3"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'span'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-tab-icon'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="s1">'[ICON]'</span><span class="p">),</span>
|
|
<a id="__codelineno-19-4" name="__codelineno-19-4" href="#__codelineno-19-4"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'span'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-tab-label'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="s1">'[LABEL]'</span><span class="p">)</span>
|
|
<a id="__codelineno-19-5" name="__codelineno-19-5" href="#__codelineno-19-5"></a><span class="w"> </span><span class="p">])</span>
|
|
<a id="__codelineno-19-6" name="__codelineno-19-6" href="#__codelineno-19-6"></a><span class="p">])</span>
|
|
</code></pre></div></p>
|
|
</li>
|
|
<li>
|
|
<p><strong>Cards with Color Borders</strong>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-card sh-card-success'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-card-header'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'h3'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-card-title'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="s1">'[TITLE]'</span><span class="p">)</span>
|
|
<a id="__codelineno-20-4" name="__codelineno-20-4" href="#__codelineno-20-4"></a><span class="w"> </span><span class="p">]),</span>
|
|
<a id="__codelineno-20-5" name="__codelineno-20-5" href="#__codelineno-20-5"></a><span class="w"> </span><span class="nx">E</span><span class="p">(</span><span class="s1">'div'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-card-body'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="p">[</span>
|
|
<a id="__codelineno-20-6" name="__codelineno-20-6" href="#__codelineno-20-6"></a><span class="w"> </span><span class="c1">// Content</span>
|
|
<a id="__codelineno-20-7" name="__codelineno-20-7" href="#__codelineno-20-7"></a><span class="w"> </span><span class="p">])</span>
|
|
<a id="__codelineno-20-8" name="__codelineno-20-8" href="#__codelineno-20-8"></a><span class="p">])</span>
|
|
</code></pre></div></p>
|
|
</li>
|
|
<li>
|
|
<p><strong>Gradient Buttons</strong>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a><span class="nx">E</span><span class="p">(</span><span class="s1">'button'</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s1">'class'</span><span class="o">:</span><span class="w"> </span><span class="s1">'sh-btn sh-btn-primary'</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="s1">'[ACTION]'</span><span class="p">)</span>
|
|
</code></pre></div></p>
|
|
</li>
|
|
<li>
|
|
<p><strong>Loading States</strong></p>
|
|
</li>
|
|
<li>Skeleton screens while fetching data</li>
|
|
<li>Spinner for button actions</li>
|
|
<li>
|
|
<p>Progress bars for long operations</p>
|
|
</li>
|
|
<li>
|
|
<p><strong>Error Handling</strong></p>
|
|
</li>
|
|
<li>User-friendly error messages</li>
|
|
<li>Retry buttons</li>
|
|
<li>
|
|
<p>Fallback content</p>
|
|
</li>
|
|
<li>
|
|
<p><strong>Responsive Design</strong></p>
|
|
</li>
|
|
<li>Mobile-first approach</li>
|
|
<li>Cards stack on mobile</li>
|
|
<li>Stats grid adapts (130px minimum)</li>
|
|
<li>Tables become scrollable or card-based</li>
|
|
</ol>
|
|
<hr />
|
|
<h2 id="how-to-use-these-prompts">How to Use These Prompts<a class="headerlink" href="#how-to-use-these-prompts" title="Permanent link">¶</a></h2>
|
|
<h3 id="step-1-select-module">Step 1: Select Module<a class="headerlink" href="#step-1-select-module" title="Permanent link">¶</a></h3>
|
|
<p>Choose the module you want to regenerate/implement from the list above.</p>
|
|
<h3 id="step-2-copy-full-prompt">Step 2: Copy Full Prompt<a class="headerlink" href="#step-2-copy-full-prompt" title="Permanent link">¶</a></h3>
|
|
<p>Copy the entire prompt for that module (from "Create a..." to "VISUAL ENHANCEMENTS:").</p>
|
|
<h3 id="step-3-provide-to-claudeai">Step 3: Provide to Claude.ai<a class="headerlink" href="#step-3-provide-to-claudeai" title="Permanent link">¶</a></h3>
|
|
<p>Paste the prompt into Claude.ai (claude.ai conversation) with additional context:</p>
|
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>I need you to implement [MODULE NAME] for OpenWrt LuCI.
|
|
<a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a>
|
|
<a id="__codelineno-22-3" name="__codelineno-22-3" href="#__codelineno-22-3"></a>IMPORTANT CONSTRAINTS:
|
|
<a id="__codelineno-22-4" name="__codelineno-22-4" href="#__codelineno-22-4"></a>- OpenWrt uses LuCI framework (not React/Vue)
|
|
<a id="__codelineno-22-5" name="__codelineno-22-5" href="#__codelineno-22-5"></a>- JavaScript uses L.view pattern (not ES6 modules)
|
|
<a id="__codelineno-22-6" name="__codelineno-22-6" href="#__codelineno-22-6"></a>- Backend is RPCD (shell scripts) communicating via ubus
|
|
<a id="__codelineno-22-7" name="__codelineno-22-7" href="#__codelineno-22-7"></a>- CSS must use variables from common.css
|
|
<a id="__codelineno-22-8" name="__codelineno-22-8" href="#__codelineno-22-8"></a>- All code must be production-ready
|
|
<a id="__codelineno-22-9" name="__codelineno-22-9" href="#__codelineno-22-9"></a>- Follow the design system exactly
|
|
<a id="__codelineno-22-10" name="__codelineno-22-10" href="#__codelineno-22-10"></a>
|
|
<a id="__codelineno-22-11" name="__codelineno-22-11" href="#__codelineno-22-11"></a>Here's the complete specification:
|
|
<a id="__codelineno-22-12" name="__codelineno-22-12" href="#__codelineno-22-12"></a>
|
|
<a id="__codelineno-22-13" name="__codelineno-22-13" href="#__codelineno-22-13"></a>[PASTE PROMPT HERE]
|
|
<a id="__codelineno-22-14" name="__codelineno-22-14" href="#__codelineno-22-14"></a>
|
|
<a id="__codelineno-22-15" name="__codelineno-22-15" href="#__codelineno-22-15"></a>Please provide:
|
|
<a id="__codelineno-22-16" name="__codelineno-22-16" href="#__codelineno-22-16"></a>1. Complete JavaScript view file
|
|
<a id="__codelineno-22-17" name="__codelineno-22-17" href="#__codelineno-22-17"></a>2. RPCD backend script
|
|
<a id="__codelineno-22-18" name="__codelineno-22-18" href="#__codelineno-22-18"></a>3. Any required CSS
|
|
<a id="__codelineno-22-19" name="__codelineno-22-19" href="#__codelineno-22-19"></a>4. ACL configuration
|
|
<a id="__codelineno-22-20" name="__codelineno-22-20" href="#__codelineno-22-20"></a>5. Menu configuration JSON
|
|
<a id="__codelineno-22-21" name="__codelineno-22-21" href="#__codelineno-22-21"></a>
|
|
<a id="__codelineno-22-22" name="__codelineno-22-22" href="#__codelineno-22-22"></a>Make sure all code matches the live demo at secubox.cybermood.eu
|
|
</code></pre></div>
|
|
<h3 id="step-4-iterate">Step 4: Iterate<a class="headerlink" href="#step-4-iterate" title="Permanent link">¶</a></h3>
|
|
<p>If needed, provide screenshots from the live demo or request refinements to match the exact look and feel.</p>
|
|
<hr />
|
|
<h2 id="additional-resources">Additional Resources<a class="headerlink" href="#additional-resources" title="Permanent link">¶</a></h2>
|
|
<ul>
|
|
<li><strong>Live Demo:</strong> https://secubox.cybermood.eu</li>
|
|
<li><strong>Design System:</strong> DEVELOPMENT-GUIDELINES.md</li>
|
|
<li><strong>Quick Start:</strong> QUICK-START.md</li>
|
|
<li><strong>Build Guide:</strong> CLAUDE.md</li>
|
|
</ul>
|
|
<hr />
|
|
<p><strong>Document Version:</strong> 1.0.0
|
|
<strong>Last Updated:</strong> 2025-12-27
|
|
<strong>Maintainer:</strong> CyberMind.fr</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
|
|
|
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
</div>
|
|
|
|
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
|
|
Back to top
|
|
</button>
|
|
|
|
</main>
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-copyright">
|
|
|
|
|
|
Made with
|
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
Material for MkDocs
|
|
</a>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="md-social">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/gkerma/secubox-openwrt" target="_blank" rel="noopener" title="github.com" class="md-social__link">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://secubox.cybermood.eu" target="_blank" rel="noopener" title="secubox.cybermood.eu" class="md-social__link">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M351.9 280H161c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zm-191-48h190.9c-2.8-64.5-17.1-123.9-37.4-167.4-11.4-24.4-23.7-41.8-35.1-52.4C268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4m-48 0c3.5-85.6 25.6-165.1 57.9-217.3C78.7 47.3 10.9 131.2 1.5 232zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3zm111.4-48C501.9 131.2 434.1 47.3 342 14.7c32.3 52.2 54.4 131.7 57.9 217.3z"/></svg>
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.instant", "navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.copy", "content.code.annotate"], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
|
|
|
|
|
|
<script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |