該工具可讓您瀏覽透過 UniFi 控制器 API 公開的數據,這些數據是使用 PHP、JavaScript 和 Bootstrap CSS 框架開發的。它與用於存取 UniFi 控制器 API 的 PHP 類別捆綁在一起,該類比 UniFi API 瀏覽器工具支援更多的 API 端點。
如果您打算建立自己的 PHP 程式碼來與 UniFi 控制器 API 交互,建議使用獨立版本的 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
到 Web 伺服器的根資料夾(在 Ubuntu 上為/var/www/html
),然後從命令提示字元執行以下命令: git clone https://github.com/Art-of-WiFi/UniFi-API-browser.git
或者,您可以選擇下載 zip 檔案並將其解壓縮到您選擇的目錄中,然後按照以下設定步驟進行操作。
@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/
版本 2.0.7 新增了對基於 UniFi OS 的控制器(例如 UniFi Dream Machine Pro)的支援。將 UniFi OS 裝置的詳細資訊新增至config/config.php
檔案時,請確保不要在 URL 中新增連接埠後綴或尾部斜線。
當使用 UniFi API 瀏覽器透過 WAN 介面連接到基於 UniFi 作業系統的網關上的網路應用程式時,需要建立特定的防火牆規則以允許外部存取網關本機介面上的連接埠 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
“properties” 是必要的。
上面範例的結果如下所示:
如果您使用git clone
命令安裝了該工具,則可以透過進入該工具的安裝目錄並從那裡執行git pull
命令來套用更新。
否則,您只需將最新 zip 檔案中的內容複製到該工具的安裝目錄即可。
與此工具捆綁在一起的 PHP API 用戶端基於以下開發人員的工作:
以及 Ubiquiti 發布的 API:
其他包含的庫:
警告
值得注意的是,UniFi API 瀏覽器工具是一個功能強大的工具,允許存取 UniFi 控制器上的敏感資料和配置選項。因此,採取適當的安全措施非常重要,例如限制受信任的個人存取該工具。此外,您應該了解與在伺服器上執行 PHP 程式碼相關的安全風險。
我們強烈建議透過基於包含的config/users-template.php
檔案來建立config/users.php
來啟用使用者名稱/密碼驗證功能。在為config/users.php
檔案中的項目建立密碼及其 SHA512 雜湊值時,請確保使用強隨機密碼。請參閱config/users-template.php
檔案中的說明以取得更多詳細信息
該項目正在積極維護,隨時歡迎反饋和建議。如果您遇到任何問題或有任何改進建議,請使用 GitHub 問題清單或 Ubiquiti 社群論壇 (https://community.ubnt.com/t5/UniFi-Wireless/UniFi-API-browser-tool-released/ mp/ 1392651)分享您的想法和問題。
以下是該工具正在運行的幾個螢幕截圖。
啟用使用者驗證時的登入表單:
控制器選擇下拉式選單:
站點選擇下拉式選單:
集合下拉選單:
以 JSON 格式顯示網站設定集合:
以互動式 PHP 格式顯示站點設定集合:
「關於」模式: