alphayax/freebox_api_php
Composer 安装命令:
composer require alphayax/freebox_api_php
包简介
API PHP pour la Freebox
README 文档
README
Implementation PHP de l'API de la freebox
- Intégralement dans sa version 3
- Partiellement dans sa version 4
Prérequis
Ce projet est basé sur composer. Pensez à installer les dependences :)
Fonctionnalités
Un document complet repertorie l'ensemble des services implémentées :
API Freebox (v3)
API Freebox (v4)
Utilisation
Application
L'objet \alphayax\freebox\utils\Application représente votre application. Vous devrez
créer une instance de cette classe et la transmettre aux services que vous souhaitez utiliser.
Association
Pour acceder aux services proposés par l'API de la freebox, vous deverez autoriser votre application. Cette procedure impose que vous soyez connecté au réseau local de votre Freebox lors de "l'association" et que vous ayez la Freebox a portée de main. L'application sauvegarde automatiquement le token retourné par la freebox et cette procedure ne sera plus a reproduire.
Notez que pour modifier les droits d'accès aux differents services, vous deverez passer par l'interface web locale : [http://mafreebox.freebox.fr/login.php].
Parametres de la freebox > Divers > Gestion des accès > Applications
- Créer un objet application.
- Demander l'autorisation de connexion a la freebox (cf: cadrant led du Freebox Server)
- Récuperer une session pour utiliser les divers services de l'API
$App = new \alphayax\freebox\utils\Application( 'com.alphayax.freebox.example', 'Freebox PHP API Exemple', '0.0.1'); $App->authorize(); $App->openSession();
Accès local
L'accès local est activé par défaut. Une fois l'application créée et la session ouverte, vous pouvez utiliser directement les services auquels l'application à acces.
Accès distant
Pour pouvoir utiliser l'accès distant, il vous faudra le token associé a votre application.
Ce token s'obtient automatiquement après l'association faite via l'appel à la méthode authorize().
Le token est ecrit dans le fichier app_token. Il est également disponible via la methode \alphayax\freebox\utils\Application::getAppToken().
Une fois le token obtenu, vous pouvez proceder comme suit :
$App = new \alphayax\freebox\utils\Application( 'com.alphayax.freebox.version', 'Freebox PHP API Example (Version)', '1.0.0'); $App->setFreeboxApiHost( 'https://xxx.freeboxos.fr:17105'); // A remplacer par votre host $App->setAppToken( 'xxxxxxxxxxxxxxxxxxxx'); // A remplacer par votre token $App->openSession();
Services
Les appels aux services de l'API se font par l'intermédiaire de services. Ces derniers possedent les méthodes pour récuperer, ajouter ou mettre a jour des données.
Voici un exemple d'utilisation de l'API System :
- Nous créons un nouveau service "System"
- Nous demandons de récuperer la configuration actuelle
- Affichage du modele retourné
$System = new \alphayax\freebox\api\v3\services\config\System( $App); $SystemConfig = $System->getConfiguration(); print_r( $SystemConfig);
Résultat :
alphayax\freebox\api\v3\models\SystemConfig Object ( [firmware_version:protected] => 3.3.1 [mac:protected] => 77:77:77:77:77:77 [serial:protected] => 7777777777777777 [uptime:protected] => 44 jours 16 heures 35 minutes 16 secondes [uptime_val:protected] => 3861316 [board_name:protected] => fbxgw2r [temp_cpum:protected] => 63 [temp_sw:protected] => 52 [temp_cpub:protected] => 58 [fan_rpm:protected] => 2253 [box_authenticated:protected] => 1 )
Exemples
Les exemples sont disponibles dans le repertoire exemple. Ils sont classés par services :
AirMedia: Exemple de lancement d'une video sur le Freebox PlayerCall:Call: Liste les appels recus et emis sur la freebox (avec exemple de supression et de marquage comme lu)Contact: Liste les contacts, ajoute et retire un numéro de téléphone au premier contact de la liste
FileSystemfileSharing: Un exemple de partage de fichier sur le netfsListing: Un exemple de scan de repertoires de la freeboxfsOperation: Un exemple d'operations sur le fichiers (copies, déplacement, renommage, par2..)
configcheck_dns: Un script pour récuperer la configuration courrante du DHCPConnection: Récupere diverses informations sur la connexion de la freebox (xDSL, FTTH, DynDns...)DMZ: Récupération de la configuration de votre zone démilitariséeFreeplug: Affichage de votre configuration de FreeplugIncomingPort: Retourne la configuration actuelle du port d'entrée HTTPLCD: Exemple de modification de la luminosité du cadrant LCD de la freebox serverLAN: Configuration du LAN et exploration des machines en réseauPortForwarding: Exemple d'ajout d'une redirection de portSystem: Affichage de la configuration système de la freeboxUPnP: Affichage des configuration UPnPVPN: Affiche la configuration des serveurs VPN, liste les utilisateurs...WiFi: Affiche la configuration globale du wifi
downloadDownload: Listage des téléchargement en cours, liste des fichiers d'un téléchargement et mise a jour de la priorité de téléchargementDlConfig: Affichage des configurations de téléchargement (bt, nntp...)dl_rss: Un script qui parse les flux RSS et qui rajoute en téléchagement les items correspondant a une expression réguliereBittorrent: Affiche des infos sur des telechargements bittorent
ParentalControlFilter: Retourne la config et les filtres actuels
StorageDisk: Retourne des informations sur les disques connectés aux freeboxPartition: Retourne des infos sur ces disques. Possibilité de verification ou de formatage
remote: Un exemple de connexion distantversion: Affichage de la version de l'API de la freebox
Freebox Delta et accès aux objets connectés
Pour accéder aux objets connectés, vous devez autoriser l'application à y accéder.
Pour ce faire, allez dans l'interface d'administration de la freebox après avoir
obtenu votre clé API, puis rendez vous dans Paramètres de la Freebox /
Gestion des accès / Application puis autorisez
Gestion de l'alarme et maison connectée.
alphayax/freebox_api_php 适用场景与选型建议
alphayax/freebox_api_php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 407 次下载、GitHub Stars 达 12, 最近一次更新时间为 2016 年 05 月 09 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「rest」 「api」 「download」 「freebox」 「Freebox revolution」 「Freebox delta」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 alphayax/freebox_api_php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 alphayax/freebox_api_php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 alphayax/freebox_api_php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The NzoFileDownloaderBundle is a Symfony Bundle used to Download all types of files from servers and Web applications safely and with ease. You can also read/show the file content in the Web Browser.
Adds a download link next to assets
A PSR-7 compatible library for making CRUD API endpoints
Api bundle
Based on Youtube-dl and FFMPEG. Downloads Youtube and Facebook videos from the url.
PHP library to efficiently stream contents from an AWS S3 bucket or folder as a zip file
统计信息
- 总下载量: 407
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 14
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-05-09