Введение
Фильтр веб-прокси Windows
Фильтрация содержимого страницы
С помощью языка сценариев фильтры создаются с использованием команд редактирования для поиска и замены текста на загруженной странице. Определенные страницы могут быть выбраны для фильтрации путем сопоставления URL страницы с заданным шаблоном. Фильтрация HTTP-заголовков
Раздельные фильтры для входящих и исходящих HTTP-заголовков могут использоваться для изменения значений существующих заголовков, добавления новых заголовков или удаления заголовков. Примером такого использования может служить управление cookie-файлами. Переменные
Фильтры могут использовать локальные переменные (для каждого фильтра) или глобальные переменные (доступные для всех фильтров в рамках запроса) для захвата и хранения текста для последующего сопоставления, повторной вставки содержимого в новое местоположение или записи содержимого в списки. Также доступны предопределенные переменные, например, URL страницы. Специальные команды
Фильтры или URL-адреса могут использовать ряд специальных команд; например, команда, основанная на фильтре, может проверить, нажата ли пользователем определенная клавиша, или команда, встроенная в URL, может указать Proxomitron отфильтровать локальный файл. Создание списков для фильтров
Текстовые файлы (известные как «блокировочные списки») могут использоваться в качестве источников шаблонов для сопоставления фильтров. Создание стандартных списков
Текстовые файлы (известные как «файлы журналов») могут использоваться фильтрами для добавления захваченных данных в список. Создание списков сеансов
Текстовые файлы, существующие только в памяти, могут быть созданы и использованы фильтрами для создания временных блокировочных списков, или постоянные блокировочные списки могут быть настроены таким образом, чтобы фильтры могли добавлять только данные «сеанса» в памяти. Вставка файлов
Фильтры могут независимо извлекать локальные текстовые файлы, содержащие обычный текст, фрагменты HTML, CSS или скрипты, и записывать их на веб-страницу. Перенаправление трафика
Фильтры могут перенаправлять запросы на другие веб-страницы или локальные файлы, либо отправляя новое местоположение в качестве директивы браузеру, либо «прозрачно» подключаясь к новому местоположению напрямую. Просмотр трафика между сервером и браузером
Окно журнала позволяет пользователю просматривать HTTP-трафик между браузером и сервером. Это может (опционально) включать любые данные, отправленные методом POST. Предоставление оповещений
Фильтры могут быть настроены таким образом, чтобы Proxomitron генерировал собственное всплывающее окно оповещения или подтверждения, содержащее текст, предоставленный пользователем. Распаковка данных на лету
С библиотекой ZLIB Proxomitron может распаковывать потоки данных, сжатых с помощью GZIP, и фильтровать страницы, доставленные в сжатом режиме. Фильтрация «защищенных» каналов
С библиотеками, обеспечивающими SSL-рутины, Proxomitron может фильтровать защищенные, закодированные потоки. Поскольку это вынуждает прокси выступать в роли «человека посередине», это не следует использовать в большинстве случаев. Подключение к удаленным прокси
Proxomitron может тестировать удаленные прокси, поддерживать список прокси для использования и быть настроенным на ротацию соединений с удаленными прокси. Запуск программы или URL
Proxomitron может быть настроен на запуск внешней программы или URL (как указано в настройках программы) при запуске или по требованию через значок запуска или пункт меню. Запуск программ и URL-адресов из фильтров также может быть выполнен с помощью недокументированной команды $EXEC. Изменение текстур интерфейса
Пользователь может выбрать растровые изображения (называемые «текстурами») для заполнения фонов интерфейса и граней кнопок и вкладок, или просто отключить эту функцию. В программу включен внутренний набор растровых изображений по умолчанию (признанно «психоделических»). Отладка
Специальный просмотр исходного кода страницы, показывающий, какие фильтры соответствуют какому содержимому страницы, может быть отправлен в браузер для отладки. Окно тестирования также доступно из диалоговых окон редактора фильтров для тестирования сопоставлений и проверки эффективности фильтра.
Using the scripting language, filters are prepared with editing commands to match and replace text in the downloaded page. Specific pages can be targeted for filtering by matching the page's URL with a specified pattern. Filter HTTP headers
Separate filters for incoming and outgoing HTTP headers can be used to modify the values of existing headers, add new headers, or delete headers. One example of such usage would be for cookie management. Variables
Filters can use local variables (per filter) or global variables (available to all filters per request) to capture/store text for further test matching, to reinsert content into a new location, or to write content to lists. Preset variables are also available, e. g., the page's URL. Special commands
A number of special commands are available for use by filters or in URLs; e. g., a filter based command can check if the user presses a particular key, or a URL embedded command can direct Proxomitron to filter a local file. Create lists for filters
Text files (known as "blocklists") can be used as sources for patterns for filter matches. Create standard lists
Text files (known as "logfiles") can be used by filters to append captured data to a list. Create session lists
Memory only text files can be generated and used by filters to build temporary blocklists, or permanent blocklists can be configured to only allow filters to add memory only "session" data. Insert files
Local text files containing plain text, HTML snippits, css, or scripts can be independently retrieved and written into the web page by filters. Reroute traffic
Filters can redirect requests to different web pages or to local files, either by sending the new location as a directive to the browser or by "transparently" connecting to the new location directly. View traffic between server and browser
The log window permits the user to see the HTTP traffic between the browser and server. This can (optionally) include any POSTed data. Provide alerts
Filters can be configured to have Proxomitron generate its own alert or confirmation popup containing user supplied text. Uncompress data on the fly
With the ZLIB library, the Proxomitron can uncompress GZIP compressed data streams and filter pages delivered in compressed modes. Filter "secure" channels
With libraries to provide the SSL routines, the Proxomitron can filter secure, encoded streams. Since this forces the proxy to act as a "man in the middle", this should not be used in most cases. Chain to remote proxies
Proxomitron can test remote proxies, maintain a list of proxies to utilize, and be configured to rotate the remote proxy connections. Run program or URL
Proxomitron can be configured to launch an external program or URL (as specified in the program settings) upon startup, or on demand via the Launch icon or a menu option. Launching programs and URLs from filters can also be accomplished through the use of an undocumented $EXEC command. Change interface textures
The user can select bitmap images (referred to as "textures") for tiling interface backgrounds and button and tab faces, or simply disable this feature. An internal set of default bitmaps (admittedly "psychedelic") are included with the program. Debug
A special viewing of the page source showing which filters matched what page content can be sent to the browser for debugging purposes. A test window is also available from the filter editor dialogs for testing matches and checking filter efficiency.
Лицензия
Программа распространялась под лицензией "ShonenWare". Согласно этой лицензии, её можно было использовать бесплатно. Lemmon полагал, что покупка и прослушивание пользователем CD Shonen Knife было достаточным основанием для его регистрации.
История
Первый публичный релиз Proxomitron (Naoko 2) состоялся в 1999 году и распространялся через Simtel. Последующие релизы назывались "Naoko" (в честь Наоко Ямано) с добавлением номера релиза. (Выпущенные версии: 3, 3(b), 4.0, 4.1, 4.2, 4.3, 4.4, 4.5.) За выпуском Naoko 4.5 в мае 2003 года последовало быстрое удаление веб-сайта программы и заявление Леммона о прекращении дальнейшей разработки Proxomitron. Однако в июне 2003 года был выпущен еще один релиз, главным образом для отмены нового поведения, связанного с удаленными прокси-соединениями, которое было внедрено в майской версии. После выпуска Naoko 4.5 (июнь) разработка была окончательно прекращена, и на официальном сайте появилось сообщение:
Это записывается как (消えました) на японском языке и переводится как "исчез" или "пропал". Исходная домашняя страница больше не доступна. Зеркальная переадресация Леммона вскоре была изменена для отображения другого заключительного сообщения от автора. Автор, Скотт Р. Леммон, умер 1 мая 2004 года в возрасте 36 лет.
Текущий статус
Поскольку это был проект с закрытым исходным кодом, поддержка и разработка Proxomitron прекращены. Однако программа Proxomitron по-прежнему работоспособна, и существует сообщество пользователей, оказывающих ей поддержку через онлайн-форумы. Пользователи также предоставляют фильтры, наборы фильтров, совместимые DLL-файлы и другие необходимые файлы, а также патчи для изменения внешнего вида и/или обновления графического интерфейса Proxomitron. Многие современные браузеры уже содержат функции, аналогичные тем, что обеспечиваются фильтрами Proxomitron, например, блокировку рекламы и всплывающих окон. Другие возможности браузеров или расширения, такие как Greasemonkey для Firefox и пользовательские стили для Firefox и других браузеров через расширение Stylish, также позволяют локально изменять веб-страницы.