Skip to content

A super simple asynchronous multithreaded proxy scraper; scraping & checking ~500k HTTP, HTTPS, SOCKS4, & SOCKS5 proxies.

License

Notifications You must be signed in to change notification settings

0xSolanaceae/proXXy

Repository files navigation

proXXy typing out

proXXy is a powerful tool designed for acquiring and managing a vast quantity of proxies. It is used to gather, organize, and procure HTTP/S, SOCKS4, and SOCKS5 proxies. They can be used for web scraping, penetration testing, bypassing censorship, and many other tasks!

The software is currently capable of retrieving over 500,000 proxies from many different sources.

This project is for educational purposes only— Please do not use this for illegal activities.


Installation

  • Clone the repository:
git clone https://github.com/Atropa-Solanaceae/proXXy.git
  • Navigate to the project directory:
cd proXXy
  • Install the required dependencies using poetry:
poetry install

If you don't have poetry installed, you can install it by following the instructions here.

Usage

  • Activate the poetry shell before running the program:
poetry shell
  • Running the program without flags results in only scraping, as checking is disabled by default:
python3 proXXy.py

The program will output four files in the /output directory with the proxy lists:

  • HTTP.txt
  • HTTPS.txt
  • SOCKS4.txt
  • SOCKS5.txt

along with an error output file titled error.log denoting the sources that were unable to be accessed.

Flags

The basic syntax for running proXXy is as follows:

usage: proXXy.py [-h] [--validate] [--update] [--version]
  1. -v, --validate: Use this flag to enable proxy validation. The scraper will attempt to validate the scraped proxies by checking their accessibility. Allow the program to complete the checking of HTTP & HTTPS proxies, then check the updated text files located in the output/ directory! (Please allow for up to 10 minutes for proxies to validate, depending on your hardware.)

  2. -u, --update: This flag updates the project. Cannot be used in conjunction with any other flag.

  3. -h, --help: Use this flag to spit out a help menu.

  4. -V, --version: Use this flag to spit out proXXy.py's version.

usage: proXXy.py [-h] [--validate] [--update] [--version]

A super simple asynchronous multithreaded proxy scraper;
scraping & checking ~500k HTTP, HTTPS, SOCKS4, & SOCKS5 proxies.

options:
  -h, --help      show this help message and exit
  --validate, -v  Flag to validate proxies after scraping (default: False)
  --update, -u    Flag to run the update script and then exit
  --version, -V   Print the version of the script and exit

Planned Features

  • Add URL rotation
  • Fix Unix-like compatibility errors. proXXy currently does not support unix-like verification.
  • Allow the user to choose the number of threads they'd like to use with flags, & provide the user recommended values based on their hardware.
  • Implement SOCKS4 & SOCKS5 testing.
  • Proxy sorting instead of hardcoding.
  • Discerning between Elite, Anonymous, and Transparent anonymity classes of proxies.

Support

Need help and can't get it to run correctly? Open an issue or contact me here.

Sponsorship

If you like what I do, buy me boba so I can continue developing this tool and others! Ko-Fi

Changelog

Release v2.6


License

This project is licensed under the GNU General Public License v3.0 License. See the LICENSE file for more information.