No description
  • Rust 98.6%
  • Shell 1.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Joshua Karner 4368d5df3c
All checks were successful
Shakedown Distribution Build / dist-build (push) Successful in 3m32s
chore: bump version to 0.2.3
2026-07-23 19:45:47 -06:00
.forgejo/workflows workflow 2026-07-22 21:23:03 -06:00
example theming 2025-12-30 20:34:43 -07:00
reboot-tester@50cf8bcd3d chore: bump version to 0.1.8 2026-04-01 19:10:23 -06:00
scripts upver-script 2026-01-28 21:23:18 -07:00
shutdown-tester@a6d6e53b3c chore: bump version to 0.1.8 2026-04-01 19:10:23 -06:00
src failed-opt 2026-07-23 19:45:04 -06:00
.gitignore lock 2026-07-22 21:20:52 -06:00
.gitmodules chore: bump version to 0.1.8 2026-04-01 19:10:23 -06:00
Cargo.lock chore: bump version to 0.2.3 2026-07-23 19:45:47 -06:00
Cargo.toml chore: bump version to 0.2.3 2026-07-23 19:45:47 -06:00
codec.wav audio playsback codec.wav 2025-12-31 05:51:51 -07:00
config.toml table view default, additional utilities, wifi, speed test, 2026-01-17 09:45:20 -07:00
README.md theming 2025-12-30 15:39:46 -07:00

Tricorder - System Diagnostic Tool

curl -sSL https://git.karner.dev/jdkarner/tricorder/raw/branch/main/scripts/release.sh | bash

A portable Rust GUI application for Linux system diagnostics.

Features

  • System Information: OS, CPU, Memory (with SKU/part numbers), GPU
  • WiFi Detection: Triple-redundant detection (iw, lspci, sysfs)
  • Storage Devices: All drives with partitions
  • Audio Testing: Microphone test with live feedback
  • JSON Export: Copy system info to clipboard
  • Portable: Single 5.8MB binary

Quick Start

Download and Run

# Download
curl -sSL https://your-server.com/tricorder -o tricorder
chmod +x tricorder

# Run
./tricorder

# With sudo for full memory details
sudo ./tricorder

Build from Source

cargo build --release
./target/release/tricorder

Requirements

  • Linux with GUI (X11/Wayland)
  • Optional: dmidecode, lspci, iw, alsa-utils (graceful degradation)

Usage

  1. Launch application
  2. Wait for automatic scan (5-10 seconds)
  3. Review information in organized panels
  4. Test microphones with 🎤 button
  5. Click "Copy JSON" to export data
  6. Use "Refresh" to rescan

Theme Customization

Tricorder supports custom themes via a config.toml file. Place it in one of these locations:

  • ./config.toml (same directory as tricorder)
  • ./tricorder.toml (same directory as tricorder)
  • ~/.config/tricorder/config.toml (user config directory)

Configuration Options

[theme]
# Colors (hex format: #RRGGBB or #RRGGBBAA)
primary_color = "#4A90E2"
background_color = "#1E1E1E"
panel_color = "#2D2D2D"
text_color = "#E0E0E0"
heading_color = "#FFFFFF"
success_color = "#4CAF50"
warning_color = "#FFC107"
error_color = "#F44336"
info_color = "#2196F3"
button_color = "#3A7BC8"
button_hover_color = "#5AA3E8"
border_color = "#404040"
selection_color = "#4A90E2"

[font_sizes]
heading = 24.0
subheading = 18.0
body = 14.0
small = 12.0
monospace = 13.0

[spacing]
section_spacing = 10.0
item_spacing = 5.0
group_padding = 8.0
button_padding = 6.0

[window]
default_width = 1200.0
default_height = 800.0
min_width = 800.0
min_height = 600.0

Example: Light Theme

[theme]
primary_color = "#0066CC"
background_color = "#FFFFFF"
panel_color = "#F5F5F5"
text_color = "#333333"
heading_color = "#000000"
button_color = "#0066CC"
button_hover_color = "#0088FF"

Example: Larger Text

[font_sizes]
heading = 28.0
subheading = 22.0
body = 16.0

Layout

┌─────────────────────────────────────────┐
│ OS Info        │ CPU Info               │
├────────────────┼────────────────────────┤
│ Memory Modules │ GPU                    │
│ (with SKUs)    │ WiFi Status            │
│                │ Storage Devices        │
├────────────────┴────────────────────────┤
│ Audio Devices (with test buttons)       │
└──────────────────────────────────────────┘

Fixed Issues

  • Memory SKU detection now 100% reliable
  • WiFi detection uses 3 methods (no false negatives)
  • All physical drives detected (filters out zram/loop)
  • Audio device testing integrated

Development

# Test detection
./test-detection.sh

# Build release
cargo build --release

# Deploy
./deploy.sh

Legacy Scripts

Old bash scripts moved to legacy/ directory.

License

[Your License]