Skip to content

Commit 2ad17a4

Browse files
Added supports for provider field.
1 parent 4fd65dc commit 2ad17a4

7 files changed

Lines changed: 477 additions & 547 deletions

File tree

LICENSE.TXT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2020 IP2Location.com
3+
Copyright (c) 2021 IP2Location.com
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CodeIgniter IP2Proxy Library
22
===============================
3-
This module allows user to reverse search of IP address to detect VPN servers, open proxies, web proxies, Tor exit nodes, search engine robots, data center ranges and residential proxies. Other information available includes proxy type, country, state, city, ISP, domain name, usage type, AS number, AS name, threats and last seen date.
3+
This module allows user to reverse search of IP address to detect VPN servers, open proxies, web proxies, Tor exit nodes, search engine robots, data center ranges and residential proxies. Other information available includes proxy type, country, state, city, ISP, domain name, usage type, AS number, AS name, threats, last seen date and provider names.
44

55
## Installation
66
Upload `controllers` and `libraries` to CodeIgniter `application` folder.
@@ -33,6 +33,7 @@ Below are the methods supported for BIN data file lookup.
3333
$as = $ipx->getAS($ip);
3434
$lastSeen = $ipx->getLastSeen($ip);
3535
$threat = $ipx->getThreat($ip);
36+
$provider = $ipx->getProvider($ip);
3637
$isProxy = $ipx->isProxy($ip);
3738

3839
### Web Service

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ip2location/codeigniter-ip2proxy",
3-
"description": "IP2Proxy library for CodeIgniter. This module allows user to reverse search of IP address to detect VPN servers, open proxies, web proxies, Tor exit nodes, search engine robots, data center ranges and residential proxies using IP2Proxy BIN database. Other information available includes proxy type, country, state, city, ISP, domain name, usage type, AS number, AS name, threats and last seen date.",
3+
"description": "IP2Proxy library for CodeIgniter. This module allows user to reverse search of IP address to detect VPN servers, open proxies, web proxies, Tor exit nodes, search engine robots, data center ranges and residential proxies using IP2Proxy BIN database. Other information available includes proxy type, country, state, city, ISP, domain name, usage type, AS number, AS name, threats, last seen date and provider names.",
44
"keywords": ["ip2proxy-bin-database", "geolocation-information", "codeigniter-ip2proxy", "ip-geolocation", "geolocation", "ip-lookup", "ip-address-database", "ip-database","web service", "proxy"],
55
"homepage": "https://www.ip2location.com",
66
"license": "MIT",

controllers/IP2Proxy_test.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
<?php namespace App\Controllers;
2-
3-
use App\Libraries\IP2Proxy_lib;
4-
1+
<?php
52
define('IP2PROXY_DATABASE', 'LOCATION OF YOUR BIN FILE');
63

7-
class IP2Proxy_test extends BaseController {
4+
class IP2Proxy_test extends CI_Controller {
5+
function __construct() {
6+
parent::__construct();
7+
$this->load->library('ip2proxy_lib');
8+
}
9+
810
public function index() {
911
$ipx = new IP2Proxy_lib();
1012

libraries/IP2Proxy_lib.php

Lines changed: 26 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
<?php namespace App\Libraries;
1+
<?php
2+
(defined('BASEPATH') || defined('SYSPATH')) or die('No direct access allowed.');
23

34
// Web Service Settings
45
if(!defined('IP2PROXY_API_KEY')) {
@@ -13,123 +14,76 @@
1314
define('IP2PROXY_USESSL', false);
1415
}
1516

16-
require_once('ip2proxy/class.IP2Proxy.php');
17+
require_once('ip2proxy/Database.php');
18+
require_once('ip2proxy/WebService.php');
1719

1820
class IP2Proxy_lib {
1921
private $database;
2022

2123
protected static $ip2proxy;
2224

25+
public function __construct() {
26+
self::$ip2proxy = new \IP2Proxy\Database(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
27+
}
28+
2329
public function getCountryShort($ip=NULL) {
24-
self::$ip2proxy = new \IP2Proxy\Database();
25-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
26-
$countryShort = self::$ip2proxy->getCountryShort(self::getIP($ip));
27-
self::$ip2proxy->close();
28-
return $countryShort;
30+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::COUNTRY_CODE);
2931
}
3032

3133
public function getCountryLong($ip=NULL) {
32-
self::$ip2proxy = new \IP2Proxy\Database();
33-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
34-
$countryLong = self::$ip2proxy->getCountryLong(self::getIP($ip));
35-
self::$ip2proxy->close();
36-
return $countryLong;
34+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::COUNTRY_NAME);
3735
}
3836

3937
public function getRegion($ip=NULL) {
40-
self::$ip2proxy = new \IP2Proxy\Database();
41-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
42-
$region = self::$ip2proxy->getRegion(self::getIP($ip));
43-
self::$ip2proxy->close();
44-
return $region;
38+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::REGION_NAME);
4539
}
4640

4741
public function getCity($ip=NULL) {
48-
self::$ip2proxy = new \IP2Proxy\Database();
49-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
50-
$city = self::$ip2proxy->getCity(self::getIP($ip));
51-
self::$ip2proxy->close();
52-
return $city;
42+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::CITY_NAME);
5343
}
5444

5545
public function getISP($ip=NULL) {
56-
self::$ip2proxy = new \IP2Proxy\Database();
57-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
58-
$isp = self::$ip2proxy->getISP(self::getIP($ip));
59-
self::$ip2proxy->close();
60-
return $isp;
46+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::ISP);
6147
}
6248

6349
public function getDomain($ip=NULL) {
64-
self::$ip2proxy = new \IP2Proxy\Database();
65-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
66-
$domain = self::$ip2proxy->getDomain(self::getIP($ip));
67-
self::$ip2proxy->close();
68-
return $domain;
50+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::DOMAIN_NAME);
6951
}
7052

7153
public function getUsageType($ip=NULL) {
72-
self::$ip2proxy = new \IP2Proxy\Database();
73-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
74-
$usageType = self::$ip2proxy->getUsageType(self::getIP($ip));
75-
self::$ip2proxy->close();
76-
return $usageType;
54+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::USAGE_TYPE);
7755
}
7856

7957
public function getProxyType($ip=NULL) {
80-
self::$ip2proxy = new \IP2Proxy\Database();
81-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
82-
$proxyType = self::$ip2proxy->getProxyType(self::getIP($ip));
83-
self::$ip2proxy->close();
84-
return $proxyType;
58+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::PROXY_NAME);
8559
}
8660

8761
public function getASN($ip=NULL) {
88-
self::$ip2proxy = new \IP2Proxy\Database();
89-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
90-
$asn = self::$ip2proxy->getASN(self::getIP($ip));
91-
self::$ip2proxy->close();
92-
return $asn;
62+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::ASN);
9363
}
9464

9565
public function getAS($ip=NULL) {
96-
self::$ip2proxy = new \IP2Proxy\Database();
97-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
98-
$as = self::$ip2proxy->getAS(self::getIP($ip));
99-
self::$ip2proxy->close();
100-
return $as;
66+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::_AS);
10167
}
10268

10369
public function getLastSeen($ip=NULL) {
104-
self::$ip2proxy = new \IP2Proxy\Database();
105-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
106-
$lastSeen = self::$ip2proxy->getLastSeen(self::getIP($ip));
107-
self::$ip2proxy->close();
108-
return $lastSeen;
70+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::LAST_SEEN);
10971
}
11072

11173
public function getThreat($ip=NULL) {
112-
self::$ip2proxy = new \IP2Proxy\Database();
113-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
114-
$threat = self::$ip2proxy->getThreat(self::getIP($ip));
115-
self::$ip2proxy->close();
116-
return $threat;
74+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::THREAT);
75+
}
76+
77+
public function getProvider($ip=NULL) {
78+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::PROVIDER);
11779
}
11880

11981
public function isProxy($ip=NULL) {
120-
self::$ip2proxy = new \IP2Proxy\Database();
121-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
122-
$isProxy = self::$ip2proxy->isProxy(self::getIP($ip));
123-
self::$ip2proxy->close();
124-
return $isProxy;
82+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::IS_PROXY);
12583
}
12684

12785
public function getAll($ip=NULL) {
128-
self::$ip2proxy = new \IP2Proxy\Database();
129-
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
130-
$all = self::$ip2proxy->getAll(self::getIP($ip));
131-
self::$ip2proxy->close();
132-
return $all;
86+
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::ALL);
13387
}
13488

13589
public function getWebService($ip=NULL) {

0 commit comments

Comments
 (0)