{"id":34218050,"url":"https://github.com/akme/get-closer","last_synced_at":"2026-03-13T10:31:00.927Z","repository":{"id":57533546,"uuid":"180591748","full_name":"akme/get-closer","owner":"akme","description":"Find out closest hosts in terms of network latency and performance","archived":false,"fork":false,"pushed_at":"2019-05-18T18:04:28.000Z","size":65,"stargazers_count":30,"open_issues_count":5,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-19T03:27:33.799Z","etag":null,"topics":["cli","go","golang","measurements","monitoring","network"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akme.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":"2019-04-10T13:49:36.000Z","updated_at":"2024-06-21T00:13:52.000Z","dependencies_parsed_at":"2022-09-26T18:21:10.047Z","dependency_job_id":null,"html_url":"https://github.com/akme/get-closer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/akme/get-closer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akme%2Fget-closer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akme%2Fget-closer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akme%2Fget-closer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akme%2Fget-closer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akme","download_url":"https://codeload.github.com/akme/get-closer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akme%2Fget-closer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30465403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T06:34:02.089Z","status":"ssl_error","status_checked_at":"2026-03-13T06:33:49.182Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["cli","go","golang","measurements","monitoring","network"],"created_at":"2025-12-15T22:46:49.121Z","updated_at":"2026-03-13T10:31:00.909Z","avatar_url":"https://github.com/akme.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# get-closer\n[![GoDoc](https://godoc.org/github.com/akme/get-closer?status.svg)](https://godoc.org/github.com/akme/get-closer) \n[![Build Status](https://travis-ci.org/akme/get-closer.svg?branch=master)](https://travis-ci.org/akme/get-closer) \n[![Go Report Card](https://goreportcard.com/badge/github.com/akme/get-closer)](https://goreportcard.com/report/github.com/akme/get-closer) \n[![Maintainability](https://api.codeclimate.com/v1/badges/4c53c8de5b52f88dd2a3/maintainability)](https://codeclimate.com/github/akme/get-closer/maintainability)\n[![codecov](https://codecov.io/gh/akme/get-closer/branch/master/graph/badge.svg)](https://codecov.io/gh/akme/get-closer)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n## Overview\nget-closer helps you to find out closest hosts in terms of network latency or application performance.\n\n**Warning:** project is under heavy development, feel free to open an issue\n## Motivation\nNetwork services are very sensitive to latency degradation. In era of cloud computing we can get the same services from different providers that will have different locations, so network distance will differs too.  \nChoosing an optimal performing endpoint is vital part of optimization.  \nWe wanted an easy way to compare different endpoints in case of network latency or application performance.\n## Install\n```\ngo get -u github.com/akme/get-closer\n```\n## How to use\n```\nFind out closest hosts in terms of network latency.\n\nUsage:\n  get-closer [command]\n\nAvailable Commands:\n  dns         Measuring domain resolve time via DNS resolver\n  help        Help about any command\n  http        Measuring time for HTTP request.\n  icmp        Measuring RTT for hosts from list.\n  tcp         Measuring time for connecting to open TCP port.\n\nFlags:\n  -c, --concurrency uint      concurrency (default 1)\n      --config string         config file (default: ~/.get-closer.yaml)\n      --count int             number of tests per host (default 1)\n  -d, --delay int             set delay between checks (default 3)\n  -r, --dns-resolver string   use custom DNS resolver\n  -w, --dns-warm-up           warm up DNS cache before request (default true)\n  -f, --from-file string      path to file with hosts to check\n  -h, --help                  help for get-closer\n  -l, --limit uint            number of hosts to return\n  -b, --progress-bar          show progress bar (default true)\n  -t, --timeout uint          timeout for request (default 60)\n  -v, --verbose               enable verbose mode\n\nUse \"get-closer [command] --help\" for more information about a command.\n```\n\n## Examples\nThis repo contains hosts.txt and dnsresolvers.txt as an example of hosts file that you can use for test runs.\n### ICMP\nOn Linux, you need to enable \"unprivileged\" mode:\n```\nsudo sysctl -w net.ipv4.ping_group_range=\"0   2147483647\"\n```\n```\nget closer ping -f hosts.txt\n```\n### TCP\n```\nget closer tcp -f hosts.txt\n```\n### HTTP\n```\nget-closer http -f hosts.txt\n```\n### DNS\n```\nget-closer dns -f hosts.txt\n```\n\n## Publications\n* [Find the best API Endpoint for your EOS dApp](https://medium.com/@akme/find-the-best-api-endpoint-for-your-eos-dapp-7b7489cb6449?source=friends_link\u0026sk=9edf5910202b6cc2701e4fc04c08eb31) [en]\n* [Выбираем ближайшие узлы в сети](https://habr.com/ru/post/451866/) [ru]\n\n## Contributing\n\nWhen contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/akme/get-closer/tags). \n\n\n## License\n[GNU General Public License v3.0](https://github.com/akme/get-closer/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakme%2Fget-closer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakme%2Fget-closer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakme%2Fget-closer/lists"}