Dwa wiersze z tym samym adresem IP i różnymi portami to różne punkty końcowe. Usunięcie jednego tylko z powodu powtarzającego się IP może skasować działające proxy lub inny protokół proxy.

Na przykład 203.0.113.10:8080 i 203.0.113.10:1080 łączą się z różnymi portami. Na jednym może działać HTTP, a na drugim SOCKS5. Zasady dostępu i dostępność także mogą się różnić. Te przykładowe numery portów nie dają pewności co do rzeczywistej usługi.

Testuj cały punkt końcowy

Jeśli port 8080 przekracza limit czasu, udane żądanie do portu 1080 nie dowodzi działania pierwszego wiersza. Przy każdym teście zapisuj protokół, adres i port. Raport mówiący tylko „ten IP nie działa” traci informacje, które mogą wyjaśnić wynik.

Działa to też w drugą stronę: dwa porty mogą ostatecznie używać tego samego adresu wyjściowego. Nie stają się przez to tym samym punktem połączenia. Mogą dzielić infrastrukturę lub limity, więc zachowanie obu wierszy nie dowodzi istnienia dwóch niezależnych operatorów ani dwóch różnych wyjść.

Co uznać za duplikat?

W prostej liście z jednym znanym protokołem usuwaj duplikaty według znormalizowanego IP i liczbowego portu. Przykład czyszczenia w Pythonie tylko dla IPv4 stosuje tę zasadę do zwykłych wierszy IP:port. Jeśli plik miesza protokoły, zachowuj również tę informację. Przy imporcie z listy darmowych serwerów proxy zapisuj protokół wraz z każdym adresem i portem.

Dwie etykiety dla dokładnie tego samego IP:port wymagają bliższego sprawdzenia. Wpis HTTP i wpis HTTPS mogą opisywać jedno proxy HTTP obsługujące też CONNECT. Usługa może również akceptować więcej niż jeden rodzaj uzgadniania połączenia. Łącz rekordy dopiero po zrozumieniu etykiet; przy czyszczeniu tekstu nie usuwaj informacji o możliwościach.

Formatowanie może tworzyć pozorne różnice

08080 i 8080 oznaczają tę samą wartość liczbową, jeśli oba są portami zapisanymi dziesiętnie. Adresy IPv6 także mogą mieć kilka równoważnych postaci tekstowych. Przed porównaniem normalizuj adres i port, zachowując oryginalne źródło do diagnostyki.

Usuwanie duplikatów poprawia format listy. Nie sprawdza, czy punkt końcowy jest dostępny, czy dwa punkty mają osobne wyjścia ani czy oznaczenie kraju jest poprawne.

Powiązane artykuły