Авторизуйте IP чекера
Додайте адресу сервера в кабінеті. Кілька серверів можуть ділити пакет, по 10% за кожен додатковий IP.
Чекер це машина потоків: він відкриває тисячі з'єднань і миттю відкидає повільні адреси. Пакет №6 на Advanced.name відповідає 50 000 IPv4-адрес і 5000 потоків за одним посиланням, обидва протоколи на одному порту, без лічильника трафіку.
Чекер міряє пул двома числами: скільки потоків можна відкрити і скільки адрес можна спалити за годину.
Тисячі паралельних з'єднань
Від 500 до 5000 потоків: максимум тримає пакет №6
Адрес більше, ніж рядків у базі на перевірку
50 000 IP на №6, 40 000 на №5, третина змінюється щодня
Швидкі відповіді, мертвих адрес немає
Список оновлюється кожні 10 хвилин; скрипт швидкості нижче відсіює повільні до запуску
Скарги, які не зупиняють запуск
Абузи розбираються у звичному порядку, пакет працює далі
Ставте в чекері ліміт потоків пакета; понад нього пул відхиляє з'єднання.
Додайте адресу сервера в кабінеті. Кілька серверів можуть ділити пакет, по 10% за кожен додатковий IP.
Запустіть скрипт нижче або SLP: він лишає адреси, які відповідають у межах вашого ліміту, і пише їх у файл.
5000 на пакеті №6, 2000 на №3. Потоки понад ліміт дають відхилені з'єднання, а не більшу швидкість.
Для кожного проксі скрипт відкриває два echo-сервіси і вирішує, чи адреса повністю вас ховає, чи видає, що це проксі, чи світить ваш справжній IP, і пише вердикт у CSV. Для десятків тисяч адрес беріть Socks List Processor.
#!/usr/bin/env python3
"""Proxy anonymity checker for Advanced.name proxies.
For every proxy it opens two small endpoints that echo the request, then decides
whether the proxy is elite (hides you completely), anonymous (announces a proxy
but not your IP) or transparent (leaks your real IP). Standard library only.
Run: python3 anon.py
"""
# ================================ CONFIG ====================================
PROXY_LIST = "proxies.txt" # one ip:port per line, or a CSV export (';' separated)
MY_IP = "" # your real IP; leave empty to detect it once directly
JUDGE_IP = "https://api.ipify.org" # returns the exit IP as plain text
JUDGE_HDR = "https://httpbin.org/get" # echoes the headers the site received
THREADS = 100
TIMEOUT = 12
OUT_FILE = "anon.csv" # proxy;status;anonymity;exit_ip is written here
# HTTP and SOCKS answer on the same Advanced.name port, so the http scheme works for both.
# ============================================================================
import csv
import sys
import threading
import urllib.request
from concurrent.futures import ThreadPoolExecutor, as_completed
LEAK_HEADERS = ("X-Forwarded-For", "Via", "X-Real-Ip", "Forwarded", "X-Proxy-Id")
def load_list(path):
out = []
with open(path, encoding="utf-8", errors="replace") as fh:
for line in fh:
line = line.strip()
if not line or line.startswith("#"):
continue
if ";" in line: # a CSV row: ip;port;...
parts = line.split(";")
if len(parts) >= 2 and parts[1].isdigit():
out.append(parts[0] + ":" + parts[1])
elif ":" in line:
out.append(line)
return out
def opener(proxy):
handler = urllib.request.ProxyHandler({"http": "http://" + proxy, "https": "http://" + proxy})
return urllib.request.build_opener(handler)
def through(proxy, url):
return opener(proxy).open(url, timeout=TIMEOUT).read().decode("utf-8", "replace")
def my_ip():
if MY_IP:
return MY_IP.strip()
return urllib.request.urlopen(JUDGE_IP, timeout=TIMEOUT).read().decode().strip()
def classify(proxy, real_ip):
try:
exit_ip = through(proxy, JUDGE_IP).strip()
except Exception:
return "dead", "", ""
try:
echoed = through(proxy, JUDGE_HDR).lower()
except Exception:
echoed = ""
if real_ip and real_ip in echoed:
anon = "transparent"
elif any(h.lower() in echoed for h in LEAK_HEADERS):
anon = "anonymous"
else:
anon = "elite"
return "live", anon, exit_ip
def main():
proxies = load_list(PROXY_LIST)
if not proxies:
sys.exit("List is empty.")
real_ip = my_ip()
print("real IP: %s, proxies: %d, threads: %d" % (real_ip, len(proxies), THREADS))
counts = {"elite": 0, "anonymous": 0, "transparent": 0, "dead": 0}
lock = threading.Lock()
rows = []
def work(proxy):
status, anon, exit_ip = classify(proxy, real_ip)
key = anon if status == "live" else "dead"
with lock:
counts[key] += 1
return proxy, status, anon, exit_ip
with ThreadPoolExecutor(max_workers=THREADS) as pool:
for fut in as_completed([pool.submit(work, p) for p in proxies]):
rows.append(fut.result())
with open(OUT_FILE, "w", encoding="utf-8", newline="") as out:
writer = csv.writer(out, delimiter=";")
writer.writerow(["proxy", "status", "anonymity", "exit_ip"])
writer.writerows(rows)
print("elite %d anonymous %d transparent %d dead %d -> %s"
% (counts["elite"], counts["anonymous"], counts["transparent"], counts["dead"], OUT_FILE))
if __name__ == "__main__":
main()
Будь-який масовий чекер бере файл з проксі або URL: вставте список ip:port, виберіть SOCKS5 чи HTTP (обидва відповідають на одному порту) і тримайте тип однаковим увесь запуск. Ставте потоки на ліміт пакета, на старшому пакеті це 5000, бо з'єднання понад ліміт відхиляються, а не стають у чергу.
Тайм-аут 10 секунд з одним повтором з іншої адреси марнує найменше потоків; довгі тайм-аути висять на мертвих цілях.
Перед запуском відкиньте повільні адреси і ті, що світять IP, скриптом анонімності вище або Socks List Processor. Під час довгих запусків перечитуйте список кожні 10 хвилин, щоб підтягувалися нові адреси.
Для швидкої перевірки на розум безкоштовний список проксі покаже формат, на який чекає чекер.
Чекер упирається в потоки й кількість адрес, і це робота безлімітних пакетів. Resi Core підключайте для цілей, які ріжуть адреси зі списків.
Максимум потоківНайкращий вибір
Найбільший пакет: одна IP повертається до цілі рідко навіть на базі в сотні тисяч рядків. Трафік не рахується.
$1390 на місяцьабо $5.80 за годину
Чекер до 2 500 потоків
Вистачає чекеру, який тримає до 2 500 з’єднань, і виходить майже на 30% дешевше за пакет №6.
$990 на місяцьабо $4.20 за годину
Суворі цілі
Нова домашня IP на кожну перевірку. Відповідь цілі важить кілобайти, тому гігабайта вистачає на тисячі перевірок.
від $0.49 за ГБ1 ГБ за $0.85
Виберіть пакет, візьміть безкоштовну годину і запустіть чекер на повному пулі.