A simple router dashboard for systemd-networkd
- Svelte 59.5%
- TypeScript 28.9%
- Nix 5.4%
- JavaScript 5.1%
- HTML 1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gitea/workflows | ||
| src | ||
| static | ||
| .envrc | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| AGENTS.md | ||
| devbox.json | ||
| devbox.lock | ||
| eslint.config.js | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| opencode.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| result | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
Router Dash
A modern web dashboard for monitoring network interfaces, routes, and DHCP leases. Built with SvelteKit 5 and designed to work with systemd-networkd's JSON output.
Features
- Network Interface Monitoring - View detailed interface information including IP addresses, routes, carrier state, and operational status
- DHCP Lease Management - Display active and expired DHCP leases with time remaining
- Routing Table Visualization - Show routing policies and network routes
- Real-time Status - Monitor operational states, carrier states, and address states
- Responsive Design - Clean, modern UI built with Tailwind CSS
Tech Stack
- Framework: SvelteKit 5 with Svelte 5 runes
- Language: TypeScript (strict mode)
- Styling: Tailwind CSS 4
- Icons: Lucide Svelte
- Build: Vite
- CI/CD: Gitea Actions with Nix
Development
# Install dependencies
npm install
# Start development server
npm run dev
# Type check
npm run check
# Lint and format
npm run lint
npm run format
Building
# Create production build
npm run build
# Preview production build
npm run preview
License
AGPL-3.0-or-later