Enterprise local network scanner (AppImage) — discovers live devices via ping and common service ports.
  • TypeScript 76%
  • CSS 17.2%
  • JavaScript 6.5%
  • HTML 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
debe bd700d79e1
All checks were successful
test / test (push) Successful in 15s
test / smoke (push) Successful in 31s
build-and-release / appimage (push) Successful in 31s
chore(release): v2.0.1
2026-10-01 21:25:50 +03:00
.forgejo/workflows chore: align with updated desktop-standard + add headless smoke test 2026-10-01 21:25:46 +03:00
build feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00
scripts feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00
src chore: align with updated desktop-standard + add headless smoke test 2026-10-01 21:25:46 +03:00
tests chore: align with updated desktop-standard + add headless smoke test 2026-10-01 21:25:46 +03:00
.gitignore chore: align with updated desktop-standard + add headless smoke test 2026-10-01 21:25:46 +03:00
CHANGELOG.md chore(release): v2.0.1 2026-10-01 21:25:50 +03:00
electron-builder.yml feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00
electron.vite.config.ts feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00
LICENSE chore: align with updated desktop-standard + add headless smoke test 2026-10-01 21:25:46 +03:00
package-lock.json chore(release): v2.0.1 2026-10-01 21:25:50 +03:00
package.json chore(release): v2.0.1 2026-10-01 21:25:50 +03:00
README.md chore: align with updated desktop-standard + add headless smoke test 2026-10-01 21:25:46 +03:00
SCENARIOS.md feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00
tsconfig.json feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00
tsconfig.node.json feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00
tsconfig.web.json feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00
vitest.config.ts feat: migrate to desktop-standard (React 19 + TypeScript + electron-vite) 2026-09-08 04:02:35 +03:00

IP Scanner — ماسح الشبكة

تطبيق سطح مكتب (AppImage) للينكس يفحص الشبكة المحلية ويكتشف الأجهزة النشطة الآن — ليس بالبنق فقط، بل أيضًا عبر منافذ الخدمات الشائعة (SSH, HTTP, HTTPS, SMB, RDP, VNC وغيرها)، بحيث تظهر الأجهزة حتى لو كان الجدار الناري يمنع الـ ping.

An enterprise-grade Linux desktop app (AppImage) that discovers live devices on your LAN via ICMP ping and common service ports.

مبني على قالب desktop-standard: راجع STANDARD.md وTHEME.md في debe/desktop-standard قبل أي تعديل. Built on the desktop-standard template (React 19 + electron-vite 5 + TypeScript).


المميزات — Features

  • فحص شامل لنطاق IP (من/إلى) مع اكتشاف تلقائي للشبكة الحالية.
  • اكتشاف عبر المنافذ وليس البنق فقط: يُعدّ الجهاز «نشطًا» إذا استجاب للبنق أو فتح أي منفذ خدمة.
  • واجهة عربية / إنجليزية كاملة مع دعم RTL، والافتراضي لغة النظام.
  • خط Tajawal + Inter مضمّنان محليًا (بلا طلبات شبكة للخطوط).
  • ثيم ثلاثي الحالات — حسب النظام (افتراضي) / فاتح / داكن — بالهوية العنّابية/الذهبية.
  • قائمة جانبية تعرض رقم الإصدار في الأسفل.
  • إشعار تحديث في القائمة الجانبية عند توفر إصدار أحدث، مع رابط تنزيل مباشر ورابط للمصدر.
  • أيقونات SVG ثابتة الحجم، بلا إيموجي، بمظهر مؤسسي.
  • سجل الفحوصات وقائمة الأجهزة المكتشفة التراكمية.
  • تصدير النتائج إلى CSV.

التثبيت والتشغيل — Install & run

المتطلبات: Node.js 22+.

npm install
npm run dev          # التطوير / development
npm test             # الاختبارات / tests
npm run typecheck    # فحص الأنواع / type checking
npm run gen:icon     # توليد الأيقونات / generate icons
npm run dist         # بناء AppImage / build AppImage

التنزيل — Download

من صفحة Releases: نزّل أحدث ملف ip-scanner-<version>.AppImage، اجعله قابلًا للتنفيذ وشغّله.

chmod +x ip-scanner-*.AppImage
./ip-scanner-*.AppImage

البنية — Structure

src/
  main/               العملية الرئيسية (النافذة، IPC، محرك الفحص، التخزين، التحديثات)
  preload/            الجسر الآمن بين main و renderer
  shared/             الأنواع المشتركة (main↔renderer)
  renderer/           واجهة React 19 + TypeScript
    src/locales/      قواميس عربي/إنجليزي
    src/styles/       الثيم (CSS variables)
scripts/              أدوات (أيقونة، إصدار)
tests/                اختبارات Vitest

الإصدارات — Versioning

نتبع Semantic Versioning — MAJOR.MINOR.PATCH:

  • Major (X.0.0) — تغيير كاسر (إعادة بناء معمارية / كسر التوافق).
  • Minor (0.X.0) — ميزة جديدة متوافقة مع السابق.
  • Patch (0.0.X) — إصلاحات وتعديلات صغيرة وتوثيق.

إصدار جديد:

npm run release:patch     # إصلاحات / fixes
npm run release:minor     # ميزة جديدة / new feature
npm run release:major     # تغيير كاسر / breaking

يقوم الـ CI تلقائيًا ببناء الـ AppImage، وإنشاء الـ Release مع نص CHANGELOG.md، ثم يحذف الإصدارات القديمة ويُبقي آخر 3 فقط.


CI/CD

  • .forgejo/workflows/test.yml — الاختبارات عند كل push و PR.
  • .forgejo/workflows/release.yml — عند دفع tag بصيغة v*: بناء AppImage، إنشاء release، رفع الأصول، حذف ما زاد عن 3 إصدارات.

الترخيص — License

CC BY-NC-SA 4.0