madpilot78 / freebox-php
PHP库,用于访问FreeBox API
1.0.4
2024-08-22 16:58 UTC
Requires
- php: ^8.3
- chillerlan/php-cache: ^5.1
- guzzlehttp/guzzle: ^7.0
- league/container: ^4.2
- psr/container: ^2.0
- psr/http-message: ^1.1 || ^2.0
- psr/log: ^3.0
- psr/simple-cache: ^3.0
Requires (Dev)
- ergebnis/composer-normalize: ^2.42
- friendsofphp/php-cs-fixer: ^3.54
- madpilot78/php-cs-fixer-config: ^1.0
- phpunit/phpunit: ^11
- symfony/var-dumper: ^7.0
README
这是一个小型简单的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配置
- 连接状态(只读)