{"id":18689031,"url":"https://github.com/nicklasfrahm/netadm","last_synced_at":"2025-04-12T05:38:42.322Z","repository":{"id":54333892,"uuid":"445140696","full_name":"nicklasfrahm/netadm","owner":"nicklasfrahm","description":"A CLI and a set of client libraries to manage network devices written in Go.","archived":false,"fork":false,"pushed_at":"2023-12-06T23:54:10.000Z","size":147,"stargazers_count":5,"open_issues_count":9,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-12T05:38:30.914Z","etag":null,"topics":["golang","management","netgear","network"],"latest_commit_sha":null,"homepage":"","language":"Go","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/nicklasfrahm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2022-01-06T11:10:51.000Z","updated_at":"2022-08-18T00:01:15.000Z","dependencies_parsed_at":"2024-06-19T20:05:41.790Z","dependency_job_id":"b060a00e-7434-48b7-b90d-5c280dbbc9f8","html_url":"https://github.com/nicklasfrahm/netadm","commit_stats":null,"previous_names":["nicklasfrahm/nsdp"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicklasfrahm%2Fnetadm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicklasfrahm%2Fnetadm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicklasfrahm%2Fnetadm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicklasfrahm%2Fnetadm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicklasfrahm","download_url":"https://codeload.github.com/nicklasfrahm/netadm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525168,"owners_count":21118616,"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":["golang","management","netgear","network"],"created_at":"2024-11-07T10:39:43.933Z","updated_at":"2025-04-12T05:38:42.290Z","avatar_url":"https://github.com/nicklasfrahm.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# netadm 🔍\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/nicklasfrahm/netadm?style=flat-square)](https://goreportcard.com/report/github.com/nicklasfrahm/netadm)\n[![Release](https://img.shields.io/github/release/nicklasfrahm/netadm.svg?style=flat-square)](https://github.com/nicklasfrahm/netadm/releases/latest)\n[![Go Reference](https://img.shields.io/badge/Go-reference-informational.svg?style=flat-square)](https://pkg.go.dev/github.com/nicklasfrahm/netadm)\n\nA CLI and client library to manage network devices written in [Go][website-go].\n\n## CLI 🦾\n\nMake sure to have [Go][website-go] installed and follow the instructions below to install it.\n\n```bash\n# go \u003e= 1.17\n# Using `go get` to install binaries is deprecated.\n# The version suffix is mandatory.\ngo install github.com/nicklasfrahm/netadm@latest\n\n# go \u003c 1.17\ngo get github.com/nicklasfrahm/netadm\n```\n\nBelow you may find the usage text of the command line interface.\n\n```text\nA command line interface to manage network devices\nvia different protocols.\n\nNote:\n  To achieve a consistent behavior all operations\n  are executed twice and the results are merged.\n  This is done to work around operations that do\n  not succeed if the device needs to refresh its\n  ARP cache by performing a MAC address lookup of\n  the host via the host IP. This happens on the\n  the first interaction or, I assume, when the\n  cache expires naturally, which appears to be\n  every 5 minutes or so.\n\nUsage:\n  netadm [flags]\n  netadm [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  get         Read configuration keys\n  help        Help about any command\n  if          List network interfaces\n  keys        List available configuration keys\n  scan        Scan for devices\n  set         Write configuration keys\n\nFlags:\n  -h, --help               display help for command\n  -r, --retries uint       number of retries to perform (default 1)\n  -t, --timeout duration   timeout per attempt (default 100ms)\n\nUse \"netadm [command] --help\" for more information about a command.\n```\n\n## Configuration Items 🔧\n\n| ID     | NAME                 | EXAMPLE                           |\n| ------ | -------------------- | --------------------------------- |\n| 0x0001 | model                | GS308E                            |\n| 0x0003 | name                 | switch-0                          |\n| 0x0004 | mac                  | 33:0b:c9:5e:51:3a                 |\n| 0x0006 | ip                   | 192.168.0.253                     |\n| 0x0007 | netmask              | 255.255.255.0                     |\n| 0x0008 | gateway              | 192.168.0.254                     |\n| 0x000A | password             | password                          |\n| 0x000B | dhcp                 | false                             |\n| 0x000D | firmware             | 1.00.10                           |\n| 0x0014 | passwordencryption   | Hash64                            |\n| 0x0017 | passwordnonce        | [1 2 3 4]                         |\n| 0x001A | passwordhash         | [1 2 3 4]                         |\n| 0x0C00 | portspeeds           | [1:1G 2:Down]                     |\n| 0x1000 | portmetrics          | [1:64/32/0]                       |\n| 0x1C00 | cabletestresult      | [0 0 0 0 0 119 30 183 118]        |\n| 0x2000 | vlanengine           | Disabled                          |\n| 0x2400 | vlansport            | [1:1+2+3+4+5+6+7+8]               |\n| 0x2800 | vlans802q            | [1t1+2u3+4+5+6+7+8]               |\n| 0x3000 | pvids                | [1:2 2:2 3:1 4:1 5:1 6:1 7:1 8:1] |\n| 0x3400 | qosengine            | DSCP                              |\n| 0x3800 | qospolicies          | [1:Normal 2:High]                 |\n| 0x4C00 | bandwidthlimitsin    | [1:256Mbps 2:None]                |\n| 0x5000 | bandwidthlimitsout   | [1:256Mbps 2:None]                |\n| 0x5400 | broadcastfilter      | false                             |\n| 0x5800 | broadcastlimits      | [1:256Mbps 2:None]                |\n| 0x5C00 | portmirroring        | 1:2+3                             |\n| 0x6000 | portcount            | 5                                 |\n| 0x6800 | igmpsnoopingvlan     | 1                                 |\n| 0x6C00 | multicastfilter      | false                             |\n| 0x7000 | igmpheadervalidation | false                             |\n| 0x9000 | loopdetection        | false                             |\n\n## References 🔗\n\nBelow, you may find a list of useful references that were used for this implementation.\n\n- [Netgear Switch Discovery Protocol on Wikipedia][wikipedia-ndsp]\n- [`nmedb/nsdpy` on Github][github-nsdpy]\n- [`tabacha/ProSafeLinux` on Github][github-tabacha-prosafe]\n- [`rhulme/ProSafeLinux` on Github][github-rhulme-prosafe]\n\n## License 📄\n\nThis project is licensed under the terms of the [MIT license](./LICENSE.md).\n\n[wikipedia-ndsp]: https://en.wikipedia.org/wiki/Netgear_Switch_Discovery_Protocol\n[github-nsdpy]: https://github.com/nmedb/nsdpy\n[github-tabacha-prosafe]: https://github.com/tabacha/ProSafeLinux\n[github-rhulme-prosafe]: https://github.com/rhulme/ProSafeLinux\n[website-go]: https://go.dev\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicklasfrahm%2Fnetadm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicklasfrahm%2Fnetadm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicklasfrahm%2Fnetadm/lists"}