' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'')//-->
…Как понимаю, вы уже прочитали общий обзор и хотите поглубже разобраться что и как в этом аддоне…)
Это нормально, работа с Агрегатором прокси‑доступа (АПД) требует знания некоторых особенностей проксирования, позволяющих вам решить отдельные вопросы и избежать проблем при его эксплуатации.
Итак, в этой статье:
По отношению к исходному аддону АПД имеет следующие отличительные особенности:
* Не используются с версии 2019.6.4 в связи с отключением с 03.06.2019 основного домена проекта и (в дальнейшем) переходом на платную основу (на ресурсе появилась "политика монетизации"). В настоящее время сервера проекта вновь доступны (в том числе – и на бесплатной основе и по протоколу https), но проверить адекватность их работы у автора пока "руки не дошли".)
Одну давно известную проблему теперь можно решить ещё и с использованием АПД: через большинство прокси можно без проблем открывать страницы с ошибкой "ERR_SSL_VERSION_OR_CIPHER_MISMATCH".
Такие "новомодные" страницы без каких-либо сложностей открываются через прокси и позволяют смотреть контент в любых даже самых старых версиях браузеров. Никаких проблем с работой остальных аддонов при этом не возникает.
С технической точки зрения это связано с тем, что при проксировании ваш браузер работает уже не с оригинальным сервером "шибко модного" сайта, а с вполне "понятным" ему протоколом шифрования прокси‑сервера. Все проблемы обмена сертификатами и "договаривания" о протоколах обмена в этом случае ложатся на плечи прокси, который затем передаёт клиенту запрошенный контент.
Ниже приведены некоторые технические подробности по исходному коду и отдельным функциям АПД.
Код использует только чистый JS (ES5), все неподдерживаемые в "старых" браузерах функции заменены на аналоги.
Все скрипты работают в "строгом" режиме – для гарантированного выполнения функций и облегчения отлова ошибок.
АПД не имеет фонового процесса и не занимает память в покое, после обработки запроса – быстрая автовыгрузка.
Аддон работает на всех страницах, в т.ч. – локальных, служебных и на "огороженных" сайтах типа гуглозина.
Всё управление работой расширения осуществляется через попап-окно, вызываемое по щелчку на иконке на тулбаре:
Интерфейс окна предельно прост и интуитивно понятен, для всех "кликабельных" элементов добавлены подсказки.
Страница настроек всех основных и дополнительных опций и функций, включая управление типами прокси, является частью этого же попапа, отдельной страницы опций нет (в манифесте также отсутствует).
Для отрисовки интерфейса попапа и страницы настроек не используются никакие сторонние JS/CSS библиотеки, весь интерфейс работает на чистом HTML с минимально необходимым набором стилей и скриптов.
Для вызова попапа применяется API chrome.browserAction. Расширение загружается только по необходимости, при вызове, никакие инжектируемые элементы на веб‑страницах не используются, выбор URL через контекстное меню работает только за счёт стандартного API chrome.contextMenus. Разрешение activeTab применяется для упрощения контекстных действий на текущих страницах.
При использование пула прокси vpnbook.com адрес целевой страницы формируется по XHR‑запросу. Это даёт некоторую задержку, но так сделано с целью гарантированного получения зашифрованного хэша адреса.
При выполнении запроса адреса (вместо его локального вычисления) меняется иконка/подсказка текущей вкладки:
В браузерах версий до 37 в этом случае запрошенная страница всегда открывается в новой пустой вкладке. Это сделано с целью упрощения кода и связано с ограничениями обработки XHR – в старых версиях часть заголовков ответов не распознаётся.
Практических ограничений по версии браузера не имеется, используемые API работают в версиях 25-27 и выше.
Язык интерфейса, сообщений, меню, подсказок и описания – только русский (жёстко зашит в коде).
Исходный код НЕ обфусцирован, исключительно с целью удобства при возможных доработках. Кому это критично – удалите комментарии и пропустите через компрессоры..х))
При этом выдаётся ошибка. Во избежание этого НЕ надо пытаться вбивать руками такие ссылки!
Решение: задаём ссылки в puny‑коде или копипастим из браузера – и всё работает.
Такое бывает редко и при этом проблемы с просмотром запрошенного через прокси не возникнет – вместо одного прокси будет использован другой.
Единственное отличие – если форк запрашивался по HTTPS, после редиректа протокол меняется на HTTP. Это связано с тем, что официальный пул прокси НЕ работает по httpS‑протоколу.
Решено: в версии 2019.6.4 удалены все зеркала AppSpot, являющие простыми редиректорами на основной пул, а в наборах AppSpot-пулов оставлены только автономные прокси (с полноценным движком ProxyPy).
Проявляется в виде всплывающих окон и/или прочего мусора, добавляемого в контент проксируемой страницы. Не связана непосредственно с движком ProxyPy, добавляется "шибко жадными" владельцами этих прокси.
Решение: режем весь контент с доменов juicyads.com / juicyads.rock / jads.co любым способом (до hosts‑файла).
Причина – не все прокси умеют обрабатывать URL вида "https://[адрес_IPv6]/…" (прокси проекта ProxyPy – умеют).
Решение: в таких случаях выбираем любые прокси пула ProxyPy.