Разное

Файл прокси: HTTPS, Socks4, Socks5, txt-экспорт ip-port и API-доступ — hidemy.name

Содержание

файлы—Справка | ArcGIS for Desktop

При работе с растром, если дополнительная информация (такая как статистика, гистограммы и пирамиды) не найдена внутри растра или в ассоциированном с ним дополнительном файле, ArcGIS автоматически создаст и сохранит её. Обычно, информация хранится внутри самого растра, если используемый формат позволяет это, или записывается в дополнительный файл, который располагается рядом с файлом растра. Если растр, или папка, в которой он расположен, отмечены как «только для чтения», эти дополнительные файлы последовательно записываются в другое место, доступное для записи. Такие файлы называются прокси-файлами.

Какие файлы могут содержаться в папке прокси-файлов?

В прокси-папку могут быть записаны файлы трех типов:

  • Файлы Proxy Unrestricted Access Image (UAI) ссылаются на набор растровых данных, доступный только для чтения, и используют в названии уникальный префикс, который отражает путь к данным, и суффикс UAI. Этот файл указывает расположение исходных данных, доступных только для чтения. Такой способ присвоения имен используется для предотвращения перезаписывания файлов AUX, на тот случай, если несколько растров, расположенные в различных папках, имеют схожие названия.
  • AUX прокси-файлы являются основными файлами дополнений, ассоциированными с файлом UAI. Этот файл использует такой же префикс, как и файл UAI, но имеет суффикс AUX или AUX.XML. Как и обычные файлы AUX, прокси-файлы AUX содержат дополнительную информацию, создаваемую ArcGIS, и которая не может храниться внутри или вместе с растром, т.к. растр (или папка, в которой он расположен) доступны только для чтения.
  • Прокси-файлы OVR или RRD содержат данные пирамид, как и обычные файлы OVR или RRD, но расположены в прокси-папке. т.к. растр (или папка, в которой он расположен) доступны только для чтения. Прокси-папка никогда не содержит исходные растровые данные.

Где находятся прокси-файлы?

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

Чтобы выбрать определенную папку для записи прокси-файлов, используйте утилиту ArcMap Advanced Settings (AdvancedArcMapSettings.exe), которая находится в папке Utilities директории ArcGIS for Desktop. Просто запустите эту программу, щелкните закладку Растр и введите путь к папке для хранения прокси-файлов. Этот путь не должен содержать переменных среды, т.к. они не будут обрабатываться.

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

  • В настройке прокси-папки растров у всех пользователей было указано одно и то же физическое пространство диска.
  • Прокси-папка растров была доступна для записи для всех пользователей.
  • Все пользователи ввели одинаковый путь к расположению файлов растров, доступных только для чтения, т.е. одинаковую букву диска и обозначение пути.

Т.к. с помощью ArcCatalog вы не можете удалить растры, доступные только для чтения, в т.ч. растры на не перезаписываемых носителях, рекомендуется периодически удалять ненужные прокси-файлы вручную, чтобы они не занимали лишнее место на жестком диске. Хотя файлы UAI и AUX обычно невелики, файлы OVR и RRD могут быть довольно большими, особенно, если входной растр имеет высокую степень сжатия.

Связанные темы

Отзыв по этому разделу?

Лучшие программы для прокси — настройка прокси-сервера

В данной статье мы расскажем про лучшие программы для прокси, такие как Proxyfier, Proxycap и Proxy Switcher, а также предоставим руководство по их настройке.

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

В таком случае, потребуется программа, которая перенаправит трафик на нужный IP. Это позволит решить проблему отсутствия встроенной поддержки прокси, например, в мессенджерах, и избавит от необходимости настройки каждого браузера вручную. Популярных программ для прокси существуют десятки. Других, менее известных — сотни. Описывать их все нет необходимости, поскольку принцип работы одинаков, а способы настройки и интерфейс принципиально не отличаются.

Остановимся на нескольких наиболее раскрученных. В топе обзоров обычно присутствуют Proxifier и ProxyCap. Они довольно похожи и имеют бесплатный пробный период. Прежде чем рассмотреть каждую из них в отдельности, следует остановиться на некоторых общих принципах.

Для работы вам понадобится….

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

Для правильной настройки нужны IP-адрес и порт. Если прокси приватный, потребуется также логин и пароль. Для проверки прокси Вам не нужна отдельная программа на работоспособность, так как некоторые популярные программы уже имеют эту функцию.

Proxyfier

Proxifier бесплатен в течение месяца и легко скачивается на официальном сайте. Он позволяет практически любым сетевым софтам, не поддерживающим функцию работы через прокси сервер, обходить это ограничение. С данной программой можно легко взаимодействовать с браузерами, FTP, аськой, IRC, Kazaa, Telnet, SSH, Webmoney, Skype, смотреть популярные видеоролики, слушать любимую музыку, и т.д. Есть версии для Windows и Mac OC. Лучше выбирать Portable Edition, так как ее не надо устанавливать (можно скачать установочный файл и приступать к работе). Proxy Checker для проверки прокси не нужно устанавливать отдельно.

Минусы программы:

  • Ipv6 хоть и работает, но не чекается, кроме того, такие прокси могут не совсем корректно работать с портом SOCKS5.

Настройка программы предельно проста, как на Windows, так и на Mac OC.

Пошаговая инструкция

  • В начале ищем крайнюю левую кнопку меню «Proxy server» либо одноименный пункт во вкладке «Profile». Если настраиваем прокси на Маке, выбираем «Proxies».

  • В открывшемся окне видим кнопку «Add» — «добавить».

  1. Дальше всё интуитивно понятно. В соответствующие поля вписываем адрес и порт, указываем протокол, логин и пароль.

  

  1. Внизу есть кнопка «Check», посредством которой можно проверить прокси на валидность. 
  2. В Proxifier также можно создавать цепочки из нескольких прокси. Разумеется, для этого их придётся купить в достаточном количестве и добавить описанным выше способом. После этого там же жмём кнопку «Proxy Chains» и далее «Create». Перетягивая прокси из верхнего окна в нижнее мышкой, создаём цепочку.

 

  1. В разделе «Profile» — «Proxification Rules» выбираем прокси или цепочку, которую будем использовать. Кстати о правилах, тут же можно настроить программу «под себя» и создать свое.

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

Кроме того, изначально для каждого профиля есть предустановленное правило “Localhost”. Когда оно активно, Proxifier не туннелирует локальное соединение (loopbacks) на ПК.

Важно: Firefox и другие похожие программы могут зависеть от loopback-соединений.

Его можно поменять или вообще навсегда удалить, но мы настоятельно рекомендуем вам его не выключать, пока не будет стопроцентной уверенности, в необходимости туннелирования подключения к 127.0.0.1 через прокси-сервер. Очень интересная особенность – программа «сканит» каждое правило сверху вниз, поэтому обращайте на порядок их размещения особое внимание (поменять приоритет можно используя стрелочки в правой части окошка).

Включить/отключить правило можно используя чекбоксы (флаги), кроме того, вы можете изменить действие для каждого из них. Добавить новое условие = нажать на (Add…), (Clone), (Edit…), или же удалить (Remove) существующее правило.  Чтобы изменить правило также можно клацнуть дважды мышкой по соответствующей кнопке. Горячая клавиша для удаления – Del.

При внесении изменений или при добавлении нового условия вы увидите окошко, где есть:

  • Имя/Name (задается любая символьная комбинация.
  • Включено/Enabled (включаем/отключаем правило).
  • Приложения/Applications (список имен исполняемых файлов (программ), соединения которых должны обрабатываться данным правилом. Перечисляем названия приложений через ;).
  • Browse/Обзор (находим файл и добавляем его имя в список).
  • Целевые узлы/Target hosts (тут указываем имена узлов (DNS-имена), адреса в формате IPv4 или IPv6).

А теперь непосредственно от теории к практике. Попробуем настроить работу игры WOW через Proxifier с минимальным набором настроек.

  1. Заходим в Options  — Proxy Settings — «Add…»

  1. Указываем адрес и порт.
  2. В «Protocol» выбираем соответствующий (мы поставим SOCKS5). Если у Вас есть логин и пароль для авторизации, ставим галочку возле строки «Use authentication» и вводим данные.

  1. Обязательно проверяем на работоспособность прокси во вкладке «Proxy Settings». Если появилась надпись «Testing failed», необходимо поменять тип прокси.

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

Купить анонимные прокси для веб серфинга

  1. Если проверка успешна, закрываем окошко, и идем на самое главное, где выбираем Options» — «Proxification Rules». 
  2. Указываем «Process Only the following + manually proxified» и нажимаем «Add…».

  1. Даем название новому правилу, например, WoW, и кликаем по «Add» в «Applications».

  1. Находим файл wow.exe в главной папке и выбираем его.
  2. Подтверждаем все и наслаждаемся игрой!

ProxyCap

Эту программу также качаем на официальном сайте. Преимуществом софта является встроенный Proxy Checker, то есть дополнительно качать и устанавливать ничего не надо, а также то, что вы сможете запустить любые приложения через прокси, даже если эта функция в них не предусмотрена.

Для работы с программой подойдут прокси HTTPS, SOCKS4, SOCKS5 с авторизацией. Программа бесплатна в течение 30 дней. После её также необходимо покупать. Еще один плюс – вы сами сможете выбрать для каждой программы запускать ли ее через прокси и при каких условиях.

Настройка ProxyCap осуществляется так же, как и в Proxifier:

  1. В правом углу окна программы жмём значёк «New proxy server».

  1. Вписываем данные — IP (здесь это поле называется «Hostname»), порт, а также информацию для авторизации, если таковая предусмотрена.

  1. Жмём «ОК» для сохранения настроек.

Чтобы проверить, работает ли прокси, там же в правом углу ищем кнопку «Check». Пишем любой URL и запускаем тест. Если всё получилось, переходим на вкладку «Rules» и создаём правило для перенаправления данных. Если нужно, чтобы все программы работали через прокси, выбирайте «Redirect throught proxy» и ставим галочку в пункте «Resolve names remotely». Также галочками отмечаем пункты «TCP» и «UDP». По умолчанию, трафик будет перенаправляться через прокси, но в случае необходимости можно вручную выбрать нужные вам программы.

Proxy Switcher

Proxy Switcher — ещё одна программа для прокси, которая похожа на ProxyCap. Она доступна бесплатно — урезанная Lite, и платно с полным набором функций. Особенность программы – можно прямо «на лету» менять настройки прокси-сервера и в автоматическом режиме загружать огромный список прокси, а также проверить их на валидность и анонимность. Спокойно путешествуйте по сети, не беспокоясь за сохранность своих данных и переключайтесь между загруженными серверами в указанный промежуток времени.

  • Для настройки софта жмём красную кнопку со знаком «+» на панели и вводим информацию своего прокси.

  • Сохраняем изменения и для проверки жмём зелёную кнопку.

  • Если тест пройден, значит с прокси всё ОК.

  • Для его использования кликните на него правой клавишей мыши и выберите пункт «Switch to this Server».

Таким образом можно легко переключаться между серверами.

Программы для работы с прокси на Linux

Популярные программы, в том числе перечисленные выше, работают с операционной системой Windows. Что же делать пользователям ОС Linux? На самом деле для Linux существует множество программ для прокси. Одна беда — они не имеют графического интерфейса и настраиваются с помощью консоли. Например, аналог программы Proxifier – настраивается исключительно из командной строки, что требует определённых навыков.

Расширения для браузеров

Казалось бы, зачем они нужны, ведь большинство обозревателей позволяют настроить прокси посредством стандартных функций. Однако не всё так просто с настройкой Google Chrome. Да и имеющиеся возможности настройки в других браузерах обеспечивают минимум возможностей. А если есть потребность заходить на одни ресурсы через прокси, а на другие напрямую? Или использовать несколько прокси? В таком случае можно использовать расширения для браузера, которые позволяют расширить настройки прокси.

Наиболее известные — FoxyProxy, Frigate, Proxy For Chrome. Их установка не потребует сложных манипуляций. Для установки, например, FoxyProxy для Firefox достаточно зайти на страницу плагина и нажать «Добавить в FireFox». После завершения установки перезапустите FireFox и добавьте при необходимости свои прокси-сервера. Как это сделать поможет понять пошаговая инструкция по настройке FoxyProxy для Mozilla.

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

Процесс использования вставки и прокси в Adobe Premiere Pro

1. Запустите Adobe Media Encoder и создайте новый шаблон настроек Adobe Media Encoder с нужными настройками вывода, такими как видеокодек и размер кадра. Это необязательный шаг. Он нужен при использовании определенного формата и настроек вывода, которые не охвачены встроенными шаблонами настроек Adobe Media Encoder. При перекодировании или создании прокси с помощью вставки настройки аудио в шаблонах настроек Adobe Media Encoder игнорируются.

2. В браузере шаблонов настроек в Adobe Media Encoder нажмите знак плюс (+) и выберите «Создать шаблон настроек вставки» или «Шаблон настроек > Создать шаблон настроек вставки». Этот шаг открывает диалоговое окно «Параметры шаблона настроек вставки».

3. В поле «Имя шаблона настроек» введите имя своего шаблона настроек. В поле «Комментарии» добавьте любую другую информацию.

4. Чтобы скопировать вставленный видеоряд в новое место на диске (или переместить файл из внешнего носителя на локальный жесткий диск), установите флажок «Передать». Затем в раскрывающемся меню «Место назначения» выберите место для размещения новых файлов. Можно проверить скопированный файл: установить флажок «Проверить» и в раскрывающемся меню «Проверить» выбрать тип проверки.

ПРИМЕЧАНИЕ. Если в шаблоне настроек установлен флажок «Скопировать», шаблон настроек становится доступен в Premiere Pro в диалоговом окне «Настройки вставки» в настройках «Скопировать» и «Скопировать и создать прокси». Он не доступен в настройках «Перекодировать» и «Создать прокси».

5. Чтобы перекодировать или создать прокси при вставке видеоряда в проект Premiere Pro, установите флажок «Перекодировать файлы в место назначения». Затем в раскрывающемся меню «Место назначения» выберите место для размещения новых файлов. Теперь в раскрывающемся меню «Формат» можно выбрать тип вывода. Список доступных шаблонов настроек кодирования появляется в раскрывающемся меню «Шаблон настроек», включая созданные вами пользовательские шаблоны настроек кодировщика.

ПРИМЕЧАНИЕ. Если флажок «Перекодировать файлы в место назначения» установлен в шаблоне настроек вставки, шаблон настроек становится доступен в диалоговом окне «Настройки вставки» Premiere Pro в настройках «Перекодировать» и «Создать прокси». Он не доступен в настройках «Копировать» и «Копировать и создать прокси».

6. Закончив вносить изменения в разделы диалогового окна «Шаблон настроек вставки», нажмите ОК, чтобы сохранить шаблон в Adobe Media Encoder.

7. Чтобы использовать недавно созданный шаблон настроек вставки в диалоговом окне «Настройки вставки» или «Создание прокси» Premiere Pro, экспортируйте шаблон настроек из Adobe Media Encoder на диск. Для этого в браузере шаблонов настроек Adobe Media Encoder нажмите нужный шаблон настроек правой кнопкой мыши (WIN) или левой кнопкой мыши, удерживая нажатой клавишу Ctrl (Mac OS), и выберите «Экспорт шаблона настроек». Выберите на диске место для файла .epr. Также можно выделить шаблон настроек в браузере шаблонов настроек Adobe Media Encoder и выбрать «Шаблон настроек > Экспорт».

Защищённые прокси — практичная альтернатива VPN / Хабр

В интернете есть достаточное количество информации по теме шифрования и защиты трафика от вмешательств, однако сложился некоторый перекос в сторону различных VPN-технологий. Возможно, отчасти он вызван статьями VPN-сервисов, которые так или иначе утверждают о строгом превосходстве VPN-решений перед прокси. При этом многие решения тех же VPN-провайдеров, не смотря на маркетинговое позиционирование в качестве VPN, технически являются прокси.

На практике прокси больше подходят для повседневной защиты веб-трафика, не создавая при этом неудобств в виде заметной потери скорости и неизбирательности туннелирования. То есть при использовании хорошего прокси не стоит необходимость его отключать для комфортного пользования интернетом.

В этой статье расказано о преимуществах защищённого прокси перед VPN и предложены различные реализации, готовые к использованию.

В чём различие между VPN и прокси?

VPN — это общее название технологий для объединения внутренних сетей на уровне сетевых пакетов или кадров через соединение, установленное поверх другой сети (чаще всего публичной).

Прокси — это серверное приложение, осуществляющее соединения или запросы от своего имени и сетевого адреса в пользу подключившегося к нему клиента, пересылая в результате ему все полученные данные.

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

И VPN, и прокси могут иметь или не иметь шифрования между клиентом и сервером. Обе технологии пригодны для того, чтобы направить трафик пользователя через доверенный сервер, применяя шифрование по пути до него. Однако, подключение через прокси делает это более прямолинейным способом, не привнося дополнительную инкапсуляцию сетевых пакетов, серые адреса самой VPN сети и изменения таблицы маршрутизации, которые привносит VPN просто лишь для того, чтобы сетевой стек системы пользователя направил трафик через нужный сервер.

Преимущества прокси

  1. В условиях реальной сети с потерями практическая скорость прокси зачастую выше, чем у VPN-решений. Это вызвано тем, что при проксировании TCP-соединений ретрансмиты на участках клиент-прокси и прокси-целевой узел происходят независимо. Прокси имеет свои TCP-буферы и кратковременные задержки ввода-вывода в обе стороны не сказываются на передаче с противоположной стороны. VPN же работает только на сетевом уровне (IP) и потерянные сегменты TCP будут пересылаться по всей длине пути от VPN-клиента до целевого сервера.
  2. Гибкость. Проще настроить избирательное проксирование. Использование прокси можно ограничить конкретными приложениями, в браузере — конкретными доменами. Можно использовать несколько разных прокси для разных адресов назначения одновременно.
  3. Трудно обнаружить с помощью DPI, в том числе DPI осуществляющими активные пробы. Однако, для этого необходима некоторая донастройка. В случае с прокси через TLS, такое соединение можно выдать за обычное HTTPS-соединение. В случае с VPN факт его использования виден даже пассивному DPI. Даже если это Wireguard.
  4. Нет целого класса проблем с внезапно прервавшимся VPN-соединением. В худшем сценарии VPN-соединение может прерваться и пользователь не заметит, что его трафик уже не защищён и/или он уже работает со своего «домашнего» IP-адреса. В случае с прокси такие проблемы исключены.
  5. Нет принципиальной возможности проводить атаки, пускающие трафик мимо VPN-туннеля. Пример такой проблемы.
  6. Не нужны высокие привилегии в системе ни для клиента прокси, ни для сервера. Это может быть весьма полезно в случаях, когда у Вас нет высоких прав в системе.

Требования к прокси

Выбирая для себя реализацию защищённого прокси-сервера, я отметил несколько критериев, которым она должна удовлетворять:

  1. Обязательное шифрование и защита целостности данных внутри соединения.
  2. Надёжная и проверенная криптография. Доморощенные криптопротоколы крайне нежелательны.
  3. Устойчивость к DPI, в том числе к активным пробам. В идеале протокол должен внешне выглядеть неотличимо от протоколов, к которым обычно не возникает претензий. Например, как HTTPS.
  4. Отсутствие мультиплексирования нескольких TCP-соединений внутри одного. Причина этого требования такова: нежелательно, чтобы скорость нескольких соединений была ограничена скоростью одного TCP-соединения. Кроме того, при мультиплексировании нескольких соединений внутри одного приостановка получения данных из одного внутреннего (подвергнутого мультиплексированию) соединения может застопорить все остальные на неопределённое время. Для этого достаточно, чтобы со стороны прокси-сервера ожидало отправки больше данных, чем суммарный размер буфер отправки клиента-демультиплексора и буфер приёма сокета у застопорившего приём приложения. В частности такого эффекта можно иногда добиться, начав качать большой файл через SSH SOCKS5 прокси (ssh -ND 1080), и поставив скачивание на паузу. При неудачном стечении обстоятельств никакой трафик через туннель больше не будет принят. Более подробно о проблеме head-of-line blocking.
  5. Отсутствие привязки к поставщику или сервису.

Я рассмотрел несколько известных протоколов для шифрования соединения с прокси:

Особенности obfs4

В спецификации протокола obfs4 есть места, которые вызывают вопросы. В рукопожатии со стороны клиента используется номер часа от начала эпохи UNIX, который потом участвует в HMAC-подписи. Сервер, принимая такой пакет от клиента проверяет его, подставляя номер часа по своему времени. Если всё верно, то отвечает своей частью рукопожатия. Для борьбы с разбросом часов сервер должен ещё проверять предыдущий и следующий час.

Зная такое характерное поведение, можно проверить сервер на границе следующего и послеследующего часа, воспроизведя одно из прошлых записанных рукопожатий со стороны клиента. Если сервер перестанет отвечать своей частью рукопожатия в это самое время, то это достаточное основание, чтобы судить, что сервер обслуживает протокол obfs4.

Судя по всему, автор со временем осознал эту проблему и в коде obfs4 реализована защита от обнаружения через воспроизведение. В спецификации она нигде не описана.

Однако, такая защита наоборот упрощает работу по блокировке протокола: сетевому фильтру достаточно в случае сомнений задержать отправку рукопожатия от клиента, перехватив её, а затем отправить сообщение с рукопожатием первым. Таким образом он спровоцирует защиту от воспроизведения уже против клиента, вынуждая сам сервер блокировать клиента.

Следующий момент, вызывающий сомнения это формат «кадра» с данными. Выглядит он следующий образом:

   +------------+----------+--------+--------------+------------+------------+
   |  2 bytes   | 16 bytes | 1 byte |   2 bytes    | (optional) | (optional) |
   | Frame len. |   Tag    |  Type  | Payload len. |  Payload   |  Padding   |
   +------------+----------+--------+--------------+------------+------------+
    \_ Obfs.  _/ \___________ NaCl secretbox (Poly1305/XSalsa20) ___________/

Первые два байта каждого кадра это длина пакета, гаммированная с ключом, который вычисляется от предыдущих ключей. Как он вычисляется ключ не столь важно, главное, что настоящая длина пакета подвергается операции побитового исключающего ИЛИ каким-то ключом. Это значит, что можно инвертировать бит в этой части данных и подмена не будет сразу замечена. Если инвертировать младший значащий бит этого поля, то длина кадра станет либо на единицу меньше истинной, либо на единицу больше. В первом случае это приведёт к сбросу соединения через небольшое случайное время из-за ошибки распаковки NaCl secretbox.

Второй случай более интересный: сервер будет ждать ещё один байт для того, чтобы начать распаковку криптобокса. Получив ещё ровно один байт он также сбросит соединение из-за ошибки распаковки криптобокса. Это поведение можно считать специфичным для obfs4 и можно судить, что мы с высокой вероятностью имеем дело с ним. Таким образом, удачно разрушив одно из соединений клиента, можно с примерно 50%-ным шансом обнаружить obfs4.

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

Ну и последняя особенность заключается в том, что сам по себе протокол внешне не похож ни на один из общепринятых. Он спроектирован с предположением, что DPI играет по правилам и незнакомые протоколы просто не трогает. Суровая реальность может показать, что это не так.

По всем этим соображениям я воздержался от использования obfs4.

TLS и SSH в качестве криптографического транспорта

Разумно было бы воспользоваться стандартными защищёнными сетевыми протоколами вроде TLS или SSH для обёртывания соединений с прокси. Действительно, к таким протоколам обычно не возникает претензий со стороны DPI, потому что ими может быть зашифрован легетимный трафик. Что же касается активных проб со стороны DPI, этот вопрос можно решить в частном порядке, в зависимости от конкретного протокола прокси.

Ниже будут представлены несколько готовых решений на базе этих протоколов, пригодных для повседневной постоянной защиты трафика.

SOCKS5 внутри SSH

Вариант с использованием функции dynamic port forwarding у OpenSSH рассматривался выше, но он имеет большие проблемы со скоростью. Единственный способ избавиться от мультиплексирования соединений — это использовать альтернативную реализацию клиента SSH, который обеспечивал бы каждое проксируемое соединение отдельной SSH-сессией.

Я проделал такую работу и реализовал его: Rapid SSH Proxy. Эта реализация обеспечивает каждое проксируемое соединение отдельной SSH-сессией, поддерживая пул подготовленных SSH-сессий для удовлетворения поступающих запросов подключения с минимальной задержкой.

Порядок работы с ним такой же, как у ssh -ND 1080: на стороне клиента запускается локальный SOCKS5-прокси, принимающий соединения и напрявляющий их в туннель через SSH-сервер.

Следует особо отметить ключевую особенность: никакого стороннего ПО не нужно устанавливать на сервер — rsp работает как ssh-клиент с обычным сервером OpenSSH. Сервером может быть любая unix-подобная операционная система, а так же Windows и Windows Server (в новых версиях OpenSSH теперь доступен в компонентах системы).

Приведу сравнение скорости через сервер в США:

SOCKS5 внутри TLS

В случае с TLS очевидным решением было бы использовать stunnel или аналогичную TLS-обёртку для TCP-соединений с SOCKS5-сервером. Это действительно вполне хорошо работает, но возникает следующая проблема: рукопожатие TLS для каждого нового соединения занимает дополнительное время и появляется заметная на глаз задержка при установлении новых соединений из браузера. Это несколько ухудшает комфорт при веб-серфинге.

Для того, чтобы скрыть эту задержку, я подготовил специализированную замену stunnel на клиенте, которая поддерживает пул уже установленных, готовых к запросу TLS-соединений. Даже целых два — первый из них послужил прототипом:

  1. Pooling TLS Wrapper
  2. steady-tun

В качестве сервера я предлагаю два варианта:

  • Связка из реверс-прокси haproxy и SOCKS5-прокси dante, настроенная на защиту от активных проб со стороны клиентов, не прошедших аутентификацию по сертификату: github.com/Snawoot/ptw/tree/master/docker_deploy
  • Мой форк go-socks5-proxy со встроенной поддержкой TLS: github.com/Snawoot/socks5-server

HTTP-прокси внутри TLS aka HTTPS-прокси

Есть небольшая путаница в отношении сочетания слов «HTTPS» и «прокси». Есть два понимания такого словосочетания:

  1. Обычный HTTP-прокси без шифрования, который поддерживает метод HTTP CONNECT и через который может успешно работать HTTPS.
  2. HTTP-прокси, принимающий TLS-соединения.

Речь пойдёт о втором. Все платные и бесплатные браузерные расширения, предоставляющие «VPN», по сути настраивают браузер на использование такого прокси.

Примечательно, что ни в одном браузере нет простой возможности задать в настройках HTTPS-прокси через пользовательский интерфейс (то поле HTTPS-прокси, которое там есть, как раз относится к первому случаю). Но это не представляет собой большой трудности.

Поперебирав различные готовые варианты, я решил написать свой HTTP(S) прокси-сервер: dumbproxy.

Ключевой особенностью получившегося решения является то, что современные браузеры (Firefox и семейство Chrome, включая новый MS Edge) могут работать с ним без какого-либо дополнительного ПО на клиенте (см. руководство по настройке клиентов).

Следует отметить особенности реализации в отношении противодействия активным пробам со стороны DPI. HTTP-прокси легко распознать, подключившись к нему и осуществив попытку какого-либо запроса стороннего ресурса. Если прокси имеет авторизацию, то по стандарту он должен отвергнуть запрос с кодом 407, специфичным именно для HTTP-прокси, и предложить возможную схему для авторизации. Если прокси работает без авторизации, то он выполнит запрос, чем так же себя выдаст. Есть как минимум два способа решения этой проблемы (и оба они реализованы в dumbproxy).

Первый способ заключается в том, чтобы использовать аутентификацию клиентов по сертификатам ещё на этапе TLS-рукопожатия. Это самый стойкий метод, и это действительно корректная причина, по которой любой обычный веб-сервер мог бы отвергнуть клиента.

Второй способ заключается в том, чтобы скрыть от неавторизованных клиентов код ответа 407, возвращая вместо него любой другой ответ с ошибкой. Это вызывает другую проблему: браузеры не смогут понять, что для прокси требуется авторизация. Даже если браузер имеет сохранённый логин и пароль для этого прокси, ответ 407 важен для определения схемы авторизации, по которой эти учётные данные должны быть отправлены (Basic, Digest и т. д.). Для этого нужно позволить прокси генерировать ответ 407 на секретный запрос, чтобы браузер мог запомнить схему авторизации. В качестве такого секретного запроса используется настраиваемый секретный домен (не обязательно реально существующий). По умолчанию этот режим выключен. Подробности можно посмотреть в разделе об аутентификации.

Заключение

Я пользуюсь этими решениями уже один год и в итоге они мне полностью заменили VPN, вместе с этим сняв все проблемы, с которыми сопряжено его использование.

Надеюсь, что эта статья добавит к арсеналу читателей новые подходы к защите трафика и будет им полезной.

P.S. Если вам важна анонимность вашего адреса в интернете, не забудьте выключить WebRTC в своём браузере. Провериться на утечки IP-адреса можно здесь.

🔄 Как работает прокси-сервер: максимально простое объяснение

Прокси-сервер, или
просто прокси – это компьютер, выполняющий роль посредника между пользователем и целевым сервером. Сначала клиент подключается к прокси-серверу и запрашивает необходимый ресурс, расположенный на другом сервере. Например, почту или html-страницу. Затем прокси либо подключается к указанному серверу и получает у него ресурс, либо возвращает ресурс из собственного кэша.

Компании используют прокси для обеспечения безопасности, повышения производительности сети, доступа к «удаленным» ресурсам. Частные лица применяют прокси для анонимизации трафика или обхода ограничений доступа.

Процесс работы с прокси

Когда речь заходит о
прокси, обычно подразумевается прямой прокси-сервер. Представим, что мы делаем запрос, например, пытаемся перейти на GitHub – вводим
URL, нажимаем Enter. Прокси не подключает нас к GitHub напрямую, а перехватывает соединение и обновляет содержание запроса, удаляя входящий IP и изменяя заголовок. В результате GitHub считает, что запрос пришел с другого
компьютера, и отправляет нужные данные не нам, а прокси-серверу. Прокси принимает информацию GitHub, проверяет и отправляет данные нашему компьютеру.

Распространенные варианты использования прокси:

  • повышение безопасности сети с помощью шифрования запросов;
  • предотвращение перехвата конфиденциальной информации;
  • блокировка вредоносных сайтов и рекламы;
  • кэширование сайтов для экономии трафика;
  • контроль использования сетевого канала;
  • блокировка доменов;
  • мониторинг и регистрация веб-запросов;
  • тестирование веб-ресурсов при заходе с различных IP.

Свои варианты вы можете предложить в комментариях к публикации.

Прозрачный прокси – самый простой вид, в браузере даже не прописываются настройки прокси-сервера. Прозрачный прокси просто перехватывает идущий HTTP-трафик. У пользователя создается ощущение, что он работает в интернете без прокси-сервера. Пример использования: фильтрация развлекательных веб-сайтов в сети образовательных учреждений.

Анонимный прокси никогда не передают IP-адрес клиента на целевой ресурс. Хороший вариант, если вы не хотите,
чтобы таргетированная реклама следила за вами или вашим местоположением. Прокси высокой анонимности не передает ни IP-адрес, ни личные данные и даже не идентифицирует себя как прокси. В процессе работы IP-адрес периодически меняется – это позволяет обеспечить максимальную конфиденциальность. Браузер TOR использует этот тип прокси-сервера. Поскольку IP меняется, чрезвычайно трудно отследить источник запросов.

Искажающий (distorting) прокси работает
аналогично анонимному, но передает заведомо ложный IP-адрес. Такой подход используется, чтобы обойти локальные ограничения доступа к контенту.

Резидентный (residential) прокси используют реальные (белые, статические) IP-адреса. Для серверов они выглядят
как обычные клиенты. Противоположность резидентного – data center прокси, имеющие IP-адреса, не привязанные
к реальному устройству. Облачные провайдеры имеют высокоскоростные интернет-соединения. Однако если на одном сервере размещено сотни прокси-серверов, все они будут иметь одинаковые IP-адреса.

Публичный (public) прокси – самый небезопасный и ненадежный. Могут «отвалиться» в любой
момент, уязвимы для хакерских атак. Найти списки бесплатных
публичных прокси не так уж сложно, но найти хороший публичный прокси – почти невозможно.

Частный (private) прокси может использоваться единовременно только одним клиентом, а перед использованием происходит проверка подлинности. Это более надежная версия публичного прокси. Частный прокси-сервер может быть прозрачным или иметь высокую анонимность, подобно вышеописанным собратьям, таким как резидентный или data center прокси.

Общий (shared) прокси – один из самых
дешевых видов прокси-серверов. Стоимость аренды сервера разделяется между клиентами, которые получают к нему одновременный доступ.

Ротационный (rotating) прокси для нового клиента выделяет новый IP-адрес. То есть один и тот же IP не используется более одного раза. Ротационный сервер
обеспечивает высокий уровень безопасности и конфиденциальности.

SSL-прокси работают
по принципу HTTPS-запросов – запросы
между клиентом и сервером защищены шифрованием.

Обратный (reverse) прокси предлагает совершенно другой
подход к проксированию. Здесь скрывается не IP-адрес клиента, а IP-адрес сервера, на который отправляется
запрос. Инструмент используется, чтобы контролировать доступ к серверу и ограничивать
неконтролируемый доступ к базе данных, а также для снижения трафика за счет кэширования информации.

Большинство сервисов прокси предлагают комбинации вышеописанных типов. Можно обнаружить, что резидентные, высоко анонимные и SSL-прокси объединены в один сервис. Список сервисов, на которых можно выбрать подходящий вариант:

Главное отличие прокси от VPN заключается в том, что VPN защищает весь сетевой трафик, а
прокси – только интернет-трафик. Прокси передает запросы, действуя как посредник,
а VPN туннелирует всю сетевую активность до уровня операционной системы.

Компании используют VPN, чтобы дать доступ сотрудникам к корпоративным
ресурсам, не беспокоясь о том, что трафик будет перехвачен или задамплен
провайдером. Если он получит историю использования, в ней будет видно только
то, что вы подключены к VPN. Ничего о трафике узнать нельзя.

Несмотря на все
преимущества, у VPN в сравнении с прокси есть недостатки:

  • VPN дороже;
  • соединение обычно происходит медленнее.

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

Создать собственный прокси-сервер проще, чем, кажется. Прокси-сервер может располагаться где угодно, им может стать даже домашний компьютер. На сервере Linux можно установить Squid и задать необходимые настройки. Можно блокировать
определенные веб-сайты или требовать аутентификацию, прежде чем клиент подключится к прокси-серверу (пошаговое руководство по настройке Squid).

В Windows и Mac есть возможность создать прокси-сервер с помощью Python и Google
App Engine, но придется немного
заплатить. Настройка сервера незначительно сложнее, чем в Linux.

Если вы знаете IP-адрес и номер порта прокси, подключиться будет несложно. Нужно зайти
в настройки сети, далее в раздел прокси, а после ввести информацию о сервере.

Настройка прокси-сервера в WindowsНастройка прокси-сервера в Ubuntu

Использование прокси оправдано, если необходимо скрыть или защитить информацию. Выше мы рассмотрели список задач, решаемых с помощью прокси. Как мы увидели, в использовании прокси есть преимущества:

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

Но есть и недостатки:

  • запросы могут возвращаться медленнее, чем при прямом обращении;
  • не все прокси шифруют данные, к выбору прокси нужно относиться внимательно;
  • бесплатные и дешевые прокси могут быть подвергнуты атаке, в результате чего данные могут перехватываться мошенниками;
  • вся информация всегда проходит через третью сторону, которая может управляться кем угодно.

Если вам интересна тема информационной безопасности, в Библиотеке программиста есть множество публикаций на эту тему, например:

Proxy Auto Configuration (PAC) / Песочница / Хабр

В рунете мало информации об такой замечательной вещи как «Автоматическая настройка прокси сервера». В этой статье я постараюсь подробно остановиться на данном вопросе.

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

function FindProxyForURL(url, host)

{

 ...

}


где,
url – полный URL запрашиваемого документа
host – имя поста извлекаемое из URL. Этот параметр необходим только для удобства. Он содержит всё от :// и до первого / или :. Номер порта не включается в этот параметр.

Функция возвращает строку содержащую один или несколько способов доступа к запрашиваемому документу. Формат строки следующий:

null — если строка null, то использовать прокси сервер не нужно;

DIRECT — прямое соединение без использования прокси;

PROXY host:port — определяет какой прокси сервер необходимо использовать;

SOCKS host:port — определяет SOCKS сервер который необходимо использовать.

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

В главной функции могут быть вызваны следующие функции:

  • isPlainHostName(host) возвращает true если строка host не содержит точек («.»).
  • dnsDomainIs(host, domain) вернет true если domain принадлежит host
  • localHostOrDomainIs(host, hostdomain) возвращает true если строка host (имя хоста или домена) содержится в строке hostdomain
  • isResolvable(host) возвращает true если возможно определить IP адрес для заданной строки host
  • isInNet(host, pattern, mask) возвращает true если IP адрес или имя хоста в строке host соответствует шаблону pattern и маске mask
  • dnsResolve(host) возвращает IP адрес для заданного host
  • myIpAddress() возвращает IP адрес компьютера
  • dnsDomainLevels(host) возвращает количество точек в строке host. Другими словами уровень домена
  • shExpMatch(str, shellexp) вернет true если строка str соответствует регулярному выражению в строке shellexp (формат регулярных выражений shellexp, а не regexp). Например shExpMatch(«a/b/c»,»*/b/*») вернет true
  • weekdayRange(wd1 [, wd2 ][, «GMT«]) вернет true если текущая дата или дата заданная в параметре GTM, соответствует заданному дню недели или диапазону дней. Дни недели записываются в закавыченной строке из следующих вариантов (SUN|MON|TUE|WED|THU|FRI|SAT)
  • dateRange([day1] [,month2] [,year1] [,day2] [,month3] [,year2] [,»GMT«]) вернет true если текущая дата или дата заданная в параметре GTM попадает в указанный диапазон. Название месяца задается закавыченной строкой из следующих вариантов (JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)
  • timeRange(hour1, minute1, second1, hour2, minute2, second2 [, «GMT«])
  • timeRange(hour1, minute1, hour2, minute2 [, «GMT«])
  • timeRange(hour1, hour2 [, «GMT«])
  • timeRange(hour [, «GMT«])

Браузеры Firefox и Internet Explorer поддерживает только системную кодировку в PAC файле и не поддерживают Unicode кодировки, такие как UTF-8.

Приведу небольшой пример:

function FindProxyForURL(url, host)

{

 if (isPlainHostName(host) || dnsDomainIs(host, ".mydomain.com"))

  return "DIRECT";

 else if (shExpMatch(host, "*.com"))

  return "PROXY proxy1.mydomain.com:8080; " +

   "PROXY proxy4.mydomain.com:8080";

 else if (shExpMatch(host, "*.edu"))

  return "PROXY proxy2.mydomain.com:8080; " +

   "PROXY proxy4.mydomain.com:8080";

 else

  return "PROXY proxy3.mydomain.com:8080; " +

   "PROXY proxy4.mydomain.com:8080";

}

Данный скрип говорить устанавливать браузеру прямое соединение для локальных хостов или под доменов домена .mydomain.com. Для доменов из зоны .com используются прокси серверы 1 и 4, для доменов из зоны .edu прокси 2 и 4 ну и для всех оставшихся вариантов прокси 3 и 4.

Теперь остановлюсь на вопросе как указать браузеру использовать автоматическую конфигурацию прокси серверов. Для этого есть несколько вариантов:

  • Задать адрес скрипта вручную. Скрипт выкладывается на сервер доступный для пользователя. Обычно имя скрипта proxy.dat, однако если следовать спецификации WPAD скрипт следует назвать wpad.dat. Так же сервер должен отдавать файл с MIME типом application/x-ns-proxy-autoconfig
  • Второй способ WPAD метод основанный на DNS. Подробнее можно прочесть по ссылке ru.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol
  • И третий способ WPAD, основанный на DHCP. WPAD просто выдает PAC скрипт с выбранный номером 252 в «аренду» запросившему IP. Браузер получает URL скрипта и просто качает его по ссылке. Для этого необходимо:
    1. Добавим в /etc/dhcp/dhcpd.conf следующие строчки.

      option local-pac-server code 252 = text;

      option local-pac-server «wpad.example.com:80/wpad.dat\000»;
    2. Перезапустите DHCP сервер.

    Небольшой нюанс — у DHCP приоритет выше, чем у DNS, как следствие — гораздо быстрее. И можно вместо имени сайта указать его IP, в этом случае отсутствуют расходы времени на преобразование адреса в имя, что добавляет скорости.

Настройка браузеров. В параметрах программы нужно указать определение прокси-сервера:

  1. В браузере Explorer

    Сервис -> Свойства обозревателя -> Подключения -> Настройка сети

    поставить галочку напротив опции «Автоматическое определение параметров»

    или поставить галочку напротив опции «Использовать сценарий автоматической настройки» и в поле «Адрес» написать путь до PAC файла. Например: wpad.example.com:80/wpad.dat
  2. В браузере Opera

    Настройки -> Дополнительно -> Сеть -> Прокси-серверы

    поставить галочку напротив опции «Автоматическая конфигурация прокси-сервера» и в поле «Адрес» написать путь до PAC файла.
  3. В браузере Firefox

    Инструменты->Настройки->Дополнительно->Сеть->Соединение(Настроить)

    выберать опции «Автоматически определять настройки прокси для этой сети»

    или выберать опцию «URL автоматической настройки сервиса прокси» и в поле «Адрес» написать путь до PAC файла.

Ещё несколько полезной информации можно почерпнуть по адресу en.wikipedia.org/wiki/Proxy_auto-config

Настройка прокси через Proxifier: понятная инструкция

Если вы не знаете, как настроить Proxifier для работы с прокси-сервером, предлагаем ознакомиться с понятной пошаговой инструкцией по настройке проксификатора в данной статье.

Всем известно, что прокси необходим каждому, кто хочет безопасно путешествовать по интернету при этом сохраняя анонимность. Proxifier — отличный способ защитить все важные данные на компьютере от «лап мошенников». Сегодня мы поговорим о том, как правильно настроить софт и заставить его функционировать быстро и качественно.

Напомним Вам, что на proxy-sale можно купить прокси, которые поддерживают протоколы Socks5 и HTTP(s) и будут работать в любой программе, в том числе Proxifier, а также на любом сайте.

Пошаговая инструкция:

  1. Чтобы добавить новый IP в программу Proxifier, для начала скачайте ее из поисковика.
  2. Запустите и выберите Profile > Proxy Servers > Add >…
  3. Впишите IP и Порт, введите тип Протокола и пропишите логин с паролем.
  4. При необходимости авторизации нажмите чекбокс «Enable», укажите login и password.
  5. Спустя несколько секунд запускается тестирование Proxy и утилита заходит по умолчанию на веб – портал google.com (при желании можно написать другой сайт).
  6. Далее должен появиться один из двух ответов: если порт не функционирующий либо проверка осталась в режиме ожидания, тогда вы увидите надпись «Testing Failed», а «Completed Successfully» будет означать успешное завершение.
  7. Затем жмем Ок и сворачиваем все окошки.

Настройка проксификатора

В данном случае настраивается прокси по протоколу socks5 и авторизацией по логину и паролю:

Для осуществления настройки отдельного браузера в Proxifier, например Opera, необходимо выбрать пункт Profile-Proxification Rules:

В открывшемся окне, нажимаем Add. Заполняем поля как на скриншоте, в поле Application указываем названия файла запуска приложения:

Нажимаем ОК, закрывая все окна. Теперь запускаем Opera, заходим, к примеру, на сайт 2ip.ru, и видим IP адрес прокси:

Если Вы все настроили верно, то в журнале соединений будут высвечиваться только соединения с браузером, для которого Вы настроили прокси:

На этом настройка прокси socks5 через proxyfier завершена.

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

Для анонимного серфинга и прочих действий прекрасно подойдут как российские прокси, так и IP-адреса других стран.

php — nginx try_files, proxy_pass и апстрим

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

.

1 минуту назад проверил прокси сервера

Доступная статистика прокси-серверов

  • Прокси серверов для зарегистрированных пользователей: 76033
  • Бесплатные образцы прокси-серверов: 140
  • Список прокси будет обновлен через: 59 секунд
  • Время локального сервера: 18: 54: 22 UTC

140 бесплатных прокси-серверов

  • HTTP
  • 201 кбит
  • прозрачный
  • США Соединенные ШтатыFrisco

  • HTTP
  • 109 кбит
  • прозрачный
  • США Соединенные ШтатыFrisco

  • HTTP
  • 22.2 кбит
  • прозрачный
  • UA Украина-

  • HTTP
  • 71,5 кбит
  • прозрачный
  • BD Бангладеш-

  • HTTPS
  • 9.0 кбит
  • прозрачный
  • RO РумынияБухарест

  • HTTP
  • 6154 кбит
  • Элит
  • В Индии-

  • HTTP
  • 13.8 кбит
  • прозрачный
  • США СШАМатаван

  • HTTP
  • 11,2 кбит
  • прозрачный
  • BD БангладешДакка

  • HTTP
  • 8.6 кбит
  • Элит
  • CO Колумбия-

  • HTTP
  • 7,7 кбит
  • прозрачный
  • TH Таиланд-

Загрузить список прокси в формате txt, csv или xml

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

.

Tinyproxy

Tinyproxy — это легкий прокси-демон HTTP / HTTPS для операционных систем POSIX. Разработанный с нуля, чтобы быть быстрым и в то же время маленьким, это идеальное решение для таких случаев использования, как встроенные развертывания, когда требуется полнофункциональный HTTP-прокси, но системные ресурсы для более крупного прокси недоступны.

Tinyproxy распространяется с использованием лицензии GNU GPL (версии 2 или выше).

Возможности

Tinyproxy занимает мало места и требует очень мало системных ресурсов.Объем памяти, как правило, составляет около 2 МБ с glibc, а загрузка ЦП линейно увеличивается с количеством одновременных подключений (в зависимости от скорости подключения). Таким образом, Tinyproxy можно запускать на старой машине или на сетевом устройстве, таком как широкополосный маршрутизатор на базе Linux, без какого-либо заметного влияния на производительность.

Tinyproxy требует для создания и работы только минимальной среды POSIX . Однако он может использовать дополнительные библиотеки для добавления функций.

Tinyproxy позволяет перенаправлять HTTPS-соединений без какого-либо изменения трафика с помощью метода CONNECT (см. Директиву ConnectPort ).

Tinyproxy поддерживает настройку в качестве прозрачного прокси-сервера , поэтому прокси-сервер можно использовать без необходимости настройки на стороне клиента. Вы также можете использовать его в качестве обратного прокси-сервера для своих веб-сайтов.

Используя директиву AddHeader , вы можете добавлять / вставлять заголовки HTTP в исходящий трафик.

Если вы хотите создать собственный веб-прокси, Tinyproxy легко изменить под свои нужды. Источник прост, придерживаясь принципа KISS. Таким образом, его можно использовать в качестве основы для всего, для чего вам может понадобиться веб-прокси.

Tinyproxy имеет функций конфиденциальности , которые позволяют настроить, какие HTTP-заголовки должны быть разрешены, а какие — заблокированы. Это позволяет вам ограничить как данные, поступающие в ваш веб-браузер с HTTP-сервера (например,g., файлы cookie), а также для ограничения передачи данных из вашего веб-браузера на HTTP-сервер (например, информация о версии).

Используя средство удаленного мониторинга , вы можете получить доступ к статистике прокси-сервера издалека, позволяя вам точно знать, насколько он загружен.

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

С небольшой конфигурацией (в частности, создание файлов, созданных Tinyproxy, принадлежащих пользователю без полномочий root, и запуск его на порту больше 1024), Tinyproxy можно запустить без каких-либо специальных привилегий, что минимизирует вероятность компрометации системы. Кроме того, он был разработан с целью предотвращения переполнения буфера. Простота кода гарантирует, что такие ошибки легко обнаружить.

Загрузок

  • В Red Hat Enterprise Linux или его производных, таких как CentOS, установите Tinyproxy из репозитория EPEL, запустив yum install tinyproxy.
  • В Fedora установите Tinyproxy, запустив yum install tinyproxy.
  • В Debian и производных дистрибутивах запустите apt-get install tinyproxy, чтобы установить Tinyproxy.
  • Для запуска openSUSE: zypper в tinyproxy
  • Пользователи

  • Arch могут установить пакет Tinyproxy из репозитория сообщества. Запустите pacman -S tinyproxy, чтобы установить его.
  • Пользователи FreeBSD, OpenBSD или NetBSD могут использовать утилиту pkg_add для установки пакета tinyproxy.
  • Пользователи Mac OS X могут проверить MacPorts, чтобы узнать, достаточно ли недавний порт Tinyproxy.

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

Мы распространяем Tinyproxy в виде исходного кода, и он должен быть скомпилирован, чтобы его можно было использовать в вашей системе. Инструкции по сборке см. В файле INSTALL в дереве исходного кода. Текущая стабильная версия Tinyproxy доступна на странице выпусков.Файл Tinyproxy NEWS содержит примечания к выпуску. Вы можете проверить архив, используя его подпись PGP. Вы также можете просмотреть более старые версии Tinyproxy.

Мы используем Git в качестве системы контроля версий для репозитория исходного кода Tinyproxy. Чтобы получить копию репозитория Tinyproxy, используйте команду:

git clone https://github.com/tinyproxy/tinyproxy.git

Документация

НАЗВАНИЕ

tinyproxy.conf — файл конфигурации демона прокси-сервера HTTP Tinyproxy

ОБЗОР

tinyproxy.конф

ОПИСАНИЕ

tinyproxy (8) читает свой файл конфигурации, обычно хранящийся в `/ etc / tinyproxy / tinyproxy.conf` (или переданный в Tinyproxy с помощью -c в командной строке). Эта справочная страница описывает синтаксис и содержимое файла конфигурации.

Файл конфигурации Tinyproxy содержит пары ключ-значение, по одной в каждой строке. Строки, начинающиеся с символа `#`, и пустые строки являются комментариями и игнорируются. Ключевые слова нечувствительны к регистру, тогда как значения чувствительны к регистру. Значения могут быть заключены в двойные кавычки («), если они содержат пробелы.

Возможные ключевые слова и их описания:

Пользователь

Пользователь, от имени которого должен запускаться процесс Tinyproxy после первоначальной привязки порта, от имени пользователя root. Можно указать имя пользователя или UID.

Группа

Группа, в которой процесс Tinyproxy должен запускаться после того, как начальная привязка к порту была выполнена от имени пользователя root. Можно указать имя группы или GID.

Порт

Порт, который будет прослушивать служба Tinyproxy. Если порт меньше 1024, вам нужно будет запустить процесс Tinyproxy от имени пользователя root.

Слушайте

По умолчанию Tinyproxy прослушивает соединения на всех доступных интерфейсах (т.е. он прослушивает адрес с подстановочными знаками `0.0.0.0`). С помощью этого параметра конфигурации Tinyproxy можно указать прослушивать только один конкретный адрес.

Переплет

Это позволяет указать, к какому адресу Tinyproxy будет привязываться для исходящих подключений к веб-серверам или вышестоящим прокси.

BindSame

Если для этого логического параметра задано значение `yes`, то Tinyproxy привяжет исходящее соединение к IP-адресу входящего соединения, которое инициировало исходящий запрос.

Тайм-аут

Максимальное количество секунд бездействия, которое может иметь соединение, прежде чем оно будет закрыто Tinyproxy.

Файл ошибок

Этот параметр определяет, какой HTML-файл будет возвращать Tinyproxy при возникновении данной ошибки HTTP. Он принимает два аргумента: номер ошибки и расположение файла ошибки HTML.

DefaultErrorFile

Этот параметр управляет файлом шаблона HTML, возвращаемым при возникновении ошибки, для которой не задан конкретный файл ошибки.

StatHost

Это настраивает имя хоста или IP-адрес, который рассматривается как «stat host»: всякий раз, когда будет получен запрос для этого хоста, Tinyproxy будет возвращать страницу внутренней статистики вместо того, чтобы пересылать запрос этому хосту.Шаблон для этой страницы можно настроить с помощью параметра конфигурации StatFile. Значение по умолчанию StatHost — tinyproxy.stats.

StatFile

Это настраивает файл HTML, который Tinyproxy отправляет при получении запроса на stathost. Если этот параметр не задан, Tinyproxy возвращает жестко запрограммированную страницу базовой статистики. Подробности смотрите в разделе STATHOST на странице руководства tinyproxy (8).

Обратите внимание, что StatFile и файлы ошибок, настроенные с помощью ErrorFile и DefaultErrorFile, являются файлами шаблонов, которые могут содержать несколько переменных шаблона, которые Tinyproxy расширяет перед доставкой.Примеры: «{причина}» для сокращенного описания ошибки и «{detail}» для подробного сообщения об ошибке. Страница руководства tinyproxy (8) содержит описание всех переменных шаблона.

Файл журнала

Управляет местоположением файла, в который Tinyproxy записывает свои отладочные данные. Кроме того, Tinyproxy может регистрироваться в системном журнале — см. Параметр Системный журнал.

Системный журнал

Если установлено значение `On`, эта опция указывает Tinyproxy записывать свои отладочные сообщения в системный журнал, а не в файл журнала, настроенный с помощью` LogFile`.Эти два варианта исключают друг друга.

LogLevel

Устанавливает уровень журнала. Сообщения с установленного уровня и выше регистрируются. Например, если для параметра LogLevel задано значение «Предупреждение», будут выводиться все сообщения журнала от «Предупреждение» до «Критическое», но «Уведомление» и ниже будут подавлены. Допустимые значения:

PidFile

Эта опция контролирует расположение файла, в котором основной процесс Tinyproxy хранит свой идентификатор процесса для целей сигнализации.

XTinyproxy

Установка для этой опции значения «Да» указывает Tinyproxy добавить заголовок «X-Tinyproxy», содержащий IP-адрес клиента, в запрос.

Восходящий поток

Эта опция позволяет вам установить набор правил для принятия решения о том, следует ли использовать восходящий прокси-сервер, в зависимости от хоста или домена сайта, к которому осуществляется доступ. Правила сохраняются в том порядке, в котором они встречаются в файле конфигурации, и ПОСЛЕДНЕЕ правило сопоставления побеждает.Существуют следующие формы для определения правил восходящего потока:

  • хост восходящего типа: порт обычно включает поддержку восходящего прокси.

  • восходящий тип user: pass @ host: port делает то же самое, но использует предоставленные учетные данные для аутентификации.

  • восходящий тип host: порт «site_spec» включает вышестоящий прокси для сайтов, соответствующих «site_spec».

    `type` может быть одним из` http`, `socks4`,` socks5`, `none`.

  • upstream none «site_spec» отключает поддержку восходящего потока для сайтов, соответствующих «site_spec», это означает, что соединение выполняется напрямую.

Сайт может быть указан в различных формах как имя хоста, имя домена или как диапазон IP-адресов:

  • имя точно соответствует хосту

  • .name соответствует любому хосту в домене «имя»

  • . соответствует любому хосту без домена (в «пустом» домене)

  • IP / бит соответствует сети / маске

  • IP / маска соответствует сети / маске

Обратите внимание, что директива upstream также может использоваться для нулевого маршрута для определенного целевого домена / хоста, например.g .: `upstream http 0.0.0.0:0″ .adserver.com «`

MaxClients

Tinyproxy создает по одному потоку для каждого подключенного клиента. Эта опция определяет самое большое количество процессов, которые будут созданы. Другими словами, только клиенты MaxClients могут быть подключены к Tinyproxy одновременно.

Разрешить
Запретить

Опции «Разрешить» и «Запретить» позволяют настроить, каким клиентам разрешен доступ к Tinyproxy.Строки `Allow` и` Deny` могут быть указаны несколько раз для создания списка управления доступом для Tinyproxy. Порядок в файле конфигурации важен. Если нет строк «Разрешить» или «Запретить», то разрешены все клиенты. В противном случае действие по умолчанию — запретить доступ. Аргументом для Allow или Deny может быть один IP-адрес клиентского хоста, например 127.0.0.1, диапазон IP-адресов, например 192.168.0.1 / 24, или строка, которая будет сопоставлена ​​с конец имени хоста клиента, то есть это может быть полное имя хоста, например `host.example.com или доменное имя, например .example.com, или даже имя домена верхнего уровня, например .com. Обратите внимание, что добавление правила с использованием имени хоста или домена требует дорогостоящего поиска имени для каждого нового соединения, что может значительно замедлить работу службы.

BasicAuth

Настройте имя пользователя и пароль HTTP «Базовая проверка подлинности» для доступа к прокси. Если указаны какие-либо записи, доступ предоставляется только авторизованным пользователям.

  Пароль пользователя BasicAuth  

Настройте один или несколько заголовков HTTP-запросов для добавления к исходящим HTTP-запросам, которые делает Tinyproxy.Обратите внимание, что эта опция не будет работать для трафика HTTPS, поскольку Tinyproxy не контролирует, какие заголовки обмениваются.

  AddHeader "X-My-Header" "Powered by Tinyproxy"  
ViaProxyName

RFC 2616 требует, чтобы прокси-серверы добавляли заголовок «Via» к HTTP-запросам, но использование настоящего имени хоста может быть проблемой безопасности. Если присутствует опция `ViaProxyname`, то ее строковое значение будет использоваться в качестве имени хоста в заголовке Via.В противном случае будет использоваться имя хоста сервера.

Если установлено значение «да», Tinyproxy НЕ добавляет заголовок «Via» к запросам. Это фактически переводит Tinyproxy в скрытый режим. Обратите внимание, что RFC 2616 требует, чтобы прокси устанавливали заголовок «Via», поэтому, включив эту опцию, вы нарушите соответствие. Не отключайте заголовок `Via`, если вы не знаете, что делаете …

Фильтр

Tinyproxy поддерживает фильтрацию веб-сайтов на основе URL-адресов или доменов.сервер объявлений

FilterURLs

Если для этой логической опции установлено значение «Да» или «Вкл», фильтрация выполняется для URL-адресов, а не для доменов. По умолчанию используется фильтрация по доменам.

Расширенный фильтр

Если для этой логической опции задано значение «Да», то для сопоставления правил фильтрации используются расширенные регулярные выражения POSIX. По умолчанию используются базовые регулярные выражения POSIX.

Фильтр Корпус Чувствительный

Если эта логическая опция установлена ​​в «Да», тогда правила фильтрации сопоставляются с учетом регистра.По умолчанию выполняется поиск без учета регистра.

Фильтр По умолчанию Deny

Политика фильтрации по умолчанию — разрешить все, что не соответствует правилу фильтрации. Установка FilterDefaultDeny в значение Yes изменяет политику, запрещающую все, кроме доменов или URL-адресов, соответствующих правилам фильтрации.

Аноним

Если присутствует ключевое слово `Anonymous`, то разрешено анонимное проксирование. Заголовки, указанные как «Anonymous», разрешены, а все остальные — запрещены.Если ключевое слово Anonymous отсутствует, все заголовки разрешены. Вы должны заключать в кавычки заголовки.

Большинство сайтов требуют, чтобы файлы cookie были включены для их правильной работы, поэтому вам нужно будет разрешить использование файлов cookie, если вы заходите на эти сайты.

Пример:

  Анонимный "Ведущий"
    Анонимная «Авторизация»
    Анонимный "Cookie"  
Порт подключения

Этот параметр можно использовать для указания портов, разрешенных для метода CONNECT.Если линия «ConnectPort» не найдена, то разрешены все порты. Чтобы полностью отключить CONNECT, включите одну строку ConnectPort со значением «0».

Обратный путь

Настройте одну или несколько директив ReversePath для включения поддержки обратного прокси. С помощью обратного проксирования можно сделать так, чтобы несколько сайтов выглядели так, как если бы они были частью одного сайта.

Если вы раскомментируете следующие две директивы и запустите Tinyproxy на своем компьютере с портом 8888, вы сможете получить доступ к example.com, используя http: // localhost: 8888 / example /.

  ReversePath "/ example /" "http://www.example.com/"  
Только реверс

При использовании Tinyproxy в качестве обратного прокси НАСТОЯТЕЛЬНО рекомендуется отключить обычный прокси, установив для этой логической опции значение «Да».

ReverseMagic

Установите для этой опции значение «Да», mak

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *