-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2ce04db
commit 9da036a
Showing
1 changed file
with
71 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,70 +1,99 @@ | ||
# PTCL-Router: | ||
# PTCL-Router-API: | ||
|
||
A PTCL-Router API. | ||
A PTCL-Router API to interact with default router interface. | ||
|
||
# Current-Features: | ||
# Usage: | ||
|
||
- Obtain station information, showing their hostnames alongside for better readability (devices currently connected to the router). | ||
- Obtain DHCP information. | ||
- Block and unblock devices using their mac addresses. | ||
- Block and unblock devices using their predefined aliases. | ||
- Reboot router. | ||
- Over-ride hostnames associated to the mac address with custom hostnames. | ||
- Display blocked devices. | ||
- Added two modes for blocking users ( CLI-MODE and SILENT-MODE (Default) ). | ||
``` | ||
Usage: ptcl.py [-h] [-b [BLOCK]] [-sb] [-u [UNBLOCK]] [-a] [-r] [-sd] | ||
[-s SHOW_ACTIVE] [-c] [-q [QUIET]] | ||
# Usage: | ||
Control PTCL router from command-line. | ||
**Shows devices connected to the router.** | ||
Options: | ||
```python | ||
>>> python ptcl.py | ||
-h, --help show this help message and exit | ||
-b [BLOCK], --block [BLOCK] | ||
Block device. | ||
-sb, --blocked_dev Display blocked devices. | ||
-u [UNBLOCK], --unblock [UNBLOCK] | ||
Unblock device. | ||
-a, --active-devices Gets number of devices connected to the router. | ||
-r, --restart Restart Router. | ||
-sd, --show-dhcp Show DHCP Info. | ||
-s SHOW_ACTIVE, --show-active SHOW_ACTIVE | ||
Show Active Devices. | ||
--configure Configure router settings. | ||
-c [CLI], --cli [CLI] | ||
CLI mode (used in conjunction with -u or -b). | ||
``` | ||
|
||
**Shows currently active devices and provides an option to block device from the display.** | ||
# Examples: | ||
|
||
```python | ||
>>> python ptcl.py -b | ||
``` | ||
>>> python ptcl.py --configure # Configure router gateway, username and password | ||
**Shows DHCP info for all devices connected in a day.** | ||
>>> python ptcl.py # Shows currently active devices. | ||
```python | ||
>>> python ptcl.py -sd | ||
``` | ||
>>> python ptcl.py -sa # Set custom aliases for mac addresses. | ||
>>> python ptcl.py -b USER # Block user from custom defined alias. | ||
>>> python ptcl.py -ub USER # Unblock user from custom defined alias. | ||
>>> python ptcl.py -b -c # Block devices from the active devices display. | ||
>>> python ptcl.py -sb # Show blocked users. | ||
**Reboots the router.** | ||
>>> python ptcl.py -sd # Show DHCP info. | ||
```python | ||
>>> python ptcl.py -r | ||
>>> python ptcl.py -r # Reboots router. | ||
``` | ||
|
||
# Current-Features: | ||
|
||
- Obtain station information, showing their hostnames alongside for better readability (devices currently connected to the router). | ||
- Obtain DHCP information. | ||
- Block and unblock devices using their mac addresses. | ||
- Block and unblock devices using their predefined aliases. | ||
- Reboot router. | ||
- Over-ride hostnames associated to the mac address with custom hostnames. | ||
- Display blocked devices. | ||
- Added two modes for blocking users ( CLI-MODE and SILENT-MODE (Default) ). | ||
|
||
# TODO: | ||
|
||
- [ ] Writing documentation for API usage. | ||
- [ ] Organizing TODO in sections. | ||
- [X] Writing documentation for API usage. | ||
- [ ] Port-Forwarding from command line. | ||
- [ ] Parsing router logs. | ||
- [X] Display number of active devices. | ||
- [X] Optimize Regular Expressions. | ||
- [ ] Obtaining Pin-Code of the router and changing it. | ||
- [ ] Displaying current password of the SSID. | ||
- [X] Setting up custom hostname for specific device (mac address). | ||
- [ ] Changing router username and password from the command-line. | ||
- [ ] Changing SSID-Name. | ||
- [ ] Adding a method to change router password. | ||
- [ ] Add CLI MODE for unblocking devices. | ||
- [ ] Changing Router SSID-Name. | ||
- [X] Add CLI MODE for unblocking devices. | ||
- [ ] Option to change frequency 2.4 Ghz or 5 Ghz. | ||
- [X] Testing on other routers from the same vendor. | ||
- [ ] Option to change router transmission power. | ||
- [ ] Improving display for blocked devices. | ||
- [ ] Exclude android devices from station info and dhcp info (Optional). | ||
- [X] Improving display for blocked devices. | ||
- [ ] Time restriction for user (by specifying or choosing from station info) device mac address or hostname. | ||
- [ ] Adding URL to block unnecessary use for a website, also time limit for a site usage. | ||
- [ ] Monitor devices connection info i.e., when they connect to the router and disconnect. Also devices uptime of the day. | ||
- [ ] Block devices who remain connected to the router for x time (6 hours). Unblock them after 6 hours. | ||
- [ ] Searching suspected users in the station info (Currently Active Devices) when speed is slow. | ||
- [ ] Getting device connection info in a nice CSV file. | ||
- [ ] Uploading CSV on cloud everyday. | ||
- [X] Setting up custom hostname for specific device (mac address). | ||
- [X] Optimize Regular Expressions. | ||
- [X] CLI MODE and SILENT MODE for blocking devices. | ||
- [X] Testing on other routers from the same vendor. | ||
- [X] Reboot router from script. | ||
- [X] Display number of active devices. | ||
- [ ] Getting devices connection info in a nice CSV file. | ||
- [X] CLI MODE and SILENT MODE for blocking devices. | ||
|
||
|
||
|
||
|
||
|