{"id":19224391,"url":"https://github.com/snowplow/iab-spiders-and-robots-java-client","last_synced_at":"2025-04-21T00:30:39.781Z","repository":{"id":57727101,"uuid":"86454343","full_name":"snowplow/iab-spiders-and-robots-java-client","owner":"snowplow","description":"Java 8+ client library for the IAB and ABC International Spiders and Robots list","archived":false,"fork":false,"pushed_at":"2023-04-14T11:58:31.000Z","size":133,"stargazers_count":6,"open_issues_count":3,"forks_count":2,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-01T07:11:05.284Z","etag":null,"topics":["abc","abc-international-spiders","bots","iab","iab-spiders","java-library","robots","spiders"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snowplow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE-2.0.txt","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":"2017-03-28T11:55:28.000Z","updated_at":"2024-11-23T01:36:16.000Z","dependencies_parsed_at":"2024-11-09T15:11:47.328Z","dependency_job_id":"032acc87-4e8d-44fc-9c6b-5e905bda2db2","html_url":"https://github.com/snowplow/iab-spiders-and-robots-java-client","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowplow%2Fiab-spiders-and-robots-java-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowplow%2Fiab-spiders-and-robots-java-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowplow%2Fiab-spiders-and-robots-java-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowplow%2Fiab-spiders-and-robots-java-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snowplow","download_url":"https://codeload.github.com/snowplow/iab-spiders-and-robots-java-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249979547,"owners_count":21355251,"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":["abc","abc-international-spiders","bots","iab","iab-spiders","java-library","robots","spiders"],"created_at":"2024-11-09T15:11:31.568Z","updated_at":"2025-04-21T00:30:39.394Z","avatar_url":"https://github.com/snowplow.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IAB Spiders And Robots Java Client\n\n[![Build Status](https://api.travis-ci.org/snowplow/iab-spiders-and-robots-java-client.svg?branch=master)][travis]\n[![Release](http://img.shields.io/badge/release-0.2.0-blue.svg?style=flat)][releases]\n[![License](http://img.shields.io/badge/license-Apache--2-blue.svg?style=flat)][license]\n\nThis is a Java 8 client library for the **[IAB/ABC International Spiders and Bots List][list]** (available separately).\n\nThe library is available from Maven Central, and is published under the Apache 2.0 License.\n\nIt uses Gradle as its build tool and contains a comprehensive set of JUnit tests.\n\n## Installation\n\nAdd into your project's `pom.xml`:\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.snowplowanalytics\u003c/groupId\u003e\n    \u003cartifactId\u003eiab-spiders-and-robots-client\u003c/artifactId\u003e\n    \u003cversion\u003e0.2.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## A Simple Example\n\nAssume we have a HTTP request from the IP address: `128.101.101.101` with a user agent string: \n`Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:50.0) Gecko/20100101 Firefox/50.0`.\nTo perform a robot or spider check using **[this algorithm][wiki-algorithm]**:\n\n```java\n// A File object pointing to your ip_exclude_current_cidr.txt file\nFile ipFile = new File(\"/path/to/ip_exclude_current_cidr.txt\");\n\n// File objects pointing to your include and exclude lists\nFile excludeUaFile = new File(\"/path/to/exclude_current.txt\");\nFile includeUaFile = new File(\"/path/to/include_current.txt\");\n\n// This creates the IabClient object, which should be reused across lookups.\nIabClient client = new IabClient(ipFile, excludeUaFile, includeUaFile);\n\nString useragent = \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:50.0) Gecko/20100101 Firefox/50.0\";\nInetAddress ipAddress = InetAddress.getByName(\"128.101.101.101\");\nIabResponse iabResponse = client.check(useragent, ipAddress);\n```\n\nFor more complex examples and step by step description, please, refer the library Wiki: **[Usage Of The Library][wiki-usage]**\n\n## Quickstart\n\nAssuming git, **[Vagrant][vagrant-install]** and **[VirtualBox][virtualbox-install]** installed:\n\n```bash\nhost$ git clone https://github.com/snowplow/iab-spiders-and-robots-java-client.git\nhost$ cd iab-spiders-and-robots-java-client\nhost$ vagrant up \u0026\u0026 vagrant ssh\nguest$ cd /vagrant\nguest$ ./gradlew clean build\nguest$ ./gradlew test\n```\n\n## Find out more\n\n* **[Usage Of The Library][wiki-usage]**\n\n* **[The Library Algorithm][wiki-algorithm]**\n\n## Copyright and License\n\nIAB Spiders And Robots Java Client is copyright 2017-2020 Snowplow Analytics Ltd.\n\nLicensed under the **[Apache License, Version 2.0][license]** (the \"License\"); you may not use this software except in compliance with the License.\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n\n[travis]: https://travis-ci.org/snowplow/iab-spiders-and-robots-java-client\n[releases]: https://github.com/snowplow/iab-spiders-and-robots-java-client/releases\n\n[vagrant-install]: http://docs.vagrantup.com/v2/installation/index.html\n[virtualbox-install]: https://www.virtualbox.org/wiki/Downloads\n\n[wiki-usage]: https://github.com/snowplow/iab-spiders-and-robots-java-client/wiki/Usage-Of-The-Library\n[wiki-algorithm]: https://github.com/snowplow/iab-spiders-and-robots-java-client/wiki/The-Library-Algorithm\n[license]: http://www.apache.org/licenses/LICENSE-2.0\n\n[list]: https://www.iab.com/guidelines/iab-abc-international-spiders-bots-list/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowplow%2Fiab-spiders-and-robots-java-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnowplow%2Fiab-spiders-and-robots-java-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowplow%2Fiab-spiders-and-robots-java-client/lists"}