صرّح بعنوان IP للفاحص
أضف عنوان الخادم في لوحة التحكم. يمكن لعدة خوادم مشاركة باقة، بزيادة 10% لكل IP إضافي.
الفاحص آلة خيوط: يفتح آلاف الاتصالات ويرمي العناوين البطيئة فورًا. تجيب الباقة رقم 6 في Advanced.name بـ 50,000 عنوان IPv4 و5,000 خيط عبر رابط واحد، والبروتوكولان على منفذ واحد، ودون عدّاد للحركة.
يقيس الفاحص المجموعة برقمين: الخيوط التي يستطيع فتحها، والعناوين التي يستطيع استهلاكها في ساعة.
آلاف الاتصالات المتوازية
من 500 إلى 5,000 خيط: الحد الأقصى في الباقة رقم 6
عناوين أكثر من قائمة الفحص
50,000 IP في رقم 6، و40,000 في رقم 5، ويُستبدل الثلث يوميًا
استجابات سريعة بلا عناوين ميتة
تتحدث القائمة كل 10 دقائق؛ وسكربت السرعة أدناه يستبعد البطيء قبل التشغيل
شكاوى لا توقف التشغيل
تُعالج البلاغات بالترتيب المعتاد، وتبقى الباقة عاملة
اضبط الفاحص على حد خيوط الباقة؛ فوقه ترفض المجموعة الاتصالات.
أضف عنوان الخادم في لوحة التحكم. يمكن لعدة خوادم مشاركة باقة، بزيادة 10% لكل IP إضافي.
شغّل السكربت أدناه أو SLP: يُبقي العناوين التي تجيب ضمن حدك ويكتبها في ملف.
5,000 في الباقة رقم 6، و2,000 في رقم 3. الخيوط فوق الحد تعطي اتصالات مرفوضة لا سرعة أكبر.
لكل بروكسي يفتح خدمتي صدى ويقرر هل يخفيك العنوان تمامًا، أم يعلن أنه بروكسي، أم يسرّب عنوانك الحقيقي، ويكتب الحكم في ملف 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()
أي فاحص جماعي يقبل ملف بروكسي أو رابطًا: الصق قائمة ip:port، واختر SOCKS5 أو HTTP (كلاهما يجيب على منفذ واحد)، وأبقِ النوع نفسه طوال التشغيل. اضبط الخيوط على حد الباقة، وهو 5,000 في أكبر باقة، لأن الاتصالات فوقه تُرفض ولا توضع في طابور.
مهلة 10 ثوانٍ مع إعادة واحدة من عنوان آخر تهدر أقل قدر من الخيوط؛ المهل الطويلة تعلق على أهداف ميتة.
قبل التشغيل استبعد العناوين البطيئة والمسرّبة بسكربت إخفاء الهوية أعلاه أو Socks List Processor. في التشغيلات الطويلة أعد قراءة القائمة كل 10 دقائق لتدخل عناوين جديدة.
لفحص سريع تُظهر قائمة البروكسي المجانية الصيغة التي ينتظرها الفاحص.
الفاحص يصطدم بحدود الخيوط وعدد العناوين، وهذا عمل الباقات غير المحدودة. وأضف Resi Core للأهداف التي تقطع عناوين القوائم.
أكبر عدد من الخيوطالخيار الأنسب
أكبر باقة: نادرًا ما يعود عنوان IP واحد إلى الهدف، حتى مع قاعدة من مئات الآلاف من الأسطر. والحركة لا تُحتسب.
$1390 شهريًاأو $5.80 للساعة
فاحص حتى 2500 خيط
تكفي لفاحص يحمل حتى 2500 اتصال، بسعر أقل بنحو 30% من الباقة #6.
$990 شهريًاأو $4.20 للساعة
أهداف صارمة
عنوان IP منزلي جديد مع كل فحص. ورد الهدف يزن كيلوبايتات، فيغطي الغيغابايت الواحد آلاف الفحوص.
من $0.49 للغيغابايت1 غيغابايت بسعر $0.85
اختر الباقة، وخذ الساعة المجانية، وشغّل الفاحص على المجموعة كاملة.