تشغيل إصدار الخادم على مدار الساعة
بناء بلا واجهة للمراقبة المستمرة على مدار الساعة — دون واجهة رسومية. شغّله في Docker أو ثبّته على Windows Server / Windows 11 أو Debian/Ubuntu (.deb) أو Fedora (.rpm). مشمول برخصتك الحالية.
تجريبي
ماذا تفعل نسخة الخادم
مراقبة دائمة
يعمل بلا واجهة على مدار الساعة ويراقب الشبكات المهمة لك — حتى عندما يكون حاسوبك متوقفًا.
تتبّع التوافر و SLA
توافر يومي لكل جهاز وخدمة، مع إعادة المحاولات والتبعيات وتصدير CSV.
تنبيهات دون إغراق
بريد/SMTP و ntfy و Gotify وويب هوكس — مع توجيه حسب الخطورة وتجميع في ملخّصات.
صفحة حالة عامة
صفحة حالة اختيارية للقراءة فقط يمكن للجميع رؤيتها — دون تسجيل دخول.
اكتشاف عبر الشبكات الفرعية
دعم SNMP وبطاقات شبكة متعددة للوصول إلى شبكات خارج الجزء المحلي.
اسأل ذكاءك الاصطناعي (MCP)
أتِح مخزونك الحيّ لمساعد ذكاء اصطناعي — محلي تمامًا، للقراءة فقط، ومعطّل افتراضيًا.
Docker الأسهل
احفظ هذا باسم docker-compose.yml وشغّل docker compose up -d. يتيح network_mode: host له رؤية شبكتك؛ الصلاحيتان موضّحتان أدناه:
services:
deviceshelf:
image: ghcr.io/wealthwallet/deviceshelf-server:1.5.15
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.
دبيان / أوبونتو (.deb)
ثبّت من الطرفية — لا تنقر نقراً مزدوجاً. في أوبونتو 24.04 يفتح ملف .deb بالنقر المزدوج في App Center، وقد يفشل بصمت مع حزم الطرف الثالث. تحلّ الطرفية التبعيات وتشغّل خدمة deviceshelf-server:
تنزيل .deb — amd64 (Intel/AMD) تنزيل .deb — arm64 (Raspberry Pi)
sudo apt install ./DeviceShelf-Server-*.deb
على ARM (راسبيري باي، خوادم ARM) استخدم ملف -arm64.deb.
Windows Server / Windows 11 بيتا
نزّل ملف zip، فُكّ الضغط عنه، وانقر نقرًا مزدوجًا على install.bat — وأكّد طلب مسؤول Windows (UAC). تُثبَّت الخدمة الدائمة وتُشغَّل، ثم يُعرض عنوان لوحة التحكم ورمز الوصول وتُفتح لوحة التحكم. لإلغاء التثبيت استخدم uninstall.bat.
التنزيل لنظام Windows (amd64)
هذه النسخة التجريبية غير موقّعة بعد، لذا قد يحذّر Windows: في SmartScreen اضغط مزيد من المعلومات ← تشغيل على أي حال؛ وإذا كان Smart App Control مفعّلاً فإنه يحظر التطبيقات غير الموقّعة تمامًا حتى نُصدر نسخة موقّعة. قبل فك الضغط، انقر بزر الفأرة الأيمن على الملف ← الخصائص ← فعّل إلغاء الحظر. كل التفاصيل في ملف README داخل الحزمة (٧ لغات). بصمة 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 والمنفذ ونوع الأمان. تُرسَل التنبيهات عندئذٍ عبر حسابك إلى المستلمين الذين تحدّدهم.
اسأل الذكاء الاصطناعي عن شبكتك MCP
يمكن للخادم أن يتيح جردك المباشر لمساعد ذكاء اصطناعي عبر Model Context Protocol — فتستطيع أن تسأل «ما المتصل الآن؟» أو «أي الشهادات تنتهي قريبًا؟» أو «ما المعرّض للخطر؟» وتحصل على إجابات من بياناتك أنت. إنه محلي تمامًا: تعمل نقطة النهاية داخل خادمك، خلف الرمز نفسه، ولا يمكن الوصول إليها إلا عبر شبكتك المحلية — لا يوجد أي موصّل سحابي من 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>" }
} } }
Cline — cline_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 Desktop — claude_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. لإعداد محلي بحت، يُفضَّل أحد العملاء أعلاه.
إنه إصدار تجريبي
إصدار الخادم جديد — توقّع بعض الجوانب غير المكتملة. وجدت خطأً أو تريد ميزة؟ تواصل معنا — ملاحظاتك تشكّله. راجع ملاحظات الإصدار لمعرفة محتوى هذا البناء.