HOWTO : fidonet software for unix
[
index ]
Часть четвертая, программы
utilities
Здесь собраны описания
настройки различных утилит,
которые могут вам пригодиться.
- генераторы статистики
- утлиты к ifmail'у
- утилиты к inn'у
генераторы
статистики для ifmail'а
Я использую два скрипта :
statout.pl - показывает
данные о файлах, лежащих в outbound'е
на линков. Автор George Brink,
2:5004/28@fidonet, white.owl@usa.net и
ifcicost.pl - обрабатывает
логи ifmail'а и генерирует
различные виды статистики. Автор
Stanislav Safronov, 2:5020/630@fidonet,
модификация Maxim Timofeyev, 2:5030/763.
FReq-процессоры
Существует несколько
разновидностей freq-процессоров :
- efreqp, , Andy Pershin,
apa@penza.com.ru, 2:5059/9.15@fidonet;
- ifextfreq, Maxim Timofeyev,
tma@tma.spb.ru, 2:5030/763@fidonet.org, URL : http://tma.spb.ru/;
- ifextrp-pk, Pavel Kurnosoff,
aaz@ruxy.org.ru, 2:5030/1061@fidonet, URL : http://www.ruxy.org.ru/~aaz/
Я опишу установку 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";
Программы перекодировки. В
ifextrp-pk ни koi82alt ни alt2koi8 почему-то
не входят :( Пришлось их взять из
пакета filefix-1.8.3.
Если вы используете его как
файлэхопроцессор, то эти
программы у вас уже есть
(/usr/local/fidonet/bin/filefix/alt2koi8 и koi82alt).
$Koi2Alt =
"/usr/local/fidonet/bin/freq/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
Путь к базе данных должен
совпадать с $DbmPath в ifexrp
$Index="/var/spool/uucppublic";
$IndexOwner="fido.uucp";
$Areas="/usr/local/fidonet/etc/freq/dirs.frq";
$Aliases="/usr/local/fidonet/etc/freq/aliases.frq";
Не забудьте создать этот
файл header
$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), 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/, например
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
(проверьте владельца/права на
конфиги, каталоги). Подробнее это
описано в Части 5 -
совместная
работа.
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-2000
Last updated : 14 apr 2000