{"id":49585485,"url":"https://github.com/anarkrypto/badip.xyz","last_synced_at":"2026-05-03T22:06:53.048Z","repository":{"id":196302566,"uuid":"695313671","full_name":"anarkrypto/badip.xyz","owner":"anarkrypto","description":"Detect proxies, spammers and abusers by IP","archived":false,"fork":false,"pushed_at":"2025-06-08T06:54:04.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-19T14:11:07.543Z","etag":null,"topics":["abuse","anti","api","checker","cloudflare","detector","dnsbl","hono","ip","proxy","safe","spammer"],"latest_commit_sha":null,"homepage":"https://api.badip.xyz","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/anarkrypto.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}},"created_at":"2023-09-22T20:47:06.000Z","updated_at":"2025-06-08T06:51:55.000Z","dependencies_parsed_at":"2023-09-24T08:01:57.810Z","dependency_job_id":"b8c2c46c-ce95-4ce7-81f4-05a44e8fe200","html_url":"https://github.com/anarkrypto/badip.xyz","commit_stats":null,"previous_names":["anarkrypto/badip.info","anarkrypto/badip.xyz","anarkrypto/bad-ip-api"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/anarkrypto/badip.xyz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarkrypto%2Fbadip.xyz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarkrypto%2Fbadip.xyz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarkrypto%2Fbadip.xyz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarkrypto%2Fbadip.xyz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anarkrypto","download_url":"https://codeload.github.com/anarkrypto/badip.xyz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarkrypto%2Fbadip.xyz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32586245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: 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":["abuse","anti","api","checker","cloudflare","detector","dnsbl","hono","ip","proxy","safe","spammer"],"created_at":"2026-05-03T22:06:52.906Z","updated_at":"2026-05-03T22:06:53.041Z","avatar_url":"https://github.com/anarkrypto.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BAD IP API\n\nDetect bad IPS on your network and applications with this JSON REST API built with TypeScript and [Hono](https://hono.dev), designed to run on [Cloudflare Workers](https://workers.cloudflare.com).\n\n## Overview\n\n The primary purpose of this API is to detect bad IP addresses. It checks whether an IP address is associated with proxies, spammers, or abusers by querying various DNS-based blacklists (DNSBLs).\n\n It Offers two search strategies: **quick** and **full**.\n  - **Quick**: Resolves as soon as it finds the IP address in any blacklist.\n  - **Full**: Searches in all configured blacklists before returning a result.\n\n **Demo**: [https://api.badip.xyz/103.183.106.19?strategy=full](https://api.badip.xyz/103.183.106.19?strategy=full)\n\n## Running locally\n\n1. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n2. Run in development:\n\n   ```bash\n   npm run dev\n   ```\n\n## Usage\n\n### Making API Requests\n\nYou can make a GET request to the API by passing the IP address as a parameter. Here's an example using `curl`:\n\n```bash\ncurl http://localhost:8787/123.11.22.33\u0026strategy=full\n```\n\n- Replace `http://localhost:8787` with the actual URL of your API.\n- Specify the IP address you want to check.\n- Use the `strategy` parameter to choose between \"quick\" or \"full\" search strategies.\n\n### Response\n\nThe API will respond with a JSON object containing information about the the IP address:\n\n```json\n{\n  \"success\": true,\n  \"isBad\": true,\n  \"blacklists\": [\"dnsbl.example.info\"]\n}\n```\n\n- `success`: A boolean indicating whether the request was successful.\n- `isBad`: A boolean indicating whether the IP address is classified as \"bad\" or not.\n- `blacklists`: List of DNSBLs where the ip is listed. Returns only 1 when using the quick strategy.\n\n## Configuration\n\nYou can customize the DNSBLs to query by editing the [config.ts](src/config.ts) file. \n\nNote that Cloudflare Workers currently only supports 6 simultaneous requests, so the more DNSBLs you add, the longer it will take to search with the \"full\" strategy.\n\n### Deployment\n\n1. Deploy the API to Cloudflare Workers. Ensure you have the [Cloudflare Workers](https://www.cloudflare.com/plans/developer-platform/) configured with your Cloudflare account.\n\n   ```bash\n   npx wrangler publish\n   ```\n\n2. This may require authentication to your Cloudflare account. Once the API is deployed, you will receive a unique URL endpoint where the API is accessible.\n\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nIf you'd like to contribute to this project or report issues, please open an issue or submit a pull request on the GitHub repository.\n\n## Acknowledgments\n\nSpecial thanks to the DNSBLs maintainers for their contributions to a better internet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanarkrypto%2Fbadip.xyz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanarkrypto%2Fbadip.xyz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanarkrypto%2Fbadip.xyz/lists"}