Mystic BBS mit BinkD unter Linux: Unterschied zwischen den Versionen

Aus FidoPedia
Wechseln zu: Navigation, Suche
Zeile 93: Zeile 93:
  
 
==== Beispiel binkd.cfg ====
 
==== Beispiel binkd.cfg ====
BinkD lässt sich natürlich noch wesentlich feiner konfigurieren. Das ist fuer den Betrieb jedoch zunächst nicht nötig. Alle anderen Parameter übernehmen wir mit ihren Standardwerten aus der Beispiel-Konfiguration:
+
BinkD lässt sich natürlich noch wesentlich feiner konfigurieren. Das ist fuer den Betrieb jedoch zunächst nicht nötig. Alle anderen Parameter übernehmen wir mit ihren Standardwerten aus der [[binkd.mystic.linux.cfg|Beispiel-Konfiguration]]
<pre># Binkd sample configuration file
 
# Copyright (C) 1996-1997 Dima Maloff, 2:5047/13
 
# Copyright (C) 1998-2009 Binkd Development Team
 
# $Id: binkd.cfg,v 2.13.2.9 2011/08/17 15:44:48 stas Exp $
 
 
 
# Dump configuration (and not exit). Use for debugging only,
 
#debugcfg
 
 
 
#
 
# Your FTN domains:
 
# domain <name> <main-outbound> <default-zone>
 
# or
 
# domain <new-name> alias-for <name>
 
#
 
 
 
# FidoNet:
 
domain fidonet /opt/mystic/echomail/out/fidonet 2
 
domain fidonet.org alias-for fidonet
 
domain fidonet.net alias-for fidonet
 
domain fidonet.rus alias-for fidonet
 
domain fido alias-for fidonet
 
domain fidorus    alias-for fidonet
 
domain fido7      alias-for fidonet
 
 
 
# GerBBS:
 
domain ger-bbs /opt/mystic/echomail/out/ger-bbs 2
 
domain gerbbs alias-for ger-bbs
 
domain ger.bbs alias-for ger-bbs
 
 
 
# SurvNet:
 
domain survnet /opt/mystic/echomail/out/survnet 2
 
 
 
#
 
# Your addresses, 4D or 5D:
 
# address <addr1> ...
 
#
 
address 2:240/5853@fidonet 75:18/6@ger-bbs 9:92/6@survnet
 
 
 
#
 
# The name of your system, its location and your name
 
#
 
sysname "Mailboxname"
 
location "Ort, Land"
 
sysop "Max Mustermann"
 
 
 
#
 
# System capabilities
 
#
 
nodeinfo 115200,TCP,BINKP
 
 
 
#
 
# TCP settings. Leave this unchanged if not sure.
 
#
 
#iport binkp
 
#oport binkp
 
#oblksize 4096
 
#timeout 300
 
#connect-timeout 300
 
#bindaddr 192.168.0.3
 
 
 
#
 
# HTTPS or SOCKS settings. Require build with feature https (configure --with-https)
 
#
 
# proxy 192.168.0.3:3128      <- regular http/https proxy (i.e. squid)
 
# proxy 192.168.0.3:3128/user/password  <- proxy required username/password
 
#                                          (as in browser)
 
#
 
# proxy 192.168.0.3:3128/user/password/your_host/your_domain
 
# ^- proxy required NTLM authorization with username/password
 
#      Require build with feature ntlm (configure --with-ntlm)
 
# your_host  -- Windows host name without domain (i.e. MY_HOST)
 
# your_domain -- Windows domain name (not FQDN, i.e. DEFAULT_DOMAIN)
 
#
 
# socks 192.168.0.3:1080    <- socks4 proxy
 
# socks 192.168.0.3:1080/  <- socks5 proxy without authorization
 
# socks 192.168.0.3:1080/user/password  <- socks5 proxy with username/password
 
#                                          (RFC-1929)
 
 
 
#
 
# Delay of calls and outbound rescans
 
#
 
call-delay 60
 
rescan-delay 60
 
 
 
#
 
# Max. number of inbound/outbound connections
 
#
 
maxservers 5
 
maxclients 5
 
 
 
#
 
# Binkd will try to call a node N times. If failed it will
 
# hold the node for S seconds. The feature is off by default.
 
#
 
try 10
 
hold 600
 
 
 
#
 
# hold-skipped <S>
 
# Binkd will hold for S seconds all mail skipped by a node. (Def. -- 3600)
 
#
 
#hold-skipped 3600
 
 
 
#
 
# Don't send (only receive) files if no password for an inbound session
 
#
 
send-if-pwd
 
 
 
#
 
# Path and name for the logfile, loglevel
 
#
 
log /var/log/binkd/binkd
 
loglevel 6
 
 
 
#
 
# Uncomment it if you want binkd's log at your console
 
#
 
conlog 4
 
 
 
#
 
# Uncomment if you want T-Mail(FrontDoor)-style binary log
 
# (Will work and have sense on PCs only?)
 
# Tzoff corrects UTC time returned by time() under DOS-derived OS
 
#
 
#binlog binkd.sts
 
#fdinhist in.his
 
#fdouthist out.his
 
#tzoff 10800
 
 
 
#
 
# Use syslog (Only if made with -DHAVE_VSYSLOG and -DHAVE_FACILITYNAMES)
 
#
 
#syslog local0
 
 
 
#
 
# Print percents while sending or receiving
 
#
 
percents
 
 
 
#
 
# List queue after rescans. May produce extra output in console
 
#
 
printq
 
 
 
#
 
# Perform reverse resolving (for logging only)
 
#
 
backresolv
 
 
 
#
 
# Log pid:
 
#
 
pid-file /var/run/ftn/binkd.pid
 
 
 
#
 
# Map paths in flo's:
 
# ftrans <old-string> <new-string>
 
# Use as many ftrans's as you want.
 
#
 
#ftrans "D:\\fido\\outbound" "/var/spool/fido/outb"
 
#ftrans "\\" "/" # this replaces all slashes in a path
 
 
 
#
 
# Inbound directory for secure and non-secure links
 
#
 
inbound /opt/mystic/echomail/in
 
inbound-nonsecure /opt/mystic/echomail/in/unsecure
 
 
 
#
 
# Directory for incomplete receiving files (.hr and .dt),
 
# default to inbound for the node
 
#
 
#temp-inbound /var/spool/ftn/inb/incomplete
 
 
 
#
 
# Binkd will skip all files from a node if
 
# size_of_the_next_file_for_us_there + minfree < free_space_in_inbound
 
#
 
minfree 2048
 
minfree-nonsecure 2048
 
 
 
#
 
# When trying to receive a new file: remove partial files with this
 
# name but different size or time from inbound. (If commented out, binkd
 
# will left old parts as .dt and .hr in the inbound directory)
 
#
 
kill-dup-partial-files
 
 
 
#
 
# Remove all old partial files from inbound. (OFF if commented out)
 
# kill-old-partial-files <max-age-in-seconds>
 
#
 
kill-old-partial-files 86400
 
 
 
#
 
# Remove old .bsy/.csy files (If some are left after a system crash). It would
 
# be wise to set this to 43200 (12 hrs) on almost any system. (Note that binkd
 
# always touches .bsy's/.csy's for active sessions)
 
#
 
# kill-old-bsy is OFF by default.
 
#
 
#kill-old-bsy 43200
 
 
 
#
 
# Create a flag file after receiving a file
 
#
 
#flag toss!.now *.pkt
 
#flag toss!.now *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?
 
 
 
flag /opt/mystic/semaphore/echomail.in *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt *.TIC
 
flag /opt/mystic/semaphore/echomail.out *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt
 
 
 
#
 
# Run an external program.
 
# The "*S" macro in command line substed with S.R.I.F., see !SRIF.TXT
 
# The "!" before program pathname means immediate program execution
 
#  after receiving the file.
 
# *** win32 only:
 
# The "@" before program pathname means execute program in separate console
 
# The "@@" before program pathname means execute program in hidden console
 
# ***
 
# Macros: *F - complete name of received file,
 
#        *A0..*A9 - first 10 AKA of remote system,
 
#        *A*, *A@ - list of all remote AKA separated by spaces
 
#        *P - password protected [0|1],
 
#        *L - listed system [0|1]
 
#        *H - remote hostname or IP,
 
#        *N - short file name (win32 only).
 
#
 
#exec "my-freq-processor.exe /options *S" *.req
 
#exec "my-pkt-unpacker.exe /options *S" *.pkt
 
 
 
#
 
# Include a file
 
#
 
 
 
# binkd nodelist
 
# (Muss VOR den "node"-Definitionen stehen, nicht dahinter,
 
# wie in der Originalen Beispiel-Datei..)
 
include /etc/binkd/bt_ibn.inc
 
 
 
# debian default includes
 
include /etc/binkd/binkd.inc
 
 
 
#
 
# Overrides root domain for DNS lookups, see `node' below.
 
#
 
root-domain bbs.kennmer.net
 
 
 
#
 
# Scan T-Mail boxes (short and long)
 
#
 
#filebox  c:\\fido\\tmail\\boxes
 
 
 
#
 
# Scan theBrake! long boxes
 
#
 
#brakebox  c:\\fido\\brake\\boxes
 
 
 
#
 
# Should binkd delete empty boxes?
 
# uncomment the following line if yes
 
#
 
#deletebox
 
 
 
#
 
# Scan node outbound while connecting and send mail size to remote
 
#
 
prescan
 
 
 
#
 
# t-mail, ifcico or qico passwords file
 
# Format of passwords file:
 
#  [password] <FTN address> <password for the link>
 
# where:
 
#  [password]               optional token "password"
 
#  <FTN address>            address of a link in the form 1:2/3.4@domain
 
#                            or 1:2/3@domain or 1:2/3 or 1:2/3.4
 
#  <password for the link>  secret password (one word, without spaces or tabs)
 
#
 
#passwords c:\\fido\\t-mail\\password.lst
 
 
 
#
 
# Skip (destructive!) this files
 
#
 
#skipmask pm2*.* *.mp3
 
 
 
#
 
# Overwrite the existing file by the new received,
 
# do not save with the changed extension
 
#
 
#overwrite net_*.*
 
 
 
#
 
# Inbound filename case:
 
#    inboundcase [save(default)|upper|lower|mixed]
 
#
 
# 'save'  don't change filename case (default)
 
# 'upper' uppercase filename (FILE-NAME.EXT)
 
# 'lower' lowercase filename (file-name.ext)
 
# 'mixed' make filename pretty (File-Name.Ext)
 
#
 
# * tested only with english filenames
 
#
 
#inboundcase save
 
 
 
#
 
# Should binkd delete empty point dirs in BSO?
 
# Uncomment the following line if yes
 
#
 
#deletedirs
 
 
 
#
 
# Use Amiga Style Outbound (ASO), require build with enabled feature "aso" (configure --with-aso)
 
#
 
#aso
 
 
 
#
 
# Define a link:
 
#      node [[z:]n/]n[.p][@domain] [-nr|-nd] [-md] [-ip|-sip] [{hosts|-} [{pwd|-} [flavour [{obox|-} [{ibox|-}]]]]]
 
#
 
# * All non-"-" fields will redefine the values specified for the same node
 
# earlier in config.
 
# * Flavour is one of i, c, d, -, h; and is the flavour for the outbound
 
#  filebox ("obox").
 
# * Binkd sends from obox all non-dir entries NOT matching ".*" wildcard.
 
# EVERY TIME YOU PUT A FILE INTO OBOX CHECK IF BINKD WILL BE ABLE TO
 
# UNLINK IT. Otherwise, the session will never end.
 
# * Default for ibox is inbound or inbound-nosecure depending on the pwd field.
 
# * Default for port is oport.
 
# * `-nr' stands for `Not Reliable Link', this works only on outbound calls
 
# with another binkp/1.1 mailer. The option solves the only problem with
 
# binkd having no enough time to start receiving of a file from
 
# non-zero offset before IP link's down, so don't use it unless you
 
# have this problem -- really not effective
 
# * `-nd' means "No Dupe Mode", this works only on outbound calls with
 
# another binkd 0.9.3 or higher. The option solves problem with
 
# duplicating files while losts carrier but link is a bit slower
 
# then with "-nr" option
 
# * `-md' means "Must have CRAM-MD5". This works only with nodes with
 
#      binkd or argus supported this method. Do not set it if your link
 
#      can use the old version of binkd.
 
# * `-nomd' - do not use CRAM-MD5 for this node (send plain text password)
 
# * `-ip' means "Remote IP check". In this case the node will be
 
#      rejected if it comes not from one of its IP-addresses.
 
# * `-sip' means "Strict remote IP check". Like "-ip", but node will be
 
#      rejected if no IP-addresses allowed ("-" or not resolved).
 
# * Hosts is a list in form
 
#      host1[:port1][;host2[:port2]] ...
 
# * Asterisk (`*') in the host list forces Binkd to perform
 
#      1:2/3.4 --> p4.f3.n2.z1.binkp.net translation for a node's
 
#      Fido-address and lookup IP for the resulting FQDN in DNS.
 
#      Root domain part ("binkp.net") can be changed with root-domain
 
#      keyword.
 
#
 
#node 5047/888 - password
 
#node 5047/999 hostname;* password i c:\\fido\\boxes\\to999 c:\\fido\\boxes\\from999
 
 
 
# FidoNet Uplink:
 
node 2:24/0@fidonet example.com;example.org seCrEt i
 
node 2:240/5700@fidonet example.com;example.org seCrEt i
 
node 2:240/5832@fidonet example.com;example.org seCrEt i
 
node 2:240/5833@fidonet example.com;example.org seCrEt i
 
node 2:240/5834@fidonet example.com;example.org seCrEt i
 
 
 
# GerBBS Uplink:
 
node 75:18/0@ger-bbs example.net SeCReT i
 
 
 
# SurvNet Uplink:
 
node 9:92/1@survnet example.net SeCReT i
 
 
 
# Meine Points
 
node 2:240/5853.1 - sEcReT
 
node 2:240/5853.2 - sEcReT
 
 
 
#
 
# Default node flags. Binkd will call unlisted node if "defnode" defined.
 
#
 
#defnode -nr *</pre>
 

Version vom 27. März 2015, 17:45 Uhr

WORK IN PROGRESS

Der Inhalt dieser Seite wird aktuell bearbeitet. Erst, wenn dieser Hinweis verschwunden ist, bin ich fertig. Das kann auch ein paar Tage dauern..

Einleitung

MysticBBS kommt zwar schon von Haus aus mit einer eigenen BinkP-Implementation, die hat jedoch in ihrer aktuellen Version (v1.10 beim Schreiben dieses Artikels) noch einige Probleme, weshalb ich schnell auf BinkD umgestiegen bin. Hier versuche ich in kurzen Worten zu erklären, wie ich BinkD zusammen mit MysticBBS und dem MysticBBS Tosser eingerichtet habe. Da ich selbst erst wenige Wochen wieder im Thema bin, sind Irrtümer und Fehler verbehalten und zu erwarten. Bitte nutzt die Diskussions-Seite um Korrekturen zu besprechen.

Verwendete Software

Ich gehe nicht weiter auf die Installation der Software ein - binkd gibt es im Repository so gut wie jeder Linux Distribution und MysticBBS kommt mit einem proprietären Installationsprogramm.

Zum Schreiben dieses HOWTO habe ich Debian Wheezy verwendet - bei anderen Distributionen und/oder Versionen können einzelne Dateipfade abweichen - die eigentliche Konfiguration funktioniert jedoch in allen Distributionen gleich.

Konfiguration

BinkD

Nach der Installation bearbeiten wir zuerst die Datei /etc/binkd/binkd.cfg mit einem Text-Editor unserer Wahl. Fehlt diese Datei, liegt sie evtl. unter /usr/share/doc/binkd. Zur Not kann man auch den Quellcode herunterladen und dort die Beispieldatei entnehmen.

Die Datei ist sehr ausführlich kommentiert, weshalb ich hier nur auf die notwendigen Änderungen eingehe:

domain

Hier werden die einzelnen FTN-Netze mit Standard-Konfigurationen hinterlegt. Für FidoNet sind folgende Einträge nötig:

domain domainname     </pfad/zu/mysticbbs/echomail/outbound/verzeichnis> <zone-id>
domain domainalias    alias-for domainname
domain domainname.org alias-for domainname

Für FidoNet in Europa z.B:

domain fidonet     /opt/mystic/echomail/out/fidonet 2
domain fidonet.org alias-for fidonet
domain fidonet.net alias-for fidonet
domain fidonet.rus alias-for fidonet
domain fido        alias-for fidonet
domain fidorus     alias-for fidonet
domain fido7       alias-for fidonet

Weitere Netze werden entsprechend angelegt. Zu beachten ist hierbei, dass bei allen weiteren Netzen die gleiche Zone-ID anzugeben ist, auch wenn das gar nicht stimmt. Hierdurch werden fuer ein- und ausgehende Nachrichten Unterverzeichnisse mit der echten zone-id angelegt, genau so, wie MysticBBS es erwartet und ebenfalls tut.

address

Hier werden die verschiedenen Adressen mitsamt Domain angegeben. Mehrere Adressen einfach mit Leerzeichen getrennt in einer Zeile angeben:

Zum Beispiel:

address 2:240/1234@fidonet 75:18/1234@ger-bbs

sysname, location, sysop

Sollte klar sein.. Diese Informationen werden bei Verbindungen per BinkP gesendet.

Zum Beispiel:

sysname  "Mailboxname"
location "Ort, Land"
sysop    "Max Mustermann"

inbound

Das Verzeichnis, in dem ankommende Dateien bekannter Nodes (und/oder Points) abgelegt werden sollen, um dort vom Tosser (MysticBBS, s.u.) gefunden und weiterverarbeitet zu werden. Zum Beispiel:

inbound /opt/mystic/echomail/in

inbound-nonsecure

Das Verzeichnis, in dem ankommende Dateien über unverschlüsselte Verbindungen abgelegt werden sollen. Zum Beispiel:

inbound-nonsecure /opt/mystic/echomail/in/unsecure

flag

Zu erstellende Semaphore-Dateien, um die Weiterverarbeitung ankommender Dateien (z.B. von MysticBBS) auszulösen:

flag /pfade/zum/semaphore/file <filename> <filename> <...>

Zum Beispiel:

flag /opt/mystic/semaphore/echomail.in *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt *.TIC
flag /opt/mystic/semaphore/echomail.out *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt

include

Externe Dateien inkludieren. z.B. um eine Nodelist im BinkD-Format einzubinden und so Netmails direkt versenden zu können. Eine solche Nodelist kann man entweder selbst erstellen (Artikel folgt), oder man kann seinen Uplink fragen - viele stellen diese per FileFix zur Verfügung.

Beispiel:

include /etc/binkd/bt_ibn.inc
include /etc/binkd/binkd.inc

root-domain

Der Domain-Name, unter dem BinkD erreichbar ist.

Beispiel:

root-domain bbs.kennmer.net

node

Hier werden alle Nodes eingetragen, die gepollt werden sollen und die pollen dürfen. Also Eure Uplinks, sowie Downlinks (also z.B. Points):

node <ftn-adresse>@<domain> <ip oder hostname>[;<weitere ip oder hostname>] <kennwort> <mail-typ>

Für FidoNet also zum Beispiel (Die Adressen sind natürlich frei erfunden und müssen durch die richtigen ersetzt werden, die Ihr von Eurem Uplink genannt bekommt.):

node 2:240/9999@fidonet example.com seCrEt i

Um weitere Netze einzutragen, einfach die Zeile wiederholen und die Parameter anpassen:

node 75:18/9999@ger-bbs example.org SeCREt i

Einen Point tragt Ihr ähnlich ein:

node 2:240/1234.1 - SeCReT

Beispiel binkd.cfg

BinkD lässt sich natürlich noch wesentlich feiner konfigurieren. Das ist fuer den Betrieb jedoch zunächst nicht nötig. Alle anderen Parameter übernehmen wir mit ihren Standardwerten aus der Beispiel-Konfiguration