,sS$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Ss, $$$$' qico, an ftn compatible mailer `$$$$ $$$$. * version 0.57.1xe * ,$$$$ `?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 ~~~~~~~~~~~~~~~~~~~~~~~ Optional: $ mkdir ../obj_qicoxe $ cd ../obj_qicoxe $ [path_to/]configure --help $ [path_to/]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: <флаги> <время окончания холда> <время окончания 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). Формат следующий (одна строка - одна сессия): ,