NAME fetchweb DESCRIPTION Гейт E-mail <-> WEB COMMAND LINE ARGUMENTS -c - Файл конфигурации -mb - Файл с входящими почтовыми запросами -pop3cfg - Файл конфигурации для модуля InMail.pm Если использовать забор сообщений по POP3 CONFIG FILE - Секция CFG MAIL_BOX - Файл из которого читаются входящие сообщения формат как системный (Linux) mbox. SPOOL_DIR - Директория для временных файлов. TMP_DIR - Директория для еще более временных файлов :). ERROR_LOG - Файл с сообщениями об ошибках STATISTIC_LOG - Файл со статистикой (Кто, куда, когда и тд.). HTTP_PORT - HTTP порт по умолчанию. SMTP_PORT - Порт почтового сервера через который отправляются письма. PROXY_PORT - Порт прокси сервера, если разрешено использовать проксю (флаг 0x8000). TIME_OUT - Тайм аут при работе с сетью. DEF_HTTP_PROTO - HTTP протокол по умолчанию (HTTP/1.0 , ...) GZIP - Путь к внешней утилите gzip, если есть желание отправлять ответы на запросы в запакованном виде. PROXY_HOST - IP адрес прокси сервера. LOCAL_HOST - IP адрес локальной машины. HTTP_DEV - Если не undef то с помощью ifconfig'а определяем адрес на интерфейсе HTTP_DEV и используем вместо LOCAL_HOST. SMTP_HOST - IP адрес почтового релея. SMTP_DEV - Тоже что и HTTP_DEV только для почты. ALL_MAX_REQUEST - Максимальное число HTTP запросов обрабатываемых за один раз. MIN_SPEED - Минимальный CPS, ниже которого выходим по тайм-ауту. INIT_CNT - Число попыток инициализации сетевого интерфейса. Для HTTP_DEV и SMTP_DEV. MAIL_FROM - От имени кого рассылается почта. MARKER_BAD_MSG - Этим метим отосланные сообщения чтобы обнаруживать их при возврате. ADMIN_ADDR - Если не undef то ERROR_LOG дублируется на этот адрес. MIME_TEXT_TYPE - Типы данных не подлежащих кодированию в base64. Через запятую. LOG_FORMAT - Описание формата для файла статистики. Строка с синтаксисом printf. Может включать следующие шаблоны: NUM_REQ - номер обрабатываемого запроса START_TIME - время начала выполнения HTTP запроса FINISH_TIME - время завершения выполнения HTTP запроса WORK_TIME - время обработки запроса в секундах USER_MAIL - адрес отправителя запроса REQ_LEN - длина запроса к HTTP серверу REQ_FLAGS - флаги запроса REQ_FLAGS_HEX - флаги запроса в hex REQ_PROTO - номер http протокола REQ_METHOD - метод запроса REQ_SERVER - сервер к которому запрос REQ_PORT - порт сервера REQ_PATH - запрашиваемый документ ANS_LEN - длина ответа HTTP сервера ANS_PACK_LEN - длина запакованного ответа HTTP сервера ANS_CPS - цпс ANS_CODE - статус ответа сервера ANS_DATA_TYPE - тип данных ответа сервера Описание ALLOW и DENY может быть в несколько строк: DENY : HEAD.* DENY : .*HTTP/1.1 .... Формат строки для проверки в ALLOW и DENY: МЕТОД СЕРВЕР:ПОРТ/ПУТЬ ХТТП_ПРОТОКОЛ Строка LOG_FOMAT может иметь вид: %-5d~NUM_REQ~ %-5d~WORK_TIME~ %-25s~USER_MAIL[0,25]~ допускается использовать [\d,\d] для вырезания строки опр длины - Секция PUBLIC MAX_ATTEMPTS - Число попыток обработки WEB запроса, или отправки исходящей почты. USR_MAX_REQUEST - Максимальное число запросов обрабатываемых за раз для каждого пользователя. MIN_SIZE_4_GZIP - Размер начиная с которого данные пакуются gzip'ом. MAX_LEN_MSG - Максимально доступная длина принимаемых данных для пользователя на каждый HTTP запрос. GR_F_S - Максимальная длина файла при включенном флаге 0x80 AND_FLAGS - Разрешенные флаги. OR_FLAGS - Принудительно устанавливаемые флаги. (Т.е. напр 0x8000 - все запросы через проксю) DENY - Запрещенные документы ALLOW - Разрешенные документы Для всех переменных из секции PUBLIC можно создать свою секцию с описанием конкретного пользователя. Например: ALLOW gosha@alisa.prv.nnov.ru : .*\.html HTTP/1\.0 т.е. пользователю gosha@alisa.prv.nnov.ru разрешено качать только .html файлы по протоколу HTTP/1\.0 В секции USERS описываются пользователи (их адреса) и их пароли: пароли закриптованы crypt'ом. gosha@alisa.prv.nnov.ru : xxxxxxxxxF0bo ..... Формат в секции MAIL_LIST: gosha@alisa.prv.nnov.ru : user1 , user2 , user3 , ... т.е. ответ на _ВЫПОЛНЕННЫЙ_ запрос пришедший от gosha@alisa.prv.nnov.ru отправляется user1,user2... LANGUAGE OF REQUEST * +++PSWD - Пароль для доступа * +++SUBJ - Заголовок с которым будет отправлен ответ * +++PREF - Строка(и) которая вставляется во все запросы в текущем письме, или до отмены +++PREF. * +++FLAG - Флаги запроса ( формат или 0xffff или 65536 ) 0x0001 - [00001] - Отправлять все ответы в base64. 0x0002 - [00002] - Добавляет 2 строки к ответу сервера. ( только к текстам ) REQUEST - строку URL SUBJECT - строку SUBJ 0x0004 - [00004] - Включить эхо запроса в ответ. 0x0008 - [00008] - Включить заголовок ответа сервера в ответ. 0x0010 - [00016] - Включить в ответ статистику. 0x0020 - [00032] - Выполнить HTTP запрос но не отправлять ответ. 0x0040 - [00064] - Отправить ответ не запакованным gzip'ом 0x0080 - [00128] - Отправить все ответы пользователю в одном письме. 0x0100 - [00256] - Отправить ответ только если сервер вернул код 200. 0x0200 - [00512] - Отправить ответ если сервер вернул код не 200. 0x0400 - [01024] - Группировать ответы по SUBJ. 0x0800 - [02048] - Группировать ответы по серверам к которым производился запрос. 0x1000 - [04096] - Группировать ответы по Message-Id письма в котором были запросы. 0x2000 - [08192] - Отправить ответ даже если был таймаут чтения данных. 0x4000 - [16384] - Игнорировать длину максимально возможного почтового сообщения GR_F_S. 0x8000 - [32768] - Идти через проксю. Значение +++FLAG и +++SUBJ можно сбросить указав их без параметров. Первой (пробельные не щитаются) строкой письма-запроса должна быть строка +++PSWD с паролем. Флагов может быть задано сразу несколько простым сложением их. В +++PREF все должно быть записано одной строкой, \n и \r заменяется на 0x0A и 0x0D соответственно. Началом запроса считаются : GET POST HEAD PUT DELETE LINK UNLINK OPTIONS TRACE в начале строки. '\' в начале строки удаляется, если хотите его пользовать то пишите '\\', это сделано для возможности комментирования например ^\GET будет ^GET EXAPMLE Запрос может выглядеть примерно так: +++PSWD xxxxxx +++FLAG 0x0fff +++SUBJ Картинки +++PREF User-Agent: llll\n GET alisa.prv.nnov.ru/KPMI/Images/asm.jpg HTTP/1.0 Host: alisa.prv.nnov.ru GET alisa.prv.nnov.ru/KPMI/Images/asm.jpg HTTP/1.0 Host: alisa.prv.nnov.ru +++SUBJ Два заголовка +++FLAG 0x0480 HEAD alisa.prv.nnov.ru Host: alisa.prv.nnov.ru или то же самое можно в UU загнать... REVISION $Id: Read_me.txt,v 1.1 2001/06/24 22:28:01 gosha Exp $