igorgoroun/ftns 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

igorgoroun/ftns

Composer 安装命令:

composer create-project igorgoroun/ftns

包简介

Server-side package for FTNW point system

README 文档

README

Серверная часть фидоноды ftns/ftnw, её задачи и функции таковы:

  • Прием сообщений от ifmail/ifnews и помещение их в спулы.
  • Тоссинг rfc-0822/rfc-1036 спуленых сообщений и раскидывание их классическим поинтам и в базу для ббс-поинтов.
  • Сканирование эхо- и нетмыла в базе и помещение в спулы тоссера.
  • Роутинг мыла (пока заплатка, в разработке).
  • Подписка (отписка) на эхи у аплинков.
  • Areafix - общий для классических и ббс-поинтов.
  • Синхронизация поинтов между базой ftnw и конфигом ftns.
  • Синхронизация эх узла между конфигом ftns и базой ftnw.
  • Синхронизация подписок поинтов между конфигом ftns и базой ftnw.

Замена ifmail на встроенный тоссер FTS-0001 пакетов планируется, но позже.

Установка

Вся установка делается с помощью composer, сначала создаем директорию там, где на нужно:

mkdir ftns && cd ftns

Загружаем файлы:

composer require igorgoroun/ftns

Выполняем пост-инсталляционный скрипт:

cd vendor/igorgoroun/ftns/ && composer run-script post-install-cmd

Настройка

Теперь возвращаемся в корень, туда скопировалась директория etc/, основной файл ftns и маленький bash-скрипт ftns-toss.

etc/ftns.yml

Главный конфиг-файл, правим согласно нашим потребностям.

ftns-toss

Shell-скрипт проверяющий наличие сообщений в спуле нетмейла и эхомейла и запускающий соответсвующий тоссер. Путь к спул-директории нетмыла:

NM_DIR="/var/spool/ftn/netmailspool/"

Путь к спул-директории эхомыла:

EM_DIR="/var/spool/ftn/echospool/"

Полный абсолютный путь с файлу ftns:

FTNS_PATH=“/opt/ftns/ftns"

Команды ftns

./ftns list - список доступных команд. Для каждой команды можно получить подсказку, например:

./ftns help echomail:post

Echomail

./ftns echomail:spool - принимает на STDIN сообщение от ifnews и складывает в echomail_spool.

./ftns echomail:toss - тоссит сообщения в echomail_spool и раскладыает их поинтам.

./ftns echomail:scan - смотрит новые сообщения в БД и складывает их для тоссера в echomail_spool.

./ftns echomail:subscribe Point_IFAddr Area1 Area2 … - Подписывает поинта на эхи. Point_IFAddr в формате p34.f4.n466.z2.fidonet.org.

./ftns echomail:newarea Uplink_IFAddr Area1 Area2 … - Подписаться у аплинка на эху и внести её в конфиг. Uplink_IFAddr в формате f55.n466.z2.fidonet.org.

./ftns echomail:post -s “Subject” -m “Message” -t “Tearline” -o “Origin” ECHOAREA - Отправить сообщение в эху

Netmail

./ftns netmail:spool -f From_RFC -t To_RFC - принимает от ifmail на STDIN сообщения и складывает их в netmail_spool

./ftns netmail:toss - тоссит сообщения в netmail_spool и раскладыает их поинтам.

./ftns netmail:scan - смотрит новые нетмейл-сообщения в БД и складывает их для тоссера в netmail_spool.

Sync

./ftns sync:points - Синхронизирует поинтов в ftns с конфиг-файлом ftns.

./ftns sync:subscr - Синхронизирует подписки поинтов между ftns и ftnw.

./ftns sync:areas - Синхронизирует список доступных эх между ftns и ftnw.

Настройки ifmail

Покажу только нюансы связанные с ftns.

Areas

У меня только одна запись в файле, этого достаточно:

* * world

config

Важные две настройки - отвязка от классической связки ifmail+sendmail+innd:

sendmail /var/www/fidonews-server/ftns netmail:spool --from=$F --to=$T
rnews /var/www/fidonews-server/ftns echomail:spool

Остальные настройки - на ваше усмотрение, там фактически ничего больше нет важного, кроме данных сисопа.

Настройки binkd

Ftns генерирует файл points.inc с паролями поинтов в директории конфигов binkd, у меня это /etc/binkd, так что этот файл должен быть создан и доступен для записи. В конфиг binkd должна быть добавлена команда для подключения файла:

include /etc/binkd/points.inc

crontab

Как и что запускать - дело ваше, у меня все скрипты работают по крону, примерно вот так:

*/1 * * * * ftn /usr/lib/ifmail/ifpack 2>&1
*/1 * * * * ftn /usr/lib/ifmail/ifunpack 2>&1
*/1 * * * * ftn /usr/bin/php /var/www/fidonews-server/ftns netmail:scan 2>&1
*/3 * * * * ftn /usr/bin/php /var/www/fidonews-server/ftns echomail:scan 2>&1
*/2 * * * * ftn /var/www/fidonews-server/ftns-toss 2>&1
*/10 * * * * ftn /usr/bin/php /var/www/fidonews-server/ftns sync:subscr 2>&1
*/10 * * * * ftn /usr/bin/php /var/www/fidonews-server/ftns sync:points 2>&1
0 0 * * * ftn /usr/bin/php /var/www/fidonews-server/ftns echomail:post r46.alive -m "Ping" -s "Alive" 2>&1

统计信息

  • 总下载量: 24
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0
  • 更新时间: 2016-09-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固