{"id":26931594,"url":"https://github.com/technical-1/rust-dashboard","last_synced_at":"2026-03-08T01:25:48.212Z","repository":{"id":284232135,"uuid":"954258099","full_name":"Technical-1/Rust-Dashboard","owner":"Technical-1","description":"Rust-Dashboard is a cross-platform system monitoring tool built with sysinfo and eframe/egui. It tracks CPU, memory, disk, and network usage in real time, showing top processes by CPU and memory consumption.","archived":false,"fork":false,"pushed_at":"2026-03-07T23:17:54.000Z","size":1108,"stargazers_count":3,"open_issues_count":32,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-08T00:47:28.088Z","etag":null,"topics":["cpu-tracker","dashboard","egui","memory-tracking","pid","rust","rust-gui"],"latest_commit_sha":null,"homepage":"","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Technical-1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-24T19:58:47.000Z","updated_at":"2026-03-07T23:17:56.000Z","dependencies_parsed_at":"2025-03-24T21:28:10.971Z","dependency_job_id":"21166c33-8a96-4794-9d8a-46cb9e3e37cb","html_url":"https://github.com/Technical-1/Rust-Dashboard","commit_stats":null,"previous_names":["technical-1/rust-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Technical-1/Rust-Dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technical-1%2FRust-Dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technical-1%2FRust-Dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technical-1%2FRust-Dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technical-1%2FRust-Dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Technical-1","download_url":"https://codeload.github.com/Technical-1/Rust-Dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Technical-1%2FRust-Dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30240896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T00:58:18.660Z","status":"ssl_error","status_checked_at":"2026-03-08T00:55:48.608Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpu-tracker","dashboard","egui","memory-tracking","pid","rust","rust-gui"],"created_at":"2025-04-02T07:18:12.142Z","updated_at":"2026-03-08T01:25:48.204Z","avatar_url":"https://github.com/Technical-1.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust Dashboard\n\nA native cross-platform system monitoring dashboard built with Rust and [Tauri v2](https://v2.tauri.app/), featuring a [SvelteKit](https://kit.svelte.dev/) frontend with glassmorphism design. Real-time CPU, memory, disk, and network monitoring with process management, detachable panels, and a menu bar tray popup.\n\n## Features\n\n- **Real-Time Monitoring** - CPU (global + per-core), memory, disk, and network stats updated every 1-60 seconds\n- **Process Management** - Aggregated process list with search, CPU/memory filters, sortable columns, and kill with confirmation\n- **Historical Charts** - Time-series graphs for CPU and memory usage (last 300 data points) via Chart.js\n- **Menu Bar Tray** - Quick-glance system stats popup from the menu bar icon, with proper multi-monitor positioning\n- **Detachable Panels** - Pop out any panel (CPU, Memory, Disk, Network, Processes) into its own window\n- **Dark/Light Theme** - Glassmorphism UI with theme persistence across all windows including tray popup\n- **Export** - Export system snapshots to JSON or CSV with formula injection protection\n- **Configuration** - Persistent settings (refresh interval, theme) via TOML config file\n\n## Tech Stack\n\n- **Backend**: Rust + Tauri v2 + sysinfo\n- **Frontend**: SvelteKit + TypeScript + Chart.js\n- **Build**: Cargo workspace + Vite + adapter-static\n- **CI/CD**: GitHub Actions (multi-platform test, lint, audit, release)\n\n## Getting Started\n\n### Prerequisites\n\n- Rust 1.70+ (2021 edition)\n- Node.js 20+\n- npm\n\n### Installation\n\n```bash\ngit clone https://github.com/Technical-1/Rust-Dashboard.git\ncd Rust-Dashboard\ncd ui \u0026\u0026 npm install \u0026\u0026 cd ..\n```\n\n### Development\n\n```bash\n# Start dev server (backend + frontend with hot reload)\ncargo tauri dev\n\n# Run library tests\ncargo test -p rust_dashboard_lib --verbose\n\n# Check formatting and lints\ncargo fmt -- --check\ncargo clippy --workspace -- -D warnings\n\n# Build frontend only\ncd ui \u0026\u0026 npm run build\n```\n\n### Production Build\n\n```bash\ncargo tauri build\n```\n\nBuilds a native `.app` (macOS), `.msi` (Windows), or `.deb`/`.AppImage` (Linux).\n\n## Architecture\n\n```\nRust-Dashboard/\n├── src/                    # Library crate (rust_dashboard_lib)\n│   ├── lib.rs              # Module exports\n│   ├── system.rs           # SystemMonitor - sysinfo wrapper\n│   ├── config.rs           # AppConfig - TOML persistence\n│   └── error.rs            # DashboardError types\n├── src-tauri/              # Binary crate (Tauri v2 app)\n│   ├── src/main.rs         # Tauri commands, tray, background thread\n│   ├── capabilities/       # Split permissions (main vs panels)\n│   ├── icons/              # App icons (gauge design)\n│   └── tauri.conf.json     # Window config, CSP, build settings\n├── ui/                     # SvelteKit frontend\n│   ├── src/lib/components/ # Svelte components (15 total)\n│   ├── src/lib/stores/     # Reactive stores (system, config, processes)\n│   └── src/routes/         # SvelteKit routes (single page, multi-mode)\n├── tests/                  # Integration tests\n├── examples/               # Library usage example\n└── .github/workflows/      # CI (test/lint/audit) + Release\n```\n\n## Using as a Library\n\n```rust\nuse rust_dashboard_lib::system::SystemMonitor;\n\nlet mut monitor = SystemMonitor::new();\nmonitor.refresh();\n\nlet cpu = monitor.global_cpu_usage();\nlet (used, free, total, avail, swap_used, swap_total) = monitor.memory_info();\nlet processes = monitor.combined_process_list();\n```\n\n## Security\n\nAll 19 production readiness issues have been resolved. See [PRODUCTION_READINESS.md](PRODUCTION_READINESS.md) for the full audit. Key security measures:\n\n- Path traversal prevention via canonical path allowlisting\n- Split Tauri capabilities (main window vs panels)\n- CSP with explicit Tauri protocol origins\n- PID guard on process kill (rejects PID 0/1)\n- CI security scanning (`cargo audit` + `npm audit`)\n- GitHub Actions pinned to immutable commit SHAs\n\n## License\n\nMIT\n\n## Author\n\nJacob Kanfer - [GitHub](https://github.com/Technical-1)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnical-1%2Frust-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechnical-1%2Frust-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechnical-1%2Frust-dashboard/lists"}