Skip to content

sisoftrg/qico

Repository files navigation

,sS$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Ss,
$$$$'                    qico, an ftn compatible mailer                    `$$$$
$$$$.                          * version 0.55si *                          ,$$$$
`?S$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$S?'

Features
~~~~~~~~
 * Протоколы EMSI: ZModem, ZedZap, Hydra (Std, 4k, 8k, 16k), Janus; Binkp.
 * Поддержка 4D Binkley-Style, Amiga-style outbound, FileBoxes, LongNameBoxes.
 * "Морда" - программа, позволяющая управлять работой мейлера (ncurses based).
 * Режим демона для исходящих звонков и морды.
 * Асинхронная работа менеджера очереди и сессий(как входящих, так и исходящих).
 * Встроенный быстрый компилятор нодлистов c маленькими индексами.
 * Встроенная утилита для работы с аутбаундом, более удобная, т.к. следит за
   состоянием bsy и csy файлов.
 * Подстановки (substs) с поддержкой ip и hidden-линий.
 * Проверка файл-флагов запрета исходящих звонков на портах.
 * Встроенная "гляделка" нодлиста и аутбаунда.
 * Динамическая конфигурация - возможность изменять большинство параметров
   конфига во время работы в зависимости от различных условий.
 * Возможность ограничения времени на сессию.
 * Поддержка WaZOO- и SRIF-совместимых фрекпроцессоров.
 * Поддержка всевозможных преобразований локальных и посылаемых путей и имён
   файлов (поддержка досовских аутбаундов и т.д.).
 * Возможность ограничения минимальной скорости коннекта.
 * Возможность пропуска/задерживания входящих файлов.
 * Чат (на Hydra, Z* и Binkp).
 * Perl-hooks.

Building & Installation
~~~~~~~~~~~~~~~~~~~~~~~
   $ configure --help
   $ configure [нужные опции]
   $ make
   $ make install или make install-strip

   Положить конфиг в нужное место, подправить его под свои нужды.

Using
~~~~~
 * Для исходящих достаточно запускать qico -d из какого-нибудь startup-скрипта,
   а poll'ы генерить по cron'у.
 * Для входящих (в случае mgetty) необходимо вписать следующую строчку в
   login.config (mgetty должен быть собран с -DFIDO):
       /FIDO/  $USER $USER $BINDIR/qico -a @
   где $USER и $BINDIR значения соответствующих переменных из CONFIG.
 * Можно ещё прописать в inetd.conf для ответа по tcp/ip ifcico и(или) binkp.
 * qcc. Все кнопки регистрозависимы, краткую справку можно получить, нажав F1.
   Там всё очень кратко/малопонятно, поэтому постараюсь объяснить тут.
   Если в хелпе написана одна кнопка, то надо жать именно её. В командах
   смены статуса кнопка в нижнем регистре сбрасывает соответствующий флаг,
   а кнопка в верхнем регистре (с шифтом) - устанавливает. В командах, где
   указано по две кнопки (т.е. одна, но в разных регистрах), при нажатии кнопки
   в нижнем регистре спрашивается адрес, для которого нужно выполнить действие,
   а при нажатии кнопки в верхнем регистре (с шифтом), в качестве адреса
   используется текущий адрес (тот, что под курсором).
   В поле адреса допускается краткая форма записи. Например, если ваш адрес
   2:5050/125, то при вводе '33' получим адрес 2:5050/33, а при вводе '.12'
   получим 2:5050/125.12. Поэкспериментируйте сами, разберётесь. ;)
   Так-же редактор строки ввода запоминает 50 последних набранных строк,
   прокручивание осуществляется клавишами `вверх' и `вниз', `pgdn` - очистка.
   В окнах с коннектами можно листать последние 256 строчек лога клавишами
   up\down\pgup\pgdn\home\end\ins\del. Последние две прокручивают по 2 строки.
   В главном окне лог не листается. В чатовом окне, надеюсь, всё и так понятно.

Notes
~~~~~
 # Поддерживается _только_ 4D BSO, т.к. 5D имхо и нафиг не нужен - только
   глюки плодить. При ftn-style софте потери совсем незаметно, а для гейта,
   если хочется f56.n34.z12.othernet.org, а не f56.n34.z12.fidonet.org, то
   можно юзать domtrans. И потом, не забывайте про сим- и хардлинки ;)

 # .REQ является поводом для звонка и аналогичен паре .REQ+.FLO для ifcico.

 # Структура .QST:
   <N попытки> <флаги> <время окончания холда> <время окончания undial>
  SP: В случае использования режима ND протокола Binkp, после этих параметров
   могут быть ещё несколько. они должны просто игнорироваться.

 # Все временные промежутки могут быть указаны как в формате d.hh:mm-d.hh:mm
   (дни и/или минуты могут быть опущены), тогда они воспринимаются как
   локальное время, так и в формате Txy, тогда они считаются относительно UTC.
   Вместо 00:00-23:59 можно просто написать CM, вместо 0:00-0:00 - Never
   Можно написать несколько промежутков через запятую.
   В условиях также можно использовать промежутки в формате ifcico (иногда
   это удобнее).

 # Чтобы описать хиддены, просто пропишите несколько subst'ов для одного адреса.
   Нодлистовая линия в этом случае игнорируется, так что её надо тоже прописать
   как subst.

 # Команда qctl -f или f в qcc выдают информацию _только_ из нодлиста, без
   учёта subst'ов!

 # Если у вас совсем нет никаких листов и они и не нужны, все равно придётся
   прописать хотя бы один (хоть и несуществующий) лист и создать пустой
   индекс, запустив 'qico -n'.

 # Если нужно перечитать конфиги, не делайте "killall -HUP qico", т.к. это
   загасит все открытые сессии ;) Правильнее делать qctl -R.
   Это также относится и к "killall qico"/"qctl -q".
  SP: открытые сессии не гасятся, но управление ими стаёт невозможным.
   а вообще, можно просто нажать `R' в qcc, конфиги нормально перечитаются.

 # Вся информация, которая используется для проверки условий в конфиге
   до emsi берётся из нодлиста и subst'ов, а после - из полученного emsi.

 # В качестве фрекпроцессора можно взять мой же ifextrp-pk (лежит там же,
   где и qico) или оригинальный ifextrp by Serge Oskin.
  SP: а теперь появилась возможность использовать SRIF-совместимые
   фрекпроцессоры, которые обычно более функциональны.

 # "History" сделана для быстрой и лёгкой генерации статистики (должно хватать
   одного awk). Формат следующий (одна строка - одна сессия):
   <line>,<time>,<length>,<address>,[P][L]{I|O}{1|0},<sent_bytes>,<recd_bytes>
   где <line> - терминал или tcpip для tcp/ip-сессий
       <time> и <length> - в секундах (unix time)
       P - protected, L - listed,
       I/O - inbound/outbound,
       1/0 - successful/failed

 # FileBox'ы сделаны по аналогии с ifcico - файлы из них отдаются в самом конце,
   poll'а не вызывают, после успешной передачи удаляются. Обрабатываются
   только обычные файлы и симлинки. LongNameBox'ы - тоже самое, только
   просматривается каталог с именем вида '$longboxpath/zone.net.node.point'.
  SP: теперь кика понимает флаворы боксов, т.е. zone.net.node.point.flavor.
   флаворы d,f,n,i,c вызывают полл, h - не вызывает. если флавор не указан,
   то его значение берётся из слова `defboxflv'.

 # Прочитайте внимательно верхушку конфига насчёт условий! Эта штука позволяет
   разделить логи/инбаунды/аутбаунды/прятать или добавлять разные aka
   для разных линий и/или в зависимости от времени, удалённого адреса, телефона
   CID'а и т.д. Короче, на каждую комбинацию условий у вас фактически будет
   отдельный конфиг.

 # Догадываюсь, что описание опции mapout в конфиге более чем туманно, так что
   попробую объяснить по-русски ;) Итак, преобразования имён делятся на два
   типа - преобразование локальных имён, которые будут открываться для
   пересылки и имён, под которыми файлы получит удалённая сторона.
   Преобразования, заданные большими буквами + mappath влияют только на
   локальное имя, их надо подогнать так, чтобы файлы прописанные в лошках
   мейлер мог открыть, а остальные преобразования можно уже настроить так, как
   вам хочется, чтобы ремота получала файлы.

Download
~~~~~~~~
current:
 web: http://www.sf.net/projects/qico -> files -> qico-0.55si.tar.bz2
 cvs: cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/qico login
      cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/qico co qicosi

stable:
 web: http://www.sf.net/projects/qico -> files -> qico-0.54si.tar.bz2
 cvs: cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/qico login
      cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/qico co -r stbl54 qicosi

Authors
~~~~~~~
Pavel Kurnosoff, 2:5030/736.25, pqr@yasp.com, icq 45906870 (up to 0.45pl3.1)
Lev Serebryakov, 2:5030/661, lev@serebryakov.spb.ru, icq 3670018 (up to 0.49.9)
Cyril Margorin, 2:5020/2999.18, cyrilm@tower.pp.ru (official branch)
Stepan Pologov, 2:467/126.125, sisoft@bk.ru (current)

/* $Id: README,v 1.23 2004/06/19 22:31:57 sisoft Exp $ */

About

qico - FTN-compatible mailer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published