You are here

Работа checkparams через прокси

Общие сведения

Все модули программы (кроме модуля DNS) умеют работать через прокси. В каждом модуле отдельно включается поддержка прокси, т.е. в одной программе некоторые модули могут работать напрямую, а некоторые через прокси.

Поддерживаются следующие типы прокси: socks4, socks5, https (они же ssl-прокси, они же connect-прокси). Обычные http-прокси не поддерживаются, но в будущем ситуация может измениться. Авторизация (логин-пароль) через прокси не поддерживается. Программа умеет автоматически определять тип прокси.

Программа сама скачивает списки прокси, проверяет их, удаляет нерабочие. Весь процесс полностью автоматизирован.

Как включить работу через прокси?

Для того, чтобы включить работу через прокси, требуется включить сам модуль проверки прокси, указать источники для скачивания списков прокси и включить в нужных модулях работу через прокси. По умолчанию в настройках выключены как проверки параметров через прокси в модулях, так и сам модуль проверки прокси.

Включаем модуль проверки прокси

Для включения самого модуля, который скачивает и проверяет прокси, необходимо найти в файле конфигурации такую строчку:

<proxies enabled="0" start_before_engine="0" errors_to_block="5" errors_to_delete="20" unblock_every="500">

И заменить в ней параметр enabled="0" на enabled="1".

Указываем источники, откуда забирать прокси

Далее следует указать программе, откуда забирать списки с прокси. Есть возможность периодически загружать прокси-листы как из файла на компьютере, так и из интернета. Программа может параллельно забирать прокси-листы из нескольких источников, их количество неограничено. По умолчанию программа настроена на списки прокси в таком виде:

127.0.0.1:1234
127.0.0.1:1234
127.0.0.1:1234
127.0.0.1:1234

Если прокси в списке находятся в другом формате, то необходимо переписать регулярные выражения, которыми выбираются прокси.

Для указания мест, откуда забирать прокси, необходимо найти тег <sources>, в нём по умолчанию содержится 3 тега <source>, каждый из которых описывает 1 источник.

Внутри тега <source> необходимо указать тип прокси, которые содержатся в списке, в параметре type="" (например, для socks5-прокси он будет выглядеть так: type="socks5") и указать ссылку, по которой содержатся прокси в теге <url>. В каждом теге <source> можно указать только 1 ссылку или имя файла, т.е. несколько <url> внутри одного <source> обрабатываться не будут.

Если прокси-листы необходимо скачивать из интернета, надо указать ссылку в виде <url>http://127.0.0.1/proxies.txt</url>, необходимо быть крайне внимательным с символами & внутри ссылок, они должны быть заменены на &amp;. Например, ссылка http://example.org/proxies?type=socks&user=user&pass=pass должна быть указана в таком виде: <url>http://example.org/proxies?type=socks&amp;user=user&amp;pass=pass</url>.

Если прокси-листы находятся на диске, то необходимо указать ссылку в виде <url>file:///proxies.txt</url>, где proxies.txt - файл, который находится рядом с программой. Можно использовать полный путь до файла, если он расположен в другом месте, например, так: <url>file:///D:/proxies/proxies.txt</url>

Остальные (неиспользуемые) источники прокси можно или удалить или перенести в комментарии, чтобы программа их не считывала из файла конфигурации.

Включем работу через прокси у нужных модулей

После этого необходимо включить работу через прокси у нужных модулей, установив параметр use_proxies="1".

После нажатия на кнопку Start в программе, она начнёт скачивать списки прокси и проверять их параллельно с основной работой. Все проверенные прокси будут автоматически перемещаться в списки хороших прокси и модули проверок параметров автоматически будут их использовать.

В то время, когда программа работает, можно забирать списки проверенных и 100% рабочих прокси из программы по ссылкам вида:
http://127.0.0.1:8888/socks5.txt
http://127.0.0.1:8888/socks4.txt
http://127.0.0.1:8888/https.txt

Подробности работы с прокси внутри программы

У модуля скачивания и проверки прокси есть 3 списка прокси. Source (прокси, которые еще не проверены), Good (прокси, которые проверены и работают), Deleted (прокси, которые удалены). В статистике так же есть параметр checking (кол-во прокси, которые проверяются в данный момент).

На примере одного потока проверки прокси ситуация выглядит примерно так:

Поток берёт 1 прокси из начала списка source, при этом в source становится на 1 прокси меньше (это гарантирует, что этот же прокси не возьмёт для проверки другой поток).

Далее поток проверяет прокси. Если прокси работает, он помещает его в список good и дальше ни один поток не трогает их в этом списке ближайшие 30 минут (good_alive_time="30m"). Прокси из этого списка автоматически переносятся в модули проверки параметров и модули проверки параметров сразу начинают их использовать.

Если проверяемый прокси оказался нерабочим, происходит проверка количества проверок прокси. Если прокси проверился меньше 5 (errors_to_delete="5") раз, он добавляется в самый конец списка source, чтобы провериться позже снова. Если больше 5 раз, он попадает в список deleted и там уже её никто не трогает вплоть до удаления из списка deleted через 2 часа (remove_deleted_after="2h").

Параметры тонкой настройки модуля проверки прокси

<proxies enabled="0" start_before_engine="0" errors_to_block="5" errors_to_delete="20" unblock_every="500">
enabled
Включает/выключает поддержку прокси. 1 - включено, 0 - выключено.
start_before_engine
По умолчанию модуль проверки прокси запускается только после нажатия на кнопку Start в программе. Если необходимо использовать программу только как прокси-чекер, то можно включить этот параметр, тогда модуль проверки прокси будет включаться сразу после запуска самой программы и кнопку Start можно будет не нажимать. 1 - включено, 0 - выключено.
errors_to_block
Каждый модуль проверки параметров ссылок хранит для каждого прокси счётчик количества ошибок проверки параметров через этот прокси. Если количество ошибок проверки превышает заданное тут, то прокси не удаляется полностью, а временно переносится в список заблокированных, в надежде на то, что это были временные ошибки.
unblock_every
Параметр описывает вероятность использования прокси из списка заблокированных. По умолчанию этот параметр равен 500, что означает, что каждые 500 попыток проверить модулем параметры ссылки прокси для проверки будет взят не из исходного списка с хорошими прокси, а из списка заблокированных, чтобы проверить не начал ли этот заблокированный прокси нормально работать.
errors_to_delete
Параметр задаёт количество ошибок при проверке модулем параметров ссылок, после которых прокси будет навсегда удалён из списков и не будет использоваться.
<live_update threads="100" update_interval="5s" good_alive_time="30m" remove_deleted_after="2h" errors_to_delete="5" min_check_interval="30s" extended_logs="0">
live_update threads
Параметр задаёт количество потоков, которые скачивают прокси-листы и проверяют прокси.
update_interval
Параметр задаёт интервал переноса новых рабочих прокси из модуля проверки прокси в модули проверки параметров. По умолчанию каждые 5 секунд модули проверки параметров получают новые (только что найденные) прокси.
good_alive_time
Параметр задаёт время (по умолчанию 30 минут), в течение которого прокси считается рабочим и не проверяется после первой удачной проверки, по прошествии этого времени прокси опять проверяется. Прокси со временем перестают работать, поэтому их необходимо перепроверять.
remove_deleted_after
Параметр задаёт время, в течение которого удалённые и 100% нерабочие прокси будут храниться в программе. Хранение списка удалённых прокси позволяет исключать их при скачивании списков из проверки, т.к. они не работают.
errors_to_delete
Параметр задаёт количество ошибок подключения через прокси, после которого прокси считается нерабочим, переносится в список удалённых прокси и далее уже не проверяется.
min_check_interval
Параметр задаёт минимальное время между попытками проверить один и тот же прокси. Служит для того, чтобы не перегружать прокси частыми тестами при многопоточной проверке.
extended_logs
Параметр включает детальное логгирование действий модуля проверки прокси, в лог записываются результаты каждой проверки каждого прокси. 1 - включено, 0 - выключено.