The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WWW::FBX::Role::API::APIv3 - Freebox API v3

SYNOPSIS

    with 'WWW::FBX::Role::API::APIv3';

DESCRIPTION

WWW::FBX::Role::API::APIv3 is the freebox6 API version 3 as a Moose Role

API

API documentation is given here: http://dev.freebox.fr/sdk/os/ The following methods are currently implemented in this library:

RRD

get rrd stats

 $fbx->rrd( { db => "temp", fields => [ "cpub" ], precision => 1 } );

call and contacts

call log

 $fbx->call_log;

contact

 $fbx->contact;

connection

connection

 $res = $fbx->connection;

connection config

 $res = $fbx->connection_config;

connection ipv6 config

 $fbx->connection_ipv6_config;

connection xdsl

 $fbx->connection_xdsl;

connection ftth

 $fbx->connection_ftth;

update connection config

 $res = $fbx->upd_connection({ping=>\1});

update connection ipv6 config

 $res = $fbx->upd_ipv6_config({ipv6_enabled=>\0});

connection dyndns noip

 $res = $fbx->connection_dyndns("noip/status");

connection dyndns noip

 $res = $fbx->upd_connection_dyndns("noip/status", {enabled=>\0});

dhcp

dhcp config

 $fbx->dhcp_config;

dhcp static lease

 $fbx->dhcp_static_lease;

dhcp dynamic lease

 $fbx->dhcp_dynamic_lease;

download

downloads

 $fbx->downloads;

downloads config

 $fbx->downloads_config;

downloads stats

 $fbx->downloads_stats;

download feeds

 $fbx->downloads_feeds;

downloads config

 $res = $fbx->downloads_config;

download tasks

 $res = $fbx->get_download_task;

download add

 $res = $fbx->add_download_task( { download_url => "http://cdimage.debian.org/debian-cd/current/arm64/bt-cd/debian-8.4.0-arm64-CD-1.iso.torrent"} );

update downloads config

 $res = $fbx->upd_downloads_config({max_downloading_tasks => $max_dl_tasks});

update throttling

 $res = $fbx->upd_downloads_throttle( "schedule" );

download tasks

 $res = $fbx->get_download_task;

download task

 $res = $fbx->get_download_task( $id );

download task log

 $res = $fbx->get_download_task( "$id/log" );

downloads update

 $fbx->upd_download_task( $id, { io_priority => "high" } );

get download task files

 $res = $fbx->get_download_task("$id/files") ;

update priority of download file

 $res = $fbx->change_prio_download_file( "$id/files/$id_file", { priority=>"high"} );

downloads task del

 $res = $fbx->del_download_task( $id );

download add by local file

 $res = $fbx->add_download_task_file( {download_file => [ "mine/debian-8.4.0-arm64-netinst.iso.torrent" ] });

download tracker

 $res = $fbx->get_download_task( "$id/trackers");

download peers

 $res = $fbx->get_download_task( "$id/peers");

downloads task del with file erase

 $fbx->del_download_task( "$id/erase" );

download feed

 $res = $fbx->downloads_feeds;

add feed

 $res = $fbx->add_feed( "http://www.esa.int/rssfeed/Our_Activities/Space_News" );

update feed

 $fbx->upd_feed( $id , {auto_download=> \1} );

download feed

 $res = $fbx->downloads_feeds("$id/items");

refresh feed

 $fbx->refresh_feed( "$id/fetch" );

refresh all feeds

 $fbx->refresh_feeds;

download feed items

 $fbx->downloads_feeds("$id/items");

update a feed item

 $fbx->upd_feed("$id/items/$id_file");

download a feed item

 $fbx->download_feed_item("$id/items/$id_file/download");

mark all items as read

 $fbx->mark_all_read( "$id/items/mark_all_as_read" );

del feed

 $fbx->del_feed( $id );

download file to disk

 $res = $fbx->download_file( "Disque dur/Photos/cyril/DSCF4322.JPG" );

download file to disk

 $res = $fbx->download_file( "Disque dur/Photos/cyril/DSCF4321.JPG" );

get upload id

 $res = $fbx->upload_auth( {upload_name => "DSCF4322.JPG", dirname => "/Disque dur/"} );

upload file by upload id

 $res = $fbx->upload_file( {id=> $res->{id}, filename=>"DSCF4322.JPG"});

upload file directly

 $res = $fbx->upload_file( {filename => "DSCF4321.JPG", dirname => "/Disque dur/"} );

freeplugs

list freeplugs

 $fbx->freeplugs_net;

get a particular freeplugs

 $fbx->freeplugs_net("F4:CA:E5:1D:46:AE");

reset freeplug

 $fbx->reset_freeplug("F4:CA:E5:1D:46:AE");

fs

fs tasks

 $fbx->fs_tasks;

fs task

 $fbx->fs_tasks(12);

del fs task

 $fbx->del_task(12);

update fs task

 $fbx->upd_task(12, state=>"paused"});

list files

 $res = $fbx->list_files("Disque dur/");

file info

 $res = $fbx->file_info("Disque dur/Photos/Sydney/DSCF4323.JPG");

file move

 $res = $fbx->mv( {files=>[ qw/a.txt b.txt/ ], dst => "/Disque dur/directory", mode => "overwrite" } );

file cp

 $res = $fbx->cp( {files=>[ qw/a.txt b.txt/ ], dst => "/Disque dur/directory", mode => "overwrite" } );

file archive

 $res = $fbx->archive( {files=>[ qw/a.txt b.txt/ ], dst => "/Disque dur/archive.zip", mode => "overwrite" } );

file rm

 $res = $fbx->rm( {files=>[ qw/a.txt b.txt/ ] } );

file cat

 $res = $fbx->cat( {files=>[ qw/a.txt b.txt/ ], dst=>"/Disque dur/file", multi_volumes=\0, delete_files=>\0, append=>\1, overwrite=>\0 } );

file extract

 $res = $fbx->cat( { src => "foo.iso", dst=>"/Disque dur/directory", password =>"", delete_archive=>\0, overwrite=>\0 } );

file repair

 $res = $fbx->repair( { src => "foo.iso.par2", delete_archive=>\0 } );

file hash

 $res = $fbx->hash( { src => "foo.iso", hash_type=>"md5" } );

mkdir

 $res = $fbx->mkdir( { parent => "/Disque dur/", dirname => "directory" } );

rename

 $res = $fbx->rename( { src => "/Disque dur/a.txt", dst => "b.txt' } );

download RAW file not JSON!

 $res = $fbx->download_file("Disque dur/Photos/cyril/DSCF4322.JPG");

ftp

ftp config

 $fbx->ftp_config;

lan

lan config

 $res = $fbx->lan_config;

lan browser interfaces

 $res = $fbx->lan_browser_interfaces;

lan browser interfaces pub

 $res = $fbx->list_hosts( $net );

get host information

 $res = $fbx->list_hosts("$net/$id");

update host information

 $res = $fbx->upd_host("$net/$id", { id => $id , host_type => "networking_device" });

update lan config

 $res = $fbx->upd_lan_config( {mode=>"router"} );

send wol

 $res = $fbx->wol_host( $net, {mac => "B8:27:EB:73:8C:4E"} );

lcd

lcd

 $res = $fbx->lcd;

lcd brightness back

 $fbx->set_lcd({ brightness => $res->{brightness} });

nat

fw dmz

 $fbx->fw_dmz;

fw all redir

 $fbx->fw_redir;

fw redir

 $fbx->fw_redir(0);

fw all incoming

 $fbx->fw_incoming;

fw incoming

 $fbx->fw_incoming("bittorent-main");

parental

parental config

 $fbx->parental_config;

parental filter

 $fbx->parental_filter;

share

 $fbx->share_link;

upload status

 $fbx->upload;

upload status of a task

 $fbx->upload(1);

airmedia config

 $fbx->airmedia_config;

airmedia receivers

 $fbx->airmedia_receivers;

shares

netshare samba

 $res = $fbx->netshare_samba;

netshare afp

 $fbx->netshare_afp;

storage

storage disk

 $fbx->storage_disk;

storage partition

 $fbx->storage_partition;

switch

switch status

 $res = $fbx->switch_sts;

switch port config

 $res = $fbx->switch_port(1);

switch port stats

 $res = $fbx->switch_port("1/stats/");

set switch port config

 $res = $fbx->set_switch_port(1 , {duplex=>"auto"} );

system

get system info

 $fbx->system;

reboot system

 $fbx->reboot;

upnp

upnpigd config

 $fbx->upnpigd_config;

upnpigd redir

 $fbx->upnpigd_redir;

upnpav

upnpav

 $res=$fbx->upnpav;

set upnpav

 $fbx->set_upnpav($res->{enabled});

vpn

vpn

 $fbx->vpn;

vpn user

 $fbx->vpn_user;

vpn ip_pool

 $fbx->vpn_ip_pool;

vpn client config

 $fbx->vpn_client_config;

vpn client status

 $fbx->vpn_client_status;

vpn client log

 $fbx->vpn_client_log;

wifi

wifi config

 $fbx->wifi_config;

wifi ap list

 $fbx->wifi_ap;

wifi ap

 $fbx->wifi_ap(0);

wifi ap allowed combinations

 $fbx->wifi_ap( "0/allowed_channel_comb" );

wifi ap connected stations

 $fbx->wifi_ap( "0/stations" );

wifi ap neighbors

 $fbx->wifi_ap( "0/neighbors" );

wifi ap channel usage

 $fbx->wifi_ap( "0/channel_usage" );

wifi all bss

 $fbx->wifi_bss;

wifi of a bss

 $fbx->wifi_bss( "00:24:D4:AA:BB:CC" );

wifi planning

 $fbx->wifi_planning;

wifi mac filter

 $fbx->wifi_mac_filter;

LICENSE

Copyright (C) Laurent Kislaire.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Laurent Kislaire <teebeenator@gmail.com>