{"id":43060591,"url":"https://github.com/totev/vodafone-station-cli","last_synced_at":"2026-01-31T12:01:10.231Z","repository":{"id":38010433,"uuid":"338839161","full_name":"totev/vodafone-station-cli","owner":"totev","description":"Access your Vodafone Station from the comfort of the command line.","archived":false,"fork":false,"pushed_at":"2026-01-30T20:16:48.000Z","size":906,"stargazers_count":42,"open_issues_count":9,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-31T08:38:29.459Z","etag":null,"topics":["arris-surfboard","cable-modem","hardware","technicolor","vodafone-de","vodafone-station","vodafone-station-cli"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/totev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-02-14T15:44:18.000Z","updated_at":"2026-01-30T20:16:16.000Z","dependencies_parsed_at":"2023-12-27T00:22:40.209Z","dependency_job_id":"19eaf546-db9c-4fc0-9821-35e33ad062a6","html_url":"https://github.com/totev/vodafone-station-cli","commit_stats":{"total_commits":104,"total_committers":4,"mean_commits":26.0,"dds":0.2596153846153846,"last_synced_commit":"e0eb72b7bc17a960478aa44f01c858ca08fac234"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/totev/vodafone-station-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totev%2Fvodafone-station-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totev%2Fvodafone-station-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totev%2Fvodafone-station-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totev%2Fvodafone-station-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/totev","download_url":"https://codeload.github.com/totev/vodafone-station-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/totev%2Fvodafone-station-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28941900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T11:39:38.044Z","status":"ssl_error","status_checked_at":"2026-01-31T11:39:27.765Z","response_time":128,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["arris-surfboard","cable-modem","hardware","technicolor","vodafone-de","vodafone-station","vodafone-station-cli"],"created_at":"2026-01-31T12:01:09.434Z","updated_at":"2026-01-31T12:01:10.209Z","avatar_url":"https://github.com/totev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"vodafone-station-cli\n====================\n\nAccess your Arris TG3442DE or Technicolor CGA4322DE, CGA6444VF (aka Vodafone Station) from the comfort of the command line.\n\n![ci-status](https://github.com/totev/vodafone-station-cli/actions/workflows/main.yml/badge.svg)\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![latest version](https://img.shields.io/github/v/release/totev/vodafone-station-cli.svg)](https://github.com/totev/vodafone-station-cli/releases)\n[![npm](https://img.shields.io/npm/v/vodafone-station-cli)](https://www.npmjs.com/package/vodafone-station-cli)\n\n\u003c!-- toc --\u003e\n* [Features](#features)\n* [Demo](#demo)\n* [Supported hardware](#supported-hardware)\n* [Software requirements](#software-requirements)\n* [Notes](#notes)\n* [Useful related projects:](#useful-related-projects)\n* [Running from source](#running-from-source)\n* [Usage](#usage)\n* [Commands](#commands)\n\u003c!-- tocstop --\u003e\n\n# Features\n\n* 🔐 **Secure HTTPS Support**: Automatic protocol detection with encrypted communication when supported\n* discover your vodafone station's IP in your local network\n* Retrieve the current docsis connection state and transform it into JSON\n* diagnose your docsis connection state to quickly detect abnormalities\n* restart your vodafone station\n* see your docsis connection information plotted in a web browser\n* share your docsis connection information with others via URL\n\n# Demo\n\u003cp align=\"center\"\u003e\n\n![](./usage.svg)\n\n\u003c/p\u003e\n\n# Supported hardware\n\nCurrently the following hardware/software is supported:\n\n- Arris TG3442DE running `AR01.02.068.11_092320_711.PC20.10`, `01.02.068.13.EURO.PC20`\n- Technicolor CGA4322DE running `1.0.9-IMS-KDG`, `2.0.17-IMS-KDG`, `3.0.41-IMS-KDG`, `19.3B80-3.5.12` \n- Technicolor CGA6444VF running firmware `19.3B57-1.0.41`\n\n\u003cdetails\u003e\n  \u003csummary\u003eDocsis data format\u003c/summary\u003e\n\n```json\n{\n    \"downstream\": [\n        {\n            \"channelId\": \"1\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 55.4,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 114\n        },\n        {\n            \"channelId\": \"2\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 55,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 36,\n            \"frequency\": 130\n        },\n        {\n            \"channelId\": \"3\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 55.2,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 36,\n            \"frequency\": 138\n        },\n        {\n            \"channelId\": \"4\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 54.8,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 36,\n            \"frequency\": 146\n        },\n        {\n            \"channelId\": \"5\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 56.4,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 38,\n            \"frequency\": 602\n        },\n        {\n            \"channelId\": \"6\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 55.9,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 37,\n            \"frequency\": 618\n        },\n        {\n            \"channelId\": \"7\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 55.7,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 37,\n            \"frequency\": 626\n        },\n        {\n            \"channelId\": \"8\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 54.7,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 37,\n            \"frequency\": 642\n        },\n        {\n            \"channelId\": \"9\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 55.3,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 37,\n            \"frequency\": 650\n        },\n        {\n            \"channelId\": \"10\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 56.1,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 38,\n            \"frequency\": 658\n        },\n        {\n            \"channelId\": \"11\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 56.3,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 38,\n            \"frequency\": 666\n        },\n        {\n            \"channelId\": \"12\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 57.5,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 39,\n            \"frequency\": 674\n        },\n        {\n            \"channelId\": \"13\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 57.7,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 38,\n            \"frequency\": 682\n        },\n        {\n            \"channelId\": \"14\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"256QAM\",\n            \"powerLevel\": 58.3,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 39,\n            \"frequency\": 690\n        },\n        {\n            \"channelId\": \"15\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 52.2,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 34,\n            \"frequency\": 698\n        },\n        {\n            \"channelId\": \"16\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 53.2,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 706\n        },\n        {\n            \"channelId\": \"17\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 53.3,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 714\n        },\n        {\n            \"channelId\": \"18\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 53.1,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 34,\n            \"frequency\": 722\n        },\n        {\n            \"channelId\": \"19\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 53.1,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 730\n        },\n        {\n            \"channelId\": \"20\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.2,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 738\n        },\n        {\n            \"channelId\": \"21\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.7,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 746\n        },\n        {\n            \"channelId\": \"22\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 53.8,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 754\n        },\n        {\n            \"channelId\": \"23\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 53.9,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 762\n        },\n        {\n            \"channelId\": \"24\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.1,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 34,\n            \"frequency\": 770\n        },\n        {\n            \"channelId\": \"25\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.5,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 778\n        },\n        {\n            \"channelId\": \"26\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.7,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 34,\n            \"frequency\": 786\n        },\n        {\n            \"channelId\": \"27\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.7,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 794\n        },\n        {\n            \"channelId\": \"28\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.3,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 34,\n            \"frequency\": 802\n        },\n        {\n            \"channelId\": \"29\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 53.9,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 810\n        },\n        {\n            \"channelId\": \"30\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.5,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 818\n        },\n        {\n            \"channelId\": \"31\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 54.1,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 35,\n            \"frequency\": 826\n        },\n        {\n            \"channelId\": \"32\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 53.1,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 34,\n            \"frequency\": 834\n        }\n    ],\n    \"downstreamOfdm\": [\n        {\n            \"channelId\": \"33\",\n            \"channelType\": \"OFDM\",\n            \"modulation\": \"1024QAM\",\n            \"powerLevel\": 56.2,\n            \"lockStatus\": \"Locked\",\n            \"snr\": 40,\n            \"frequencyStart\": 151,\n            \"frequencyEnd\": 324\n        }\n    ],\n    \"upstream\": [\n        {\n            \"channelId\": \"3\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 111,\n            \"lockStatus\": \"ACTIVE\",\n            \"snr\": 0,\n            \"frequency\": 37\n        },\n        {\n            \"channelId\": \"4\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 111,\n            \"lockStatus\": \"ACTIVE\",\n            \"snr\": 0,\n            \"frequency\": 31\n        },\n        {\n            \"channelId\": \"1\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 111,\n            \"lockStatus\": \"ACTIVE\",\n            \"snr\": 0,\n            \"frequency\": 51\n        },\n        {\n            \"channelId\": \"2\",\n            \"channelType\": \"SC-QAM\",\n            \"modulation\": \"64QAM\",\n            \"powerLevel\": 111,\n            \"lockStatus\": \"ACTIVE\",\n            \"snr\": 0,\n            \"frequency\": 45\n        }\n    ],\n    \"upstreamOfdma\": [\n        {\n            \"channelId\": \"9\",\n            \"channelType\": \"OFDMA\",\n            \"modulation\": \"16_QAM\",\n            \"powerLevel\": 107,\n            \"lockStatus\": \"SUCCESS\",\n            \"snr\": 0,\n            \"frequencyStart\": 29.8,\n            \"frequencyEnd\": 64.8\n        }\n    ],\n    \"time\": \"2021-10-23T13:06:23.988Z\"\n}\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTable printer format\u003c/summary\u003e\n\n```\n    Downstream\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | ID | Ch. Type | Modulation | Power | Frequency | Lock status | SNR |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 1  | SC-QAM   | 256QAM     | 55.1  | 114       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 2  | SC-QAM   | 256QAM     | 54.7  | 130       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 3  | SC-QAM   | 256QAM     | 54.8  | 138       | Locked      | 36  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 4  | SC-QAM   | 256QAM     | 54.6  | 146       | Locked      | 36  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 5  | SC-QAM   | 256QAM     | 57    | 602       | Locked      | 38  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 6  | SC-QAM   | 256QAM     | 57.3  | 618       | Locked      | 39  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 7  | SC-QAM   | 256QAM     | 57.7  | 626       | Locked      | 38  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 8  | SC-QAM   | 256QAM     | 58.5  | 642       | Locked      | 39  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 9  | SC-QAM   | 256QAM     | 58.3  | 650       | Locked      | 39  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 10 | SC-QAM   | 256QAM     | 58.3  | 658       | Locked      | 39  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 11 | SC-QAM   | 256QAM     | 58.1  | 666       | Locked      | 38  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 12 | SC-QAM   | 256QAM     | 58.8  | 674       | Locked      | 39  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 13 | SC-QAM   | 256QAM     | 58.8  | 682       | Locked      | 39  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 14 | SC-QAM   | 256QAM     | 59.4  | 690       | Locked      | 39  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 15 | SC-QAM   | 64QAM      | 53    | 698       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 16 | SC-QAM   | 64QAM      | 54.1  | 706       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 17 | SC-QAM   | 64QAM      | 54.2  | 714       | Locked      | 34  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 18 | SC-QAM   | 64QAM      | 53.8  | 722       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 19 | SC-QAM   | 64QAM      | 53.9  | 730       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 20 | SC-QAM   | 64QAM      | 54.9  | 738       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 21 | SC-QAM   | 64QAM      | 55.3  | 746       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 22 | SC-QAM   | 64QAM      | 54.5  | 754       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 23 | SC-QAM   | 64QAM      | 54.5  | 762       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 24 | SC-QAM   | 64QAM      | 54.5  | 770       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 25 | SC-QAM   | 64QAM      | 55    | 778       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 26 | SC-QAM   | 64QAM      | 55    | 786       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 27 | SC-QAM   | 64QAM      | 54.9  | 794       | Locked      | 34  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 28 | SC-QAM   | 64QAM      | 54.4  | 802       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 29 | SC-QAM   | 64QAM      | 54.1  | 810       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 30 | SC-QAM   | 64QAM      | 54.5  | 818       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 31 | SC-QAM   | 64QAM      | 54.5  | 826       | Locked      | 35  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 32 | SC-QAM   | 64QAM      | 53.7  | 834       | Locked      | 34  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    \n    Downstream OFDM\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | ID | Ch. Type | Modulation | Power | Frequency | Lock status | SNR |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 33 | OFDM     | 1024QAM    | 56.1  | 151-324   | Locked      | 39  |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    \n    Upstream\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | ID | Ch. Type | Modulation | Power | Frequency | Lock status | SNR |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 3  | SC-QAM   | 64QAM      | 110.3 | 37        | Locked      | 0   |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 4  | SC-QAM   | 32QAM      | 110.3 | 31        | Locked      | 0   |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 1  | SC-QAM   | 64QAM      | 110.3 | 51        | Locked      | 0   |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 2  | SC-QAM   | 64QAM      | 110.3 | 45        | Locked      | 0   |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    \n    Upstream OFDMA\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | ID | Ch. Type | Modulation | Power | Frequency | Lock status | SNR |\n    +----+----------+------------+-------+-----------+-------------+-----+\n    | 9  | OFDMA    | 16_QAM     | 106.2 | 29.8-64.8 | SUCCESS     | 0   |\n    +----+----------+------------+-------+-----------+-------------+-----+\n```\n\u003c/details\u003e\n\n\n# Software requirements\n\n- Node.js 24.x or higher\n\n# Notes\n\nA full login and logout sequence is being done on every command execution.\nYou can provide a password either by setting the environment variable `VODAFONE_ROUTER_PASSWORD` in your shell, in a local `.env` file or by using the `-p` flag.\n\n# Useful related projects:\n\n- https://github.com/nox-x/TG3442DE-Teardown\n- https://github.com/cbruegg/packetloss-watchdog\n- https://github.com/Fluepke/vodafone-station-exporter\n- https://github.com/bitwiseshiftleft/sjcl\n\nCable connection information/meaning:\n- https://motorolacable.com/whitepapers/cable-connection\n\nThe Diagnose module is based on the guidelines/values provided by Meister Voda:\n- https://www.vodafonekabelforum.de/viewtopic.php?t=32353\n\n# Running from source\nClone this repository, install the dependencies via *yarn* and run `./bin/dev help`.\nIf you are interested in seeing a more verbose version of what is going on during execution, enable debug logging on a per command basis like so `env DEBUG=\\* ./bin/dev docsis`.\n\n# Usage\n\u003c!-- usage --\u003e\n```sh-session\n$ npm install -g vodafone-station-cli\n$ vodafone-station-cli COMMAND\nrunning command...\n$ vodafone-station-cli (--version)\nvodafone-station-cli/1.5.3 darwin-arm64 node-v24.2.0\n$ vodafone-station-cli --help [COMMAND]\nUSAGE\n  $ vodafone-station-cli COMMAND\n...\n```\n\u003c!-- usagestop --\u003e\n# Commands\n\u003c!-- commands --\u003e\n* [`vodafone-station-cli diagnose`](#vodafone-station-cli-diagnose)\n* [`vodafone-station-cli discover`](#vodafone-station-cli-discover)\n* [`vodafone-station-cli docsis`](#vodafone-station-cli-docsis)\n* [`vodafone-station-cli help [COMMAND]`](#vodafone-station-cli-help-command)\n* [`vodafone-station-cli host-exposure disable [ENTRIES]`](#vodafone-station-cli-host-exposure-disable-entries)\n* [`vodafone-station-cli host-exposure enable`](#vodafone-station-cli-host-exposure-enable)\n* [`vodafone-station-cli host-exposure get`](#vodafone-station-cli-host-exposure-get)\n* [`vodafone-station-cli host-exposure set FILE`](#vodafone-station-cli-host-exposure-set-file)\n* [`vodafone-station-cli plugins`](#vodafone-station-cli-plugins)\n* [`vodafone-station-cli plugins add PLUGIN`](#vodafone-station-cli-plugins-add-plugin)\n* [`vodafone-station-cli plugins:inspect PLUGIN...`](#vodafone-station-cli-pluginsinspect-plugin)\n* [`vodafone-station-cli plugins install PLUGIN`](#vodafone-station-cli-plugins-install-plugin)\n* [`vodafone-station-cli plugins link PATH`](#vodafone-station-cli-plugins-link-path)\n* [`vodafone-station-cli plugins remove [PLUGIN]`](#vodafone-station-cli-plugins-remove-plugin)\n* [`vodafone-station-cli plugins reset`](#vodafone-station-cli-plugins-reset)\n* [`vodafone-station-cli plugins uninstall [PLUGIN]`](#vodafone-station-cli-plugins-uninstall-plugin)\n* [`vodafone-station-cli plugins unlink [PLUGIN]`](#vodafone-station-cli-plugins-unlink-plugin)\n* [`vodafone-station-cli plugins update`](#vodafone-station-cli-plugins-update)\n* [`vodafone-station-cli restart`](#vodafone-station-cli-restart)\n\n## `vodafone-station-cli diagnose`\n\nDiagnose the quality of the docsis connection.\n\n```\nUSAGE\n  $ vodafone-station-cli diagnose [-i \u003cvalue\u003e] [-p \u003cvalue\u003e] [-w]\n\nFLAGS\n  -i, --ip=\u003cvalue\u003e        IP address of the modem/router (default: try 192.168.100.1 and 192.168.0.1)\n  -p, --password=\u003cvalue\u003e  router/modem password\n  -w, --web               review the docsis values in a webapp\n\nDESCRIPTION\n  Diagnose the quality of the docsis connection.\n\nEXAMPLES\n  $ vodafone-station-cli diagnose\n\n  $ vodafone-station-cli diagnose --ip 192.168.100.1\n```\n\n_See code: [src/commands/diagnose.ts](https://github.com/totev/vodafone-station-cli/blob/v1.5.3/src/commands/diagnose.ts)_\n\n## `vodafone-station-cli discover`\n\nTry to discover a cable modem in the network\n\n```\nUSAGE\n  $ vodafone-station-cli discover [-i \u003cvalue\u003e]\n\nFLAGS\n  -i, --ip=\u003cvalue\u003e  IP address of the modem/router (default: try 192.168.100.1 and 192.168.0.1)\n\nDESCRIPTION\n  Try to discover a cable modem in the network\n\nEXAMPLES\n  $ vodafone-station-cli discover\n\n  $ vodafone-station-cli discover --ip 192.168.100.1\n```\n\n_See code: [src/commands/discover.ts](https://github.com/totev/vodafone-station-cli/blob/v1.5.3/src/commands/discover.ts)_\n\n## `vodafone-station-cli docsis`\n\nGet the current docsis status as reported by the modem in a JSON format.\n\n```\nUSAGE\n  $ vodafone-station-cli docsis [-f] [-i \u003cvalue\u003e] [-p \u003cvalue\u003e] [-w]\n\nFLAGS\n  -f, --file              write out a report file under ./reports/{CURRENT_UNIX_TIMESTAMP}_docsisStatus.json\n  -i, --ip=\u003cvalue\u003e        IP address of the modem/router (default: try 192.168.100.1 and 192.168.0.1)\n  -p, --password=\u003cvalue\u003e  router/modem password\n  -w, --web               review the docsis values in a webapp\n\nDESCRIPTION\n  Get the current docsis status as reported by the modem in a JSON format.\n\nEXAMPLES\n  $ vodafone-station-cli docsis -p PASSWORD\n  {JSON data}\n\n  $ vodafone-station-cli docsis -p PASSWORD --ip 192.168.100.1\n  {JSON data}\n```\n\n_See code: [src/commands/docsis.ts](https://github.com/totev/vodafone-station-cli/blob/v1.5.3/src/commands/docsis.ts)_\n\n## `vodafone-station-cli help [COMMAND]`\n\nDisplay help for vodafone-station-cli.\n\n```\nUSAGE\n  $ vodafone-station-cli help [COMMAND...] [-n]\n\nARGUMENTS\n  COMMAND...  Command to show help for.\n\nFLAGS\n  -n, --nested-commands  Include all nested commands in the output.\n\nDESCRIPTION\n  Display help for vodafone-station-cli.\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.29/src/commands/help.ts)_\n\n## `vodafone-station-cli host-exposure disable [ENTRIES]`\n\nDisable a set of host exposure entries\n\n```\nUSAGE\n  $ vodafone-station-cli host-exposure disable [ENTRIES...] [-i \u003cvalue\u003e] [-p \u003cvalue\u003e]\n\nARGUMENTS\n  ENTRIES...  Host exposure entries to disable. Pass no names to disable every existing entry.\n\nFLAGS\n  -i, --ip=\u003cvalue\u003e        IP address of the modem/router (default: try 192.168.100.1 and 192.168.0.1)\n  -p, --password=\u003cvalue\u003e  router/modem password\n\nDESCRIPTION\n  Disable a set of host exposure entries\n\nEXAMPLES\n  $ vodafone-station-cli host-exposure:disable -p PASSWORD [ENTRY NAME | [ENTRY NAME...]]\n\n  $ vodafone-station-cli host-exposure:disable -p PASSWORD --ip 192.168.100.1 [ENTRY NAME | [ENTRY NAME...]]\n```\n\n_See code: [src/commands/host-exposure/disable.ts](https://github.com/totev/vodafone-station-cli/blob/v1.5.3/src/commands/host-exposure/disable.ts)_\n\n## `vodafone-station-cli host-exposure enable`\n\nEnable a set of host exposure entries\n\n```\nUSAGE\n  $ vodafone-station-cli host-exposure enable [-i \u003cvalue\u003e] [-p \u003cvalue\u003e]\n\nFLAGS\n  -i, --ip=\u003cvalue\u003e        IP address of the modem/router (default: try 192.168.100.1 and 192.168.0.1)\n  -p, --password=\u003cvalue\u003e  router/modem password\n\nDESCRIPTION\n  Enable a set of host exposure entries\n\nEXAMPLES\n  $ vodafone-station-cli host-exposure:enable -p PASSWORD [ENTRY NAME | [ENTRY NAME...]]\n\n  $ vodafone-station-cli host-exposure:enable -p PASSWORD --ip 192.168.100.1 [ENTRY NAME | [ENTRY NAME...]]\n```\n\n_See code: [src/commands/host-exposure/enable.ts](https://github.com/totev/vodafone-station-cli/blob/v1.5.3/src/commands/host-exposure/enable.ts)_\n\n## `vodafone-station-cli host-exposure get`\n\nGet the current IPV6 host exposure settings\n\n```\nUSAGE\n  $ vodafone-station-cli host-exposure get [-i \u003cvalue\u003e] [-p \u003cvalue\u003e]\n\nFLAGS\n  -i, --ip=\u003cvalue\u003e        IP address of the modem/router (default: try 192.168.100.1 and 192.168.0.1)\n  -p, --password=\u003cvalue\u003e  router/modem password\n\nDESCRIPTION\n  Get the current IPV6 host exposure settings\n\nEXAMPLES\n  $ vodafone-station-cli host-exposure:get -p PASSWORD\n  {JSON data}\n\n  $ vodafone-station-cli host-exposure:get -p PASSWORD --ip 192.168.100.1\n  {JSON data}\n```\n\n_See code: [src/commands/host-exposure/get.ts](https://github.com/totev/vodafone-station-cli/blob/v1.5.3/src/commands/host-exposure/get.ts)_\n\n## `vodafone-station-cli host-exposure set FILE`\n\nSet the current IPV6 host exposure settings from a JSON file\n\n```\nUSAGE\n  $ vodafone-station-cli host-exposure set FILE [-i \u003cvalue\u003e] [-p \u003cvalue\u003e]\n\nARGUMENTS\n  FILE  input JSON file\n\nFLAGS\n  -i, --ip=\u003cvalue\u003e        IP address of the modem/router (default: try 192.168.100.1 and 192.168.0.1)\n  -p, --password=\u003cvalue\u003e  router/modem password\n\nDESCRIPTION\n  Set the current IPV6 host exposure settings from a JSON file\n\nEXAMPLES\n  $ vodafone-station-cli host-exposure:set -p PASSWORD \u003cFILE\u003e\n\n  $ vodafone-station-cli host-exposure:set -p PASSWORD --ip 192.168.100.1 \u003cFILE\u003e\n```\n\n_See code: [src/commands/host-exposure/set.ts](https://github.com/totev/vodafone-station-cli/blob/v1.5.3/src/commands/host-exposure/set.ts)_\n\n## `vodafone-station-cli plugins`\n\nList installed plugins.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins [--json] [--core]\n\nFLAGS\n  --core  Show core plugins.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  List installed plugins.\n\nEXAMPLES\n  $ vodafone-station-cli plugins\n```\n\n_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.40/src/commands/plugins/index.ts)_\n\n## `vodafone-station-cli plugins add PLUGIN`\n\nInstalls a plugin into vodafone-station-cli.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]\n\nARGUMENTS\n  PLUGIN...  Plugin to install.\n\nFLAGS\n  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.\n  -h, --help     Show CLI help.\n  -s, --silent   Silences npm output.\n  -v, --verbose  Show verbose npm output.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Installs a plugin into vodafone-station-cli.\n\n  Uses npm to install plugins.\n\n  Installation of a user-installed plugin will override a core plugin.\n\n  Use the VODAFONE_STATION_CLI_NPM_LOG_LEVEL environment variable to set the npm loglevel.\n  Use the VODAFONE_STATION_CLI_NPM_REGISTRY environment variable to set the npm registry.\n\nALIASES\n  $ vodafone-station-cli plugins add\n\nEXAMPLES\n  Install a plugin from npm registry.\n\n    $ vodafone-station-cli plugins add myplugin\n\n  Install a plugin from a github url.\n\n    $ vodafone-station-cli plugins add https://github.com/someuser/someplugin\n\n  Install a plugin from a github slug.\n\n    $ vodafone-station-cli plugins add someuser/someplugin\n```\n\n## `vodafone-station-cli plugins:inspect PLUGIN...`\n\nDisplays installation properties of a plugin.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins inspect PLUGIN...\n\nARGUMENTS\n  PLUGIN...  [default: .] Plugin to inspect.\n\nFLAGS\n  -h, --help     Show CLI help.\n  -v, --verbose\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Displays installation properties of a plugin.\n\nEXAMPLES\n  $ vodafone-station-cli plugins inspect myplugin\n```\n\n_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.40/src/commands/plugins/inspect.ts)_\n\n## `vodafone-station-cli plugins install PLUGIN`\n\nInstalls a plugin into vodafone-station-cli.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]\n\nARGUMENTS\n  PLUGIN...  Plugin to install.\n\nFLAGS\n  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.\n  -h, --help     Show CLI help.\n  -s, --silent   Silences npm output.\n  -v, --verbose  Show verbose npm output.\n\nGLOBAL FLAGS\n  --json  Format output as json.\n\nDESCRIPTION\n  Installs a plugin into vodafone-station-cli.\n\n  Uses npm to install plugins.\n\n  Installation of a user-installed plugin will override a core plugin.\n\n  Use the VODAFONE_STATION_CLI_NPM_LOG_LEVEL environment variable to set the npm loglevel.\n  Use the VODAFONE_STATION_CLI_NPM_REGISTRY environment variable to set the npm registry.\n\nALIASES\n  $ vodafone-station-cli plugins add\n\nEXAMPLES\n  Install a plugin from npm registry.\n\n    $ vodafone-station-cli plugins install myplugin\n\n  Install a plugin from a github url.\n\n    $ vodafone-station-cli plugins install https://github.com/someuser/someplugin\n\n  Install a plugin from a github slug.\n\n    $ vodafone-station-cli plugins install someuser/someplugin\n```\n\n_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.40/src/commands/plugins/install.ts)_\n\n## `vodafone-station-cli plugins link PATH`\n\nLinks a plugin into the CLI for development.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins link PATH [-h] [--install] [-v]\n\nARGUMENTS\n  PATH  [default: .] path to plugin\n\nFLAGS\n  -h, --help          Show CLI help.\n  -v, --verbose\n      --[no-]install  Install dependencies after linking the plugin.\n\nDESCRIPTION\n  Links a plugin into the CLI for development.\n\n  Installation of a linked plugin will override a user-installed or core plugin.\n\n  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'\n  command will override the user-installed or core plugin implementation. This is useful for development work.\n\n\nEXAMPLES\n  $ vodafone-station-cli plugins link myplugin\n```\n\n_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.40/src/commands/plugins/link.ts)_\n\n## `vodafone-station-cli plugins remove [PLUGIN]`\n\nRemoves a plugin from the CLI.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins remove [PLUGIN...] [-h] [-v]\n\nARGUMENTS\n  PLUGIN...  plugin to uninstall\n\nFLAGS\n  -h, --help     Show CLI help.\n  -v, --verbose\n\nDESCRIPTION\n  Removes a plugin from the CLI.\n\nALIASES\n  $ vodafone-station-cli plugins unlink\n  $ vodafone-station-cli plugins remove\n\nEXAMPLES\n  $ vodafone-station-cli plugins remove myplugin\n```\n\n## `vodafone-station-cli plugins reset`\n\nRemove all user-installed and linked plugins.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins reset [--hard] [--reinstall]\n\nFLAGS\n  --hard       Delete node_modules and package manager related files in addition to uninstalling plugins.\n  --reinstall  Reinstall all plugins after uninstalling.\n```\n\n_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.40/src/commands/plugins/reset.ts)_\n\n## `vodafone-station-cli plugins uninstall [PLUGIN]`\n\nRemoves a plugin from the CLI.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins uninstall [PLUGIN...] [-h] [-v]\n\nARGUMENTS\n  PLUGIN...  plugin to uninstall\n\nFLAGS\n  -h, --help     Show CLI help.\n  -v, --verbose\n\nDESCRIPTION\n  Removes a plugin from the CLI.\n\nALIASES\n  $ vodafone-station-cli plugins unlink\n  $ vodafone-station-cli plugins remove\n\nEXAMPLES\n  $ vodafone-station-cli plugins uninstall myplugin\n```\n\n_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.40/src/commands/plugins/uninstall.ts)_\n\n## `vodafone-station-cli plugins unlink [PLUGIN]`\n\nRemoves a plugin from the CLI.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins unlink [PLUGIN...] [-h] [-v]\n\nARGUMENTS\n  PLUGIN...  plugin to uninstall\n\nFLAGS\n  -h, --help     Show CLI help.\n  -v, --verbose\n\nDESCRIPTION\n  Removes a plugin from the CLI.\n\nALIASES\n  $ vodafone-station-cli plugins unlink\n  $ vodafone-station-cli plugins remove\n\nEXAMPLES\n  $ vodafone-station-cli plugins unlink myplugin\n```\n\n## `vodafone-station-cli plugins update`\n\nUpdate installed plugins.\n\n```\nUSAGE\n  $ vodafone-station-cli plugins update [-h] [-v]\n\nFLAGS\n  -h, --help     Show CLI help.\n  -v, --verbose\n\nDESCRIPTION\n  Update installed plugins.\n```\n\n_See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.40/src/commands/plugins/update.ts)_\n\n## `vodafone-station-cli restart`\n\nrestart the modem/router\n\n```\nUSAGE\n  $ vodafone-station-cli restart [-i \u003cvalue\u003e] [-p \u003cvalue\u003e]\n\nFLAGS\n  -i, --ip=\u003cvalue\u003e        IP address of the modem/router (default: try 192.168.100.1 and 192.168.0.1)\n  -p, --password=\u003cvalue\u003e  router/modem password\n\nDESCRIPTION\n  restart the modem/router\n\nEXAMPLES\n  $ vodafone-station-cli restart\n\n  $ vodafone-station-cli restart --ip 192.168.100.1\n```\n\n_See code: [src/commands/restart.ts](https://github.com/totev/vodafone-station-cli/blob/v1.5.3/src/commands/restart.ts)_\n\u003c!-- commandsstop --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotev%2Fvodafone-station-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftotev%2Fvodafone-station-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotev%2Fvodafone-station-cli/lists"}