このツールを使用すると、PHP、JavaScript、および Bootstrap CSS フレームワークを使用して開発された UniFi コントローラー API を通じて公開されるデータを参照できます。これには、UniFi API ブラウザ ツールよりも多くの API エンドポイントをサポートするUniFi コントローラ API にアクセスするための PHP クラスがバンドルされています。
UniFi コントローラー API と対話する独自の PHP コードを作成する予定がある場合は、https://github.com/Art-of-WiFi/ にある API クライアント クラスのスタンドアロン バージョンを使用することをお勧めします。 UniFi API クライアント。そこには、その使用方法の例と詳細な手順も記載されています。
UniFi API ブラウザを使用するときは、次の点に注意してください。
構成ファイルの構造が変更されているため、1.x から 2.x にアップグレードする場合は、新規インストールを作成することをお勧めします。
UniFi API ブラウザ ツールは次の機能を提供します。
$debug
true
に設定します)バンドルされた API クライアントはさらに多くの API エンドポイントをサポートしていますが、すべてを API ブラウザに追加するのが意味があるわけではないことに注意してください。
このツールのインストールは非常に簡単です。これを行う最も簡単な方法は、簡単に更新できるgit clone
使用することです。
/var/www/html
) にcd
、コマンド プロンプトから次のコマンドを実行します。 git clone https://github.com/Art-of-WiFi/UniFi-API-browser.git
あるいは、zip ファイルをダウンロードして、選択したディレクトリに解凍し、以下の構成手順に従うこともできます。
@scyto は、UniFi API ブラウザ ツールを迅速かつ簡単に展開できるように Docker コンテナを保守しています。詳細については、リポジトリ内のこの 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/
にアクセスすると、ブラウザでツールを開くことができます (上記のように Web サーバーのルート フォルダーにインストールしたと仮定します)。 http(s)://<server IP address>/UniFi-API-browser/
UniFi OS ベースのコントローラー (UniFi Dream Machine Pro など) のサポートがバージョン 2.0.7 で追加されました。 UniFi OS デバイスの詳細をconfig/config.php
ファイルに追加するときは、URL にポート接尾辞や末尾のスラッシュを追加しないようにしてください。
UniFi API ブラウザを使用して、WAN インターフェイス経由で UniFi OS ベースのゲートウェイ上のネットワーク アプリケーションに接続する場合、ゲートウェイのローカル インターフェイス上のポート 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
コマンドを実行することで更新を適用できます。
それ以外の場合は、最新の 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-release/) をご利用ください。 mp/1392651) してアイデアや質問を共有してください。
以下に、実際に動作しているツールのスクリーンショットをいくつか示します。
ユーザー認証が有効な場合のログインフォーム:
コントローラー選択ドロップダウン メニュー:
サイト選択ドロップダウン メニュー:
コレクションのドロップダウン メニュー:
サイト設定コレクションを JSON 形式で表示します。
インタラクティブな PHP 形式でサイト設定コレクションを表示します。
「About」モーダル: