Alat ini memungkinkan Anda menelusuri data yang diekspos melalui UniFi Controller API, yang dikembangkan menggunakan PHP, JavaScript, dan kerangka Bootstrap CSS. Itu dibundel dengan kelas PHP untuk akses ke UniFi Controller API , yang mendukung lebih banyak titik akhir API daripada alat browser UniFi API.
Jika Anda berencana membuat kode PHP sendiri untuk berinteraksi dengan API pengontrol UniFi, disarankan untuk menggunakan versi mandiri kelas klien API, yang dapat ditemukan di https://github.com/Art-of-WiFi/ Klien UniFi-API. Di sana, Anda juga akan menemukan contoh dan petunjuk rinci tentang cara menggunakannya.
Harap perhatikan hal berikut saat menggunakan browser UniFi API:
Karena struktur file konfigurasi telah berubah, kami menyarankan untuk membuat instalasi baru ketika melakukan upgrade dari 1.x ke 2.x.
Alat browser UniFi API menawarkan fitur berikut:
$debug
ke true
di file konfigurasi untuk mengaktifkan mode debug)Harap perhatikan bahwa klien API yang dibundel mendukung lebih banyak titik akhir API, namun tidak semuanya masuk akal untuk ditambahkan ke browser API.
Pemasangan alat ini cukup mudah. Cara termudah untuk melakukan ini adalah dengan menggunakan git clone
yang juga memungkinkan pembaruan mudah:
cd
ke folder root server web Anda (di Ubuntu ini /var/www/html
) dan jalankan perintah berikut dari command prompt Anda: git clone https://github.com/Art-of-WiFi/UniFi-API-browser.git
Alternatifnya, Anda dapat memilih untuk mengunduh file zip dan mengekstraknya di direktori pilihan Anda, lalu ikuti langkah-langkah konfigurasi di bawah ini.
@scyto mengelola kontainer Docker untuk penerapan alat browser UniFi API dengan cepat dan mudah. Silakan merujuk ke halaman Wiki ini di dalam repositori untuk lebih jelasnya. Harap diperhatikan bahwa kami tidak menyediakan dukungan terkait instalasi berbasis Docker.
config/config-template.php
yang harus disalin/diganti namanya menjadi config/config.php
config/config.php
config/config-template.php
untuk instruksi konfigurasi lebih lanjutconfig/users-template.php
untuk rincian lebih lanjuthttp(s)://<server IP address>/UniFi-API-browser/
Dukungan untuk pengontrol berbasis UniFi OS (misalnya, UniFi Dream Machine Pro) telah ditambahkan dengan versi 2.0.7. Saat menambahkan detail perangkat OS UniFi ke file config/config.php
, pastikan untuk tidak menambahkan akhiran port atau garis miring ke URL.
Saat menggunakan browser UniFi API untuk menyambung ke Aplikasi Jaringan pada gateway berbasis OS UniFi melalui antarmuka WAN, perlu membuat aturan firewall khusus untuk mengizinkan akses eksternal ke port 443 pada antarmuka lokal gateway. Untuk informasi lebih lanjut, silakan merujuk ke postingan blog berikut untuk detail lebih lanjut: https://artofwifi.net/2022/04/07/how-to-access-the-unifi-controller-by-wan-ip-or-hostname -on-a-udm-pro/
Sejak versi 2.0.0 Anda dapat memperluas menu tarik-turun Koleksi dengan opsi Anda sendiri dengan menambahkannya ke file config.php
.
Berikut ini contohnya:
/**
* 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 ]
],
],
],
]);
Catatan: untuk opsi menu tipe collection
, "properti" type
, label
, method
, dan params
diperlukan.
Seperti inilah hasil contoh di atas:
Jika Anda menginstal alat menggunakan perintah git clone
, Anda dapat menerapkan pembaruan dengan masuk ke direktori tempat alat diinstal, dan menjalankan perintah git pull
dari sana.
Jika tidak, Anda cukup menyalin konten dari file zip terbaru ke direktori tempat alat tersebut diinstal.
Klien PHP API yang dibundel dengan alat ini didasarkan pada karya pengembang berikut:
dan API yang diterbitkan oleh Ubiquiti:
Perpustakaan lain yang disertakan:
Peringatan
Penting untuk dicatat bahwa alat browser UniFi API adalah alat canggih yang memungkinkan akses ke data sensitif dan opsi konfigurasi pada pengontrol UniFi Anda. Oleh karena itu, penting bagi Anda untuk mengambil tindakan keamanan yang tepat, seperti membatasi akses ke alat tersebut hanya untuk individu tepercaya. Selain itu, Anda harus menyadari risiko keamanan yang terkait dengan menjalankan kode PHP di server Anda.
Kami sangat menyarankan untuk mengaktifkan fitur otentikasi nama pengguna/kata sandi dengan membuat config/users.php
berdasarkan file config/users-template.php
yang disertakan. Saat membuat kata sandi dan hash SHA512 untuk masuk ke file config/users.php
, pastikan untuk menggunakan kata sandi acak yang kuat . Silakan merujuk ke instruksi di file config/users-template.php
untuk rincian lebih lanjut
Proyek ini dipelihara secara aktif, dan umpan balik serta saran selalu diterima. Jika Anda mengalami masalah atau memiliki saran untuk perbaikan, silakan gunakan daftar masalah GitHub atau forum Komunitas Ubiquiti (https://community.ubnt.com/t5/UniFi-Wireless/UniFi-API-browser-tool-released/ mp/1392651) untuk berbagi ide dan pertanyaan Anda.
Berikut adalah beberapa tangkapan layar dari alat yang sedang beraksi.
Formulir Login saat otentikasi pengguna diaktifkan:
Menu tarik-turun pemilihan pengontrol:
Menu tarik-turun pemilihan situs:
Menu tarik-turun koleksi:
Menampilkan kumpulan pengaturan situs dalam format JSON:
Menampilkan kumpulan pengaturan situs dalam format PHP interaktif:
Modal "Tentang":