{"id":31747483,"url":"https://github.com/cnayan/tp_link_ax1800_internet_control","last_synced_at":"2025-10-09T13:39:26.256Z","repository":{"id":92957873,"uuid":"494786355","full_name":"cnayan/tp_link_ax1800_internet_control","owner":"cnayan","description":"A Flutter project to control internet access of devices connected to TP-Link AX1800 router.","archived":false,"fork":false,"pushed_at":"2025-07-29T10:53:08.000Z","size":98,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-29T12:55:02.979Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","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/cnayan.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,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-05-21T13:08:08.000Z","updated_at":"2025-07-29T10:53:12.000Z","dependencies_parsed_at":"2023-04-12T23:16:39.129Z","dependency_job_id":null,"html_url":"https://github.com/cnayan/tp_link_ax1800_internet_control","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cnayan/tp_link_ax1800_internet_control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnayan%2Ftp_link_ax1800_internet_control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnayan%2Ftp_link_ax1800_internet_control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnayan%2Ftp_link_ax1800_internet_control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnayan%2Ftp_link_ax1800_internet_control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cnayan","download_url":"https://codeload.github.com/cnayan/tp_link_ax1800_internet_control/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cnayan%2Ftp_link_ax1800_internet_control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001480,"owners_count":26083102,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-09T13:38:54.403Z","updated_at":"2025-10-09T13:39:26.250Z","avatar_url":"https://github.com/cnayan.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TP-Link AX1800 - Internet Control\r\n\r\nA Flutter project to control internet access of devices connected to TP-Link AX1800 router.\r\n\r\nI have added Android and Windows as platform targets. You can alter them.\r\n\r\n# Credentials\r\nPlease make sure you set the credentials and IP of router correctly. Code won't build without it.\r\n\r\nFile: constants.dart\r\n\r\n```dart\r\nclass Constants {\r\n  static const routerIP = \u003cIP\u003e;\r\n  static const routerUser = \u003cUSER\u003e; //admin\r\n  static const routerPassword = \u003cPASSWORD\u003e;\r\n\r\n  static final List\u003cWhiteListedDevice\u003e unblockableDevices = [\r\n    WhiteListedDevice(\"XX-XX-XX-XX-XX-XX\", DeviceType.mobile),\r\n    WhiteListedDevice(\"YY-YY-YY-YY-YY-YY\", DeviceType.pc)\r\n  ];\r\n}\r\n```\r\n\r\nAlso, if you don't want accidental blockage of certain devices (that is in your/admin's possession), place their MAC in the `unblockableDevices` collection.\r\n\r\n# Behavior\r\nThe trick used to grant/block access of internet to devices is by placing the device in blacklist (to block) or removing it from blacklist (to grant internet access.)\r\nNote that the unblocked device has to reconnect to router to get internet. This is standard behavior of any network device and is out of scope of this project.\r\n\r\n# Supported TP Link device models\r\n* AX1800\r\n  * Firmware version: 1.3.5 Build 20211231 rel.63820(5553)\r\n* C2300\r\n  * Firmware version: Unknown\r\n\r\n# Thanks\r\nI thank [Electry](https://github.com/Electry) for providing base idea on how to communicate with my router. Apparently, AX1800 and C2300 have same API in their firmware.\r\nHis inspiring repo: https://github.com/Electry/TPLink-C2300-APIClient\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcnayan%2Ftp_link_ax1800_internet_control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcnayan%2Ftp_link_ax1800_internet_control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcnayan%2Ftp_link_ax1800_internet_control/lists"}