Lookup IPs (IPv4 + IPv6), store them in MySQL and Redis + check if the IP is a VPN/Proxy

Overview

PHP-IP-Lookup-VPN-Detection

Lookup IPs (IPv4 + IPv6), store them in MySQL and Redis + check if the IP is a VPN/Proxy.

How to use it?

  • Upload the files to your Webserver
  • Open "install.php" in your Webbrowser
  • Make sure to install Redis
  • Retreive needed packages by using Composer
  • open "index.php" in your Webbrowser

Hint:

  • Only non commercial use allowed
  • Only 45 unique requests per minute from an IP address because of IP-API
    • if you go over the limit, your IP will get banned for 1 hour
Comments
  • Bump predis/predis from 2.0.0 to 2.0.1

    Bump predis/predis from 2.0.0 to 2.0.1

    Bumps predis/predis from 2.0.0 to 2.0.1.

    Release notes

    Sourced from predis/predis's releases.

    v2.0.1

    • Added retry interval to RedisCluster with a default of 10ms
    • Avoid PHP 8.2 warning in Connection\Parameters
    • Fixed Sentinel reconnect issue in long-running PHP processes
    Changelog

    Sourced from predis/predis's changelog.

    v2.0.1 (2022-09-04)

    • Added retry interval to RedisCluster with a default of 10ms
    • Avoid PHP 8.2 warning in Connection\Parameters
    • Fixed Sentinel reconnect issue in long-running PHP processes
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump predis/predis from 2.0.2 to 2.0.3

    Bump predis/predis from 2.0.2 to 2.0.3

    Bumps predis/predis from 2.0.2 to 2.0.3.

    Release notes

    Sourced from predis/predis's releases.

    v2.0.3

    • Improved PHP 8.2 support
    • Call is_resource() before reading/writing
    • Added partial support for Redis Stream commands
    • Fixed Sentinel authentication issue
    Changelog

    Sourced from predis/predis's changelog.

    v2.0.3 (2022-10-11)

    • Improved PHP 8.2 support
    • Call is_resource() before reading/writing
    • Added partial support for Redis Stream commands
    • Fixed Sentinel authentication issue
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump predis/predis from 2.0.0 to 2.0.2

    Bump predis/predis from 2.0.0 to 2.0.2

    Bumps predis/predis from 2.0.0 to 2.0.2.

    Release notes

    Sourced from predis/predis's releases.

    v2.0.2

    • Fixed PHP 8.2 deprecation notice: Use of "static" in callables

    v2.0.1

    • Added retry interval to RedisCluster with a default of 10ms
    • Avoid PHP 8.2 warning in Connection\Parameters
    • Fixed Sentinel reconnect issue in long-running PHP processes
    Changelog

    Sourced from predis/predis's changelog.

    v2.0.2 (2022-09-06)

    • Fixed PHP 8.2 deprecation notice: Use of "static" in callables

    v2.0.1 (2022-09-04)

    • Added retry interval to RedisCluster with a default of 10ms
    • Avoid PHP 8.2 warning in Connection\Parameters
    • Fixed Sentinel reconnect issue in long-running PHP processes
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump predis/predis from 1.1.10 to 2.0.0

    Bump predis/predis from 1.1.10 to 2.0.0

    Bumps predis/predis from 1.1.10 to 2.0.0.

    Release notes

    Sourced from predis/predis's releases.

    v2.0.0

    • Dropped support for PHP 7.1 and older

    • Accepted values for some client options have changed, this is the new list of accepted values:

      • aggregate: callable returning an aggregate connection.
      • cluster: string value (predis, redis), callable returning an aggregate connection.
      • replication: string value (predis, sentinel), callable returning an aggregate connection.
      • commands: command factory, named array mapping command IDs to PHP classes, callable returning a command factory or a named array.
      • connections: connection factory, callable object returning a connection factory, named array mapping URI schemes to PHP classes, string identifying a supported combination of configurations for the connection factory.
      • prefix: string value, command processor, callable.
      • exceptions: boolean.

      Note that both the cluster and replication options now return a closure acting as initializer instead of an aggregate connection instance.

    • The connections client option now accepts certain string values identifying certain combinations of configurations for the connection factory. Currenlty this is used to provide a short way to configure Predis to load our phpiredis based connection backends simply, accepted values are:

      • phpiredis-stream maps Phpiredis\Connection\PhpiredisStreamConnection to tcp, redis, unix URI schemes.
      • phpiredis-socket maps Phpiredis\Connection\PhpiredisSocketConnection to tcp, redis, unix URI schemes.
      • phpiredis-stream is simply an alias of phpiredis-stream.
    • Added the new Predis\Cluster\Hash\PhpiredisCRC16 class using ext-phpiredis to speed-up the generation of the CRC16 hash of keys for redis-cluster. Predis automatically uses this class when ext-phpiredis is loaded, but it is possible to configure the hash generator using the new crc16 client option (accepted values predis, phpiredis or an hash generator instance).

    • Replication backends now use the role parameter instead of alias in order to distinguish the role of a connection. Accepted values are master, slave and, for redis-sentinel, sentinel. This led to a redesign of how connections can be retrieved from replication backends: the method getConnectionById() now retrieves a connection only by its ID (ip:port pair), to get a connection by its alias there is the new method getConnectionByAlias(). This method is not supported by the redis-sentinel backend due to its dynamic nature (connections are retrieved and initialized at runtime from sentinels) but it is possible to get a single connection from the pool by using its ID. It is also possible to retrive a connection by role using the method getConnectionByRole().

    ... (truncated)

    Changelog

    Sourced from predis/predis's changelog.

    v2.0.0 (2022-06-08)

    • Dropped support for PHP 7.1 and older

    • Accepted values for some client options have changed, this is the new list of accepted values:

      • aggregate: callable returning an aggregate connection.
      • cluster: string value (predis, redis), callable returning an aggregate connection.
      • replication: string value (predis, sentinel), callable returning an aggregate connection.
      • commands: command factory, named array mapping command IDs to PHP classes, callable returning a command factory or a named array.
      • connections: connection factory, callable object returning a connection factory, named array mapping URI schemes to PHP classes, string identifying a supported combination of configurations for the connection factory.
      • prefix: string value, command processor, callable.
      • exceptions: boolean.

      Note that both the cluster and replication options now return a closure acting as initializer instead of an aggregate connection instance.

    • The connections client option now accepts certain string values identifying certain combinations of configurations for the connection factory. Currenlty this is used to provide a short way to configure Predis to load our phpiredis based connection backends simply, accepted values are:

      • phpiredis-stream maps Phpiredis\Connection\PhpiredisStreamConnection to tcp, redis, unix URI schemes.
      • phpiredis-socket maps Phpiredis\Connection\PhpiredisSocketConnection to tcp, redis, unix URI schemes.
      • phpiredis-stream is simply an alias of phpiredis-stream.
    • Added the new Predis\Cluster\Hash\PhpiredisCRC16 class using ext-phpiredis to speed-up the generation of the CRC16 hash of keys for redis-cluster. Predis automatically uses this class when ext-phpiredis is loaded, but it is possible to configure the hash generator using the new crc16 client option (accepted values predis, phpiredis or an hash generator instance).

    • Replication backends now use the role parameter instead of alias in order to distinguish the role of a connection. Accepted values are master, slave and, for redis-sentinel, sentinel. This led to a redesign of how connections can be retrieved from replication backends: the method getConnectionById() now retrieves a connection only by its ID (ip:port pair), to get a connection by its alias there is the new method getConnectionByAlias(). This method is not supported by the redis-sentinel backend due to its dynamic nature (connections are retrieved and initialized at runtime from sentinels) but it is possible to get a single connection from the pool by using its ID. It is also possible to retrive a connection by role using the method getConnectionByRole().

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump predis/predis from 1.1.9 to 1.1.10

    Bump predis/predis from 1.1.9 to 1.1.10

    Bumps predis/predis from 1.1.9 to 1.1.10.

    Release notes

    Sourced from predis/predis's releases.

    Predis v1.1.10

    • FIX: Avoid PHP 8.1 deprecation notices in Session/Handler
    • FIX: Fixed "Cannot use object of type Predis\Response\Error as array" error in Connection/Aggregate/SentinelReplication
    Changelog

    Sourced from predis/predis's changelog.

    v1.1.10 (2022-01-05)

    • FIX: Avoid PHP 8.1 deprecation notices in Session/Handler
    • FIX: Fixed "Cannot use object of type Predis\Response\Error as array" error in Connection/Aggregate/SentinelReplication
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Owner
Security Researcher
null
Most advanced Anti-VPN plugin for PocketMine-MP

VPNProtect Are banned players joining back on different IPs each time and you have no idea how to stop them? Have you been tired of constantly needing

MagicGames 9 Aug 4, 2022
eMarket Online Store. It is a free online store engine. Make the best online shop with us.

eMarket Online Store. It is a free online store engine. Make the best online shop with us. Join our Open Source community. Together we will make the best free e-commerce solution.

Alexander 54 Oct 22, 2022
Bulk name lookup for database relations

Tatter\Roster Bulk name lookup for database relations in CodeIgniter 4 Quick Start Install with Composer: > composer require tatter/roster Create a Ro

Tatter Software 5 Jun 11, 2022
Shoutit is a PHP powered shoutbox which uses mySQL to store shouts

This is a very basic PHP/MySQL application. built to prove my usuage of basic php + MySQL. It is very easy to use, has error checking, and very fast. Users can post shouts along with their names & comment.

Roman Hossain Shaon 10 Oct 10, 2022
A Full Stack login/register system using a MySQL database to store the information

This is a Full Stack login/register system using a MySQL database to store the information. I created this to sharpen my Full Stack Development skills.

Farhan Khan 6 Jun 25, 2022
yxorP is a PHP-based proxy application that is very lightweight and easily customizable per user needs.

Web Proxy Guzzler + SAAS(y) Cockpit (GUI Dashboard incl.). Feature Rich, Multi-tenancy, Headless, Plug & Play, Augmentation & Content Spinning Web Proxy with Caching - PHP CURL+Composer are Optional. Leveraging SAAS architecture to provide multi-tenancy, multiple threads, caching, and an article spinner service.

4D/ҵ.com Dashboards 9 Aug 14, 2022
Rafa Cake and Bakery is a web-based application project that aims to introduce Rafa Cake and Bakery, introduce what products are sold and can also order them via Whatsapp.

Rafa-cake-and-bakery Rafa Cake and Bakery is a web-based application project that aims to introduce Rafa Cake and Bakery, introduce what products are

Aan Evian Nanda 2 Jun 19, 2022
Build a health check report that can be verified with Oh Dear

Create a health check report to be verified by Oh Dear Using this package you can build up the JSON that Oh Dear expects for the health check. Install

Oh Dear 5 Oct 6, 2022
Track the memory usage of your workers and display them in Filament.

Filament Memory Tracker Track the memory usage of your workers and display them in Filament. Installation Install the package via composer: composer r

Theraloss 22 Oct 9, 2022
📇A contacts app for Nextcloud. Easily sync contacts from various devices with your Nextcloud and edit them online.

Nextcloud Contacts A contacts app for Nextcloud. Easily sync contacts from various devices with your Nextcloud and edit them online. This app only sup

Nextcloud 485 Dec 30, 2022
Simple web interface to manage Redis databases.

phpRedisAdmin phpRedisAdmin is a simple web interface to manage Redis databases. It is released under the Creative Commons Attribution 3.0 license. Th

Erik Dubbelboer 3k Dec 31, 2022
phpRedisAdmin is a simple web interface to manage Redis databases.

phpRedisAdmin phpRedisAdmin is a simple web interface to manage Redis databases. It is released under the Creative Commons Attribution 3.0 license. Th

Erik Dubbelboer 2.8k Dec 1, 2021
simple laravel zoho library no db required it use cache to store token

zoholib laravel simple zoho library installation composer create-project yls/zoholib Library to use part of https://desk.zoho.com/DeskAPIDocument list

Put 1 Nov 17, 2021
A simple web application for seeing a store's books. Built with Laravel 8 (a PHP Framework).

HappyBookStore Happy Book Store is a simple web application for seeing a store's books. As a user, you can look what book is available in the store by

Ananda Bilal 0 Jan 31, 2022
Book Store Website Design Using PHP, JavaScript, CSS

Book_Store_Website Book Store Website Design Using PHP, JavaScript, CSS PHPMyAdmin Tables SELECT id, name, email, password, user_type FROM users WHERE

Sashen Jayathilaka 22 Dec 21, 2022
Created simple login system and chat type website using mysql database along with php and html , css and javascript.

Created simple login system and chat type website using mysql database along with php and html , css and javascript.

null 1 Jan 6, 2022
Bolt is a simple CMS written in PHP. It is based on Silex and Symfony components, uses Twig and either SQLite, MySQL or PostgreSQL.

⚠️ Note - Not the latest version This is the repository for Bolt 3. Please know that Bolt 5 has been released. If you are starting a new project, plea

Bolt 4.1k Dec 27, 2022
Well secured MySQL Database Login and Registration with an seperate dashboard for consumers and admins.

WebApplicationPHP Well secured MySQL Database Login and Registration with an seperate dashboard for consumers and admins. Functions Well secured MySQL

z3ntl3 root 1 Jan 21, 2022
Complete Login and Registration system using HTML, CSS, JAVASCRIPT, BOOTSTRAP, PHP and MYSQL

Complete Login and Registration system using HTML, CSS, JAVASCRIPT, BOOTSTRAP, PHP and MYSQL

JehanKandy 11 Jul 13, 2022