{"id":13587127,"url":"https://github.com/extrawurst/ip2country","last_synced_at":"2025-03-17T07:31:02.800Z","repository":{"id":42109006,"uuid":"276188572","full_name":"extrawurst/ip2country","owner":"extrawurst","description":"fast ip -\u003e country lookup using asn database","archived":false,"fork":false,"pushed_at":"2024-01-05T10:38:23.000Z","size":5038,"stargazers_count":68,"open_issues_count":0,"forks_count":14,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-01T19:46:48.601Z","etag":null,"topics":["docker","iplookup","rust","webservice"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/repository/docker/extrawurst/ip2country","language":"Rust","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/extrawurst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"extrawurst"}},"created_at":"2020-06-30T19:19:43.000Z","updated_at":"2024-04-27T21:51:30.000Z","dependencies_parsed_at":"2024-01-05T00:30:07.826Z","dependency_job_id":"e0e0d9f5-b176-46e7-af7e-fd626bc79521","html_url":"https://github.com/extrawurst/ip2country","commit_stats":{"total_commits":62,"total_committers":1,"mean_commits":62.0,"dds":0.0,"last_synced_commit":"5b1c3c60cad158bb1aa803e8567b2d5fa92f94ae"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrawurst%2Fip2country","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrawurst%2Fip2country/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrawurst%2Fip2country/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/extrawurst%2Fip2country/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/extrawurst","download_url":"https://codeload.github.com/extrawurst/ip2country/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243848117,"owners_count":20357493,"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":["docker","iplookup","rust","webservice"],"created_at":"2024-08-01T15:06:02.212Z","updated_at":"2025-03-17T07:31:01.937Z","avatar_url":"https://github.com/extrawurst.png","language":"Rust","funding_links":["https://github.com/sponsors/extrawurst"],"categories":["Rust"],"sub_categories":[],"readme":"# ip2country\n\n![Publish Docker](https://github.com/extrawurst/ip2country/workflows/Publish%20Docker/badge.svg)\n\nuses free (CC0) APNs lookup [tables](https://github.com/sapics/ip-location-db) for ip to country lookup based on [OpenGeoFeed.com](https://opengeofeed.org).\n\nfind the docker image on [docker hub](https://hub.docker.com/repository/docker/extrawurst/ip2country).\n\n# features\n\n* lightweight and fast using rust\n* supports **ipv4** and **ipv6**\n* free APNs tables, no license mess\n* nightly updated with fresh APNs tables\n* use via REST or gRPC\n\n# REST example\n\nuse REST service:\n```\ndocker run -d --rm --name ip2country -p 5000:5000 extrawurst/ip2country:latest\n\ncurl http://0.0.0.0:5000/2a00:1450:4005:800::200e\nUS\n\ncurl http://0.0.0.0:5000/172.217.16.78\nUS\n\ndocker kill ip2country\n```\n\nuse `PORT` env variable to change the default port (5000):\n```\ndocker run -p 9000:9000 -e PORT=9000 extrawurst/ip2country\n```\n\n# gRPC example\n\nFind grpc proto definition here: \n[ip2country-grpc/proto/ip2c.proto](./ip2country-grpc/proto/ip2c.proto)\n\nuse gRPC service:\n```\ndocker run -d --rm --name ip2country -p 50051:50051 extrawurst/ip2country-grpc:latest\n\n\u003cconnect via your grpc client of choice\u003e\n\ndocker kill ip2country\n```\n\nuse `SRV_ADDR` env variable to change the services address:\n```\ndocker run -p 9000:9000 -e SRV_ADDR=0.0.0.0:9000 extrawurst/ip2country\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fextrawurst%2Fip2country","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fextrawurst%2Fip2country","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fextrawurst%2Fip2country/lists"}