freebox_api 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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