Initial: proxy finder, anonymization tools

This commit is contained in:
2026-07-03 16:51:47 +00:00
commit f073cb2b7a
5 changed files with 768 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# Proxy Finder Module
## find_anon_proxies.py — Поиск анонимных прокси
### Использование:
```bash
python3 /root/.openclaw/workspace/scripts/proxy-finder/find_anon_proxies.py
```
### Что делает:
1. Загружает прокси из 6 источников (proxyscrape, spys.me, sslproxies.org и др.)
2. Парсит IP:PORT форматы
3. Фильтрует локальные/резервированные адреса
4. Проверяет работоспособность через curl
5. Тестирует анонимность (проверка X-Forwarded-For)
### Результат:
Сохраняется в `anonymous_proxies.txt` — формат: `IP:PORT (HTTP/SOCKS5)`
---
## Использование прокси для запросов:
```bash
# HTTP-запрос через прокси
curl -s --proxy http://PROXY_IP:PORT https://example.com
# SOCKS5-запрос через прокси
curl -s --socks5 PROXY_IP:PORT https://example.com
# Python requests с прокси
python3 -c "import requests; r = requests.get('https://example.com', proxies={'http': 'socks5://PROXY_IP:PORT'}); print(r.text)"
```
+480
View File
@@ -0,0 +1,480 @@
101.255.209.93:8090
162.240.19.30:80
85.117.56.85:8080
163.172.129.144:3128
97.213.76.123:80
197.221.234.149:80
138.201.198.53:80
154.66.159.34:800
38.127.172.7:37234
176.115.146.232:8080
191.37.33.38:42999
110.164.175.110:8080
165.154.7.156:8888
103.172.17.51:8080
185.128.240.2:3128
45.232.152.2:8080
103.13.204.84:8082
103.85.183.30:4995
43.133.187.166:3128
186.194.62.202:999
82.115.60.51:80
176.94.224.86:8080
43.167.199.44:3128
190.60.34.250:999
49.148.47.13:8080
147.231.163.133:80
38.19.42.176:999
117.55.203.165:8899
207.246.234.115:4669
150.136.163.51:80
4.233.138.204:8888
207.180.254.198:8080
157.66.16.38:8070
217.160.39.73:18080
124.106.83.244:8083
77.235.31.24:8080
163.172.167.48:80
113.11.37.81:2505
43.255.159.94:3129
167.88.164.6:3129
79.76.121.87:3128
169.239.208.70:8080
103.10.228.119:8080
12.50.107.217:80
157.230.241.91:3128
149.28.137.172:8888
210.79.146.82:8085
103.1.51.177:8181
103.124.199.116:8080
54.38.35.209:3128
103.17.215.9:8089
206.189.144.164:10808
178.128.59.180:18080
42.116.10.196:443
70.35.196.194:8082
5.101.5.160:2080
176.88.166.165:8080
38.171.255.232:999
103.170.22.145:8080
103.19.58.134:8080
3.110.246.113:3128
103.47.13.41:8080
172.93.101.178:3128
103.125.38.50:8080
103.108.146.142:8080
45.139.91.62:8080
38.75.81.10:999
160.19.19.170:3125
103.224.55.154:8090
115.187.29.25:89
129.151.130.247:1111
178.156.206.253:8118
45.4.202.147:999
103.84.228.12:3128
177.139.174.81:8080
181.37.240.89:999
103.129.127.244:8088
202.51.106.229:8080
154.126.213.152:8070
210.16.85.42:8080
103.153.190.43:8080
38.199.67.10:999
103.156.248.102:8080
103.44.2.177:8080
84.22.42.41:8080
103.173.141.10:8080
170.245.132.81:999
104.152.50.252:8000
36.92.104.123:8000
37.35.65.190:8080
103.84.177.28:8083
38.226.241.242:8080
194.180.188.100:8080
103.29.239.132:8080
77.240.97.77:8080
103.231.236.235:8182
27.116.41.156:8470
103.156.74.209:3125
38.172.128.139:999
51.161.137.166:8080
45.231.221.129:999
103.137.218.166:83
38.188.186.47:999
187.62.65.5:8080
103.68.215.46:8080
210.177.178.148:80
157.10.184.115:8080
79.106.33.26:8079
152.228.145.27:8080
190.103.205.253:9097
41.59.90.171:80
186.216.208.98:3128
84.244.119.36:23500
38.188.48.65:8080
43.133.30.18:3128
101.255.157.6:8080
131.222.247.180:8080
103.131.232.9:8080
103.209.36.58:8080
200.8.200.191:8088
190.83.40.166:3128
156.232.99.66:10808
131.222.247.238:8080
82.39.154.145:8080
201.222.50.218:80
124.106.223.156:9999
65.108.103.19:80
221.120.208.25:8080
196.1.93.10:80
194.14.207.87:80
103.204.46.130:8090
103.173.214.187:8080
74.62.179.122:8080
75.84.71.14:80
197.221.240.176:80
157.100.12.154:999
102.36.160.95:8080
103.125.155.230:8080
190.26.209.126:999
178.156.224.42:3128
79.110.192.44:8081
186.96.15.70:8080
196.251.223.54:8080
103.158.96.77:8080
181.143.145.98:8080
165.0.136.30:8080
103.180.123.103:8090
103.175.240.65:7777
103.25.220.22:8081
161.49.87.222:8095
45.188.167.25:999
103.164.171.210:8080
154.9.30.1:50000
43.153.199.126:8888
103.118.44.33:8080
175.143.19.216:8081
103.99.27.43:3125
180.191.2.165:8081
103.247.14.222:8080
185.65.247.133:48049
181.143.42.138:8080
197.221.249.196:80
135.125.154.101:8899
91.122.216.160:8080
34.143.154.126:8888
103.120.175.243:9191
103.191.171.142:8181
103.13.192.76:8080
103.227.187.11:6090
139.255.5.98:443
103.242.106.155:3125
190.97.228.67:999
43.133.1.198:3128
43.167.214.133:3128
43.245.93.193:53805
103.152.239.127:3125
192.248.95.98:54126
138.252.158.7:8080
168.243.77.190:999
103.187.86.10:8182
103.51.223.133:8080
138.121.114.54:8080
85.117.61.108:8080
208.67.28.19:58090
43.229.79.190:8080
149.86.206.27:8080
139.135.182.132:8081
168.228.176.12:3139
161.49.90.70:1337
114.8.131.181:8080
177.234.194.234:999
103.180.126.236:8080
141.136.13.51:8080
180.180.218.250:8080
164.90.223.123:3128
213.131.85.30:1976
143.208.84.2:8589
103.126.87.120:8082
47.52.223.161:5872
103.192.174.154:8080
103.175.236.180:8382
149.28.87.103:8888
212.231.191.23:80
122.117.203.252:3128
108.161.135.118:80
103.106.79.98:8080
45.179.200.38:999
103.112.131.14:8080
103.194.175.51:7777
45.167.126.21:999
103.111.225.106:8080
34.43.46.91:80
61.19.145.66:8080
45.224.23.238:999
38.54.116.154:3128
190.60.60.37:8080
43.133.22.248:9091
103.41.88.182:84
45.189.252.18:999
86.127.243.197:80
181.188.216.3:8080
222.252.14.70:8443
109.224.242.151:8080
85.214.107.177:80
70.61.188.34:3128
51.81.6.158:3128
217.162.8.134:80
103.80.83.27:8080
43.153.182.147:3128
193.38.224.169:8081
177.234.226.83:1994
119.2.45.81:3125
187.102.211.253:999
89.28.81.217:8443
103.156.17.139:8818
64.49.15.225:8443
38.19.111.74:8080
201.140.209.33:3128
103.3.59.208:8080
204.157.251.213:999
112.198.138.14:8082
113.192.30.27:7777
103.15.214.70:8080
103.1.93.184:55443
110.34.13.4:8080
81.0.49.104:20500
180.195.60.98:8081
103.145.34.100:1111
161.49.215.28:10101
202.138.240.249:8080
192.203.0.250:999
103.144.102.60:8181
124.121.186.200:8080
85.214.204.79:80
185.231.59.189:8080
110.34.1.178:7777
45.174.77.1:999
180.191.233.18:5050
103.154.77.46:1111
180.191.254.10:8081
103.165.155.195:8080
157.20.157.24:8080
122.3.145.194:8083
45.65.227.161:999
87.106.120.212:3128
186.125.6.241:8080
43.167.187.107:3128
103.209.38.132:8080
43.167.245.99:3128
82.22.184.158:3128
119.93.83.106:8082
124.104.197.204:8080
183.110.216.128:8090
167.99.124.118:80
102.0.25.184:8080
51.79.71.202:8080
45.198.8.204:8080
103.178.21.104:3125
186.250.202.104:8080
45.32.69.101:9000
103.43.191.71:8888
106.0.158.114:8080
103.164.214.122:8080
124.156.230.244:3128
103.61.16.20:8780
206.135.55.224:999
103.26.176.25:8080
103.245.110.198:1452
43.133.169.167:3128
181.204.185.98:8081
103.171.194.52:84
125.209.110.83:39617
185.219.86.12:8080
105.22.37.218:8080
50.114.33.3:8080
62.90.70.144:7443
45.224.23.235:999
103.169.38.66:8080
45.155.102.216:3128
181.115.67.3:999
174.104.115.21:80
104.161.23.122:5003
45.169.148.2:999
43.160.246.46:3128
103.118.224.19:5678
154.17.8.103:1680
190.110.226.122:80
142.147.119.181:8080
189.193.225.86:999
114.111.151.41:80
190.61.63.106:8080
46.203.233.116:3128
103.67.85.150:3127
103.49.166.193:83
176.99.134.183:8090
180.232.171.210:8080
45.240.232.62:8080
105.27.130.22:9812
176.12.65.24:443
190.97.231.0:999
103.110.10.162:1992
176.61.151.123:80
103.133.24.73:8787
89.43.134.35:8080
163.227.146.17:8181
47.236.86.147:443
201.140.185.41:8081
38.43.93.161:8000
38.194.251.246:999
45.179.244.8:999
200.215.229.33:999
194.58.42.190:3128
36.95.208.10:8080
149.62.230.50:8080
103.231.239.137:58080
18.169.141.215:3128
60.249.149.98:8080
190.97.253.233:999
156.155.50.93:8080
210.61.216.63:60808
165.227.169.229:3080
203.146.80.235:8080
103.97.140.64:8080
41.184.92.220:80
43.167.213.156:3128
45.239.48.98:999
51.178.253.98:80
160.19.19.100:8080
109.199.125.66:3128
101.255.208.18:8090
190.131.205.150:999
103.76.12.158:8080
104.194.148.188:3128
45.89.82.210:8080
103.229.164.178:3128
49.0.1.60:8080
38.199.71.79:999
212.67.31.235:8080
95.78.161.82:7777
102.164.255.155:8080
157.20.252.7:8097
118.163.13.200:8080
43.251.253.40:8080
92.255.248.78:8080
104.248.156.141:8888
160.19.16.101:8181
143.198.135.176:80
103.102.153.215:33128
38.127.172.219:37234
150.107.136.205:39843
13.114.160.78:80
101.255.209.182:1111
45.225.89.145:999
38.211.24.242:8080
177.234.247.238:999
14.240.238.209:8080
95.3.69.222:8080
20.110.224.54:3128
165.232.119.106:3128
103.76.109.167:80
103.102.14.64:666
68.183.139.61:3128
41.184.92.219:80
103.242.105.58:8080
152.32.68.171:65535
52.140.40.92:80
202.179.69.216:58080
140.245.255.83:3128
92.119.164.84:1100
190.225.182.3:999
102.38.13.9:19000
103.70.44.6:8080
182.253.228.155:80
34.140.137.151:80
187.62.241.136:8080
103.177.8.119:8080
177.93.39.75:999
193.178.203.141:8080
64.181.246.100:3128
157.245.159.127:3128
109.120.184.202:1080
157.180.84.115:443
47.238.203.170:50000
81.90.29.194:10808
91.186.213.124:1081
87.121.47.93:8080
92.118.112.32:1082
72.56.238.99:9090
203.162.13.222:6868
8.215.25.3:2080
185.200.188.234:10001
174.137.134.182:2999
202.28.194.139:31280
91.107.182.124:82
71.198.208.169:443
159.195.49.27:8888
82.146.38.71:443
187.72.215.33:3128
113.160.132.26:8080
47.84.204.82:80
117.236.124.166:3128
103.69.96.15:8888
217.154.155.115:8080
62.133.62.184:1082
54.38.138.60:3128
200.227.89.50:3128
54.38.139.182:3128
94.158.49.82:3128
91.188.213.143:1080
135.136.188.42:1080
94.198.218.123:3128
14.143.222.113:57748
103.167.61.162:3128
110.49.66.210:8080
45.157.140.12:1080
151.241.234.208:8443
34.96.238.40:8080
62.133.62.17:1081
64.188.77.26:3128
202.49.176.24:2080
85.234.100.149:8080
93.113.63.11:3128
141.11.243.30:3128
195.158.8.123:3128
94.182.225.248:3128
193.151.151.177:3129
81.168.119.85:443
159.223.87.50:443
45.95.233.237:1082
178.250.156.112:443
5.181.178.46:8080
202.61.225.20:3128
65.108.159.129:8081
54.170.110.107:3128
152.32.132.190:7890
199.189.255.230:1080
213.21.254.26:1081
65.108.203.37:28080
79.175.188.203:443
103.130.63.15:1080
38.75.82.216:999
38.224.21.1:999
77.242.21.133:8080
144.202.14.153:50000
35.212.167.35:8888
82.207.117.120:8080
191.5.38.6:54121
47.89.184.18:3128
8.209.255.13:3128
8.213.151.128:3128
47.91.65.23:3128
47.243.92.199:3128
18.139.186.25:3128
43.110.40.117:8888
135.181.113.216:16379
104.244.78.150:5555
182.53.202.208:8080
194.87.219.78:2080
35.203.180.73:8080
144.31.222.106:7890
+233
View File
@@ -0,0 +1,233 @@
#!/usr/bin/env python3
"""
find_anon_proxies.py — Поиск анонимных прокси-серверов
Источники:
- https://spys.me/proxy.txt (текстовый формат)
- https://www.sslproxies.org/ (HTML таблица)
- http://netips.ch/proxylist/anonymous.html (HTML таблица)
- https://openproxy.space/list (JSON)
Проверка:
- HTTP-прокси (GET к google.com через curl --proxy)
- SOCKS5 прокси (через curl --socks5)
- Анонимность (проверка X-Forwarded-For заголовка)
- Скорость ответа
Вывод:
- Сохраняет в /root/.openclaw/workspace/scripts/proxy-finder/anonymous_proxies.txt
"""
import subprocess
import re
import sys
from concurrent.futures import ThreadPoolExecutor, as_completed
def fetch_with_curl(url):
"""Загрузка через curl с таймаутом."""
try:
result = subprocess.run(
['curl', '-sL', '--connect-timeout', '5', url],
capture_output=True, text=True, timeout=8
)
if result.returncode == 0 and len(result.stdout) > 100:
return url, result.stdout
except Exception as e:
print(f"[!] Ошибка загрузки {url}: {e}", file=sys.stderr)
return None
def parse_spys_me(data):
"""Парсинг spys.me формата."""
proxies = []
for line in data.splitlines():
match = re.search(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*:\s*(\d+)', line)
if match:
ip, port = match.group(1), int(match.group(2))
octets = [int(x) for x in ip.split('.')]
if not (octets[0] == 10 or (octets[0] == 172 and 16 <= octets[1] <= 31) or
octets[0] == 192 and octets[1] == 168 or octets[0] == 127 or octets[0] == 0):
proxies.append((ip, port))
return proxies
def parse_html_table(data):
"""Парсинг HTML-таблиц (sslproxies.org, netips.ch)."""
proxies = []
for match in re.finditer(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*:\s*(\d+)', data):
ip, port = match.group(1), int(match.group(2))
octets = [int(x) for x in ip.split('.')]
if not (octets[0] == 10 or (octets[0] == 172 and 16 <= octets[1] <= 31) or
octets[0] == 192 and octets[1] == 168 or octets[0] == 127 or octets[0] == 0):
proxies.append((ip, port))
return proxies
def parse_proxies(data, source_url):
"""Умный парсинг в зависимости от источника."""
if 'spys.me' in source_url:
return parse_spys_me(data)
else:
# HTML таблицы — ищем IP:PORT паттерн
return parse_html_table(data)
def check_proxy_http(ip, port):
"""Проверка HTTP-прокси через curl."""
try:
result = subprocess.run(
['curl', '-s', '--connect-timeout', '5',
'--proxy', f'http://{ip}:{port}',
'https://httpbin.org/ip'],
capture_output=True, text=True, timeout=10
)
if result.returncode == 0 and ip in result.stdout:
return (ip, port, 'HTTP')
except Exception:
pass
return None
def check_proxy_socks5(ip, port):
"""Проверка SOCKS5-прокси через curl."""
try:
result = subprocess.run(
['curl', '-s', '--connect-timeout', '5',
'--socks5', f'{ip}:{port}',
'https://httpbin.org/ip'],
capture_output=True, text=True, timeout=10
)
if result.returncode == 0 and ip in result.stdout:
return (ip, port, 'SOCKS5')
except Exception:
pass
return None
def check_anonymity(ip, port, proxy_type):
"""Проверка анонимности прокси."""
try:
if proxy_type == 'HTTP':
result = subprocess.run(
['curl', '-s', '--connect-timeout', '5',
'--proxy', f'http://{ip}:{port}',
'https://httpbin.org/headers'],
capture_output=True, text=True, timeout=10
)
else:
result = subprocess.run(
['curl', '-s', '--connect-timeout', '5',
'--socks5', f'{ip}:{port}',
'https://httpbin.org/headers'],
capture_output=True, text=True, timeout=10
)
if result.returncode == 0:
# Проверяем отсутствие X-Forwarded-For (анонимный прокси)
if 'X-Forwarded-For' not in result.stdout.lower():
return (ip, port, proxy_type, True) # Анонимный
except Exception:
pass
return None
def check_speed(ip, port, proxy_type):
"""Проверка скорости прокси."""
try:
if proxy_type == 'HTTP':
result = subprocess.run(
['curl', '-s', '--connect-timeout', '5',
'--proxy', f'http://{ip}:{port}',
'-o', '/dev/null', '-w', '%{time_total}',
'https://httpbin.org/ip'],
capture_output=True, text=True, timeout=10
)
else:
result = subprocess.run(
['curl', '-s', '--connect-timeout', '5',
'--socks5', f'{ip}:{port}',
'-o', '/dev/null', '-w', '%{time_total}',
'https://httpbin.org/ip'],
capture_output=True, text=True, timeout=10
)
if result.returncode == 0:
return float(result.stdout.strip())
except Exception:
pass
return None
def main():
print("[*] Поиск анонимных прокси...")
sources = [
'https://spys.me/proxy.txt',
'https://www.sslproxies.org/',
'http://netips.ch/proxylist/anonymous.html',
]
all_proxies = []
print("[*] Загрузка из источников...")
with ThreadPoolExecutor(max_workers=3) as executor:
futures = [executor.submit(fetch_with_curl, url) for url in sources]
for future in as_completed(futures):
result = future.result()
if result:
url, data = result
proxies = parse_proxies(data, url)
print(f" [+] {url}: найдено {len(proxies)} прокси")
all_proxies.extend(proxies)
# Убираем дубликаты
seen = set()
unique_proxies = []
for ip, port in all_proxies:
key = f"{ip}:{port}"
if key not in seen:
seen.add(key)
unique_proxies.append((ip, port))
print(f"\n[*] Всего уникальных прокси: {len(unique_proxies)}")
# Сохраняем все найденные (быстрый режим)
output_file = '/root/.openclaw/workspace/scripts/proxy-finder/anonymous_proxies.txt'
with open(output_file, 'w') as f:
for ip, port in unique_proxies[:500]: # Ограничиваем до 500 для скорости
f.write(f"{ip}:{port} (unverified)\n")
print(f" [+] Сохранено {len(unique_proxies[:500])} прокси в {output_file}")
# Опциональная проверка (медленная)
if len(sys.argv) > 1 and sys.argv[1] == '--verify':
print("[*] Проверка HTTP-прокси...")
working_http = []
with ThreadPoolExecutor(max_workers=10) as executor:
futures = [executor.submit(check_proxy_http, ip, port) for ip, port in unique_proxies[:200]]
for future in as_completed(futures):
result = future.result()
if result:
working_http.append(result)
print(f" [+] Рабочих HTTP-прокси: {len(working_http)}")
# Проверяем анонимность и скорость
anon_proxies = []
for ip, port, ptype in working_http[:50]:
result = check_anonymity(ip, port, ptype)
if result:
speed = check_speed(ip, port, ptype)
anon_proxies.append((ip, port, ptype, speed))
print(f" [+] Анонимных прокси: {len(anon_proxies)}")
# Обновляем файл с проверенными
with open(output_file, 'w') as f:
for ip, port, ptype, speed in anon_proxies:
f.write(f"{ip}:{port} ({ptype}, {speed:.2f}s)\n")
print(f"\n[+] Результат сохранён в {output_file}")
return unique_proxies
if __name__ == '__main__':
main()
+15
View File
@@ -0,0 +1,15 @@
[*] Тестирую 482 SOCKS5 прокси...
[+] WORKING: 104.152.50.252:8000 -> 104.152.50.252
[+] WORKING: 170.106.136.181:31002 -> 170.106.136.181
[+] WORKING: 154.89.148.25:443 -> 154.89.148.25
[+] WORKING: 8.215.25.3:2080 -> 8.215.25.3
[+] WORKING: 91.107.182.124:82 -> 91.107.182.124
[+] WORKING: 159.223.87.50:443 -> 159.223.87.50
[+] WORKING: 62.133.62.3:1082 -> 62.133.62.3
[+] Итого рабочих: 7 из 482
их: 7 из 482
.207
[+] WORKING: 144.31.222.106:7890 -> 104.28.155.180
[+] Итого рабочих: 9 из 482
+7
View File
@@ -0,0 +1,7 @@
104.152.50.252:8000 (exit IP: 104.152.50.252)
170.106.136.181:31002 (exit IP: 170.106.136.181)
154.89.148.25:443 (exit IP: 154.89.148.25)
8.215.25.3:2080 (exit IP: 8.215.25.3)
91.107.182.124:82 (exit IP: 91.107.182.124)
159.223.87.50:443 (exit IP: 159.223.87.50)
62.133.62.3:1082 (exit IP: 62.133.62.3)