A Laravel package for VPN & Proxy Detection by Trustip.io
You can install the package via composer:
composer require trustip/trustip
You need to set TRUSTIP_API_KEY
in your .env
file before using the package. You can get the API key from Trustip.io
TRUSTIP_API_KEY=your_api_key
You can publish the config file with:
php artisan vendor:publish --provider="Trustip\Trustip\Providers\TrustipServiceProvider"
Or create the config file config/trustip.php and add this code:
<?php
return [
/*
* The API key used to authenticate with the trustip API.
*
* You can get your API key from https://trustip.io
*/
'api_key' => env('TRUSTIP_API_KEY'),
];
You can start using Trustip
facade :
use Trustip;
$result = Trustip::check('8.8.8.8');
After that, you should get an output similar to this:
{
"status":"success",
"data": {
"ip":"8.8.8.8",
"is_proxy":true,
}
}
If the IP is proxy the is_proxy
will be true
if not it will be false
you can read more at https://docs.trustip.io
If there's an error, the output will be similar to this:
{
"status":"error",
"message":"Invalid IP address"
}
Check all errors on https://docs.trustip.io.
You can also use the isIpProxy
helper function in your controllers or other classes:
The
isIpProxy
will return false if the check method throws an exception or returns an error
if (isIpProxy('8.8.8.8')) {
// IP is a proxy
} else {
// IP is not a proxy
}
Trustip\Trustip\Exceptions\MissingApiKeyException
is thrown if the api key is not found in the env file.Trustip\Trustip\Exceptions\InvalidIpAddressException
is thrown if the ip address passed to the check method is invalid
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.