{"id":20688016,"url":"https://github.com/engineerjoe440/ziplyfrontierrouterstats","last_synced_at":"2025-06-16T23:02:26.002Z","repository":{"id":57823302,"uuid":"525619067","full_name":"engineerjoe440/ZiplyFrontierRouterStats","owner":"engineerjoe440","description":"Scrape Ziply/Frontier Routers for Generic Network Statistics","archived":false,"fork":false,"pushed_at":"2022-08-28T15:52:21.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T10:09:57.070Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/engineerjoe440.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":"2022-08-17T03:01:14.000Z","updated_at":"2022-08-17T05:12:12.000Z","dependencies_parsed_at":"2023-01-17T00:45:49.240Z","dependency_job_id":null,"html_url":"https://github.com/engineerjoe440/ZiplyFrontierRouterStats","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/engineerjoe440/ZiplyFrontierRouterStats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineerjoe440%2FZiplyFrontierRouterStats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineerjoe440%2FZiplyFrontierRouterStats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineerjoe440%2FZiplyFrontierRouterStats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineerjoe440%2FZiplyFrontierRouterStats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/engineerjoe440","download_url":"https://codeload.github.com/engineerjoe440/ZiplyFrontierRouterStats/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/engineerjoe440%2FZiplyFrontierRouterStats/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260256240,"owners_count":22981805,"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":[],"created_at":"2024-11-16T22:58:53.510Z","updated_at":"2025-06-16T23:02:25.954Z","avatar_url":"https://github.com/engineerjoe440.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZiplyFrontier Router Statistics Collector\n*Scrape Ziply/Frontier Routers for Generic Network Statistics*\n\nThis single-file Python utility can be used when trying to interact with Ziply\n(formerly Frontier) router devices to gather network statistics. This can be for\ngenerating data used by services like Home Assistant, for automation purposes\nsuch as configuring dynamic-DNS, etc.\n\n### Command-Line-Interface\nThis script will support being called from the command-line, directly.\n\n```shell\n$ python3 ziply.py\nWAN Summary\n--------------------------------------------------------------------------------\n    WAN Link:             Up\n    WAN Connection:       Connected\n    Link Type:            ONT WAN\n    Connection Type:      DHCP Client\n    Link Speed:           1000/Full Mbps\n...more...\n```\n\n### Functional API\nThe module may also be used directly in other scripts.\n\n```python\n# Import the Utility Function\nfrom ziply import get_router_stats_table\n\nstats_dict = get_router_stats_table(ip_addr=\"192.168.254.254\")\nprint(stats_dict)\n# Prints the following:\n# {\"WAN Summary\": {\"WAN Link\": \"Up\", \"WAN Connection\": \"Connected\",...}}\n```\n\nShould you decide that you'd rather just use the printing functionality, that's\nan option, too! You may use the printing function directly without any trouble:\n\n```python\n# Import the Printing Function\nfrom ziply import print_data_table\n\nprint_data_table(ip_addr=\"192.168.254.254\")\n# Prints the following:\n#WAN Summary\n#--------------------------------------------------------------------------------\n#    WAN Link:             Up\n#    WAN Connection:       Connected\n#    Link Type:            ONT WAN\n#    Connection Type:      DHCP Client\n#    Link Speed:           1000/Full Mbps\n#...more...\n```\n\n\n### Installation\nAt this time, this script is a single Python file that should be downloaded, and\nvendored into software manually. There is no Python packaging, and said\npackaging may, or may not, be developed later.\n\nTo install, simply download the `ziply.py` file and store in a location that may\nbe accessed, either by calling the file directly, or by importing as shown above\nfor more pragmatic use.\n\n#### Requirements\nSome additional packages are required for the full functionality of this tool.\nAt a bare minimum, [`requests`](https://pypi.org/project/requests/) and\n[`BeautifulSoup`](https://pypi.org/project/beautifulsoup4/) are required.\n\nAdditionally, this tool is built in such a way that it may serve a simple web\nAPI that will provide the latest statistics upon request of the endpoint:\n\n\u003e `http://\u003chostname-or-ip\u003e/api/v1/stats`\n\nTo support this functionality, the additional packages:\n[`FastAPI`](https://fastapi.tiangolo.com/) and\n[`Uvicorn`](http://www.uvicorn.org/) are required.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengineerjoe440%2Fziplyfrontierrouterstats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fengineerjoe440%2Fziplyfrontierrouterstats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengineerjoe440%2Fziplyfrontierrouterstats/lists"}