cristianoliveira / croutera Goto Github PK
View Code? Open in Web Editor NEWSimple Cli Router Admin. To handle common Routers/Modems actions like login, restart, log in terminal.
License: MIT License
Simple Cli Router Admin. To handle common Routers/Modems actions like login, restart, log in terminal.
License: MIT License
Add support to tab autocomplete routers available.
$ croutera <TAB>
$ tplink-foo tplink-bar cisco-foo ...
See here for more details:
https://docs.python.org/2/library/rlcompleter.html
http://stackoverflow.com/questions/187621/how-to-make-a-python-command-line-program-autocomplete-arbitrary-things-not-int
http://conjurecode.com/enable-auto-complete-in-python-interpreter/
Publish package on pipy and pipytest
Changing Routers.list() to return all Router.subclasses() is the first part to make croutera more pluglable
Provide command to show current croutera version.
Plan and implement command to show wifi pass.
croutera -wifi-pass [model] [user] [pass]
Plan and provide the general interface to implement a login action.
Thinking in somenthing simple like:
python croutera.py <router-model> <ip> login -u <user> -p <pass>
Plan and provide a simple interface to implement a restart action (require login)
This action will restart the modem/router
Thinking in somenthing like:
# after login
python croutera.py restart
If you want help implementing new models here is the trick. The manufacturers always provide simulators for theirs devices. Then you can create and tests your code against this interface. โ๏ธ
Some has buttons like reboot disabled, but you can get the url to request it anyway.
TPLINK
http://www.tp-link.com/en/emulators.html
DLINK [Brazil]
http://suporte.dlink.com.br/suporte/emuladores/
Belkin
http://www.belkin.com/PYRAMID/AdvancedInfo/F5D8236-4ver3000/Interfaces/3.00.02/En/
LinkSys
http://ui.linksys.com/
Create a way to turn croutera pluggable. That means, remove routers available from the core and turn them plugins. That way everyone can contribute with their own plugins.
Change to follow somenthing like:
https://stormpath.com/blog/building-simple-cli-interfaces-in-python/
Create an option to turn it in a executable terminal command
to run:
croutera -restart foo bar boo
Plan and create a interface to show current dns services
croutera -dns-servers [model] [user] [pass]
Plan and provide a simple interface to list the connected devices
Thinkning in somenthing like:
python croutera devices-list
Then will be listed as below:
Device ID | IP | Mac Address
jonh-macbook | 192.168.100.9 | a8:7c:01:25:1c:3e
android1231 | 192.168.100.11 | 28:e3:47:32:6b:32
android12342 | 192.168.100.2 | 14:1a:a3:a8:ba:17
Change the cli to support env variables. User will set them and can execute commands like:
croutera -restart
Create also an interface to set them by croutera
croutera -set-model foo
croutera -set-user bar
croutera -set-password boo
Plan and change the classes to handle errors and show user frendly messages
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.