Livebox MCP服务器
🚧 进行中 -该项目正在开发中。
MCP服务器通过其本地REST API管理和监控Orange Livebox 6路由器。
安装
uv sync用法
uv run livebox-mcp环境变量
LIVEBOX_HOST-路由器IP(默认值:192.168.1.1)LIVEBOX_PASSWORD-管理员(要求)
发展
# Lancer les tests
uv run pytest
# Vérification de types
uv run mypy src/______________________________________________________________________
🚧 遇到的障碍点
1.未记录的身份验证
Livebox 6 API使用特定的身份验证机制 Orange未记录.
初始问题: 请求与 Authorization: Basic 或者标准标题失败,出现错误 "Object or parameter not found".
发现解决方案:
POST /ws HTTP/1.1
Content-Type: application/x-sah-ws-4-call+json
Authorization: X-Sah-Login
{
"service": "sah.Device.Information",
"method": "createContext",
"parameters": {
"applicationName": "webui",
"username": "admin",
"password": "votre_mot_de_passe"
}
}答案包括 contextID 包含在标题中 X-Context 对于以下请求。
2.端点系统总线vs/ws
问题: L终点 /ws 仅适用于身份验证。
解决方案: API调用必须使用Sysbus端点:
POST /sysbus/{service}:{method}示例: POST /sysbus/DeviceInfo:get
3、🔒 Livebox 6的主要API限制
这是金发女郎校长。 Orange严重限制了对Livebox 6固件的API访问。
服务可访问性✅
| 服务 | 方法 | 描述 |
|---|---|---|
DeviceInfo | get | 系统信息(型号、版本、正常运行时间) |
NMC | getWANStatus | 互联网连接状态 |
NMC | get | 网络信息 |
UserInterface | getLanguage | 语言界面 |
服务块❌ (“权限被拒绝”)
| 服务 | 描述 | 法规 |
|---|---|---|
NMC.Wifi WiFi控制 | 🔒 被阻止 | |
Hosts | 连接的设备 | 🔒 被阻止 |
DHCPv4.Server DHCP配置 | 🔒 被阻止 | |
Firewall 防火墙、端口转发 | 🔒 被阻止 | |
VoiceService | 电话 | 🔒 被阻止 |
Time | 系统时钟 | 🔒 被阻止 |
NMC.NetworkConfig 诊断(ping、traceroute) | 🔒 被阻止 | |
UserManagement | 用户管理 | 🔒 被阻止 |
4.绕过尝试失败
我们测试了几种方法,但没有成功:
| 方法 | 结果 |
|---|---|
替代用户(root, su, support) | 独自一人 admin 工作 |
| HTTPS(端口443) | 不可用 |
替代端点(/api/, /cgi-bin/) | 404 |
附加标题(X-Requested-With等) | 无影响 |
| 扫描所有Sysbus服务 | 相同的限制 |
5.关于限制的假设
- 固件Livebox 6: Orange似乎有意限制本地API
- 用户组: 重新验证
groups: "http"-权限有限的组 - 加强安全: 可能是为了避免通过脚本进行未经授权的更改
6.与Livebox 5的比较
根据社区文档,Livebox 5提供了更全面的API访问。Livebox 6代表了API可访问性方面的显著回归。
______________________________________________________________________
项目现状
什么有效✅
- 身份验证X-Sah-Login
- 系统信息恢复(
DeviceInfo) - 互联网连接状态(
NMC.getWANStatus) - 全套测试套件(123项测试)
什么已实现,但被Orange阻止🔒
- 30个定义的MCP工具(WiFi、DHCP、防火墙等)
- 完整的API客户端
- 所有功能的处理程序
潜在的下一步
- 监控Orange固件更新
- 探索其他访问方法(如果启用Telnet?)
- 记录Livebox版本之间的差异
- 联系社区获取替代解决方案
______________________________________________________________________
