' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'')//-->
Проксирование является одной из важных опциональных возможностей расширения x.Block : "Русский резак".
Следует отметить, что эта функция не использует API управления прокси в браузере, поэтому она ни в коей мере не может конфликтовать с любым другим расширением, управляющим прокси‑доступом.
Если рассматривать упрощённо, при проксировании в x.Block'е производится обычный редирект на URL, вычисляемый "на лету" по специальному алгоритму преобразования. За общую работоспособность проксирования отвечает соответствующий отдельный модуль, загружаемый только если эта функция включена в Настройках.
Фактически, эта функция равносильна применению прокси "on‑demand" (вызов по требованию), с ней x.Block может применяться в качестве замены любым расширениям для "разового" доступа к ресурсам (таким, например, как "Агрегатор прокси-доступа" или аналогичным). Тем не менее, для полноценного анонимного сёрфинга лучше, всё же, использовать "настоящие" прокси-аддоны, такие как UltraSurf VPN RU или аналогичные.
В этой статье:
Для работы с недоступными* напрямую веб‑ресурсами в "Русском резаке" имеется возможность опциональной загрузки этих ресурсов через прокси, позволяющая обойти практически любое ограничение доступа.
* Например, в Windows XP – из-за "непонимания" этой ОС современных алгоритмов шифрования (печально известная ошибка ERR_CIPHER_MISMATCH). Это, в частности, приводит к невозможности прямой загрузки подписок из некоторых репозиториев, на сайтах которых установлены неподдерживаемые в "старых" системах SSL‑сертификаты.
В качестве сети анонимных прокси задействуются бесплатные официальные прокси и текущие рабочие зеркала проекта ProxyPy. Серверы проекта обеспечивают достаточную (для разового доступа) скорость и вполне приемлемую надёжность работы.
Следует помнить, что все прокси проекта работают только по протоколам http/https, использовать их для доступа к ресурсам по другим протоколам нельзя.
Изначально проксирование применялось только при ошибках прямой загрузки обновлений фильтров и подписок с их основного адреса. В дальнейшем эта функция получила развитие и в текущих билдах x.Block'а можно задавать правила безусловного проксирования для любых веб‑ресурсов (например, в целях антиблокировки).
Использование прокси опционально, включается и настраивается в соответствующем блоке опций в Настройках:
[Копия скриншота]
В этом блоке доступны следующие опции и настройки:
"Применять прокси‑правила для обхода ограничений" – принципиальное разрешение использования прокси.
"Через прокси по умолчанию" – выбирать прокси только из списка по умолчанию ("зашит" в коде релизов).
"Только HTTPS‑прокси" – из общего списка серверов, понятно, будут выбираться только httpS‑прокси.
"Проверять прокси-запросы на соответствие правилам блокировки" – значительно повышает качество очистки проксируемых ресурсов от различного инфо‑мусора, проверка запросов при этом производится в "чистом" виде по исходному проксируемому адресу на его соответствие всем заданным правилам блокировки контента. При интенсивном сёрфинге эта опция может существенно снижать общую скорость работы и повышать загрузку CPU, так как связана с двойным пересчётом конечного адреса запроса (при каждом запросе обратно перевычисляется исходный проксируемый URL).
Начиная с версии 2019.6.14 (ECR#4) есть также возможность самостоятельно задавать в Настройках массив адресов прокси-серверов. Это связано с тем, что список бесплатных сторонних прокси (размещённых на хостинге *.appspot.com) периодически меняется, а отдельные хосты, бывает, со временем прекращают работу, что может приводить к ошибкам доступа при попытке их использования.
В массиве адресов прокси допустимо указывать только рабочие зеркала прокси-серверов проекта ProxyPy, размещённые на хостинге *appspot.com. При внесении изменений в список следует указывать только имя домена третьего уровня (например, proxyfiles), при обработке списка в модуле управления прокси домены .L2.L1 будут добавлены автоматически.
В любом случае – при внесении изменений в список прокси следует учитывать:
При использовании проксирования для загрузки и обновления подписок используется тот же подход, что и для проксирования любых других URL. Следовательно, для этого также необходимо задать соответствующие правила проксирования (синтаксис указан ниже) для адресов конкретных репозиториев.
Кроме того, можно использовать и соответствующую настройку в блоке "Обновление фильтров и правил" – опцию "Альтернативная прокси‑загрузка: повторный запрос файла через прокси при ошибке загрузки с основного адреса". При этом прокси будет задействован независимо от общих настроек проксирования, перечисленных выше – если общая настройка проксирования ВЫКЛючена (галка снята), модуль запуска прокси будет автоматически подгружаться только на период обновления подписок, не занимая память во время текущей работы x.Block'а.
Список прокси при обновлениях подписок используется тот же самый, что и для остальных ресурсов, поэтому – учитываем вероятность ошибок при обновлениях.
Проксирование в x.Block – это частный случай редиректа, автоперенаправление запросов на прокси.
Для задания собственных правил используется специальный синтаксис (выделено красным): !prx!example.com>>pp (или ...>>pps или пусто)
Такое правило приводит к тому, что все запросы к хосту example.com будут перенаправлены через прокси. При этом следует учитывать "перекрывающие" особенности – т.е. все домены *.example.com также попадают под действие этого правила, поэтому будьте предельно внимательны при задании собственных правил.
Кроме первого параметра, указывающего на необходимость проксирования заданного URL, есть и второй, определяющий тип применяемого прокси:
Для повышения степени анонимности доступа и в целях обеспечения более надёжного проксирования в x.Block'е производится случайный выбор прокси (и перерасчёт конечного закодированного URL) каждый раз и для каждого отдельного запроса.
При таком подходе возможны определённые проблемы ("накладки"), если проксируемый веб‑ресурс осуществляет любую сеансовую привязку к IP‑адресу клиента (например, с помощью куки и т.п.). Поэтому, ещё раз, не нужно считать эту функцию полноценной заменой "настоящему" прокси‑аддону.
Кроме того, массированное проксирование множества разных ресурсов (особенно – часто используемых) приводит к повышенной нагрузке на CPU (помним о постоянном перерасчёте адресов запросов!) и снижает общее быстродействие не только x.Block'а, но и всего браузера в целом. Это обязательно следует учитывать при интенсивном сёрфинге на "слабых" компьютерах, а также при работе на мобильных девайсах при питании от батареи.
Для "отлова" возможных ошибок при проксировании следует использовать логирование доступа, включив в Настройках галку "Диагностика: вывод в консоль сообщений об ошибках и отладочной информации". Теперь, в случае ошибок, в консольном логе будут появляться соответствующие записи, которые можно проанализировать и использовать для устранения проблем доступа (в частности – исправить список прокси, удалив из него неработающие хосты).
Полезный совет: Для оперативного "обхода" конкретного неработающего прокси достаточно просто перезагрузить проксируемую страницу (или повторить* обновление подписок, если проблема связана с их загрузкой через прокси). В этом случае, как сказано выше, произойдёт перевыбор конкретного прокси из общего списка серверов и ошибка будет "самоустранена".
* Не требуется, если в Настройках задано автоматическое повторение обновления подписок при наличии ошибок их загрузки. При этом в большинстве случаев вы даже не заметите проблему – x.Block "разрулит" её самостоятельно путём фонового автоперебора прокси.)