IP2Proxy Laravel extension enables the user to query an IP address if it was being used as open proxy, web proxy, VPN anonymizer and TOR exits.
MIT License
IP2Proxy Laravel extension enables the user to query an IP address if it was being used as VPN servers, open proxies, web proxies, Tor exit nodes, search engine robots, data center ranges, residential proxies, consumer privacy networks, and enterprise private networks.
Note: This extension works in Laravel 6, Laravel 7, Laravel 8 and Laravel 9.
Run the command: composer require ip2location/ip2proxy-laravel
to download the package into the Laravel platform.
IP2Proxy Laravel extension is able to query the IP address proxy information from either BIN database or web service. This section will explain how to use this extension to query from BIN database and web service.
ip2proxy
in the database
directory.database/ip2proxy/
folder.php artisan make:controller TestController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use IP2ProxyLaravel; //use IP2ProxyLaravel class
class TestController extends Controller
{
//Create a lookup function for display
public function lookup(){
//Try query the geolocation information of 1.2.3.4 IP address
$records = IP2ProxyLaravel::get('1.2.3.4', 'bin');
echo '<p><strong>IP Address: </strong>' . $records['ipAddress'] . '</p>';
echo '<p><strong>IP Number: </strong>' . $records['ipNumber'] . '</p>';
echo '<p><strong>IP Version: </strong>' . $records['ipVersion'] . '</p>';
echo '<p><strong>Country Code: </strong>' . $records['countryCode'] . '</p>';
echo '<p><strong>Country: </strong>' . $records['countryName'] . '</p>';
echo '<p><strong>State: </strong>' . $records['regionName'] . '</p>';
echo '<p><strong>City: </strong>' . $records['cityName'] . '</p>';
echo '<p><strong>Proxy Type: </strong>' . $records['proxyType'] . '</p>';
echo '<p><strong>Is Proxy: </strong>' . $records['isProxy'] . '</p>';
echo '<p><strong>ISP: </strong>' . $records['isp'] . '</p>';
echo '<p><strong>Domain: </strong>' . $records['domain'] . '</p>';
echo '<p><strong>Usage Type: </strong>' . $records['usageType'] . '</p>';
echo '<p><strong>ASN: </strong>' . $records['asn'] . '</p>';
echo '<p><strong>AS: </strong>' . $records['as'] . '</p>';
echo '<p><strong>Last Seen: </strong>' . $records['lastSeen'] . '</p>';
echo '<p><strong>Threat: </strong>' . $records['threat'] . '</p>';
echo '<p><strong>Provider: </strong>' . $records['provider'] . '</p>';
}
}
Route::get('test', 'TestController@lookup');
config
directory.<?php
return [
'IP2LocationioAPIKey' => 'your_api_key', // Required. Your IP2Location.io API key.
'IP2LocationioLanguage' => 'en', // Optional. Refer to https://www.ip2location.io/ip2location-documentation for available languages.
];
Or save the following contents for IP2Proxy:
<?php
return [
'IP2ProxyAPIKey' => 'your_api_key', // Required. Your IP2Proxy API key.
'IP2ProxyPackage' => 'PX1', // Required. Choose the package you would like to use.
'IP2ProxyUsessl' => false, // Optional. Use https or http.
];
php artisan make:controller TestController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use IP2ProxyLaravel; //use IP2ProxyLaravel class
class TestController extends Controller
{
//Create a lookup function for display
public function lookup(){
//Try query the geolocation information of 1.2.3.4 IP address
$records = IP2ProxyLaravel::get('1.2.3.4', 'ws');
echo '<pre>';
print_r($records);
echo '</pre>';
}
}
Route::get('test', 'TestController@lookup');
This library requires IP2Proxy BIN data file to function. You may download the BIN data file at
Email: [email protected]
Website: https://www.ip2location.com