HOWTO : fidonet software for unix

[ index ] [ areafix ] [ binkd ] [ filefix ] [ ifmail ] [ inn ] [ mgetty ] [ sendmail ] [ together ] [ stat ] [ utilities ] [ download ]

utilities

Здесь собраны описания настройки различных утилит, которые могут вам пригодиться.

FReq-процессоры

Существует несколько разновидностей freq-процессоров : Я опишу установку freq-процессора ifextrp-pk (автор Pavel Kurnosoff). Итак, забираем с http://www.ruxy.org.ru/~aaz/ архив (на настоящий момент - ifextrp-pk6.tar.gz), раскручиваем его, читаем README.rus, README.pk и начинаем установку.
Копируем скрипты expdesc, ifextrp, makeflist, mkfbindex, mp3list в /usr/local/fidonet/bin/freq/, а конфиги aliases.frq, deny, dirs.frq, fuck.off из каталога example в /usr/local/fidonet/etc/freq/. Меняем для всех них владельца на fido:fido.
Убедитесь что ifmail был скомпилирован с опцией -DEXT_FREQ и подкорректируйте в конфиге ifmail'а строчку ext_rp /usr/local/fidonet/bin/freq/ifextrp. Переходим в /usr/local/fidonet/bin/freq и правим скрипты :
В ifexrp корректируем строчки :
$LogFile = "/usr/local/fidonet/log/freq.log";
$DbmPath = "/var/spool/uucppublic";

Это файл лога и путь к базе данных.
$Koi2Alt = "/usr/local/fidonet/bin/freq/koi82alt";
Программа перекодировки. В ifextrp-pk ни koi82alt почему-то не входит :( Пришлось их взять из пакета filefix-1.8.3. Если вы используете его как файлэхопроцессор, то эта программа у вас уже есть (/usr/local/fidonet/bin/filefix/koi82alt).
$Policy = "/usr/local/fidonet/etc/freq/policy";
$BlackLog = "/usr/local/fidonet/etc/freq/deny";
$FuckOff = "/usr/local/fidonet/etc/freq/fuck.off";
$MinSpeed = 28800;
Подредактируйте секцию Limits по вашему вкусу, например :
%Limits=(a,'0 2048 4096 8192 16384',
         l,'0 3096 4096 16384 32768',
         p,'100 2048 40960 0 0');

Т.е. freq'и запрещены всем, кроме парольных линков. Описание флагов (a,l,p) - см. README.rus.

В mkfbindex корректируем строчки :
#!/usr/bin/perl -U
Путь к perl'у
$Index="/var/spool/uucppublic";
Путь к базе данных. Должен совпадать с $DbmPath в ifexrp
$IndexOwner="fido.uucp";
$Areas="/usr/local/fidonet/etc/freq/dirs.frq";
$Aliases="/usr/local/fidonet/etc/freq/aliases.frq";
$HeadList="/usr/local/fidonet/etc/freq/header";

Не забудьте отредактировать эти файлы
$alt2koi="/usr/local/fidonet/bin/freq/alt2koi8";
В makeflist корректируем строчки :
IndexMaker=/usr/local/fidonet/bin/freq/mkfbindex
TmpList=/usr/local/fidonet/tmp/filelist.txt
MyList=/var/spool/uucppublic/my_files.txt
PackList=/var/spool/uucppublic/my_files.rar
Log=/usr/local/fidonet/log/mkflist.log
rm -f /var/spool/uucppublic/files.*

Далее исправьте пути к koi82alt, todos (todos берется из пакета d1489, который находится в портах, секция russian/d1489), rar, file_id.diz (для вашего файллиста), владельца (fido:uucp).

Переходим в /usr/local/fidonet/etc/freq, правим файлы.
aliases.frq :
PNT5058 /var/spool/uucppublic/XORNTECH/pnt5058.zip
FILES /var/spool/uucppublic/my_filellist.zip
MYSCRIPT /usr/src/myproject/myscript.latest.tgz


deny :
2:5058/900.*

dirs.frq :
/var/spool/uucppublic/FIDONEWS
/var/spool/uucppublic/FREEPASCAL
/var/spool/uucppublic/MFE.PASCAL
/var/spool/uucppublic/NODEDIFF
/var/spool/uucppublic/R50ROUTE
[...]

Т.к. я в качестве файлэхопроцессора использую gtic, то в этих директориях есть подкаталоги .desc, где находятся описания к файлам. В каждом из этих каталогов .desc создайте файлики .desc, в которых пометите описание файлэхи, например, в файле /var/spool/uucppublic/AVP/.desc/.desc :
A AVP antiviral toolkit pro
В файле /var/spool/uucppublic/XORNTECH/.desc/.desc :
P Orenburg technical fileecho
Описание флагов (a,l,p) - см. README.rus.

header :
This is MyCoolStation. Welcome !

policy :
Thank you for your FReq !
Our policy :
FReq's are allowed to password-protected links only !
File size < 2Mb, 40Mb/day.


Теперь можно сделать первый запуск mkfbindex - построим базу данных : su fido -c "/usr/local/fidonet/bin/freq/mkfbindex > list"
Должно все обработаться. Периодически запускайте mkfbindex (или по cron'у или после обработки пришедших файлэх).

PKT-viewer

Я использую программу catpkt, автор - White Mouse, white@extra.dp.ua, 2:464/144.286@fidonet
Берем catpkt-1.0.tar.gz с ftp://oskin.macomnet.ru/pub/linux/fido, раскручиваем, запускаем make. Если программа скомпилируется, то копируем catpkt в /usr/local/bin. Если вы пользуетесь Midnight Commander'ом, то к нему можно прикрутить catpkt как это описано в README.mc. Главный файл mc.ext обычно находится в /usr/local/lib/mc, а пользовательский ext - в $HOME/.mc. Не забудьте только прописать полный путь к catpkt.

INN : autocreate

Существуют несколько утилиты для автосоздания новых эх :

Я использую recover.junk, настройку которого и опишу. Забираете архив с  ftp://ftp.isc.org/isc/inn/unoff-contrib/recover.junk.gz. Разворачивете его, в нем одним куском находятся recover.junk и junk.ctl. Разделяете их, кладете в один каталог. Редактируем recover.junk :
SPOOLD=/usr/local/news/spool/articles
LIBD=/usr/local/news
# Вводим переменную DBD
DBD=$LIBD/db
awk '{ print $1 }' $DBD/active |sort -u >$LOOKUP

Закоментариваем кусок кода сортировки active (у меня он дико похабил active)
# After creating the new newsgroups, sort the original active file
#cp active oactive
#sort <active >$TMPACT
#if [ -s $TMPACT ] ; then
#    cp $TMPACT active && rm $TMPACT && $CTLINND reload active \
#       recover.junk create new groups
#fi

Корректируем путь к rnews и имя хоста :
$LIBD/bin/rnews -h news.domain.my -v $file
recover.junk и junk.ctl у меня лежат в /usr/local/news. Запускать recover.junk надо из-под пользователя news. При запуске он проверяет ньюсгруппу junk (/usr/local/news/spool/articles/junk/), если там есть файлы, то он берет поле Newsgroups: из заголовка и предлагает создать группу с тем именем, куда (еслы вы согласитесь) и перенесет это письмо. Если запустить recover.junk с ключом "-y", то он их будет создавать без вашего подтверждения. Имейте в виду, что эта программа просто создает ньюсгруппы и все. Прописывать их в newsfeeds на аплинка и даунлинков - ваша забота. Впрочем, используя gup это просто ;)

INN : carboncopy

Существует несколько вариантов реализации carboncopy, два из них описано в misc/tma/cc.faq в дистрибутиве ifmail-2.14.os-p7-tma5.3. Я опишу варианта с использованием программы cc.

Автор - Maxim Timofeev, tma@tma.spb.ru, 2:5030/763@fidonet.org.
Берете последнюю версию с ftp://tma.spb.ru/pub/unix/fido/, например cc-0.4.tgz, разархивируем, читаем readme, правим config :
BINDIR = /usr/local/news/bin
CONFIG = /usr/local/news/etc/carboncopies.conf
LOG = /usr/local/news/log/cc.log
LOCK = /usr/local/news/run/cc.lock
CCTMP = /usr/local/news/tmp
NUM = /usr/local/news/tmp/.cc.status
SPOOL = /usr/local/news/spool/articles
carboncopies.h :
#define MAIL "/usr/bin/mail -s \"Carbon Copy!\""
#define PROG "/usr/local/news/bin/ctlinnd renumber"
Правим carboncopies.c, закоментарив строчку :
/*#include <sys/resource.h>*/
Запускаем make; make install.
Настраиваем /usr/local/news/etc/carboncopies.conf под себя, как это описано в комментариях и в README (если carboncopy будете откладывать в ньюсгруппу, не забудьте создать ее : ctlinnd newgroup my.cc y).
Останавливаем INN :
ctlinnd pause editing newsfeeds
Редактируем newsfeeds (если вы используете gup, то допишите эту секцию в header.global и запустите gupdate) :
cc:\
  !my.cc,\
  !uplink.local,\
  !junk,\
  !f99.local,\
  *,\
  :Tm:ccmailer

ccmailer:\
  !*\
  :W*,Tp:/usr/local/news/bin/carboncopies *
Проверяем синтаксис :
ctlinnd checkfile
Заставляем INN перечитать newsfeeds :
ctlinnd reload newsfeeds after edit
снимаем INN с паузы :
ctlinnd go editing newsfeeds

INN : suck

Если ваш провайдер предоставляет вам доступ к своему ньюс-серверу по nnrp, то можно на своем узле получать (и раздавать линкам) usenet-ньюсы, используя специальные программы, например suck.
Автор программы - Tim Smith, текущий maintainer - Robert A. Yetman, bobyetman@worldnet.att.net. URL : http://home.att.net/~bobyetman/
Забираем программу с http://home.att.net/~bobyetman/ (Или с ftp://sunsite.unc.edu/pub/Linux/system/news/transport/), например suck-4.2.2.tar.gz (версия 4.2.3 у меня не стала компилироваться), раскручиваем в /usr/src/suck-4.2.2, запускаем ./configure, затем make. Перед инсталляцией определитесь, куда вы хотите ее установить. По умолчанию она ставится в /usr/local/ (bin и man). Если вы хотите установить ее в /usr/local/news/, то в Makefile исправьте переменную prefix :
prefix=/usr/local/news
Запустите make install.
Переходим к настройке : в /usr/local/news/db создайте файл active.suck, в котором пропишите ньюс-группы, которые вы хотите получать с провайдера :
aha.mp-users
relcom.commerce.food
news.software.readers
alt.binaries.pictures.ascii
alt.binaries.pictures.cartoons
soc.religion.zarathushtra
В /usr/local/news/etc создайте файл suck.conf :
-AL /usr/local/news/db/active.suck
-dd /usr/local/news/db
-dm /usr/local/news/tmp/suck
-dt /usr/local/news/tmp
-E /usr/local/news/log/suck.err
-HF /usr/local/news/db/history
-hl news.domain.my
-S /usr/local/news/log/suck.log
-U LOGIN
-P PASSWORD
-br /usr/local/news/tmp/suck.batch
Более подробно о значении этих параметров читайте в man suck, вкратце :
-AL - путь к active-файлу suck'а;
-dm - путь к каталогу, куда будут складываться свежепринятые статьи (не забудьте создать его);
-E - лог-файл для ошибок;
-HF - history-файл inn'а;
-hl - адрес вашего ньюс-сервера;
-S - лог-файл для обычных сообщений;
-U и -P - login/password для доступа к ньюс-серверу вашего провайдера. Если у вас доступ без пароля, то эти опции не используйте;
-br - способ скрмливания inn'у скачанных статей. Из всех вариантов (-bi, -bl, -br, -bf, -bp) этот мне показался наиболее удобным. (suck.batch - это файл а не каталог, не нужно его создавать ;)
Постинг осуществляется с помощью rpost (Я пока непробовал ;)
Запускается suck у меня так : suck news.provider.my @/usr/local/news/etc/suck.conf -bp -hl localhost -c Удобнее всего поместить этот вызов в crontab-файл пользователя news (проверьте владельца/права на конфиги, каталоги). Подробнее это описано в разделе совместная работа.

This is a part of "HOWTO : fidonet software for unix", http://howto.id.ru
Original of this document is located at http://howto.id.ru/util.html
Copyright (c) Vitaly Kuharev, 2:5058/49@fidonet, 1999-2001
Last updated : March, 09, 2001