| OS2.Ru > Articles > Software > Fido > Itrax > Itrax Tracker.phtml.ru |
- Что это такое?
Это трекер нетмайла (и чуть-чуть эхомайла) написанный на Object Rexx с
использованием itrax.dll (c) Igor Shvyrkov Fidonet: 2:5020/410.
- Что ему нужно?
itrax.dll версии не ниже 1.47.
Установленный Object REXX for OS/2.
Библиотека rexxutil от 18.05.99 или позже.
Коллекция классов и процедур от Gleb Belyakov
- Что он умеет?
Хаброутинг.
Обработка транзитных аттачей.
Read-Only процессор для эхомайла.
Выдирание UUE из эхоконференций.
Обработка аутбаунда по правилам T-Mail'а (письмо лежит в директории с транзитным мылом до тех пор, пока не будет реально отправлено).
Майл-боксы в стиле T-Mail.
- Ограничения.
Роутинг пока только статический. Динамический роутинг планируется.
В майлбоксах пока не поддеррживается переадресация.
Если письмо изменить в транзитной области, то пока оно будет не перепаковано, а допаковано. Т. е. адресат получит оба варианта.
- Состав.
| unpack.cmd | распаковщик, r/o процессор, uu-выдиралка. |
| track.cmd | собственно трекер. |
| pack.cmd | паковщик в BinkOutbound |
| processout.cmd | оутбаунд процессор. |
| tracker.ini | конфигурационный файл. |
| templates\*.tpl | шаблоны для создаваемых писем. |
| Library\* | модули используемые программой. |
Как это работает?
- Вот нам свалилась почта (NetMail и/или EchoMail).
- запускается unpack.cmd
Распаковывает эхобандлы.
Сканирует *.pkt, при этом двигает найденный NetMail в директорию для транзитного нетмайла, копирует все найденные UUE в указанный каталог, баунсит письма в эхи идущие от r/o линков.
Если найден EchoMail, то запускает прогу, описанную в директиве EchoToss.
Если найден NetMail -- выставляет соответствующий флаг (track.trk).
- Запускается track.cmd (по флагу).
Сканирует майлбоксы и переносит новые письма в каталог для транзитного нетмайла.
Сканирует директорию с транзитным NetMail'ом.
Раскладывает письма на нашу систему по майлбоксам. При этом запускает соответствующие проги, если они указаны.
Переносит найденные транзитные аттачи в указанный каталог.
Баунсит письма:
На неизвестные адреса (для которых неизвестен роутинг).
На наш адрес, но на неизвестные имена (если письмо не двинуто ни в один MailBox)
Запросы к роботам которые идут транзитом.
Если в результате получилось что-то, что нужно упаковать, то выставляет соответствующий флаг (pack.trk).
- Запускается pack.cmd (по флагу).
- Упаковывает все что нужно в Bink Outbound.
- При этом ловит дупы в самом Bink Outbound.
- Вот мы сами чего-то написали.
- Выполняются все пункты 1-3. По флагам.
- Нам позвонили и что-то забрали.
Запускается (мейлером или еще кем...) processout.cmd. Он принимает в качестве параметра файл со списком того, что было отправлено за эту сессию. В этом файле должны быть перечислены все ушедшие файлы (особенно *.?ut из Bink), по подному в строке. Что там было нетмайлом processout разберется сам. При этом он:
- Что нельзя делать, чтобы все было нормально.
В процессе работы паковщика создается файл msgbase.db. Если с этим файлом что-то случится, то письма, лежащие в директории с транзитным мылом, будут лежать там до тех пор, пока сисоп не прибъет их руками. Короче, убивалка про них забудет.
Не стоит убивать каталоги, которые указаны где-либо в tracker.ini. Если каталога не станет, то трекер будет вылетать с руганью, вне зависимости от того, нужен ему в данный момент этот каталог или нет. В дальнейшем планируется создавать отсутствующие каталоги.
Не стоит совмещать директорию BadArea трекера и подобную директорию эхопроцессора, если эхопроцессор сканирует ее на предмет вынимания мессаг оттуда. Иначе они с трекером начнут играть в пинг-понг.
- Установка.
Распакуйте архив в выбранный вами каталог.
Если вы положите файлы из library\ и/или itrax\library\ в другое место, то вам придется исправлять все
директивы ::requires найденные, внутри файлов.
Настройте файл tracker.ini и подключите трекер к мейлеру (см. п. 9).
Напишите на 2:5030/687.0 или сюда, что вы используете мой трекер.
Все замечания и пожелания пишите на 2:5030/687.0@FidoNet
- Подключение к мейлеру. (Применительно к T-Mail'у)
Нужно запретить мейлеру распаковывать почту, для чего в t-mail.ctl нужно исправить 'Unpack Yes' на 'Unpack No'.
Директории Mail_In и Mail_Out нужно прописать куда-нибудь в левый каталог, т. к. T-Mail'у нельзя объяснить что почту трогать вообще не надо.
Т. к. трекер надо запускать и по приходу NetMail, и по приходу EchoMail,
прописывать его прямо в Process не рекомендую. Лучше создавать там флаг
и запускать трекер по флагу. Вот так:
Process *.pkt Create \sem32\incoming.mail
Process ARCMail Create \sem32\incoming.mail
Process_Flag %\sem32\incoming.mail start /b /c /fs unpack.cmd
Если у вас мейлер не запускает отдельные сесии на тоссинг почты и примем
нетмайла, то можно обойтись без этого и запускать unpack прямо в
Process.
Кроме того, рекомендую пришедший NetMail сразу убирать из инбаунда, чтобы до
него не добрался тоссер. Это делается так:
Process Imm *.pkt move *F \fido\inbound\pkt.in
При этом трекеру прописать еще один Инбаунд.
Прописать реакцию на флаги track.trk и pack.trk:
Process_Flag track.trk start /b /c /fs track.cmd
Process_Flag pack.trk start /b /c /fs pack.cmd
Прописать запуск processout.cmd после каждой сессии, и в качестве
параметра передавать ему полное имя файла Outbound.tmp. Делается это так:
Process processout.cmd <packets>\t-$$-*T\outbound.tmp
Настроить редактор почты таким образом, чтобы при написании почты в
майлбокс автоматически запускался track.cmd.
- Настройка.
См. коментарии в tracker.ini. Но вот несколько правил:
Старайтесь соблюдать правильный синтаксис -- он пока проверяется
очень слабо и возможны странные последствия.
Все каталоги, которые описаны где-либо в tracker.ini, нужно создать.
Сам он этого пока делать не будет.
Если вам не нужна какая-то фича, то пока не очень рекомендуется
выключать ее коментированием слова из конфига. При этом можно получить
вылеты в самых неожиданных местах. Вместо этого я рекомендую прописать
туда что-то синтаксически верное но заведомо невыполнимое. Например для
EchoRO можно указать несуществующую эху, для MailBox несуществующее имя
и так далее... Это будет исправлено в ближайших версиях.
Гарантии: ну конечно, никаких. Если вы мне скажете что трекер форматнул вам винт, то я
очень удивлюсь, но помочь ничем не смогу.
- Копирование.
Вы можете копировать, дублировать и тиражировать этот трекер сколько вашей душе угодно, при выполнении следующих условий:
Эта документация остается неизменной и неизменно сопровождает комплект, либо любую его часть.
Если вы изменяете что-то в трекере, то вы пишете свою, отдельную документацию.
Если вы добавляете собственные возможности в трекер, присылайте соответствующие фрагменты сюда или на 2:5030/687.0 -- они будут включены в одну из следующих версий трекера с указанием на ваше (со)авторство.
Скачать
itrax_tracker.zip
Обсудить материал (число отзывов:4)
|
Вокруг OS/2 |
Программы и технологии |
Аппаратура |
Разработчикам |
Мастерская
|
|
|