Skip to content

Commit

Permalink
Added supports for provider field.
Browse files Browse the repository at this point in the history
  • Loading branch information
ip2location committed Sep 2, 2021
1 parent 4fd65dc commit 2ad17a4
Show file tree
Hide file tree
Showing 7 changed files with 477 additions and 547 deletions.
2 changes: 1 addition & 1 deletion LICENSE.TXT
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020 IP2Location.com
Copyright (c) 2021 IP2Location.com

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
CodeIgniter IP2Proxy Library
===============================
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.
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.

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

### Web Service
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ip2location/codeigniter-ip2proxy",
"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.",
"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.",
"keywords": ["ip2proxy-bin-database", "geolocation-information", "codeigniter-ip2proxy", "ip-geolocation", "geolocation", "ip-lookup", "ip-address-database", "ip-database","web service", "proxy"],
"homepage": "https://www.ip2location.com",
"license": "MIT",
Expand Down
12 changes: 7 additions & 5 deletions controllers/IP2Proxy_test.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
<?php namespace App\Controllers;

use App\Libraries\IP2Proxy_lib;

<?php
define('IP2PROXY_DATABASE', 'LOCATION OF YOUR BIN FILE');

class IP2Proxy_test extends BaseController {
class IP2Proxy_test extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->library('ip2proxy_lib');
}

public function index() {
$ipx = new IP2Proxy_lib();

Expand Down
98 changes: 26 additions & 72 deletions libraries/IP2Proxy_lib.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<?php namespace App\Libraries;
<?php
(defined('BASEPATH') || defined('SYSPATH')) or die('No direct access allowed.');

// Web Service Settings
if(!defined('IP2PROXY_API_KEY')) {
Expand All @@ -13,123 +14,76 @@
define('IP2PROXY_USESSL', false);
}

require_once('ip2proxy/class.IP2Proxy.php');
require_once('ip2proxy/Database.php');
require_once('ip2proxy/WebService.php');

class IP2Proxy_lib {
private $database;

protected static $ip2proxy;

public function __construct() {
self::$ip2proxy = new \IP2Proxy\Database(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
}

public function getCountryShort($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$countryShort = self::$ip2proxy->getCountryShort(self::getIP($ip));
self::$ip2proxy->close();
return $countryShort;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::COUNTRY_CODE);
}

public function getCountryLong($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$countryLong = self::$ip2proxy->getCountryLong(self::getIP($ip));
self::$ip2proxy->close();
return $countryLong;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::COUNTRY_NAME);
}

public function getRegion($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$region = self::$ip2proxy->getRegion(self::getIP($ip));
self::$ip2proxy->close();
return $region;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::REGION_NAME);
}

public function getCity($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$city = self::$ip2proxy->getCity(self::getIP($ip));
self::$ip2proxy->close();
return $city;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::CITY_NAME);
}

public function getISP($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$isp = self::$ip2proxy->getISP(self::getIP($ip));
self::$ip2proxy->close();
return $isp;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::ISP);
}

public function getDomain($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$domain = self::$ip2proxy->getDomain(self::getIP($ip));
self::$ip2proxy->close();
return $domain;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::DOMAIN_NAME);
}

public function getUsageType($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$usageType = self::$ip2proxy->getUsageType(self::getIP($ip));
self::$ip2proxy->close();
return $usageType;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::USAGE_TYPE);
}

public function getProxyType($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$proxyType = self::$ip2proxy->getProxyType(self::getIP($ip));
self::$ip2proxy->close();
return $proxyType;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::PROXY_NAME);
}

public function getASN($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$asn = self::$ip2proxy->getASN(self::getIP($ip));
self::$ip2proxy->close();
return $asn;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::ASN);
}

public function getAS($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$as = self::$ip2proxy->getAS(self::getIP($ip));
self::$ip2proxy->close();
return $as;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::_AS);
}

public function getLastSeen($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$lastSeen = self::$ip2proxy->getLastSeen(self::getIP($ip));
self::$ip2proxy->close();
return $lastSeen;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::LAST_SEEN);
}

public function getThreat($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$threat = self::$ip2proxy->getThreat(self::getIP($ip));
self::$ip2proxy->close();
return $threat;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::THREAT);
}

public function getProvider($ip=NULL) {
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::PROVIDER);
}

public function isProxy($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$isProxy = self::$ip2proxy->isProxy(self::getIP($ip));
self::$ip2proxy->close();
return $isProxy;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::IS_PROXY);
}

public function getAll($ip=NULL) {
self::$ip2proxy = new \IP2Proxy\Database();
self::$ip2proxy->open(IP2PROXY_DATABASE, \IP2Proxy\Database::FILE_IO);
$all = self::$ip2proxy->getAll(self::getIP($ip));
self::$ip2proxy->close();
return $all;
return self::$ip2proxy->lookup(self::getIP($ip), \IP2Proxy\Database::ALL);
}

public function getWebService($ip=NULL) {
Expand Down
Loading

0 comments on commit 2ad17a4

Please sign in to comment.