{"id":50465464,"url":"https://github.com/threefoldtech/grid_geoip","last_synced_at":"2026-06-01T07:03:25.673Z","repository":{"id":84223080,"uuid":"152583524","full_name":"threefoldtech/grid_geoip","owner":"threefoldtech","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-27T08:38:59.000Z","size":21,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-27T10:22:41.201Z","etag":null,"topics":[],"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/threefoldtech.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-10-11T11:52:02.000Z","updated_at":"2026-05-27T09:55:44.000Z","dependencies_parsed_at":"2024-06-21T18:54:08.688Z","dependency_job_id":"6aa0f03b-6e64-4698-93c6-63c46cd4629a","html_url":"https://github.com/threefoldtech/grid_geoip","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/threefoldtech/grid_geoip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_geoip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_geoip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_geoip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_geoip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threefoldtech","download_url":"https://codeload.github.com/threefoldtech/grid_geoip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threefoldtech%2Fgrid_geoip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33763662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-06-01T07:03:25.428Z","updated_at":"2026-06-01T07:03:25.667Z","avatar_url":"https://github.com/threefoldtech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Grid GeoIP\n\nGrid GeoIP is a lightweight Go webservice that provides IP geolocation and lookup. It uses the MaxMind GeoLite2 database to determine geographical location and metadata associated with IP addresses.\n\n## What this is\n\nGrid GeoIP is a small HTTP service that answers geolocation queries for IP addresses. It supports both explicit IP queries via request parameters and implicit lookups based on the remote address of the incoming request. The service supports both IPv4 and IPv6 addresses and returns structured JSON containing country, city, continent, subdivision, and coordinate data.\n\n## What this repository contains\n\n- `main.go` — Go source for the HTTP service using the Gin web framework\n- `go.mod` / `go.sum` — Go module definition and dependency lock\n- `update.sh` — Script for updating the GeoLite2 database\n\n## Role in the stack\n\nGrid GeoIP functions as a network diagnostics and geolocation utility. It can be deployed as a standalone microservice or integrated into larger systems that need to determine the geographical origin of traffic. It is commonly used for node geography mapping, traffic analysis, and regional service routing.\n\n## Relation to ThreeFold\n\nThis technology is used within the ThreeFold ecosystem and was first deployed on the ThreeFold Grid. The component itself is designed as reusable infrastructure technology and should be understood by its technical function first, independent of any specific deployment.\n\n## Ownership\n\nThis repository is owned and maintained by TF-Tech NV, a Belgian company responsible for the development and maintenance of this technology.\n\n## Build\n\n```bash\ngo build\n```\n\n## Installation\n\n1. Obtain a copy of the MaxMind GeoLite2-City database (`GeoLite2-City.mmdb`).\n2. Place the database file in the same directory as the `whereisip` binary.\n3. Run the service: `./whereisip`\n\nThe service listens on port `80` by default. There are no command-line arguments.\n\n## Usage\n\nSend a GET request to `/`. You can optionally provide an `ip` query parameter.\n\n```bash\ncurl \"http://localhost/?ip=8.8.8.8\"\n```\n\nExample response:\n\n```json\n{\n  \"address\": \"8.8.8.8\",\n  \"country_code\": \"US\",\n  \"country_name\": \"United States\",\n  \"subdivision\": \"California\",\n  \"continent\": \"North America\",\n  \"city_name\": \"Mountain View\",\n  \"latitude\": 37.386,\n  \"longitude\": -122.0838,\n  \"source\": \"maxmind geolite2\"\n}\n```\n\n## Dependencies\n\n- [MaxMind GeoLite2](https://www.maxmind.com/en/geoip2-city)\n- [Gin web framework](https://github.com/gin-gonic/gin)\n- [geoip2-golang](https://github.com/oschwald/geoip2-golang)\n\n## License\n\nThis project is licensed under the Apache License 2.0 — see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Fgrid_geoip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreefoldtech%2Fgrid_geoip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreefoldtech%2Fgrid_geoip/lists"}