/php-proxy-hunter

Realistic proxy checker and proxy hunter for PHP, Python, NodeJS

Primary LanguagePHPMIT LicenseMIT

php-proxy-hunter

PHP proxy hunter | PHP proxy checker | Python proxy hunter | Python proxy checker

GitHub Actions Workflow Status - PHP GitHub Actions Workflow Status - Python

Features

  • Lightweight
  • HTTP/HTTPS/SSL supported
  • SOCKS4/5 supported
  • CIDR ranges scanner
  • Proxy extractor
  • Single thread proxy checker
  • Multi thread proxy checker
  • Open port scanner
  • Artisan supported
  • Web server supported
  • Nginx supported
  • Apache supported
  • Proxy finder
  • Proxy hunter
  • Proxy checker
  • Python proxy checker available (Converted)
  • Bash available
  • Batch available

image image image

Requirements

Before all, run

git submodule update -i -r
sudo apt install build-essential autoconf libtool bison re2c pkg-config -y

Install sqlite 3.46 in ubuntu

cd /tmp
curl -L -O https://www.sqlite.org/2024/sqlite-autoconf-3460000.tar.gz
tar -xzf sqlite-autoconf-3460000.tar.gz
cd sqlite-autoconf-3460000
./configure
make
sudo make install
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LD_RUN_PATH=/usr/local/lib:$LD_RUN_PATH
# Check if /usr/local/lib is in /etc/ld.so.conf
if ! grep -q "/usr/local/lib" /etc/ld.so.conf; then
    echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf
    sudo ldconfig
    echo "/usr/local/lib added to /etc/ld.so.conf and ldconfig updated."
else
    echo "/usr/local/lib already exists in /etc/ld.so.conf"
    sudo ldconfig
fi
sudo ln -sf /usr/local/bin/sqlite3 /usr/bin/sqlite3
ls -l /usr/bin/sqlite3
# verify installation
which sqlite3
sqlite3 --version

Quickstart

  • clone repository
sudo apt-get install git git-lfs -y
git clone https://github.com/dimaslanjaka/php-proxy-hunter folder_name
cd folder_name
git lfs install
git lfs track *.rar
  • rename .env_sample into .env

  • create database files

touch CIDR.txt CIDR-original.txt dead.txt proxies.txt proxies-all.txt proxies-http.txt proxies-socks.txt proxyChecker.txt proxyFetcherSources.txt proxyRange.txt status.txt working.txt
  • use WinRAR to extract sqlite database chunks in src folder into single database.sqlite file

  • modify .htaccess or nginx.conf with your domain

Crontab

run proxy checker every 10 mins

*/10 * * * * php /path/to/proxyChecker.php > /path/to/proxyChecker.txt 2>&1

run proxy fetcher every day once

0 0 * * * php /var/www/html/proxyFetcher.php

run proxy indexing every day once

0 0 * * * php /var/www/html/proxies-all.php

run proxy checker parallel every 1 hour 17 minutes

17 */1 * * * php /var/www/html/proxyCheckerParallel.php

run cleaner every week

0 0 * * 0 php /var/www/html/cleaner.php

backup database everyday at midnight

0 0 * * * sqlite3 /var/www/html/src/database.sqlite .dump > /var/www/html/backups/database_backup_$(date +\%Y-\%m-\%d).sql

crontab using spesific user

edit www-data with your username

# edit crontab
sudo crontab -u www-data -e
# list crontab
sudo crontab -u www-data -l
# apply crontab from file (.crontab.txt)
sudo crontab -u www-data .crontab.txt

Troubleshoot

  • To run webserver for nginx needs php-fpm install using sudo apt install php-fpm -y
  • To disable git indexing when changing permission files using chmod run git config core.fileMode false

Restart php

systemctl restart php7.2-fpm
systemctl restart nginx

Python

Requirements

  • python v3

Quick Start

python -m pip install -r requirements.txt

Production

; uncomment below codes from php.ini
extension_dir = "ext"
extension=pdo_sqlite
extension=curl
extension=openssl
extension=mbstring
extension=intl
extension=xmlrpc
extension=fileinfo
extension=sockets
extension=xsl
extension=exif
extension=gettext
extension=ftp
----------------------------------------------------------------------------
LICENSE
----------------------------------------------------------------------------
This file is part of Proxy Checker.

Proxy Checker is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Proxy Checker is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Proxy Checker.  If not, see <https://www.gnu.org/licenses/>.

----------------------------------------------------------------------------
Copyright (c) 2024 Dimas lanjaka
----------------------------------------------------------------------------
This project is licensed under the GNU General Public License v3.0
For full license details, please visit: https://www.gnu.org/licenses/gpl-3.0.html

If you have any inquiries regarding the license or permissions, please contact:

Name: Dimas Lanjaka
Website: https://www.webmanajemen.com
Email: dimaslanjaka@gmail.com