Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ashenblade/tpcon
CLI for Tp-Link routers
https://github.com/ashenblade/tpcon
cli csharp fsharp network router
Last synced: 2 months ago
JSON representation
CLI for Tp-Link routers
- Host: GitHub
- URL: https://github.com/ashenblade/tpcon
- Owner: ashenBlade
- License: mit
- Created: 2021-12-05T09:10:46.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-15T18:39:51.000Z (over 2 years ago)
- Last Synced: 2023-03-11T17:06:01.955Z (almost 2 years ago)
- Topics: cli, csharp, fsharp, network, router
- Language: C#
- Homepage:
- Size: 474 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TpCon
**tpcon** - CLI утилита для управления роутерами TpLink
В реализации используется парсинг HTML страницы и имитация HTTP запросов
## Зависимости
Для запуска приложения необходимо иметь .NET Core 6 Runtime
## Установка
### Из исходных файлов
1. Запусить из корня проекта
```shell
cd src/TpLinkConsole.Console
dotnet publish -c Release -o tpcon
```2. Скопировать созданные файлы из папки `tpcon` в папку,
из которой планируется запускать приложение.
В примере, папка `software````shell
cp tpcon ~/software -r
```## Команды
### Поддерживаемые команды
#### health
Проверить подключение к роутеру
Печатает:
- `Подключение: False` - нет подключения
- `Подключение: True` - есть подкючение#### refresh
Перезагрузить роутер.
Перезагрузка нужна для применения некоторых команд.
Например, после изменения пароля: `wlan password "P@ssw0rd"`#### wlan
- **wlan status**
Получить информацию о статусе беспроводной сети Wi-Fi:
ssid, безопасность, питание- **wlan enable**
Включить Wi-Fi
- **wlan disable**
Выключить Wi-Fi
- **wlan security**
- **wlan security none** - выключить защиту
- **wlan security personal** - установить тип безопасности WPA/WPA2 Personal
- Аргументы
- *--password* - установить пароль
- *--encryption* - шифрование. Поддерживаемые типы: "tkip", "aes", "auto" (по умолчанию)
- *--version* - тип WPA. Поддерживаемые типы: "wpa", "wpa2", "auto" (по умолчанию)
- *--group-key-update-interval* - период обновления группового ключа. Должен быть либо 0 (по умолчанию), либо
больше 30
- **wlan security enterprise** - установить тип безопасности WPA/WPA2 Enterprise
- Аргументы
- *--radius-password* - пароль RADIUS сервера
- *--radius-port* - порт RADIUS сервера. По умолчанию - 1812
- *--radius-ip* - IP адрес RADIUS сервера
- *--encryption* - шифрование. Поддерживаемые типы: "tkip", "aes", "auto" (по умолчанию)
- *--version* - тип защиты. Поддерживаемые типы: "wpa", "wpa2", "auto" (по умолчанию)
- *--group-key-update-interval* - период обновления группового ключа. Должен быть либо 0 (по умолчанию), либо
больше 30
- **wlan security wep** - установить защиту WEP
- Аргументы
- *--auth-type* - тип аутентификации. Поддерживаемые значения: "shared-key", "open-system", "auto" (по умолчанию)
- *--key-format* - формат ключа. Поддерживаемые значения: "ascii", "hex" (по умолчанию)
- *--key{number}* - значение ключа с номером number. Например, для ключа 1 - `--key1`
- *--length{number}* - длина ключа с номером number. Поддерживаемые значения: ("bit64", "64", "64bit"), ("bit128"
, "
128", "128bit"), ("bit152", "152", "152bit"), "disabled" (по умолчанию). В скобках указаны эквивалентные
значения
Общее число поддерживаемых ключей - 4 (1, 2, 3, 4)
- *--selected* - номер ключа, который будет использоваться. Обязателен. Должен указывать на созданный с
помощью `--key{number}` ключ- **wlan ssid {*new ssid*}**
Установить новый Wi-Fi SSID (название Wi-Fi)
Пример: `wlan ssid "Some New SSID"`
#### lan
- **lan status**
Показать информацию о локальной сети: локальный адрес роутера, маска подсети, MAC адрес роутера
- **lan ip {*new-ip*}**
Поставить новый локальный IP адрес роутера.
IP адрес указать в виде 4 десятичный чисел разделенных точкой.Пример: `lan ip 192.168.0.4`
- **lan mask**
Установить маску подсети. Маска указывается в виде IP адреса
Пример: `lan mask 255.255.240.0`
### Общие опции
- **--router-address "*router local ip address*"**
IP адрес роутера для подключения.
По умолчанию: 192.168.0.1
- *--router-username "*admin username*"*
Имя администратора роутера.
То имя, которое вводишь при входе на страницу управления роутером.По умолчанию: admin
- *--router-password "*admin password*"*
Пароль администратора роутера.
Пароль, который вводишь при входе на страницу управления роутером.По умолчанию: admin
- --output "*output style*"
Тип форматирования используемый при выводе.
Поддерживаемые форматы:
- table - табличный вывод. По умолчанию
- json - в формате JSON
- xml - в формате XML
- plain - в формате ключ-значениеПри выборе `plain` можно указать разделитель:
- --delimiter - строка разделителя. По умолчанию - ": "
Примеры:
- `--output table`
- `--output plain --delimiter " - "`### Описания команд
Для получения описания команд указать аргумент **--help**
```shell
~$ tpcon lan --helpКоманда:
lan
Описание:status - Получить статус локальной сети
ip - Установить новый локальный адрес роутера. IP адрес задается в виде 4 чисел в диапазоне 0-255, разделенных точками. Пример: 192.168.0.1
mask - Изменить маску сети локальной сети. Маска задается в виде Wildcard. Например: 255.255.240.0
```### ВНИМАНИЕ
Команды были опробованы для [TpLink TLWR741ND](https://www.tp-link.com/ru/home-networking/wifi-router/tl-wr741nd/).
Другие версии могут не поддерживаться, нарушить работу роутера и сломать его.
Используйте это приложение на свой страх и риск.