🛠️ابزار و CLIسال: ۱۴۰۴تکمیل‌شده

IranTop

مانیتورینگ سیستم فوق‌سریع و زیبا برای لینوکس — با راست و رتتویی

IranTop cover
راستRatatuiCrosstermsysinfoلینوکس

چیست

IranTop یک ابزار حرفه‌ای مانیتورینگ لحظه‌ای سیستم برای کاربران حرفه‌ای لینوکس است که با راست نوشته شده. دسترسی سطح پایین به سیستم را با یک رابط کاربری متنی (TUI) مدرن و تعاملی مبتنی بر Ratatui ترکیب می‌کند — مثل htop اما با نمودارهای صیقلی و زبان طراحی تمیزتر.

ویژگی‌های کلیدی

  • ۴ حالت نمودار در لحظه — سوییچ بین خطی، ستونی، اسپارکلاین و دونات فقط با یک کلید (v).
  • نمای هوشمند CPU — چیدمان حرفه‌ای دوستونه: استفاده کل سیستم، وضعیت تک‌تک هسته‌ها و تاریخچه هم‌زمان.
  • مدیریت زنده فرایندها — پیمایش، جستجو (/)، مرتب‌سازی بر اساس CPU/MEM/PID/نام و بستن فرایندها با پاپ‌آپ تأیید تعاملی.
  • سریع و سبک — انتزاع‌های بی‌هزینه راست و ردپای منابع عمداً حداقلی.
  • رابط تعاملی — پشتیبانی کامل موس، میانبرهای بصری و اعلان‌های (Toast) لحظه‌ای.
  • مانیتورینگ GPU — پشتیبانی بومی انویدیا از طریق nvidia-smi.

معماری (بر اساس سورس)

src/
├── main.rs        # نقطه ورود
├── app.rs         # وضعیت و ارکستراسیون اپ
├── system/        # جمع‌آوری داده سیستم (با sysinfo)
├── ui/            # رندر رابط ترمینال
├── theme/         # تم‌های رنگی
├── input/         # مدیریت کیبورد و موس
└── utils.rs

کد عمداً کوچک و متمرکز است — فقط سه وابستگی زمان اجرا آن را سریع و قابل ممیزی نگه می‌دارد.

کلیدهای میانبر

کلید عملکرد
q خروج
Tab جابجایی بین تب‌ها
v چرخه حالت نمودار (خطی / ستونی / اسپارکلاین / دونات)
/ جستجوی فرایندها
k / Enter بستن فرایند انتخاب‌شده
r معکوس کردن ترتیب
c/m/p/n مرتب‌سازی بر اساس CPU / MEM / PID / نام

وابستگی‌ها

  • ratatui 0.26 — فریم‌ورک رابط ترمینال
  • crossterm 0.27 — کنترل ترمینال (رویدادها، حالت خام، موس)
  • sysinfo 0.33 — اطلاعات سیستم و فرایند
  • برای متریک GPU در زمان اجرا: nvidia-smi

شروع کار

cargo run --release

چرا برجسته است

IranTop مثال خوبی از خویشتنداری است: سه وابستگی، تفکیک تمیز میان جمع‌آوری داده، تمینگ و رندر، و رابطی که نمودار زنده را در ترمینال طبیعی نشان می‌دهد. این پروژه هنر TUI را نشان می‌دهد — ردروهای نرم، تعامل موس و هویتی بصری که بیشتر ابزارهای ترمینالی ندارند.

پروژه‌های بیشتر