freebox_api 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -402,282 +402,18 @@ static_lease.create({
402
402
  FreeboxApi::Configuration::Dhcp.dynamic_leases(mySession)
403
403
  ```
404
404
 
405
+ #### FTP
405
406
 
406
- OLD API
407
- =======
408
-
409
-
410
- ### Ftp
411
-
412
- #### Ftp config API
413
-
414
- ##### Get the current Ftp configuration
415
- [X] GET /api/v1/ftp/config/
407
+ ##### Get the current FTP configuration
416
408
 
417
409
  ```ruby
418
- config.show('ftp')
410
+ FreeboxApi::Configuration::Ftp.getConfig(mySession)
419
411
  ```
420
412
 
421
- ##### Update the FTP configuration
422
- [X] PUT /api/v1/ftp/config/
413
+ ##### Update the current FTP configuration
423
414
 
424
415
  ```ruby
425
- config.update('ftp', {
426
- :enabled => true
427
- })
428
- ```
429
-
430
- ### NAT
431
-
432
- #### Dmz Config API
433
-
434
- ##### Get the current Dmz configuration
435
- [X] GET /api/v1/fw/dmz/
436
-
437
- ```ruby
438
- config.show('dmz')
439
- ```
440
-
441
- ##### Update the current Dmz configuration
442
- [X] PUT /api/v1/fw/dmz/
443
-
444
- ```ruby
445
- config.update('dmz', {
416
+ FreeboxApi::Configuration::Ftp.updateConfig(mySession, {
446
417
  :enabled => true,
447
- :ip => '192.168.1.42',
448
- })
449
- ```
450
-
451
- ### Port Forwarding
452
-
453
- #### Port Forwarding API
454
-
455
- ##### Getting the list of port forwarding
456
- [X] GET /api/v1/fw/redir/
457
-
458
- ```ruby
459
- port_forwardings = FreeboxApi::Resources::PortForwarding.new(mySession)
460
- port_forwardings.index
461
- ```
462
-
463
- ##### Getting a specific port forwarding
464
- [X] GET /api/v1/fw/redir/{redir\_id}
465
-
466
- ```ruby
467
- port_forwardings.show(1)
468
- ```
469
-
470
- ##### Updating a port forwarding
471
- [X] PUT /api/v1/fw/redir/{redir\_id}
472
-
473
- ```ruby
474
- port_forwardings.update({
475
- :id => 1,
476
- :enabled => false,
477
418
  })
478
419
  ```
479
-
480
- ##### Add a port forwarding
481
- [X] POST /api/v1/fw/redir/
482
-
483
- ```ruby
484
- port_forwardings.create({
485
- :enabled => true,
486
- :comment => 'test',
487
- :lan_port => 4242,
488
- :wan_port_end => 4242,
489
- :wan_port_start => 4242,
490
- :lan_ip => '192.168.1.42',
491
- :ip_proto => 'tcp',
492
- })
493
- ```
494
-
495
- ##### Delete a port forwarding
496
- [X] DELETE /api/v1/fw/redir/{redir\_id}
497
-
498
- ```ruby
499
- port_forwardings.destroy(3)
500
- ```
501
-
502
- ### UPnP IGD
503
-
504
- #### UPnP IGD config API
505
-
506
- ##### Get the current UPnP IGD configuration
507
- [X] GET /api/v1/upnpigd/config/
508
-
509
- ```ruby
510
- config.show('upnpigd')
511
- ```
512
-
513
- ##### Update the UPnP IGD configuration
514
- [X] PUT /api/v1/upnpigd/config/
515
-
516
- ```ruby
517
- config.update('upnpigd', {
518
- :enabled => true,
519
- })
520
- ```
521
-
522
- #### UPnP IGD Redirection API
523
-
524
- ##### Get the list of current redirection
525
- [X] GET /api/v1/upnpigd/redir/
526
-
527
- ```ruby
528
- upnp_redir = FreeboxApi::Resources::UPnPRedir.new(mySession)
529
- upnp_redir.index
530
- ```
531
-
532
- ##### Delete a redirection
533
- [X] DELETE /api/v1/upnpigd/redir/{id}
534
-
535
- ```ruby
536
- upnp_redir.destroy('0.0.0.0-53644-udp')
537
- ```
538
-
539
- ### LCD
540
-
541
- #### LCD config API
542
-
543
- ##### Get the current LCD configuration
544
- [X] GET /api/v1/lcd/config/
545
-
546
- ```ruby
547
- config.show('lcd')
548
- ```
549
-
550
- ##### Update the lcd configuration
551
- [X] PUT /api/v1/lcd/config/
552
-
553
- ```ruby
554
- config.update('lcd', {
555
- :brightness => 50,
556
- })
557
- ```
558
-
559
- ### Network Share
560
-
561
- #### Samba config API
562
-
563
- ##### Get the current Samba configuration
564
- [X] GET /api/v1/netshare/samba/
565
-
566
- ```ruby
567
- config.show('samba')
568
- ```
569
-
570
- ##### Update the Samba configuration
571
- [X] PUT /api/v1/netshare/samba/
572
-
573
- ```ruby
574
- config.update('samba', {
575
- :print_share_enabled => false,
576
- })
577
- ```
578
-
579
- #### Afp config API
580
-
581
- ##### Get the current Afp configuration
582
- [X] GET /api/v1/netshare/afp/
583
-
584
- ```ruby
585
- config.show('afp')
586
- ```
587
-
588
- ##### Update the Afp configuration
589
- [X] PUT /api/v1/netshare/afp/
590
-
591
- ```ruby
592
- config.update('afp', {
593
- :guest_allow => false,
594
- })
595
- ```
596
-
597
- ### UPnP AV
598
-
599
- #### UPnP AV config API
600
-
601
- ##### Get the current UPnP AV configuration
602
- [X] GET /api/v1/upnpav/config/
603
-
604
- ```ruby
605
- config.show('upnpav')
606
- ```
607
-
608
- ##### Update the UPnP AV configuration
609
- [X] PUT /api/v1/upnpav/config/
610
-
611
- ```ruby
612
- config.update('upnpav', {
613
- :enabled => false,
614
- })
615
- ```
616
-
617
- ### Switch
618
-
619
- #### Switch API
620
-
621
- ##### Get the current switch status
622
- [ ] GET /api/v1/switch/status/
623
-
624
- ##### Get a port configuration
625
- [ ] GET /api/v1/switch/port/{id}
626
-
627
- ##### Update a port configuration
628
- [ ] PUT /api/v1/switch/port/{id}
629
-
630
- ##### Get a port stats
631
- [ ] GET /api/v1/switch/port/{id}/stats
632
-
633
- ### Wi-Fi
634
-
635
- #### Wi-Fi Status API
636
-
637
- ##### Get the current Wi-Fi status
638
- [ ] GET /api/v1/wifi/
639
-
640
- #### Wi-Fi config API
641
-
642
- ##### Get the current Wi-Fi configuration
643
- [X] GET /api/v1/wifi/config/
644
-
645
- ```ruby
646
- config.show('wifi')
647
- ```
648
-
649
- ##### Update the Wi-Fi configuration
650
- [X] PUT /api/v1/wifi/config/
651
-
652
- ```ruby
653
- config.update('wifi', {
654
- :ap_params => {
655
- :ht_mode => 'disabled',
656
- }
657
- })
658
- ```
659
-
660
- ##### Reset the Wi-Fi configuration
661
- [ ] POST /api/v1/wifi/config/reset/
662
-
663
- #### Wi-Fi Stations API
664
-
665
- ##### Get Wi-Fi Stations List
666
- [ ] GET /api/v1/wifi/stations/{bss\_name}/
667
-
668
- #### Wi-Fi MAC Filter API
669
-
670
- ##### Get the MAC filter list
671
- [ ] GET /api/v1/wifi/mac\_filter/
672
-
673
- ##### Getting a particular MAC filter
674
- [ ] GET /api/v1/wifi/mac\_filter/{filter\_id}
675
-
676
- ##### Updating a MAC filter
677
- [ ] PUT /api/v1/wifi/mac\_filter/{filter\_id}
678
-
679
- ##### Delete a MAC filter
680
- [ ] DELETE /api/v1/wifi/mac\_filter/{filter\_id}
681
-
682
- ##### Create a new MAC filter
683
- [ ] POST /api/v1/wifi/mac\_filter/
@@ -0,0 +1,19 @@
1
+ module FreeboxApi
2
+
3
+ module Configuration
4
+
5
+ module Ftp
6
+
7
+ def self.getConfig(session)
8
+ session.http_call('get', '/ftp/config/')
9
+ end
10
+
11
+ def self.updateConfig(session, value)
12
+ session.http_call('put', '/ftp/config/', value)
13
+ end
14
+
15
+ end
16
+
17
+ end
18
+
19
+ end
@@ -1,3 +1,3 @@
1
1
  module FreeboxApi
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.3'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freebox_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -54,21 +54,13 @@ files:
54
54
  - README.md
55
55
  - freebox_api.gemspec
56
56
  - lib/freebox_api.rb
57
- - lib/freebox_api/application.rb
58
- - lib/freebox_api/config.rb
59
57
  - lib/freebox_api/configuration.rb
60
58
  - lib/freebox_api/configuration/connection.rb
61
59
  - lib/freebox_api/configuration/dhcp.rb
62
60
  - lib/freebox_api/configuration/freeplug.rb
61
+ - lib/freebox_api/configuration/ftp.rb
63
62
  - lib/freebox_api/configuration/lan.rb
64
63
  - lib/freebox_api/freebox.rb
65
- - lib/freebox_api/resources/freeplug.rb
66
- - lib/freebox_api/resources/freeplug_network.rb
67
- - lib/freebox_api/resources/interface.rb
68
- - lib/freebox_api/resources/lan_host.rb
69
- - lib/freebox_api/resources/port_forwarding.rb
70
- - lib/freebox_api/resources/static_lease.rb
71
- - lib/freebox_api/resources/upnp_redir.rb
72
64
  - lib/freebox_api/session.rb
73
65
  - lib/freebox_api/version.rb
74
66
  homepage: http://github.com/mcanevet/freebox_api
@@ -1,15 +0,0 @@
1
- require 'rest_client'
2
- require 'json'
3
-
4
- module FreeboxApi
5
-
6
- class Application < Hash
7
-
8
- def initialize(hash = {})
9
- self[:app_id] = hash[:app_id]
10
- self[:app_token] = hash[:app_token]
11
- end
12
-
13
- end
14
-
15
- end
@@ -1,34 +0,0 @@
1
- module FreeboxApi
2
-
3
- class Config
4
-
5
- def initialize(session)
6
- @session = session
7
- end
8
-
9
- def url(service)
10
- case service
11
- when 'ipv6'
12
- '/connection/ipv6/config/'
13
- when /^ddns\//
14
- "/connection/#{service}/"
15
- when 'dmz'
16
- '/fw/dmz/'
17
- when 'samba', 'afp'
18
- '/netshare/samba/'
19
- else
20
- "/#{service}/config/"
21
- end
22
- end
23
-
24
- def show(service)
25
- @session.http_call('get', url(service))
26
- end
27
-
28
- def update(service, params = {})
29
- @session.http_call('put', url(service), params)
30
- end
31
-
32
- end
33
-
34
- end
@@ -1,29 +0,0 @@
1
- module FreeboxApi
2
-
3
- module Resources
4
-
5
- class Freeplug
6
-
7
- def initialize(session)
8
- @session = session
9
- end
10
-
11
- def index
12
- FreeplugNetwork.new(session).collect { |freeplug_network|
13
- freeplug_network['members']
14
- }.flatten
15
- end
16
-
17
- def show(id)
18
- @session.http_call('get', "/freeplug/#{id}/")
19
- end
20
-
21
- def reset(id)
22
- @session.http_call('post', "/freeplug/#{id}/reset/")
23
- end
24
-
25
- end
26
-
27
- end
28
-
29
- end
@@ -1,20 +0,0 @@
1
- module FreeboxApi
2
-
3
- module Resources
4
-
5
- class FreeplugNetwork
6
-
7
- def initialize(session)
8
- @session = session
9
- end
10
-
11
- def index
12
- @session.http_call('get', '/freeplug/')
13
- end
14
-
15
- end
16
-
17
- end
18
-
19
- end
20
-
@@ -1,19 +0,0 @@
1
- module FreeboxApi
2
-
3
- module Resources
4
-
5
- class Interface
6
-
7
- def initialize(session)
8
- @session = session
9
- end
10
-
11
- def index
12
- @session.http_call('get', '/lan/browser/interfaces')
13
- end
14
-
15
- end
16
-
17
- end
18
-
19
- end
@@ -1,29 +0,0 @@
1
- module FreeboxApi
2
-
3
- module Resources
4
-
5
- class LanHost
6
-
7
- def initialize(session)
8
- @session = session
9
- end
10
-
11
- def index
12
- Interface.new(@session).index.collect { |interface|
13
- @session.http_call('get', "/lan/browser/#{interface['name']}")
14
- }.flatten
15
- end
16
-
17
- def show(id, interface = 'pub')
18
- @session.http_call('get', "/lan/browser/#{interface}/#{id}/")
19
- end
20
-
21
- def update(params = {}, interface = 'pub')
22
- @session.http_call('put', "/lan/browser/#{interface}/#{params['id']}", params)
23
- end
24
-
25
- end
26
-
27
- end
28
-
29
- end
@@ -1,35 +0,0 @@
1
- module FreeboxApi
2
-
3
- module Resources
4
-
5
- class PortForwarding
6
-
7
- def initialize(session)
8
- @session = session
9
- end
10
-
11
- def index
12
- @session.http_call('get', '/fw/redir/')
13
- end
14
-
15
- def show(id)
16
- @session.http_call('get', "/fw/redir/#{id}")
17
- end
18
-
19
- def update(params = {})
20
- @session.http_call('put', "/fw/redir/#{params['id']}", params)
21
- end
22
-
23
- def destroy(id)
24
- @session.http_call('delete', "/fw/redir/#{id}")
25
- end
26
-
27
- def create(params = {})
28
- @session.http_call('post', '/fw/redir/', params)
29
- end
30
-
31
- end
32
-
33
- end
34
-
35
- end
@@ -1,35 +0,0 @@
1
- module FreeboxApi
2
-
3
- module Resources
4
-
5
- class StaticLease
6
-
7
- def initialize(session)
8
- @session = session
9
- end
10
-
11
- def index
12
- @session.http_call('get', '/dhcp/static_lease/') || []
13
- end
14
-
15
- def show(id)
16
- @session.http_call('get', "/dhcp/static_lease/#{id}")
17
- end
18
-
19
- def update(params = {})
20
- @session.http_call('put', "/dhcp/static_lease/#{params['id']}", params)
21
- end
22
-
23
- def destroy(id)
24
- @session.http_call('delete', "/dhcp/static_lease/#{id}")
25
- end
26
-
27
- def create(params = {})
28
- @session.http_call('post', '/dhcp/static_lease/', params)
29
- end
30
-
31
- end
32
-
33
- end
34
-
35
- end
@@ -1,23 +0,0 @@
1
- module FreeboxApi
2
-
3
- module Resources
4
-
5
- class UPnPRedir
6
-
7
- def initialize(session)
8
- @session = session
9
- end
10
-
11
- def index
12
- @session.http_call('get', '/upnpigd/redir/')
13
- end
14
-
15
- def destroy(id)
16
- @session.http_call('delete', "/upnpigd/redir/#{id}")
17
- end
18
-
19
- end
20
-
21
- end
22
-
23
- end