ProxyNinja-ng
Python3 Module to get https or socks(4/5) proxies by scraping the web.
🔧 Technologies & Tools
📚 Requirements
- Python 3.9+
- pip3
Installation
Use the package manager pip to install the module. if not installed, install it using the following command.
sudo apt-get install python3-pip
It is advised to install the python requirements in a virtual environment, for that install the venv package.
python3 -m pip install venv
python3 -m venv env
source env/bin/activate
After that run the following commands:
python3 -m pip install <pkg> -U
OR
git clone https://github.com/sc4rfurry/ProxyNinja-ng-PyPi.git
cd ProxyNinja-ng-PyPi
python3 -m pip install .
Usage/Examples
Usage:
==> Download the proxies
#!/usr/bin/python3
from proxy_ninja import fetch_proxies
fetch_proxies(PROXY_TYPE, OUTPUT_FILENAME, OUTPUT_FORMAT)
- PROXY_TYPE: https/socks4/socks5
- OUTPUT_FILENAME: Enter the filename
- OUTPUT_FORMAT: txt/json
proxies gonna save in parent dir.
Example:
#!/usr/bin/python3
from proxy_ninja_ng import fetch_proxies
fetch_proxies("socks", "socks_proxy", "json")
==> Get proxies as json
#!/usr/bin/python3
from proxy_ninja_ng import fetch_proxies_json
json_list = fetch_proxies_json(PROXY_TYPE)
print(json_list)
- PROXY_TYPE: https/socks4/socks5
This will gonna return a json list.
Example:
#!/usr/bin/python3
from proxy_ninja_ng import fetch_proxies_json
json_list = fetch_proxies_json("https")
print(json_list)
==> Get proxies List
#!/usr/bin/python3
from proxy_ninja_ng import fetch_proxies_list
_list = fetch_proxies_list(PROXY_TYPE)
print(_list)
- PROXY_TYPE: https/socks4/socks5
This will gonna return a list.
Example:
#!/usr/bin/python3
from proxy_ninja_ng import fetch_proxies_list
lst = fetch_proxies_list("https")
print(lst)
Features
- Fetch proxies from different url's and api's.
- Fast, using request lib.
- save output in txt or json format.
- User Friendly. :D
Note: If you are interested in implementing this using Selenium/ChromiumDriver, please check this Project
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
Feedback
If you have any feedback, please reach out to us at akalucifr@protonmail.ch