{"id":20365870,"url":"https://github.com/cycoresystems/netdiscover","last_synced_at":"2025-10-07T23:05:55.188Z","repository":{"id":32875439,"uuid":"130392659","full_name":"CyCoreSystems/netdiscover","owner":"CyCoreSystems","description":"Network discovery tool for cloud environments","archived":false,"fork":false,"pushed_at":"2022-05-23T12:23:51.000Z","size":20,"stargazers_count":24,"open_issues_count":2,"forks_count":19,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-05T17:12:50.266Z","etag":null,"topics":["asterisk","cloud","cloud-providers","go","golang","kubernetes","networking","voip"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CyCoreSystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-20T17:16:01.000Z","updated_at":"2025-02-12T17:06:03.000Z","dependencies_parsed_at":"2022-07-11T08:38:11.408Z","dependency_job_id":null,"html_url":"https://github.com/CyCoreSystems/netdiscover","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyCoreSystems%2Fnetdiscover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyCoreSystems%2Fnetdiscover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyCoreSystems%2Fnetdiscover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyCoreSystems%2Fnetdiscover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CyCoreSystems","download_url":"https://codeload.github.com/CyCoreSystems/netdiscover/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248519473,"owners_count":21117757,"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":["asterisk","cloud","cloud-providers","go","golang","kubernetes","networking","voip"],"created_at":"2024-11-15T00:20:53.198Z","updated_at":"2025-10-07T23:05:50.172Z","avatar_url":"https://github.com/CyCoreSystems.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Netdiscover\n[![Build Status](https://travis-ci.org/CyCoreSystems/netdiscover.png)](https://travis-ci.org/CyCoreSystems/netdiscover) [![](https://godoc.org/github.com/CyCoreSystems/netdiscover/discover?status.svg)](http://godoc.org/github.com/CyCoreSystems/netdiscover/discover)\n\nNetdiscover is a CLI tool and Golang library by which network information may\nbe discovered on various cloud platforms and bare metal installations.  The\ntypical use case is, when running inside Kubernetes or a container, to discover\nthe public IP and/or hostname of the node on which the container is running.\nThis is commonly necessary to configure VoIP applications.\n\n## CLI tool\n\nIn the root directory can be found a CLI tool which can be used to query network\ninformation.  There are two options:\n\n  * `-provider \u003cname\u003e`:  if a cloud provider is specified, that provider's\n    metadata services will be used to determine the network information.\n    Otherwise, a best-effort approach will be used.\n  * `-field \u003cname\u003e`: if a field is specified, only that particular network\n    detail will be returned.  Otherwise, a JSON object will be returned\n    containing all network information which was discovered.\n\n## Supported providers\n\nCurrently, this tool supports four cloud providers:\n\n  * `aws`: Amazon Web Services\n  * `azure`: Microsoft Azure Cloud\n  * `do`: Digital Ocean\n  * `gcp`: Google Cloud Platform\n  * ``: general discovery (baremetal)\n\nNot all providers support all network details.  General discovery should be used\nfor baremetal or other unsupported environments.  It will use the public service\n(jsonip.io) to determine the necessary network data.\n\nI am happy to accept pull requests to implement more providers.\n\n## Supported Fields\n\nCurrently, this tool supports four network data fields:\n\n  * `hostname`: the public hostname of the node\n  * `privatev4`: the private (internal) IPv4 address of the node\n  * `publicv4`: the public (external) IPv4 address of the node\n  * `publicv6`: the public (external) IPv6 address of the node\n\nNote that for DigitalOcean\\'s hostname feature to work as expected, you need to\nchange the Droplet name to the fully-qualified domain name of the host.  Doing\nso will also cause DigitalOcean to register the reverse DNS lookup for the\nDroplet\\'s IP address, so this should generally be done, anyway.\n\n\n## Examples\n\nRetrieve the public version 4 IP address of the node instance on GCP:\n\n```\n  netdiscover -provider gcp -field publicv4\n```\n\nRetrieve all network information on Amazon Web Services platform:\n\n```\n  netdiscover -provider aws\n```\n\nRetrieve the version 6 IP address of a baremetal machine:\n\n```\n  netdiscover -field publicv6\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcycoresystems%2Fnetdiscover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcycoresystems%2Fnetdiscover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcycoresystems%2Fnetdiscover/lists"}