שתי שורות עם אותה כתובת IP ויציאות שונות הן נקודות קצה שונות. מחיקת אחת רק מפני שה-IP חוזר על עצמו עלולה להסיר פרוקסי תקין או פרוטוקול פרוקסי אחר.

למשל, 203.0.113.10:8080 ו-203.0.113.10:1080 מתחברים ליציאות שונות. אחת עשויה להפעיל HTTP והשנייה SOCKS5. גם כללי הגישה או הזמינות עשויים להיות שונים. מספרי היציאות בדוגמה אינם מבטיחים דבר לגבי השירות בפועל.

בדקו את נקודת הקצה המלאה

אם הזמן הקצוב ליציאה 8080 מסתיים, בקשה מוצלחת ליציאה 1080 אינה מוכיחה שהשורה הראשונה פועלת. רשמו פרוטוקול, כתובת ויציאה לכל בדיקה. דיווח שאומר רק ״ה-IP הזה מת״ מאבד מידע שעשוי להסביר את התוצאה.

גם ההפך נכון: שתי יציאות עשויות להשתמש בסופו של דבר באותה כתובת יציאה החוצה. זה אינו הופך אותן לאותה נקודת קצה לחיבור. הן עשויות לחלוק תשתית או מגבלות, ולכן שמירת שתי השורות אינה מוכיחה שיש שני מפעילים עצמאיים או שני מוצאים שונים.

מה צריך להיחשב לכפילות?

ברשימה פשוטה עם פרוטוקול ידוע אחד, הסירו כפילויות לפי כתובת IP מנורמלת וערך היציאה המספרי. דוגמת ניקוי ב-Python ל-IPv4 בלבד מחילה כלל זה על שורות IP:port פשוטות. אם הקובץ מערב פרוטוקולים, שמרו גם את המידע הזה. בייבוא מתוך רשימת פרוקסי חינמיים, שמרו את הפרוטוקול לצד כל כתובת ויציאה.

שתי תוויות לאותו IP:port בדיוק דורשות בדיקה מעמיקה יותר. רשומת HTTP ורשומת HTTPS עשויות לתאר פרוקסי HTTP אחד שתומך גם ב-CONNECT. לחלופין, שירות עשוי לקבל יותר מסוג אחד של לחיצת יד. מזגו רשומות רק לאחר שהבנתם את התוויות; אל תשליכו מידע על יכולות במהלך ניקוי טקסט.

עיצוב יכול ליצור הבדלים מדומים

08080 ו-8080 מציינים אותו ערך מספרי אם שניהם נועדו להיות יציאות עשרוניות. גם לכתובות IPv6 עשויות להיות כמה צורות טקסט שקולות. נרמלו את הכתובת והיציאה לפני ההשוואה, ושמרו את המקור המקורי לצורך פתרון תקלות.

הסרת כפילויות משפרת את תבנית הרשימה. היא אינה בודקת אם נקודת קצה זמינה, אם לשתי נקודות יש מוצאים נפרדים או אם תווית המדינה נכונה.

מאמרים קשורים