{"id":26209053,"url":"https://github.com/junaidrahim/locate-route","last_synced_at":"2025-04-15T12:18:46.178Z","repository":{"id":94393181,"uuid":"334705100","full_name":"junaidrahim/locate-route","owner":"junaidrahim","description":"Command line tool to grab the geographical location of the hops from traceroute.","archived":false,"fork":false,"pushed_at":"2021-04-22T08:40:41.000Z","size":270,"stargazers_count":23,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T12:18:30.414Z","etag":null,"topics":["cpp","location","traceroute"],"latest_commit_sha":null,"homepage":"","language":"C++","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/junaidrahim.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-31T16:45:12.000Z","updated_at":"2024-06-15T16:06:22.000Z","dependencies_parsed_at":"2023-04-16T05:35:00.181Z","dependency_job_id":null,"html_url":"https://github.com/junaidrahim/locate-route","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junaidrahim%2Flocate-route","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junaidrahim%2Flocate-route/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junaidrahim%2Flocate-route/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junaidrahim%2Flocate-route/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junaidrahim","download_url":"https://codeload.github.com/junaidrahim/locate-route/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249067787,"owners_count":21207396,"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":["cpp","location","traceroute"],"created_at":"2025-03-12T06:34:03.664Z","updated_at":"2025-04-15T12:18:46.173Z","avatar_url":"https://github.com/junaidrahim.png","language":"C++","readme":"# locate_route\n\nA command line tool to grab the geographical location of the hops from `traceroute`. It's like `traceroute`, but also returns the actual location of the IP address. \n\n## Installation\n\nMake sure you have `g++`, `curl` `cmake`, `make` and `traceroute` installed and setup on your machine.\n\nRun the following to install the binary:\n\n```bash\ncurl -o- https://raw.githubusercontent.com/junaidrahim/locate-route/main/install.sh | sudo bash\n```\n\nYou can run `locate_route` in your shell now.\n\n## Build from Source\n\n1. `git clone https://github.com/junaidrahim/locate-route`\n2. `mkdir build \u0026\u0026 cd build`\n3. `cmake ..`\n4. `make`\n\nThe binary `locate_route` will compile in the `build/` directory. You can run it from there,\nor copy it into `$PATH` to access it from anywhere in your terminal.\n\n\n## Usage\n\n```sh-session\n$ locate_route --help\nlocateroute - Get location information of the traceroute hops\n\nUSAGE:\n\t locateroute [ip or domain name]\nFLAGS:\n\t -h, --help  Display Help\n```\n\n```sh-session\n$ locate_route github.com\ntraceroute to github.com (13.234.176.102), 30 hops max, 60 byte packets\n\n 1  _gateway (192.168.0.1)  1.539 ms  3.299 ms  3.249 ms\n\n 2  4-144-31-103.dnainfotel.com (103.31.144.4)  3.206 ms  3.164 ms  3.121 ms\nLocation: Virār, Maharashtra, India, Asia\nZip: 401303, Coordinates: 19.466700,72.800003\n\n 3  1-144-31-103.dnainfotel.com (103.31.144.1)  4.287 ms  4.063 ms  4.166 ms\nLocation: Virār, Maharashtra, India, Asia\nZip: 401303, Coordinates: 19.466700,72.800003\n\n 4  26-69-245-103.dnainfotel.com (103.245.69.26)  6.168 ms  7.008 ms  6.620 ms\nLocation: Saint Thomas Mount, Tamil Nadu, India, Asia\nZip: 600001, Coordinates: 13.052400,80.250801\n\n 5  52.46.166.32 (52.46.166.32)  4.609 ms  4.869 ms  4.809 ms\nLocation: Ashburn, Virginia, United States, North America\nZip: 20147, Coordinates: 39.043701,-77.474197\n\n 6  52.95.67.22 (52.95.67.22)  12.384 ms 52.95.67.66 (52.95.67.66)  4.752 ms 52.95.67.22 (52.95.67.22)  14.081 ms\nLocation: Powai, Maharashtra, India, Asia\nZip: 400070, Coordinates: 19.076000,72.877701\n\n 7  52.95.64.196 (52.95.64.196)  9.312 ms 52.95.64.248 (52.95.64.248)  9.294 ms 52.95.64.252 (52.95.64.252)  9.275 ms\nLocation: Powai, Maharashtra, India, Asia\nZip: 400070, Coordinates: 19.076000,72.877701\n\n 8  52.95.64.195 (52.95.64.195)  12.942 ms 52.95.64.211 (52.95.64.211)  12.917 ms 52.95.64.253 (52.95.64.253)  8.346 ms\nLocation: Powai, Maharashtra, India, Asia\nZip: 400070, Coordinates: 19.076000,72.877701\n\n 9  52.95.67.127 (52.95.67.127)  12.874 ms 52.95.67.39 (52.95.67.39)  12.853 ms 52.95.67.17 (52.95.67.17)  12.831 ms\nLocation: Powai, Maharashtra, India, Asia\nZip: 400070, Coordinates: 19.076000,72.877701\n\n10  52.95.67.178 (52.95.67.178)  9.119 ms 52.95.67.182 (52.95.67.182)  8.238 ms 52.95.65.135 (52.95.65.135)  10.045 ms\nLocation: Powai, Maharashtra, India, Asia\nZip: 400070, Coordinates: 19.076000,72.877701\n\n11  * * *\n12  * * *\n13  * * *\n14  * * *\n15  * * *\n```\n\n## How does it work ?\n\n`locate_route` parses the output from traceroute to find all the ip addresses and then\nuses the API provided by https://ipstack.com/ to determine the location.\n\n## Dependencies\n\nC++17 and CMake 3.15\n\n* [argh](https://github.com/adishavit/argh) for setting up the CLI\n* [cpp-httplib](https://github.com/yhirose/cpp-httplib) for http requests\n* [nlohmann/json](https://github.com/nlohmann/json) for parsing JSON\n\n## LICENSE\nCopyright (c) **Junaid Rahim**. All rights reserved.\n\nLicensed under the [MIT](LICENSE) License\n\n\u003cbr\u003e\n\n[![forthebadge](https://forthebadge.com/images/badges/made-with-c-plus-plus.svg)](https://forthebadge.com)\n \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunaidrahim%2Flocate-route","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunaidrahim%2Flocate-route","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunaidrahim%2Flocate-route/lists"}