8000 GitHub - spiroharvey/stick: TIC file processor for Linux Bulletin Boards
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

spiroharvey/stick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stick v1.2

Copyright (c) 2013-2021 Spiro Harvey

EMAIL   : spiro.harvey@protonmail.com
BBS     : lostunderground.org



Stick (Spiro's Tick) is a TIC file processor for Linux Bulletin Boards. 

It is as dumb as a stick. 

---=[ How dumb is it? ]=---

Well, let's just say it's no contender for SkyNet.

Stick looks for *.tic files in your specified Inbound directory, moves the 
associated file to the relevant file directory, and that's it.

It's up to you to import the files into your BBS's file bases, most likely by
running its mass upload feature.

If Stick exits with an errorlevel of 2, then it has processed some TIC files
and you can run your importer.

eg; a simple bash script to import your files into Mystic might look like:

#!/bin/bash
stick -c /mbbs/stick.cfg
if [ $? == 2 ]; then
	/mbbs/mutil /mbbs/fileimport.ini
fi

Stick that in a cron job and Bob's your uncle.


---=[ Config File ]=---

By default, stick will look in the current directory for a file called
'stick.cfg'. This can be over-ridden on the commandline with the 
-c argument.

The config file should have at least the INBOUND directory defined, and at
least one AREANAME line. Everything else is optional.

Options:
--------

INBOUND <inbound file echo directory>
AREANAME <file echo name> <BBS destination directory>
LOGFILE <logfile>
DEBUG <on/off>
ANNOUNCE <filename>
LONGDESC <on/off>
STRICTDIZ <on/off>
QUARANTINE <directory>
NODEDIR	<directory>
NODELIST <filename> <filearea>


INBOUND     : This takes one parameter -- the incoming path that your mailer
              deposits files into.
AREANAME    : The first parameter is the network's file echo name;
              eg; Agora's BBS Mods echo is called AGN_MODS
              The second parameter is the path you want the files for that
              echo deposited into.
LOGFILE     : The full path to your log file. If this is not specified, Stick
              will default to 'stick.log' in the current directory.
DEBUG       : This turns on debugging, which puts more info in the log file,
              such as the full source and destination paths of files being
              imported.
ANNOUNCE    : A filename to announce imports. This can then be imported into
              a message board so your users know.
LONGDESC    : Turn long descriptions on or off in announcement file.
              Default = on
STRICTDIZ   : Force strict file_id.diz spec bounds for announcement file.
              This restricts LDesc line lengths to 45 characters.
QUARANTINE  : Copy all processed *.TIC files into a quarantine area for 
              later checking. 
              Quarantine directory will be created if necessary.
NODEDIR     : Specifies the directory you will merge all nodelists from.
NODELIST    : List nodelist files and the file areas they are sourced
              from. Just specify the filename without the extension and
              Stick will do the rest. It will copy this file before it's 
              moved into the file areas.

Anything that's not a path-/file-name is case insensitive.

Comments can be added by making the first character of each line a 
semi-colon (;) or a hash (#). 

Any options that take on/off, will also take yes/no, 1/0, y/n, true/false.


============================================

Things I'd like to add, but may not unless people ask nicely:

 - Checking if the destination file already exists, and comparing that to
   the TIC's Replace line.
 - Adding a PostExec line in the cfg file to run if it hits that magical
   errorlevel 2. However, this will take it one step closer to sentience.
 - Feeding the descriptions to your postprocessor.

About

TIC file processor for Linux Bulletin Boards

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0