diff --git a/README.md b/README.md index bee126e..3fbf2e9 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ # proxytools > collection of scripts for harvesting & testing proxies -## Requirements -- [Python](https://www.python.org/downloads/) *(**Note:** This script was developed to be used with the latest version of Python)* -- [PySocks](https://pypi.python.org/pypi/PySocks) *(Required for [cleansocks.py](proxytools/cleansocks.py))* - ## Mirrors - [acid.vegas](https://git.acid.vegas/proxytools) - [GitHub](https://github.com/acidvegas/proxytools) diff --git a/proxytools/cleansocks.py b/proxytools/cleansocks.py index 592d626..3d5b915 100644 --- a/proxytools/cleansocks.py +++ b/proxytools/cleansocks.py @@ -31,6 +31,13 @@ def check(proxy): good.append(proxy) # Main +print('#'*56) +print('#{0}#'.format(''.center(54))) +print('#{0}#'.format('CleanSOCKS Proxy Cleaner'.center(54))) +print('#{0}#'.format('Developed by acidvegas in Python'.center(54))) +print('#{0}#'.format('https://git.acid.vegas/proxytools'.center(54))) +print('#{0}#'.format(''.center(54))) +print('#'*56) parser = argparse.ArgumentParser(usage='%(prog)s [options]') parser.add_argument('input', help='file to scan') parser.add_argument('output', help='file to output') diff --git a/proxytools/floodbl.py b/proxytools/floodbl.py index ea690ed..f868849 100644 --- a/proxytools/floodbl.py +++ b/proxytools/floodbl.py @@ -20,18 +20,25 @@ print_bad = True def check(proxy): formatted_ip = '.'.join(proxy.split('.')[::-1]) - for dnsbl in blackholes: + for blackhole in blackholes: try: - socket.gethostbyname(f'{formatted_ip}.{dnsbl}') + socket.gethostbyname(f'{formatted_ip}.{blackhole}') except socket.gaierror: if print_bad: - print('\033[1;31mBAD\033[0m \033[30m|\033[0m ' + proxy.ljust(22) + f'\033[30m({dnsbl})\033[0m') + print('\033[1;31mBAD\033[0m \033[30m|\033[0m ' + proxy.ljust(22) + f'\033[30m({blackhole})\033[0m') break else: print('\033[1;32mGOOD\033[0m \033[30m|\033[0m ' + proxy) good.append(proxy) # Main +print('#'*56) +print('#{0}#'.format(''.center(54))) +print('#{0}#'.format('FloodBL Blackhole Checker'.center(54))) +print('#{0}#'.format('Developed by acidvegas in Python'.center(54))) +print('#{0}#'.format('https://git.acid.vegas/proxytools'.center(54))) +print('#{0}#'.format(''.center(54))) +print('#'*56) parser = argparse.ArgumentParser(usage='%(prog)s [options]') parser.add_argument('input', help='file to scan') parser.add_argument('output', help='file to output') diff --git a/proxytools/sockhub.py b/proxytools/sockhub.py new file mode 100644 index 0000000..74f6d59 --- /dev/null +++ b/proxytools/sockhub.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python +# SockSpot Proxy Scraper - Developed by acidvegas in Python (https://git.acid.vegas/proxytools) + +import os +import re +import time +import urllib.request + +github_list = ( + 'https://raw.githubusercontent.com/officialputuid/KangProxy/KangProxy/socks5/socks5.txt', + 'https://raw.githubusercontent.com/hookzof/socks5_list/master/proxy.txt', + 'https://raw.githubusercontent.com/monosans/proxy-list/main/proxies/socks5.txt', + 'https://raw.githubusercontent.com/roosterkid/openproxylist/main/SOCKS5_RAW.txt', + 'https://raw.githubusercontent.com/MuRongPIG/Proxy-Master/main/socks5.txt', + 'https://raw.githubusercontent.com/TheSpeedX/PROXY-List/master/socks5.txt', + 'https://raw.githubusercontent.com/jetkai/proxy-list/main/online-proxies/txt/proxies-socks5.txt', + 'https://raw.githubusercontent.com/UptimerBot/proxy-list/main/proxies/socks5.txt', + 'https://raw.githubusercontent.com/ShiftyTR/Proxy-List/master/socks5.txt', + 'https://raw.githubusercontent.com/saschazesiger/Free-Proxies/master/proxies/socks5.txt' +) + +def get_source(url): + req = urllib.request.Request(url) + req.add_header('User-Agent', 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)') + source = urllib.request.urlopen(req, timeout=5) + return source.read().decode() + +# Main +print('#'*56) +print('#{0}#'.format(''.center(54))) +print('#{0}#'.format('SockHub Proxy Scraper'.center(54))) +print('#{0}#'.format('Developed by acidvegas in Python'.center(54))) +print('#{0}#'.format('https://git.acid.vegas/proxytools'.center(54))) +print('#{0}#'.format(''.center(54))) +print('#'*56) +bad_urls = list() +dupes = 0 +proxy_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'proxies.txt') +proxy_list = list() +set(github_list) +print('scanning \033[35m{0:,}\033[0m urls from list...'.format(len(github_list))) +for url in github_list: + try: + source = get_source(url) + found = re.findall('[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:[0-9]+', source, re.MULTILINE) + if found: + print('found \033[93m{0:,}\033[0m proxies on \033[34m{1}\033[0m'.format(len(found), url)) + for proxy in found: + if proxy not in proxy_list: + proxy_list.append(proxy) + else: + dupes += 1 + else: + print('no proxies found on ' + url) + except: + bad_urls.append(url) +if bad_urls: + print('failed to load {0:,} urls'.format(len(bad_urls))) + for url in bad_urls: + print('failed to load ' + url) +if proxy_list: + if dupes: + print('found \033[32m{0:,}\033[0m total proxies! \033[30m({1:,} duplicates removed)\033[0m'.format(len(proxy_list), dupes)) + else: + print('found \033[32m{0:,}\033[0m total proxies!'.format(len(proxy_list))) + proxy_list.sort() + with open (proxy_file, 'w') as proxy__file: + for proxy in proxy_list: + proxy__file.write(proxy + '\n') \ No newline at end of file diff --git a/proxytools/sockspot.py b/proxytools/sockspot.py index c95ce1b..4553466 100644 --- a/proxytools/sockspot.py +++ b/proxytools/sockspot.py @@ -1,6 +1,16 @@ #!/usr/bin/env python # SockSpot - Developed by acidvegas in Python (https://git.acid.vegas/proxytools) +''' + +This script will scan popular blogspots that posts freesh proxies daily + + +Edit: It seems Blogspots for proxies in 2023 is no longer a reliable source. +This code is old & will possibly be updated again in the future. + +''' + import datetime import json import base64