madpilot78/freebox-php

PHP库,用于访问FreeBox API

1.0.4 2024-08-22 16:58 UTC

This package is auto-updated.

Last update: 2024-09-22 17:10:34 UTC


README

Packagist Version Actions Status codecov

这是一个小型简单的PHP库,用于与Iliad FreeBox(意大利市场的IliadBox)提供的宽带路由器接口。

安装

使用composer

composer require madpilot78/FreeBoxPHP

要求

本项目支持PHP 8.3及以上版本。

库描述

我编写这个库是为了自己的需求。它处理发现和身份验证,然后通过方法公开一些路由器API。

实现的方法列表请查看src/Methods

注意:由于我在意大利,我只测试了我的路由器,一个IliadBox(意大利版本),配置了自签名的证书。如果您有不同的配置并且遇到问题,请与我联系,也许我可以更新库以支持更多的配置。

注意

有关每个API的详细信息,请查阅您的OpenBox/IliadBox开发文档,可通过WebUI访问。

如何使用

有一个配置对象可以用于自定义库。

首先需要与Box注册,例如

use madpilot78\FreeBoxPHP\Configuration;
use madpilot78\FreeBoxPHP\Box;
use madpilot78\FreeBoxPHP\Enum\BoxType;

$config = new Configuration(
    hostname: 'box.example.org',
    boxType: BoxType::Iliad,
    certFile: null,
);

$box = new Box(configuration: $config);

$token = $box->discover()->register(quiet: false);

echo $token . PHP_EOL;

(检查FreeBox/IliadBox显示以授权客户端)

一旦客户端被授权,其权限可以在FreeBox/IliadBox UI中配置。

使用令牌可以访问全部功能。

例如,要显示IPv6配置

use madpilot78\FreeBoxPHP\Configuration;
use madpilot78\FreeBoxPHP\Box;
use madpilot78\FreeBoxPHP\Enum\BoxType;

$config = new Configuration(
    hostname: 'box.example.org',
    boxType: BoxType::Iliad,
    certFile: null,
);

$box = new Box(authToken: '<token>', configuration: $config);

$ret = $box->discover()->connectionIPv6Configuration('get');

var_dump($ret);

(注意:discover()只需在每个实例中调用一次,结果将缓存在该实例中)

可以通过以下方式打开IPv6防火墙(此API还将返回新的配置)

$ret = $box->connectionIPv6Configuration(set', ['ipv6_firewall' => true]);

var_dump($ret);

需要ID的API将其作为参数,例如获取现有的重定向

$ret = $box->fwRedir('get', 1));

var_dump($ret);

并且可以修改禁用重定向(例如启用)

$ret = $box->fwRedir('update', 1, ['enabled' => true]));

var_dump($ret);

实现API

  • 发现
  • 注册
  • 登录/登出(如果需要自动执行登录)
  • 语言(更改语言可能不起作用,我怀疑这是我的IliadBox的限制)
  • 连接配置
  • 连接IPv6配置
  • 连接状态(只读)