mirror of
https://github.com/DaLaw2/NetGuardia.git
synced 2026-08-24 14:10:28 +09:00
* refactor: Use unsafe blocks for flow statistics updates in ingress and egress EBPF fix: Ensure proper error handling in parsing and access control functions * Add detection and statistics pages with navigation updates - Created detection.html and statistics.html with a consistent layout. - Implemented a sidebar navigation menu with links to Home, Dashboard, Statistics, Access Control, and Detection. - Added loading spinner to enhance user experience during data fetching. - Included favicon.ico for branding purposes. * refactor: Remove commented-out code for load average and CPU temperature in SystemHealth * refactor: Enhance system health metrics collection with configured network stats * refactor: Enhance SystemHealth structure with CPU details and uptime metrics * refactor: Remove commented-out code for ingress interface in SystemHealth * refactor: Update SystemHealthMetrics to include system information and adjust CPU usage calculation * add: Add new webpack and CSS files for improved styling and functionality * refactor: Update health API endpoint paths for consistency * update: dashbrad * update: Update dashbroad --------- Co-authored-by: ParrotXray <41143154@nfu.edu.tw>
21 lines
9.4 KiB
HTML
21 lines
9.4 KiB
HTML
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1" data-next-head=""/><title data-next-head="">NetGuardia</title><meta name="description" content="NetGuardia" data-next-head=""/><link rel="icon" href="/favicon.ico" data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:title" content="NetGuardia" data-next-head=""/><meta property="og:description" content="NetGuardia" data-next-head=""/><meta property="og:url" content="http://140.130.34.65:59182" data-next-head=""/><meta property="og:image" content="http://140.130.34.65:59182/logo.png" data-next-head=""/><meta property="og:image:width" content="200" data-next-head=""/><meta property="og:image:height" content="200" data-next-head=""/><meta property="og:image:alt" content="NetGuardia" data-next-head=""/><meta name="twitter:card" content="summary_large_image" data-next-head=""/><meta name="twitter:title" content="NetGuardia" data-next-head=""/><meta name="twitter:description" content="NetGuardia" data-next-head=""/><meta name="twitter:image" content="http://140.130.34.65:59182/logo.png" data-next-head=""/><link rel="preload" href="/_next/static/css/d0ec348c2f7ab2b9.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d0ec348c2f7ab2b9.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-8cac0b4b405cede1.js" defer=""></script><script src="/_next/static/chunks/framework-8241368a3aa58199.js" defer=""></script><script src="/_next/static/chunks/main-8b597568282ddf7d.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3847060648a79052.js" defer=""></script><script src="/_next/static/chunks/182-f7d7e0bcbc4935b2.js" defer=""></script><script src="/_next/static/chunks/pages/index-20fac084227e433f.js" defer=""></script><script src="/_next/static/wASj1qj7ED75Mpwihahbt/_buildManifest.js" defer=""></script><script src="/_next/static/wASj1qj7ED75Mpwihahbt/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="flex min-h-screen bg-gray-100"><aside class="fixed top-0 left-0 h-screen bg-gradient-to-br from-slate-800 to-slate-700 text-white flex flex-col shadow-lg z-50 overflow-hidden" style="width:240px"><div class="flex items-center justify-between p-4 border-b border-white/10 min-h-[70px]"><a class="no-underline text-inherit" href="/"><h1 class="text-2xl font-bold text-blue-400 m-0 whitespace-nowrap" style="opacity:0">NetGuardia</h1></a><button class="bg-transparent border-none text-white cursor-pointer p-2 rounded-md flex items-center justify-center w-10 h-10 hover:bg-white/10 transition-colors duration-200"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="bars" class="svg-inline--fa fa-bars " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"></path></svg></button></div><nav class="flex-1 py-4 flex flex-col gap-2"><a class="
|
|
flex items-center no-underline transition-all duration-200 relative mx-2 rounded-lg
|
|
px-4 py-3
|
|
bg-blue-600 text-white shadow-lg shadow-blue-600/30
|
|
" href="/"><div class="flex items-center justify-center flex-shrink-0 w-6 h-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="house" class="svg-inline--fa fa-house text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"></path></svg></div><span class="font-medium whitespace-nowrap overflow-hidden ml-3" style="opacity:1;transform:none">Home</span></a><a class="
|
|
flex items-center no-underline transition-all duration-200 relative mx-2 rounded-lg
|
|
px-4 py-3
|
|
text-slate-300 hover:bg-white/10 hover:text-white
|
|
" href="/dashboard"><div class="flex items-center justify-center flex-shrink-0 w-6 h-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gauge-high" class="svg-inline--fa fa-gauge-high text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"></path></svg></div><span class="font-medium whitespace-nowrap overflow-hidden ml-3" style="opacity:1;transform:none">Dashboard</span></a><a class="
|
|
flex items-center no-underline transition-all duration-200 relative mx-2 rounded-lg
|
|
px-4 py-3
|
|
text-slate-300 hover:bg-white/10 hover:text-white
|
|
" href="/statistics"><div class="flex items-center justify-center flex-shrink-0 w-6 h-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="chart-bar" class="svg-inline--fa fa-chart-bar text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 32c17.7 0 32 14.3 32 32l0 336c0 8.8 7.2 16 16 16l400 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L80 480c-44.2 0-80-35.8-80-80L0 64C0 46.3 14.3 32 32 32zm96 96c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 64l128 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 96l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"></path></svg></div><span class="font-medium whitespace-nowrap overflow-hidden ml-3" style="opacity:1;transform:none">Statistics</span></a><a class="
|
|
flex items-center no-underline transition-all duration-200 relative mx-2 rounded-lg
|
|
px-4 py-3
|
|
text-slate-300 hover:bg-white/10 hover:text-white
|
|
" href="/access-control"><div class="flex items-center justify-center flex-shrink-0 w-6 h-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="shield-halved" class="svg-inline--fa fa-shield-halved text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8s0 0 0 0z"></path></svg></div><span class="font-medium whitespace-nowrap overflow-hidden ml-3" style="opacity:1;transform:none">Access Control</span></a><a class="
|
|
flex items-center no-underline transition-all duration-200 relative mx-2 rounded-lg
|
|
px-4 py-3
|
|
text-slate-300 hover:bg-white/10 hover:text-white
|
|
" href="/detection"><div class="flex items-center justify-center flex-shrink-0 w-6 h-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="robot" class="svg-inline--fa fa-robot text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M320 0c17.7 0 32 14.3 32 32l0 64 120 0c39.8 0 72 32.2 72 72l0 272c0 39.8-32.2 72-72 72l-304 0c-39.8 0-72-32.2-72-72l0-272c0-39.8 32.2-72 72-72l120 0 0-64c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0zM264 256a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm152 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM48 224l16 0 0 192-16 0c-26.5 0-48-21.5-48-48l0-96c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-16 0 0-192 16 0z"></path></svg></div><span class="font-medium whitespace-nowrap overflow-hidden ml-3" style="opacity:1;transform:none">Detection</span></a></nav></aside><div class="flex-1 flex flex-col transition-all duration-300 ml-60"><section class="flex-1 p-8"><div class="max-w-full mx-auto"><div class="flex items-center justify-center w-full h-full min-h-[calc(100vh-4rem)]"><div class="flex flex-col items-center space-y-4"><div class="flex justify-center items-center"><div class="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600"></div></div></div></div></div></section></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"wASj1qj7ED75Mpwihahbt","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html> |