ispserverfarm/unifi-meshviewer-generator

Meshviewer Generator生成了用于集成Unifi AccessPoints的必要JSON文件,这些AccessPoints通过Unifi Controller(例如Cloudkey)使用原版固件管理。该生成器通过API从Unifi Controller获取相应的数据。

1.1.0 2020-07-05 11:05 UTC

README

Unifi Meshviewer Generator通过API连接到Unifi Controller(例如Cloudkey)并确定所有AccessPoints。从数据中生成meshviewer.json和nodelist.json。然后可以在Meshviewer和Nodelist中额外集成这些文件。因此,使用原版固件在Unifi Controller上运行的Unifi AccessPoints也将在Freifunk Map上显示。该项目基于Freifunk-Greifswald/UniFi.php的创意,非常感谢这种思路。

GitHub仓库只是我们GitLab的镜像。

需求

  • 安装了PHP和cURL模块的Web服务器(在Apache 2.4 / NGINX、PHP版本5.6.26和cURL 7.42.1以及PHP 7.2.10和cURL 7.58.0上进行了测试)
  • 此Web服务器与运行Unifi Controller的服务器和端口(通常是TCP端口8443)之间的网络连接。
  • Git
  • Composer

安装

您可以使用Git或简单地下载发行版来安装此webservice。

Git

首选方法是通过在项目目录中的shell中运行git命令。

git clone https://git.isp-serverfarm.de/freifunk-nordheide/unifi-meshviewer-generator.git .
  • 当git完成克隆后,使用以下命令执行Composer
composer install

下载发行版

如果您不想使用git,可以直接下载包,解压zip文件。

配置

  • 将.env.example复制到.env,不要重命名文件。
  • 将您的规格添加到.env中的变量。
名称描述必需
DEBUG启用/禁用调试模式TRUE/FALSEX
TIMEZONE设置时区Europe/BerlinX
OWNER_EMAIL设置节点所有者的电子邮件或电话号码user@emaildomain.netX
UNIFI_USER设置Unifi Controller用户名UnifiStatUserX
UNIFI_PASS设置Unifi Controller密码P@ssw0rd#1234X
UNIFI_URL设置包括端口的Unifi Controller URLhttps://myuc.domain.de:8443X
UNIFI_ZONE设置Unifi Controller区域defaultX
UNIFI_VERSION设置Unifi Controller版本5.10.26
FREIFUNK_SSID通过此ssid过滤已连接的无线客户端nordheide.freifunk.netX
GATEWAY_NEXTHOP使用卸载节点ID18e8295ccf02X
  • 将您的Web服务器的WWW根目录设置为项目的Public文件夹。这可以防止直接访问.env和文件夹/cache、/devices和/vendor。
  • 将htaccess.txt文件复制到/public和/public/data文件夹中的/.htaccess,并在/public/.htaccess文件中设置您的IP地址。不要重命名文件。在这里,您必须设置允许定期调用index.php的客户端/服务器IP地址,例如作为cronjob。这是一个安全功能,以便在执行过程中发生错误时,Unifi Controller凭据不会以纯文本形式显示。
  • 执行对 index.php 的首次手动调用(http://myunifiservice.domain.de/index.php)。注意:调用中不应包含“public”路径。否则,.env 文件可能会直接从互联网访问。
  • 首次调用后,所有 AccessPoints 将被确定并存储在 /devices 文件夹中,以 JSON 文件的形式。AccessPoints 的公共名称必须存储在文件中。
  • 创建一个 cronjob,每 5 分钟调用一次 index.php。通过这个调用,通过 API 从 Unifi 控制器检索信息,并以 JSON 格式处理。
  • 现在将您的 webservice URL 分享给您的社区管理员团队。管理员可以将此 URL 集成到 Meshviewer 中。

致谢

此类基于以下开发者的初始工作

以及 Ubiquiti 发布的 API

重要免责声明

此 API 客户端类中的许多功能没有得到 UBNT 的官方支持,因此可能不会在 UniFi 控制器 API 的未来版本中得到支持。

贡献

  • 待办事项