قائمة كاملة بما يراقبه التطبيق، وسبب القرارات التقنية التي تجعله ممكنًا.
يقرأ NetPulse البيانات من راوتراتك ويعرضها على شاشة واحدة. الاستطلاع للقراءة فقط؛ وكل ما يكتب صريح ومحمي بالتراجع.
درجة من 0 إلى 100 تختصر زمن الاستجابة والفقد ووقت التشغيل والحرارة. وبجانبها، إنتاجية WAN الحية مقابل خطتك المتعاقد عليها، ومتوسط زمن الاستجابة، والأجهزة المتصلة.
خريطة دلالية مبنية من FDB الجسر وLLDP عند توفره. ترسم الراوترات والمبدّلات والمشغّلات الافتراضية والحاويات المتداخلة والعملاء السلكيين واللاسلكيين وأنفاق WireGuard. وحين لا تستطيع الاستنتاجات معرفة مكان توصيل شيء، ثبّت أي جهاز إلى راوتره ومنفذه بدقة يدويًا.
كل عميل يُصنَّف تلقائيًا بأنماط اسم المضيف وOUI، مع النطاق، والإشارة بـ dBm، وأول ظهور، والراوتر أو المنفذ الذي يتحدث إليه.
عرض شامل لكل راوتراتك مع CPU، والذاكرة، والحرارة، ووقت التشغيل، والعملاء المتصلين، ومخطط مصغّر (sparkline) لحمل آخر 24 ساعة. المبدّلات المُدارة المستطلعة عبر SNMP هي أيضًا مواطنون من الدرجة الأولى، بسجل حركتها وعملائها.
الوكيل حزمة أصلية لـ OpenWrt (.ipk و.apk، من mips إلى x86/64) مع init procd، وإعداد UCI، وwatchdog. يثبّت الخادم الأسطول كله ويحدّثه من الواجهة، ويدير الرموز دون إعادة تثبيت.
مصفوفة الإشارة بين نقاط الوصول والعملاء، وأحداث التجوال محفوظة لمدة 30 يومًا، وأدوات لإعادة ربط العملاء sticky أو طردهم من نقطة وصول ليختاروا أفضل منها.
طيف حقيقي لكل راديو: كل شبكة مرسومة كجرس على محور الترددات، مع تظليل نطاقات DFS وشريط إشغال مستمر. شبكتك كما يراها الهواء.
عرض لكل منفذ في المبدّلات: السرعة المتفاوض عليها، وحركة المرور، والأخطاء، وحالة الوصلة، وتنبيهات خاصة مثل المنفذ الشبح أو الرفرفة أو السرعة المتدهورة.
قائمة النظراء، وآخر المصافحات، والنقل لكل نظير، والنفق مرسوم على خريطة الطبوغرافية، مع تسمية كل نظير باسمه الحقيقي من إعداد UCI.
إحصاءات استعلامات DNS، ونسبة الحظر، وأكثر النطاقات المحظورة، والعملاء الذين يستخدمون الفلتر، كل ذلك بجانب بقية الشبكة.
ست فئات مع درجة إلحاح لكل فئة: الحرارة، والبرنامج الثابت المتاح، وجهاز جديد، ومصافحة WireGuard، ومنفذ الشبكة، وأحداث التجوال. سجل في الجرس وإشعارات Web Push.
تقارير توفّر يومية وأسبوعية وشهرية لكل راوتر ولكل جهاز. قيد التطوير: حركة المرور، والنشاط، وملخص التنبيهات، والتصدير.
عمود واحد مع فهرس ثابت يرافقك أثناء التمرير: المستخدمون والأدوار، واللغة لكل مستخدم، والمظهر بمعاينات حقيقية، وعتبات البيانات، والراوترات، والخدمات والتكاملات، والتنسيق، والتحديث التلقائي.
DEMO_MODE=1 يرفع شبكة عيّنة كاملة بـ 67 جهازًا دون راوترات حقيقية. مفيد لاختبار الواجهة قبل التثبيت.
luci-app-netpulse يدمج حالة الوكيل داخل واجهة ويب OpenWrt: procd، وUCI، والسجلات، وإعادة التشغيل، ورابط إلى التطبيق الرئيسي.
إذا لم يكن لديك جهاز إضافي، يمكن للخادم العمل على راوتر OpenWrt نفسه، مع إعداد UCI، وتثبيت TLS، واقتران محلي.
خادم MCP مدمج على /mcp: يستعلم مساعد الذكاء الاصطناعي عن حالة الأسطول والأجهزة والتنبيهات والطوبولوجيا عبر HTTP برمز API. أدوات للقراءة فقط على آخر استقصاء.
ارسم رف 19 بوصة، ضع أجهزة الراوتر والسويتشات والخوادم بوحدات U، ودع NetPulse يقترح التوصيل من الطوبولوجيا المكتشفة، بما في ذلك الوصلات بين أجهزة الراوتر. معاينة مبكرة جدا.
ينشر NetPulse حالة الأسطول إلى broker MQTT، ويكتشفه Home Assistant تلقائيًا: ينشئ الأجهزة وكياناتها دون أن تعرّف شيئًا يدويًا. كل شيء يحدث في شبكتك المحلية.
NetPulse ليس منتجًا تسويقيًا: إنه أداة شخصية بُنت لحل مشكلات حقيقية. هذه هي القرارات الأكثر تلقّيًا للأسئلة.
وُلد NetPulse من شبكة منزلية بأربعة راوترات: GL.iNet Flint 2 كبوابة وثلاثة Xiaomi AX6 مستعملة. يتيح OpenWrt الفلاش والفحص والتحكم في العتاد. بدون ذلك لا سبيل لقراءة FDB أو iwinfo أو أحداث iw التي تغذي التطبيق.
ملف ثنائي ثابت واحد مع تعطيل CGO. لا يحتاج سلسلة أدوات C على الهدف، ويُحدَّث بتبديل ذري، ويخزّن المستخدمين والجلسات والسلاسل الزمنية في SQLite محلية مع WAL. modernc.org/sqlite يجعله ثابتًا بالكامل.
يولّد الخادم زوج مفاتيح ed25519 الخاص به وتفوّض المفتاح العام على كل راوتر. من هناك يقرأ الاستطلاع فقط: ubus، و/proc، وiwinfo، وbridge fdb، وwg show. الإجراءات الكتابية (حجز IP، وحظر جهاز، وتنسيق الخدمات، وتحديث البرنامج الثابت) صريحة دائمًا، يُطلقها المشرف، وتُطبَّق بلقطة وتراجع تلقائي.
يراقب NetPulse شبكة؛ لا يحتاج حاوية لفعل ذلك. خدمة systemd معزولة بوحدة بسيطة، وسجلات في journald، وإعادة تشغيل تلقائية أخفّ وأسهل تشغيلًا على LXC أو VM صغيرة.
الواجهة تطبيق React SPA بـ Vite وTailwind يُثبَّت كـ PWA. يدفع الخادم الأحداث الحية عبر SSE كل ~5 ثوانٍ. لا استطلاع مستمر ولا WebSocket: SSE أحادي الاتجاه، ويعيد الاتصال تلقائيًا، ويعمل جيدًا خلف الوكلاء المنزليين.
بدأنا بـ DAWN لـ steering الWiFi لأنه كان الخيار الأبرز في مجتمع OpenWrt. في شبكات حقيقية رأيناه قد يرفض المصادقات بشكل متسلسل، ويطرد العملاء بشكل غير متوقع، ويبقي أخطاء دون حل في نموذج peer-to-peer. usteer هو daemon OpenWrt الرسمي، بمزايا مكافئة ونموذج أكثر استقرارًا. الترحيل إلى usteer جارٍ ويحافظ على نفس رؤية التجوال.
من المهم أن نكون صادقين بشأن النطاق. لا يدّعي NetPulse أنه: