{"id":21093960,"url":"https://github.com/ashenblade/tpcon","last_synced_at":"2025-10-06T17:02:19.279Z","repository":{"id":38409897,"uuid":"435120333","full_name":"ashenBlade/tpcon","owner":"ashenBlade","description":"CLI for Tp-Link routers","archived":false,"fork":false,"pushed_at":"2022-09-15T18:39:51.000Z","size":485,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-03-11T17:06:01.955Z","etag":null,"topics":["cli","csharp","fsharp","network","router"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashenBlade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-05T09:10:46.000Z","updated_at":"2023-02-19T13:37:17.000Z","dependencies_parsed_at":"2022-08-25T02:50:17.838Z","dependency_job_id":null,"html_url":"https://github.com/ashenBlade/tpcon","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashenBlade%2Ftpcon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashenBlade%2Ftpcon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashenBlade%2Ftpcon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashenBlade%2Ftpcon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashenBlade","download_url":"https://codeload.github.com/ashenBlade/tpcon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225433475,"owners_count":17473599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","csharp","fsharp","network","router"],"created_at":"2024-11-19T22:14:41.783Z","updated_at":"2025-10-06T17:02:14.233Z","avatar_url":"https://github.com/ashenBlade.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TpCon\n\n**tpcon** - CLI утилита для управления роутерами TpLink\n\nВ реализации используется парсинг HTML страницы и имитация HTTP запросов\n\n\u003chr\u003e\n\n## Зависимости\n\nДля запуска приложения необходимо иметь .NET Core 6 Runtime\n\n## Установка\n\n### Из исходных файлов\n\n1. Запусить из корня проекта\n\n```shell\n  cd src/TpLinkConsole.Console\n  dotnet publish -c Release -o tpcon\n```\n\n2. Скопировать созданные файлы из папки `tpcon` в папку,\n   из которой планируется запускать приложение.\n   В примере, папка `software`\n\n```shell\ncp tpcon ~/software -r\n```\n\n## Команды\n\n### Поддерживаемые команды\n\n#### health\n\nПроверить подключение к роутеру\n\nПечатает:\n\n- `Подключение: False` - нет подключения\n- `Подключение: True` - есть подкючение\n\n#### refresh\n\nПерезагрузить роутер.\nПерезагрузка нужна для применения некоторых команд.\nНапример, после изменения пароля: `wlan password \"P@ssw0rd\"`\n\n#### wlan\n\n- **wlan status**\n\nПолучить информацию о статусе беспроводной сети Wi-Fi:\nssid, безопасность, питание\n\n- **wlan enable**\n\nВключить Wi-Fi\n\n- **wlan disable**\n\nВыключить Wi-Fi\n\n- **wlan security**\n  - **wlan security none** - выключить защиту\n  - **wlan security personal** - установить тип безопасности WPA/WPA2 Personal\n    - Аргументы\n      - *--password* - установить пароль\n      - *--encryption* - шифрование. Поддерживаемые типы: \"tkip\", \"aes\", \"auto\" (по умолчанию)\n      - *--version* - тип WPA. Поддерживаемые типы: \"wpa\", \"wpa2\", \"auto\" (по умолчанию)\n      - *--group-key-update-interval* - период обновления группового ключа. Должен быть либо 0 (по умолчанию), либо\n        больше 30\n  - **wlan security enterprise** - установить тип безопасности WPA/WPA2 Enterprise\n    - Аргументы\n      - *--radius-password* - пароль RADIUS сервера\n      - *--radius-port* - порт RADIUS сервера. По умолчанию - 1812\n      - *--radius-ip* - IP адрес RADIUS сервера\n      - *--encryption* - шифрование. Поддерживаемые типы: \"tkip\", \"aes\", \"auto\" (по умолчанию)\n      - *--version* - тип защиты. Поддерживаемые типы: \"wpa\", \"wpa2\", \"auto\" (по умолчанию)\n      - *--group-key-update-interval* - период обновления группового ключа. Должен быть либо 0 (по умолчанию), либо\n        больше 30\n  - **wlan security wep** - установить защиту WEP\n    - Аргументы\n      - *--auth-type* - тип аутентификации. Поддерживаемые значения: \"shared-key\", \"open-system\", \"auto\" (по умолчанию)\n      - *--key-format* - формат ключа. Поддерживаемые значения: \"ascii\", \"hex\" (по умолчанию)\n      - *--key{number}* - значение ключа с номером number. Например, для ключа 1 - `--key1`\n      - *--length{number}* - длина ключа с номером number. Поддерживаемые значения: (\"bit64\", \"64\", \"64bit\"), (\"bit128\"\n        , \"\n        128\", \"128bit\"), (\"bit152\", \"152\", \"152bit\"), \"disabled\" (по умолчанию). В скобках указаны эквивалентные\n        значения\n        Общее число поддерживаемых ключей - 4 (1, 2, 3, 4)\n      - *--selected* - номер ключа, который будет использоваться. Обязателен. Должен указывать на созданный с\n        помощью `--key{number}` ключ\n\n- **wlan ssid {*new ssid*}**\n\nУстановить новый Wi-Fi SSID (название Wi-Fi)\n\nПример: `wlan ssid \"Some New SSID\"`\n\n#### lan\n\n- **lan status**\n\nПоказать информацию о локальной сети: локальный адрес роутера, маска подсети, MAC адрес роутера\n\n- **lan ip {*new-ip*}**\n\nПоставить новый локальный IP адрес роутера.\nIP адрес указать в виде 4 десятичный чисел разделенных точкой.\n\nПример: `lan ip 192.168.0.4`\n\n- **lan mask**\n\nУстановить маску подсети. Маска указывается в виде IP адреса\n\nПример: `lan mask 255.255.240.0`\n\n### Общие опции\n\n- **--router-address \"*router local ip address*\"**\n\nIP адрес роутера для подключения.\n\nПо умолчанию: 192.168.0.1\n\n- *--router-username \"*admin username*\"*\n\nИмя администратора роутера.\nТо имя, которое вводишь при входе на страницу управления роутером.\n\nПо умолчанию: admin\n\n- *--router-password \"*admin password*\"*\n\nПароль администратора роутера.\nПароль, который вводишь при входе на страницу управления роутером.\n\nПо умолчанию: admin\n\n- --output \"*output style*\"\n\nТип форматирования используемый при выводе.\n\nПоддерживаемые форматы:\n\n- table - табличный вывод. По умолчанию\n- json - в формате JSON\n- xml - в формате XML\n- plain - в формате ключ-значение\n\nПри выборе `plain` можно указать разделитель:\n\n- --delimiter - строка разделителя. По умолчанию - \": \"\n\nПримеры:\n\n- `--output table`\n- `--output plain --delimiter \" - \"`\n\n### Описания команд\n\nДля получения описания команд указать аргумент **--help**\n\n```shell\n~$ tpcon lan --help\n\nКоманда:\n        lan\nОписание:\n\n        status - Получить статус локальной сети\n        ip - Установить новый локальный адрес роутера. IP адрес задается в виде 4 чисел в диапазоне 0-255, разделенных точками. Пример: 192.168.0.1\n        mask - Изменить маску сети локальной сети. Маска задается в виде Wildcard. Например: 255.255.240.0\n```\n\n### ВНИМАНИЕ\n\nКоманды были опробованы для [TpLink TLWR741ND](https://www.tp-link.com/ru/home-networking/wifi-router/tl-wr741nd/).\nДругие версии могут не поддерживаться, нарушить работу роутера и сломать его.\nИспользуйте это приложение на свой страх и риск.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashenblade%2Ftpcon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashenblade%2Ftpcon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashenblade%2Ftpcon/lists"}