Skip to content

Commit 460e801

Browse files
committed
Support new proxy type "AIC" in "Is_proxy" field
1 parent 877997e commit 460e801

6 files changed

Lines changed: 85 additions & 81 deletions

File tree

LICENSE.TXT

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
MIT License
2-
3-
Copyright (c) 2025-2026 IP2Location.com
4-
5-
Permission is hereby granted, free of charge, to any person obtaining a copy
6-
of this software and associated documentation files (the "Software"), to deal
7-
in the Software without restriction, including without limitation the rights
8-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9-
copies of the Software, and to permit persons to whom the Software is
10-
furnished to do so, subject to the following conditions:
11-
12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
14-
15-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
1+
MIT License
2+
3+
Copyright (c) 2025-2026 IP2Location.com
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 56 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,57 @@
1-
# IP2Proxy Erlang Module
2-
3-
This module allows user to query an IP address if it was being used as VPN anonymizer, open proxies, web proxies, Tor exits, data center, web hosting (DCH) range, search engine robots (SES), residential proxies (RES), consumer privacy networks (CPN), and enterprise private networks (EPN). It lookup the proxy IP address from **IP2Proxy BIN Data** file. This data file can be downloaded at
4-
5-
* Free IP2Proxy BIN Data: https://lite.ip2location.com
6-
* Commercial IP2Proxy BIN Data: https://www.ip2location.com/database/ip2proxy
7-
8-
9-
Developer Documentation
10-
=====================
11-
12-
To learn more about installation, usage, and code examples, please visit the developer documentation at [https://ip2proxy-erlang.readthedocs.io/en/latest/](https://ip2proxy-erlang.readthedocs.io/en/latest/).
13-
14-
15-
### Proxy Type
16-
17-
|Proxy Type|Description|
18-
|---|---|
19-
|VPN|Anonymizing VPN services|
20-
|TOR|Tor Exit Nodes|
21-
|PUB|Public Proxies|
22-
|WEB|Web Proxies|
23-
|DCH|Hosting Providers/Data Center|
24-
|SES|Search Engine Robots|
25-
|RES|Residential Proxies [PX10+]|
26-
|CPN|Consumer Privacy Networks. [PX11+]|
27-
|EPN|Enterprise Private Networks. [PX11+]|
28-
29-
### Usage Type
30-
31-
|Usage Type|Description|
32-
|---|---|
33-
|COM|Commercial|
34-
|ORG|Organization|
35-
|GOV|Government|
36-
|MIL|Military|
37-
|EDU|University/College/School|
38-
|LIB|Library|
39-
|CDN|Content Delivery Network|
40-
|ISP|Fixed Line ISP|
41-
|MOB|Mobile ISP|
42-
|DCH|Data Center/Web Hosting/Transit|
43-
|SES|Search Engine Spider|
44-
|RSV|Reserved|
45-
46-
### Threat Type
47-
48-
|Threat Type|Description|
49-
|---|---|
50-
|SPAM|Email and forum spammers|
51-
|SCANNER|Security Scanner or Attack|
52-
|BOTNET|Spyware or Malware|
1+
# IP2Proxy Erlang Module
2+
3+
This module allows user to query an IP address if it was being used as VPN anonymizer, open proxies, web proxies, Tor exits, data center, web hosting (DCH) range, search engine robots (SES), AI crawlers (AIC), residential proxies (RES), consumer privacy networks (CPN), and enterprise private networks (EPN). It lookup the proxy IP address from **IP2Proxy BIN Data** file. This data file can be downloaded at
4+
5+
* Free IP2Proxy BIN Data: https://lite.ip2location.com
6+
* Commercial IP2Proxy BIN Data: https://www.ip2location.com/database/ip2proxy
7+
8+
9+
Developer Documentation
10+
=====================
11+
12+
To learn more about installation, usage, and code examples, please visit the developer documentation at [https://ip2proxy-erlang.readthedocs.io/en/latest/](https://ip2proxy-erlang.readthedocs.io/en/latest/).
13+
14+
15+
### Proxy Type
16+
17+
|Proxy Type|Description|
18+
|---|---|
19+
|VPN|Anonymizing VPN services|
20+
|TOR|Tor Exit Nodes|
21+
|PUB|Public Proxies|
22+
|WEB|Web Proxies|
23+
|DCH|Hosting Providers/Data Center|
24+
|SES|Search Engine Robots|
25+
|RES|Residential Proxies [PX10+]|
26+
|CPN|Consumer Privacy Networks. [PX11+]|
27+
|EPN|Enterprise Private Networks. [PX11+]|
28+
|AIC|AI Crawlers. [PX12+]|
29+
30+
31+
### Usage Type
32+
33+
|Usage Type|Description|
34+
|---|---|
35+
|COM|Commercial|
36+
|ORG|Organization|
37+
|GOV|Government|
38+
|MIL|Military|
39+
|EDU|University/College/School|
40+
|LIB|Library|
41+
|CDN|Content Delivery Network|
42+
|ISP|Fixed Line ISP|
43+
|MOB|Mobile ISP|
44+
|ISP/MOB|Fixed Line or Mobile ISP|
45+
|DCH|Data Center/Web Hosting/Transit|
46+
|SES|Search Engine Spider|
47+
|SES/AIC|Search Engine Spider/AI Crawlers|
48+
|RSV|Reserved|
49+
50+
### Threat Type
51+
52+
|Threat Type|Description|
53+
|---|---|
54+
|SPAM|Email and forum spammers|
55+
|SCANNER|Security Scanner or Attack|
56+
|BOTNET|Spyware or Malware|
5357
|BOGON|Unassigned or illegitimate IP addresses announced via BGP|

docs/source/code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Retrieve geolocation information for an IP address.
4343
4444
| Field Name | Description |
4545
| ---------------- | ------------------------------------------------------------ |
46-
| Is_proxy | Determine whether if an IP address was a proxy or not. Returns 0 is not proxy, 1 if proxy, and 2 if it's data center IP |
46+
| Is_proxy | Determine whether if an IP address was a proxy or not. Returns 0 is not proxy, 1 if proxy, and 2 if it's data center IP or AI crawler |
4747
| Country_short | Two-character country code based on ISO 3166. |
4848
| Country_long | Country name based on ISO 3166. |
4949
| Region | Region or state name. |

docs/source/conf.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
# -- Project information
55

66
project = 'IP2Proxy Erlang'
7-
copyright = '2025, IP2Location'
7+
copyright = '2026, IP2Location'
88
author = 'IP2Location'
99

10-
release = '3.4.1'
11-
version = '3.4.1'
10+
release = '3.5.0'
11+
version = '3.5.0'
1212

1313
# -- General configuration
1414

ip2proxy.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ getpackageversion() ->
5353
end.
5454

5555
getmoduleversion() ->
56-
"3.4.1".
56+
"3.5.0".
5757

5858
getdatabaseversion() ->
5959
case ets:info(mymeta) of
@@ -311,7 +311,7 @@ readrecord(S, R, Dbtype, Mode) ->
311311
Is_proxy = 0;
312312
true ->
313313
if
314-
(Proxy_type == "DCH") or (Proxy_type == "SES") ->
314+
(Proxy_type == "DCH") or (Proxy_type == "SES") or (Proxy_type == "AIC") ->
315315
Is_proxy = 2;
316316
true ->
317317
Is_proxy = 1

mix.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule IP2ProxyErlang.MixProject do
44
def project() do
55
[
66
app: :ip2proxy_erlang,
7-
version: "3.4.1",
7+
version: "3.5.0",
88
elixir: "~> 1.0",
99
erlc_paths: ["."],
1010
build_embedded: Mix.env == :prod,
@@ -28,7 +28,7 @@ defmodule IP2ProxyErlang.MixProject do
2828
end
2929

3030
defp description() do
31-
"Query where IP address is a VPN anonymizer, open proxies, web proxies, Tor exits, data center, web hosting (DCH) range, search engine robots (SES), residential proxies (RES), consumer privacy networks (CPN), and enterprise private networks (EPN) by using IP2Proxy database."
31+
"Query where IP address is a VPN anonymizer, open proxies, web proxies, Tor exits, data center, web hosting (DCH) range, search engine robots (SES), AI crawlers (AIC), residential proxies (RES), consumer privacy networks (CPN), and enterprise private networks (EPN) by using IP2Proxy database."
3232
end
3333

3434
defp package() do

0 commit comments

Comments
 (0)