شغّل خادم مراقبة الشبكة الخاص بك

ثبّت الإصدار بلا واجهة على مضيف Linux أو Windows أو Docker، فيصبح DeviceShelf مجمّعاً محلياً لاكتشاف الأجهزة، ووقت التشغيل/SLA، وصحة البنية التحتية، وفحوص الخدمات، والنبضات، والتنبيهات، والتقارير، وأتمتة API، وPrometheus وMCP. نفس ترخيص سطح المكتب والهاتف.

المراقبةالأجهزة والخدمات والفحوص والنبضات وسجل وقت التشغيل. البنيةSNMP وDocker وProxmox وصحة NAS وsyslog ومستشعرات مخصّصة. مفتوحواجهة REST API، ومقاييس Prometheus، ووصول للقراءة فقط، وMCP محلي.
DeviceShelf server dashboard — 43 devices with vendors, open ports and response times
لوحة التحكم: شبكتك كاملة بلمحة — كل جهاز مع المُصنّع والنوع والمنافذ المفتوحة وزمن الاستجابة.
DeviceShelf server SLA and uptime report
تقارير SLA ووقت التشغيل: توفّر طويل المدى، وأزمنة استجابة، وأدلة قابلة للتصدير.
DeviceShelf server infrastructure monitoring
مراقبة البنية التحتية: صحة SNMP، وDocker، وProxmox، وsyslog، ومستشعرات مخصّصة في واجهة خادم واحدة.

ماذا يفعل إصدار الخادم

مراقبة دائمة

يعمل بلا واجهة على مدار الساعة ويظل يراقب الشبكات التي تهمّك — حتى عندما يكون حاسوبك مطفأً.

تتبّع وقت التشغيل & SLA

توفّر يومي لكل جهاز وخدمة، مع إعادة المحاولات والتبعيات وتصدير CSV.

تنبيهات دون طوفان

بريد/SMTP، وntfy، وGotify، وwebhooks — مع توجيه حسب الخطورة وتجميع في مُلخّصات.

صفحة حالة عامة

صفحة صحة اختيارية للقراءة فقط يمكن للجميع رؤيتها — دون تسجيل دخول.

اكتشاف عبر الشبكات الفرعية

دعم SNMP وبطاقات شبكة متعددة للوصول إلى شبكات خارج المقطع المحلي.

اسأل ذكاءك الاصطناعي (MCP)

اعرض جردك الحيّ لمساعد ذكاء اصطناعي — محلي بحت، للقراءة فقط، معطّل افتراضياً.

تقارير وحالة ونسخ احتياطي

نسبة وقت التشغيل، وأشرطة توفّر يومية، وتصدير CSV، وصفحة حالة عامة للقراءة فقط، واستيراد/تصدير الإعدادات.

REST API وPrometheus

كل شيء قابل للبرمجة عبر واجهة API المحمية بالرمز، مع `/metrics` لـ Grafana والأتمتة.

Home Assistant

ينشر أجهزتك في Home Assistant عبر MQTT. الحضور والمُصنّع والنوع، إضافة إلى أحداث الشبكة التي يمكن لأتمتة أن تتفاعل معها.

Docker الأسهل

احفظ هذا باسم docker-compose.yml وشغّل docker compose up -d. تتيح له network_mode: host رؤية شبكتك المحلية؛ القدرتان مشروحتان أدناه.

services:
  deviceshelf:
    image: ghcr.io/wealthwallet/deviceshelf-server:1.9.12
    network_mode: host
    cap_add:
      - NET_RAW              # ARP scan (raw sockets)
      - NET_BIND_SERVICE     # passive DHCP fingerprinting (UDP/67) → Fingerbank
    volumes:
      - ./data:/data         # chown 10001:10001 ./data
    restart: unless-stopped
    # optional: environment: { DEVICESHELF_FINGERBANK_KEY: "<free key from fingerbank.org>" }

لماذا هاتان القدرتان؟ يُعرّف DeviceShelf Server الأجهزة جزئياً عبر بصمة DHCP الخاصة بها ويستمع بشكل سلبي على منفذ UDP رقم 67. ولأن الحاوية تعمل عمداً كمستخدم غير مميّز (uid 10001)، فإن ربط منفذ النظام هذا يحتاج القدرة المحدودة NET_BIND_SERVICE — دون root، ودون NET_ADMIN، فقط فتح المنافذ المنخفضة. بدونها يبدأ الخادم بشكل طبيعي، لكن دون تعريف DHCP/Fingerbank. NET_RAW لمسح ARP.

Debian / Ubuntu ‏(.deb)

ثبّت من الطرفية — لا تنقر نقراً مزدوجاً. على Ubuntu 24.04، يفتح ملف .deb بالنقر المزدوج في App Center، وقد يفشل بصمت مع حزم الأطراف الثالثة. الطرفية تحلّ التبعيات وتبدأ خدمة deviceshelf-server:

تنزيل ‎.deb — amd64 ‏(Intel/AMD) تنزيل ‎.deb — arm64 ‏(Raspberry Pi)

sudo apt install ./DeviceShelf-Server-*.deb

على ARM (Raspberry Pi، خوادم ARM) استخدم ملف -arm64.deb.

macOS Server ‏(.pkg)

نزّل الحزمة العالمية وافتحها. تُثبّت الخادم كـ LaunchDaemon في الخلفية وتُبقيه يعمل بعد تسجيل الدخول. لوحة التحكم متاحة على المنفذ 8088؛ والتحديثات تحافظ على بيانات الخادم وتنشئ أولاً نسخة احتياطية موثّقة.

تنزيل لنظام macOS (عالمي)

Windows Server / Windows 11

نزّل ملف zip، فكّ ضغطه، وانقر نقراً مزدوجاً على install.bat — وأكّد طلب مسؤول Windows ‏(UAC). يُثبّت ويبدأ خدمة 24/7، ثم يُظهر عنوان لوحة التحكم ورمز الوصول ويفتح اللوحة. أزل التثبيت بـ uninstall.bat.

تنزيل لنظام Windows ‏(amd64)

إصدار Windows غير موقّع بعد، لذا قد يحذّر Windows: في SmartScreen انقر مزيد من المعلومات ← تشغيل على أي حال؛ وإذا كان Smart App Control مفعّلاً فإنه يحظر التطبيقات غير الموقّعة تماماً حتى نُطلق إصداراً موقّعاً. قبل فكّ الضغط، يمكنك النقر بالزر الأيمن على zip ← الخصائص ← تحديد إلغاء الحظر. كل التفاصيل في ملف README داخل zip (7 لغات). بصمة DHCP السلبية غير متوفّرة على Windows؛ كل ما عداها — المسح والمراقبة وSNMP والتنبيهات ولوحة التحكم وAPI — مشمول.

البدء الأول: رمز الوصول

عند البدء الأول يطبع الخادم رمز API مُولّداً تلقائياً في سجلّه. خذه، ثم افتح واجهة الويب على المنفذ 8088 والصقه:

# .deb / systemd:
journalctl -u deviceshelf-server | grep -iA1 auto-generated

# Docker:
docker logs deviceshelf-server | grep -iA1 auto-generated

ثم افتح http://<host>:8088 في متصفّحك والصق الرمز.

إشعارات البريد الإلكتروني (SMTP)

أضف حساب بريدك الخاص كمُرسِل في إعدادات التنبيهات بلوحة التحكم. للمزوّدين الشائعين — Gmail وYahoo وOutlook/Hotmail وiCloud وGMX وغيرهم — اترك حقل خادم SMTP فارغاً؛ يكتشف DeviceShelf الخادم الصحيح تلقائياً. بسبب تسجيل الدخول بخطوتين، تتطلب Gmail وYahoo وOutlook كلمة مرور تطبيق (تُنشأ في إعدادات أمان حساب بريدك)، لا كلمة مرورك العادية. لأي مزوّد آخر أو ذاتي الاستضافة، املأ خادم SMTP والمنفذ والأمان. تُرسَل التنبيهات عندئذ عبر حسابك إلى المستلمين الذين تحدّدهم.

مراقب خارجي

كل تنبيه يرسله DeviceShelf ينطلق من جهازك أنت، ولهذا لا يصلك أي تنبيه حين يكون الجهاز نفسه هو المشكلة: انقطاع الكهرباء أو تعطل البرنامج أو انقطاع الخط. المراقب الخارجي يغطي هذه الحالة بالذات. من الإعدادات ← مراقب خارجي تلصق رابط النبض (heartbeat) الخاص بخدمة مراقبة؛ يرسل DeviceShelf نبضة كل 60 ثانية، وحين تتوقف النبضات تنبّهك تلك الخدمة. استخدم Healthchecks.io أو UptimeRobot (مراقب Heartbeat) أو Better Stack أو Cronitor أو مستقبِلًا خاصًا بك — لكلها خطة مجانية تكفي شبكة منزلية. اضبط مهلة السماح هناك على نحو ثلاثة أضعاف الفاصل الزمني، ثم اضغط إرسال نبضة تجريبية مرة واحدة للتأكد من أن كل شيء متصل.

نحن لا نشغّل هذه الخدمة بأنفسنا، وهذا قرار مقصود. المراقب يجب أن يكون أعلى توفرًا مما يراقبه، ويجب أن يكون خارج شبكتك — وهو عكس ما بُني DeviceShelf من أجله تمامًا.

اسأل ذكاءك الاصطناعي عن شبكتك MCP

يمكن للخادم أن يعرض جردك الحيّ لمساعد ذكاء اصطناعي عبر Model Context Protocol — فتسأل «ما المتصل الآن؟»، «أي الشهادات تنتهي قريباً؟» أو «ما المعرّض للخطر؟» وتحصل على إجابات من بياناتك. إنه محلي بحت: يعمل الـ endpoint داخل خادمك، خلف الرمز نفسه، ولا يُوصَل إليه إلا على شبكتك المحلية — لا يوجد موصّل سحابي من DeviceShelf. معطّل افتراضياً، للقراءة فقط، ومشمول بترخيصك (يعمل في النسخة التجريبية أيضاً).

# enable in /etc/deviceshelf/server.env (or your Docker env):
DEVICESHELF_MCP_ENABLE=true

# then point Claude Desktop at it via the mcp-remote bridge:
#   http://<host>:8088/mcp   (Authorization: Bearer <your-token>)

راجع الإعلان للحصول على قائمة الأدوات الكاملة والإعداد. تبقى إجراءات الكتابة (إعادة تسمية جهاز، إقرار إنذار، تشغيل مسح) معطّلة ما لم تفعّلها صراحةً.

اربط وكيل الذكاء الاصطناعي MCP

فعّل MCP أولاً (أعلاه)، ثم وجّه عميل الذكاء الاصطناعي إلى نقطة النهاية /mcp للخادم برمز API الخاص بك. استبدل <host> و<token> أدناه. معظم العملاء يتحدثون Streamable HTTP أصلياً:

Claude Code

claude mcp add --transport http deviceshelf http://<host>:8088/mcp \
  --header "Authorization: Bearer <token>"

Cursor~/.cursor/mcp.json

{ "mcpServers": { "deviceshelf": {
  "url": "http://<host>:8088/mcp",
  "headers": { "Authorization": "Bearer <token>" }
} } }

VS Code (Copilot agent) — .vscode/mcp.json

{ "servers": { "deviceshelf": {
  "type": "http",
  "url": "http://<host>:8088/mcp",
  "headers": { "Authorization": "Bearer <token>" }
} } }

Windsurf~/.codeium/windsurf/mcp_config.json (note: serverUrl)

{ "mcpServers": { "deviceshelf": {
  "serverUrl": "http://<host>:8088/mcp",
  "headers": { "Authorization": "Bearer <token>" }
} } }

Clinecline_mcp_settings.json ("type": "streamableHttp" is required, else it falls back to SSE and fails)

{ "mcpServers": { "deviceshelf": {
  "type": "streamableHttp",
  "url": "http://<host>:8088/mcp",
  "headers": { "Authorization": "Bearer <token>" }
} } }

Gemini CLI~/.gemini/settings.json (note: httpUrl)

{ "mcpServers": { "deviceshelf": {
  "httpUrl": "http://<host>:8088/mcp",
  "headers": { "Authorization": "Bearer <token>" }
} } }

Claude Desktopclaude_desktop_config.json. It has no native static-token remote support, so bridge it with mcp-remote (keep --allow-http for plain http; the token goes in an env var to avoid a Windows arg-quoting bug). Fully quit and relaunch after saving.

{ "mcpServers": { "deviceshelf": {
  "command": "npx",
  "args": ["-y", "mcp-remote", "http://<host>:8088/mcp",
           "--transport", "http-only", "--allow-http",
           "--header", "Authorization:${AUTH}"],
  "env": { "AUTH": "Bearer <token>" }
} } }

موصّلات ChatGPT تعمل في سحابة OpenAI ولا يمكنها الوصول مباشرة إلى خادم على الشبكة المحلية. لاستخدامها، ضع الخادم خلف نفق HTTPS عام (Secure MCP Tunnel من OpenAI، أو ngrok، أو Cloudflare Tunnel) ليصبح له عنوان https://…/mcp. لإعداد محلي بحت، فضّل أحد العملاء أعلاه.

جاهز للتشغيل الدائم

أصبح إصدار الخادم الآن جزءاً من خط منتجات DeviceShelf العادي. لا يزال يتطوّر بسرعة، لكن التموضع بسيط: شغّله باستمرار، وأبقِ بياناتك محلية، واستخدم مفتاح الترخيص نفسه المستخدم في تطبيقات سطح المكتب والهاتف. راجع ملاحظات الإصدار لمعرفة ما تغيّر في هذا الإصدار.

للصورة الأوسع، تتناول مراقبة الشبكة ذاتية الاستضافة ما الذي يمنحك إياه تشغيل المراقبة على أجهزتك الخاصة مقارنةً بلوحة تحكم سحابية.