This Python script tests a list of proxies to determine which ones are working and saves the working proxies to an output file. It uses aiohttp for asynchronous HTTP requests, allowing it to efficiently check multiple proxies in parallel.
- Asynchronously checks a list of proxies.
- Tests proxies against a user-defined URL.
- Supports authentication in proxy URLs.
- Saves working proxies to a specified output file.
- Provides real-time progress updates on the command line.
- Python 3.7 or higher
piplibrary
You can install the required library using pip:
pip install pcheckpcheck -i INPUT_FILE -o OUTPUT_FILE [-u TEST_URL] [-t TIMEOUT] -i, --input: Path to the input file containing proxies. Each proxy should be on a new line.
-o, --output: Path to the output file where working proxies will be saved.
-u, --url: URL to test proxies against (default is http://httpbin.org/ip).
-t, --timeout: Timeout for proxy requests in seconds (default is 5).
To test proxies listed in proxies.txt, save working proxies to working_proxies.txt, and test against http://example.com with a timeout of 10 seconds:
pcheck -i proxies.txt -o working_proxies.txt -u http://example.com -t 10The script supports proxies in the following formats:
username:password@host:port
host:port:username:password
Make sure to provide proxies in one of these formats to ensure proper parsing.
The script writes the working proxies to the specified output file, with each proxy on a new line. It also displays real-time progress on the console, including the number of working and invalid proxies, checks per second, and the number of remaining proxies.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or issues, please contact rootcode@duck.com or open an issue here.