{"id":22035038,"url":"https://github.com/avaray/gip-scripts","last_synced_at":"2026-04-12T00:41:40.537Z","repository":{"id":265314507,"uuid":"865332708","full_name":"Avaray/gip-scripts","owner":"Avaray","description":"Scripts for checking external IPv4 address. Same idea written in different languages.","archived":false,"fork":false,"pushed_at":"2024-10-01T16:54:01.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-19T21:28:27.298Z","etag":null,"topics":["address","bash","bun","bun-sh","deno","external","external-ip","golang","ip","ip-address","ipaddress","ipv4","python","scripts"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Avaray.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"funding.yml","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},"funding":{"github":"Avaray","patreon":"Avaray_","buy_me_a_coffee":"avaray"}},"created_at":"2024-09-30T11:09:24.000Z","updated_at":"2024-10-01T16:54:05.000Z","dependencies_parsed_at":"2024-11-29T02:04:40.611Z","dependency_job_id":null,"html_url":"https://github.com/Avaray/gip-scripts","commit_stats":null,"previous_names":["avaray/gip-scripts"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avaray%2Fgip-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avaray%2Fgip-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avaray%2Fgip-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Avaray%2Fgip-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Avaray","download_url":"https://codeload.github.com/Avaray/gip-scripts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245099807,"owners_count":20560669,"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":["address","bash","bun","bun-sh","deno","external","external-ip","golang","ip","ip-address","ipaddress","ipv4","python","scripts"],"created_at":"2024-11-30T10:15:44.628Z","updated_at":"2026-04-12T00:41:40.486Z","avatar_url":"https://github.com/Avaray.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Avaray","https://patreon.com/Avaray_","https://buymeacoffee.com/avaray"],"categories":[],"sub_categories":[],"readme":"# 🐷 GIP Scripts\n\nSome time ago, I created [NPM](https://docs.npmjs.com/about-npm) package named [GIP](https://www.npmjs.com/package/gip), which is a simple [JavaScript](https://simple.wikipedia.org/wiki/JavaScript) [module](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) and [CLI](https://en.wikipedia.org/wiki/Command-line_interface) tool that checks external [IPv4](https://en.wikipedia.org/wiki/IPv4) address of the machine it runs on. Now I want to create a few scripts in different programming languages that will do the same thing. \n\nThese scripts will do the following:\n\n- Do a parallel HTTP request to the multiple services that return the IP address.\n- Ensure that the IP address is real by waiting for specific number of the same responses.\n\n## Usage\n\nYou can grab the scripts from the [dist](https://github.com/Avaray/gip-scripts/tree/main/dist) directory.\n\nYou can pass `--ensure N` argument to specify the number of the same responses (default is 3) that you want to wait for. In this way, you will have verification that the IP address is real.\nKeep in mind that currently there is 28 services, so do not pass the number greater than 28.\nAlso, keep in mind that some services may be down or not available in your region. Try to stick with low numbers.\n\n### [BASH](https://www.gnu.org/software/bash/)\n\n```bash\n./gip.sh\n./gip.sh --ensure 7\n```\n\n### [Python](https://www.python.org/)\n\n```bash\npython gip.py\npython gip.py --ensure 7\n```\n\n### [Bun](https://bun.sh/)\n  \n```bash\nbun gip.ts\nbun gip.ts --ensure 7\n```\n\n### [Deno](https://deno.com/)\n\n```bash\ndeno --allow-net gip.ts\ndeno --allow-net gip.ts --ensure 7\n```\n\n### [Go](https://go.dev/)\n\n```bash\ngo run gip.go\ngo run gip.go --ensure 7\n```\n\n### [Java](https://www.java.com/en/)\n\n```bash\njava gip.java\njava gip.java --ensure 7\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favaray%2Fgip-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favaray%2Fgip-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favaray%2Fgip-scripts/lists"}