تتيح لك هذه الأداة تصفح البيانات المعروضة من خلال واجهة برمجة تطبيقات UniFi Controller، التي تم تطويرها باستخدام PHP وJavaScript وإطار عمل Bootstrap CSS. يأتي مزودًا بفئة PHP للوصول إلى UniFi Controller API ، الذي يدعم نقاط نهاية API أكثر من أداة متصفح UniFi API.
إذا كنت تخطط لإنشاء كود PHP الخاص بك للتفاعل مع واجهة برمجة تطبيقات وحدة تحكم UniFi، فمن المستحسن استخدام الإصدار المستقل من فئة عميل API، والذي يمكن العثور عليه على https://github.com/Art-of-WiFi/ عميل UniFi-API. ستجد هناك أيضًا أمثلة وتعليمات مفصلة حول كيفية استخدامه.
يرجى مراعاة ما يلي عند استخدام متصفح UniFi API:
ونظرًا لتغير بنية ملف التكوين، نوصي بإنشاء تثبيت جديد عند الترقية من 1.x إلى 2.x.
توفر أداة متصفح UniFi API الميزات التالية:
$debug
على true
في ملف التكوين لتمكين وضع التصحيح)يرجى ملاحظة أن عميل API المجمع يدعم العديد من نقاط نهاية API، ولكن ليس من المنطقي إضافتها جميعًا إلى متصفح API.
تثبيت هذه الأداة بسيط جدًا. أسهل طريقة للقيام بذلك هي استخدام git clone
الذي يسمح أيضًا بالتحديثات السهلة:
cd
إلى المجلد الجذر لخادم الويب الخاص بك (على Ubuntu هذا هو /var/www/html
) وقم بتنفيذ الأمر التالي من موجه الأوامر الخاص بك: git clone https://github.com/Art-of-WiFi/UniFi-API-browser.git
وبدلاً من ذلك، يمكنك اختيار تنزيل الملف المضغوط وفك ضغطه في الدليل الذي تختاره، ثم اتباع خطوات التكوين أدناه.
يحتفظ @scyto بحاويات Docker للنشر السريع والسهل لأداة متصفح UniFi API. يرجى الرجوع إلى صفحة Wiki هذه داخل المستودع لمزيد من التفاصيل. يرجى ملاحظة أننا لا نقدم الدعم المتعلق بالتثبيتات المستندة إلى Docker.
config/config-template.php
والذي يجب نسخه/إعادة تسميته إلى config/config.php
config/config.php
config/config-template.php
لمزيد من تعليمات التكوينconfig/users-template.php
لمزيد من التفاصيلhttp(s)://<server IP address>/UniFi-API-browser/
تمت إضافة دعم وحدات التحكم المستندة إلى نظام التشغيل UniFi (على سبيل المثال، UniFi Dream Machine Pro) مع الإصدار 2.0.7. عند إضافة تفاصيل جهاز UniFi OS إلى ملف config/config.php
، يرجى التأكد من عدم إضافة لاحقة منفذ أو شرطة مائلة لاحقة إلى عنوان URL.
عند استخدام متصفح UniFi API للاتصال بتطبيق شبكة على بوابة قائمة على نظام التشغيل UniFi عبر واجهة WAN، فمن الضروري إنشاء قاعدة جدار حماية محددة للسماح بالوصول الخارجي إلى المنفذ 443 على الواجهة المحلية للبوابة. لمزيد من المعلومات، يرجى الرجوع إلى منشور المدونة التالي لمزيد من التفاصيل: https://artofwifi.net/2022/04/07/how-to-access-the-unifi-controller-by-wan-ip-or-hostname -on-a-udm-pro/
منذ الإصدار 2.0.0، يمكنك توسيع القائمة المنسدلة "المجموعات" بخياراتك الخاصة عن طريق إضافتها إلى ملف config.php
.
هنا مثال:
/**
* adding a custom sub-menu example
*/
$ collections = array_merge ( $ collections , [
[
' label ' => ' Custom Menu ' , // length of this string is limited due to dropdown menu width
' options ' => [
[
' type ' => ' collection ' , // either 'collection' or 'divider'
' label ' => ' hourly site stats past 24 hours ' , // string that is displayed in the dropdown menu
' method ' => ' stat_hourly_site ' , // name of the method/function in the API client class that is called
' params ' => [( time () - ( 24 * 60 * 60 )) * 1000 , time () * 1000 ], // an array containing the parameters as they are passed to the method/function
],
[
' type ' => ' collection ' ,
' label ' => ' daily site stats past 31 days ' ,
' method ' => ' stat_daily_site ' ,
' params ' => [( time () - ( 31 * 24 * 60 * 60 )) * 1000 , time () * 1000 ],
],
[
' type ' => ' divider ' , // dividers have no other properties
],
[
' type ' => ' collection ' ,
' label ' => ' enable the site LEDs ' ,
' method ' => ' site_leds ' , // don't go too wild when adding such calls, this example is simply to show the flexibility
' params ' => [ true ]
],
[
' type ' => ' collection ' ,
' label ' => ' disable the site LEDs ' ,
' method ' => ' site_leds ' , // don't go too wild when adding such calls, this example is simply to show the flexibility
' params ' => [ false ]
],
],
],
]);
ملاحظة: بالنسبة لخيار قائمة نوع collection
، تكون "خصائص" type
label
method
params
مطلوبة.
وهذا ما تبدو عليه النتيجة في المثال أعلاه:
إذا قمت بتثبيت الأداة باستخدام أمر git clone
، فيمكنك تطبيق التحديثات بالانتقال إلى الدليل الذي تم تثبيت الأداة عليه، وتشغيل أمر git pull
من هناك.
بخلاف ذلك، يمكنك ببساطة نسخ المحتويات من أحدث ملف مضغوط إلى الدليل الذي تم تثبيت الأداة عليه.
يعتمد عميل PHP API الذي يأتي مع هذه الأداة على عمل المطورين التاليين:
وواجهة برمجة التطبيقات كما نشرتها Ubiquiti:
المكتبات الأخرى المضمنة:
حذر
من المهم ملاحظة أن أداة متصفح UniFi API هي أداة قوية تتيح الوصول إلى البيانات الحساسة وخيارات التكوين على وحدة تحكم UniFi الخاصة بك. لذلك من المهم اتخاذ التدابير الأمنية المناسبة، مثل قصر الوصول إلى الأداة على الأفراد الموثوق بهم. بالإضافة إلى ذلك، يجب أن تكون على دراية بالمخاطر الأمنية المرتبطة بتشغيل كود PHP على الخادم الخاص بك.
نوصي بشدة بتمكين ميزة مصادقة اسم المستخدم/كلمة المرور عن طريق إنشاء config/users.php
استنادًا إلى ملف config/users-template.php
المضمن. عند إنشاء كلمات مرور وتجزئة SHA512 الخاصة بها لإدخالها في ملف config/users.php
، تأكد من استخدام كلمات مرور عشوائية قوية . يرجى الرجوع إلى التعليمات الموجودة في ملف config/users-template.php
لمزيد من التفاصيل
تتم صيانة هذا المشروع بشكل نشط، ونرحب دائمًا بالتعليقات والاقتراحات. إذا واجهت أي مشكلات أو كانت لديك أي اقتراحات للتحسينات، فيرجى استخدام قائمة مشكلات GitHub أو منتديات مجتمع Ubiquiti (https://community.ubnt.com/t5/UniFi-Wireless/UniFi-API-browser-tool-released/ mp/1392651) لمشاركة أفكارك وأسئلتك.
فيما يلي بعض لقطات الشاشة للأداة أثناء العمل.
نموذج تسجيل الدخول عند تمكين مصادقة المستخدم:
القائمة المنسدلة لاختيار وحدة التحكم:
القائمة المنسدلة لاختيار الموقع:
القائمة المنسدلة للمجموعة:
عرض مجموعة إعدادات الموقع بتنسيق JSON:
عرض مجموعة إعدادات الموقع بصيغة PHP التفاعلية:
نموذج "حول":