Один IP прокси, разные порты: это дубликаты?
IP-адрес и порт вместе определяют конечную точку. Учитывайте это при импорте, проверке и удалении дубликатов в списке прокси.
Две строки с одинаковым 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-адресов тоже бывает несколько равнозначных текстовых форм. Перед сравнением нормализуйте адрес и порт, сохраняя исходный источник для диагностики.
Удаление дубликатов улучшает формат списка. Оно не проверяет, доступна ли конечная точка, имеют ли две точки отдельные выходы и верно ли указана страна.