fproxy v83 — локален прокси-сървър за филтриране на http(s) трафик

Публикувана е 83-та версия на кеширащия и антиспам прокси-сървър за персонално използване с гъвкави настройки.

Основни функции (всичко е настраиваемо):

  1. филтриране на нежелано съдържание (бели/черни списъци на URL адреси, забрана на бисквитки);
  2. принудително и безсрочно кеширане на получените данни (главно удобно за изображения и скриптове);
  3. коригиране на съдържанието на уеб страници в реално време (с корекция на изходния код на C, с пример за замяна на съдържанието на клонирани страници от stackoverflow с линк към оригинала);
  4. черни/бели списъци на сертификати и certificate pinning по списък;
  5. замяна на IP адреса/домейна/пътя/протокола на http заявката по конфигурацията (такъв разширен вариант /etc/hosts);
  6. http/https снифър.

Перфектно подходящ за разглеждане на сайтове през бавен интернет или на бавно устройство (благодарение на т.1 и 2, заради които всичко е било замислено), но всъщност е полезен във всеки случай.

Прокси-сървърът, с оглед на сигурността и опростяване на логиката на работа, е разделен на три части: TLS-сървър (терминира свързванията на браузера), централният модул на проксито и клиент, който терминира изходящите връзки.

Програмата е проектирана за персонализирана употреба, тоест всички конфигурации и директорията с текущите данни на прокси-сървъра са свързани с конкретен потребител, или дори с конкретен профил на браузъра. Стартирането на проксито като общосистемен демон е технически възможно, но в такъв вид е трудно да се използва една от основните му функции — агресивното кеширане на всичко, тъй като кешираните данни за всеки профил в браузъра могат да бъдат различни и трябва да бъдат изолирани един от друг с оглед на сигурността.

Пример за списък с блокиращи елементи:

отказ nosub all share.yandex.ru browser-updater.yandex.net отказ nosub all a.ria.ru # ? отказ nosub spec vk.com query \/share.php отказ nosub spec yastatic.net query \/pcode\/adfox\/loader.js query \/share2\/share.js отказ nosub spec www.youtube.com query \/subscribe_widget отказ nosub spec pano.img.ria.ru query \/adriver\/flashplagin\/movie.swf отказ nosub spec a.ria.ru query \/ping отказ nosub spec n-ssl.ria.ru query \/polling отказ nosub spec apis.google.com query \/js\/plusone.js отказ nosub spec yandex.ru pref \/clck\/safeclick\/ pref \/clck\/click\/ pref \/clck\/jclck\/ отказ all spec query \/tnc # index.ru проксированный счётчик exact \/tnc.js # index.ru проксированный счётчик query \/pixel.gif # некоторые спамеры используют это

Пример списък с маршрутизация:

https:\/\/my.local.site настройка прокси none настройка цели http:\/\/127.0.0.1:1234\/localsite настройка http_host new.host:1234 .intel.com разрешение отключено настройка прокси socks5:\/\/127.0.0.1:3333

При обновлении с версии старше 78 следует конвертировать кеш: войти в рабочую директорию прокси-сервера от пользователя (uid\/gid) прокси-сервера и выполнить fproxy-cacheconv-78 (по умолчанию эта программа не компилируется).

Изменения с прошлого опубликованного выпуска (80):

  1. fproxy-dashboard теперь имеет опцию для показа размеров контента в байтах, а не кбайтах;
  2. поддержка ошибочных серверов, игнорирующих заголовок «Connection: close»;
  3. поддержка ошибочных серверов, возвращающих некорректный заголовок «Content-Encoding: identity»;
  4. отправка TLS-опции ALPN;
  5. улучшение работы TLS-терминатора на внешней стороне (клиента): теперь он поддерживает не только TLS, но и обычные соединения, работает в виде независимого демона, принимающего запросы от основного прокси по сети, и также может перенаправлять свои исходящие соединения через другое прокси, позволяя гибко разделять задачи между узлами в условиях плохого интернет-соединения и\/или необходимости организовать «выход» трафика на удалённом сервере с различной степенью доверия; новая версия также более удобна для использования вручную из командной строки в качестве консольного TLS-клиента с поддержкой проксирования;
  6. упрощена сборка, теперь есть Makefile вместо шелл-скриптов
  7. организованы предсобранные .deb-пакеты в репозитории (для версий Debian 8-12)
  8. изменения файла конфигурации, обратно несовместимые
  9. нов конфигурационен файл за управление на маршрутизация на заявки, който обединява предишните отделни конфигурации resolv и включването на пренасочване на изходящи връзки към отдалечен сървър, а също така получи редица нови опции: вече можете за всеки url (протокол, домейн, порт, път) да избирате чрез кой клиент, кое прокси ще бъде изпратен, през чий dns-сървър ще се определи неговият ip-адрес (включително опционално делегиране на тази задача на външен http или socks5 прокси-сървър), или да зададете адреса ръчно, а също така да замените протокола, порта или префикса на url пътя.
  10. добавена поддръжка на SAN-сертификати за ip-адреси както на клиента, така и на сървъра (браузерите от известно време спряха да приемат ip-адреси в CommonName).

В бъдеще:

  1. поддръжка на CGI/FastCGI/.so хукове за mitm обработка на съдържанието, получено от сайтовете.
  2. мениджър на профили и конфигурации на прокси.
  3. интерактивно управление на проверка на сертификати на отдалечени сайтове и списъци за блокиране.

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster