forked from leenooks/qico
-
Couldn't load subscription status.
- Fork 1
qico, an ftn compatible mailer
License
Couldn't load subscription status.
uncleeugene/qico
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Qico is an ftn compatible mailer that can run on older style modem ground lines as well as
over IP using more modern (to be more precise - less fossil) binkp and ifcico protocols.
This is version 0.59.1 forked from leenooks/qico with some number of small bugfixes.
Features
~~~~~~~~
* EMSI Protocols: ZModem, ZedZap, Hydra (Std, 4k, 8k, 16k), Janus; Binkp.
* Support 4D Binkley-Style, Amiga-style outbound, FileBoxes, LongNameBoxes.
* "Muzzle" - a program that allows you to control the operation of mailer (ncurses based).
* Daemon mode for outgoing calls and muzzle.
* Asynchronous queue manager and sessions (both incoming and outgoing).
* Built-in fast nodelist compiler.
* Built-in utility for managing outbound.
* Substitutions (substs) including ip addresses and hidden-lines setup.
* Dynamic configuration - the ability to change most of the configuration parameters
on the fly depending on numerous conditions.
* Ability to limit the time for the session.
* Supports WaZOO-and SRIF-compatible freq processors.
* Supports all kinds of local file and path names transformations
* Ability to limit the minimum speed of a connection.
* Ability to pass / retent incoming files.
* Live Chat (Hydra, Z * and Binkp).
* Perl-hooks.
Building & Installation
~~~~~~~~~~~~~~~~~~~~~~~
$ autoupdate
$ ./autogen.sh
$ ./configure --help
$ ./configure [options desired]
$ make
$ sudo make install
Edit qico.conf, qico.passwd, qico.substs to fit your needs.
Default configuration files location is /usr/local/etc,
you may feed your own config file using -I option.
Using
~~~~~
* For outgoing sessions it is enough to run qico -d, you may set your own
systemd service like so:
File: /etc/systemd/system/qico.service:
[Unit]
Description=Qico Mailer
[Service]
User=<username>
Group=<group name>
ExecStart=/usr/local/sbin/qico -I <path to qico.conf>/qico.conf -d
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
... and generate polls on cron using qctl tool.
* For incoming modem calls(if mgetty) you'll need to set up mgetty like so:
File: login.config:
/ FIDO / $USER $USER $BINDIR/qico -I <path to qico.conf>/qico.conf -a @
where $ USER and $ BINDIR are values of those variables of CONFIG.
mgetty has to be built with -DFIDO option (take a look into mgetty documentation).
* Qico doesn't handle incoming IP sessions on itself, but you can register it in inetd
or xinetd to accept incoming tcp/ip ifcico and (or) binkp connections.
Following is the example of xinetd setup:
File: /etc/services:
...
binkp 24554/tcp
ifcico 60179/tcp
...
File: /etc/xinetd.d/binkp
service binkp
{
flags = REUSE
socket_type = stream
wait = no
user = <username>
server = /usr/local/sbin/qico
server_args = -I <path to qico.conf>/qico.conf -a binkp
log_on_failure += USERID
disable = no
}
service ifcico
{
flags = REUSE
socket_type = stream
wait = no
user = <username>
server = /usr/local/sbin/qico
server_args = -I <path to qico.conf>/qico.conf -a auto
log_on_failure += USERID
disable = no
}
Don't forget to start xinetd service.
* Qcc.
Qcc stangs for Qico Control Center. It's the tool you can use to control your
running qico daemon, reread configs, create polls, manage the queue and so on.
All hotkeys are case sensitive, brief summary can be accessed by pressing F1.
For flag switches uppercase hotkey will set the flag and the lowercase will
clear the corresponding flag.
Address field will accept shortened addresses.
Input line editor remembers the last 50 lines. Scroll over the history using arrow keys.
Notes
~~~~~
# Qico only Supports 4D BSO.
#. REQ is the reason for the call. REQ +. FLO for ifcico.
# qctl -f or f in qcc information will only mention nodelist, ignoring substs!
# If you have absolutely no sheets and they are not needed, you still have
register at least one (though non-existent) and create an empty sheet
index by running 'qico-n'.
# If you want to reread configuration files, don't go "killall-HUP qico", because it
will interrupt all running sessions. Do qctl -R instead.
This also applies to "killall qico" / "qctl -q".
# All the information used to check session conditions first obtained from nodelist and
substs, and then from session EMSI.
# You can use ifextrp-pk (bundled) as freq processor. It is also possible to use any
SRIF-compatible freq processor that is typically more functional.
# "History" file is crated for quick and easy statistics generation (just awk should
be enough). Simple stat generator is bundled with qico. History file format
(one line - one session):
<line>, <time>, <length>, <address>, [P] [L] {I | O} {1 | 0}, <sent_bytes>, <recd_bytes>
where <line> - terminal or tcpip for tcp / ip-sessions
<time> and <length> - in seconds (unix time)
P - protected, L - listed,
I / O - inbound / outbound,
1/0 - successful / failed
Download
~~~~~~~~
git clone https://github.com/uncleeugene/qico.git
Authors
~~~~~~~
Pavel Kurnosoff, 2:5030/736.25, [email protected], icq 45906870 (up to 0.45pl3.1)
Lev Serebryakov, 2:5030/661, [email protected], icq 3670018 (up to 0.49.9)
Cyril Margorin, 2:5020/2999.18, [email protected] (official branch)
Stepan Pologov, 2:467/126.125, [email protected] (current)
Mitry Matyushkov, 2:450/1024, r45c at mail dot ru (XE Maintainer)
Robert James Clay, 1:120/544, [email protected] (after 0.57.1)
ru.qico members made some contribution to this particular fork.
About
qico, an ftn compatible mailer
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 95.2%
- M4 1.3%
- Yacc 0.7%
- CMake 0.6%
- Lex 0.5%
- Awk 0.5%
- Other 1.2%