Bereits seit einigen Jahren bin ich wieder mehr oder weniger aktiv in diversen FTN Netzen unterwegs. Allen voran natürlich im FidoNet. (Meine aka: 2:240/5853)
Ja, das gibt es noch, ja da ist sogar ordentlich Traffic.
Vor Kurzem habe ich nun mein komplettes Setup überarbeitet und setze nun all die Standards ein, die sich bereits seit den 90ern bewährt haben:
Da es vor Allem bei der Husky-Suite und GoldEd an aktueller englischer oder gar deutscher Dokumentation mangelt versuche ich hier mal zusammenzuschreiben was ich bei meiner Reise mühsam zusammensuchen, erfragen und ausprobieren musste.
Da ich selbst erst relativ neu zurück in dem Thema bin ist auch diese Dokumentation sicher nicht optimal. Sie enthält bestimmt sogar Fehler. Aber sie funktioniert bei mir und kann sicher dem Einen oder Anderen den (Wieder-)Einstieg erleichtern...
Alle Beispiele sind auf einem Debian Jessie System entstanden, sollten größtenteils aber auch auf andere Linux-Systeme anwendbar sein.
Automatische Installation
Seit Kurzem gibt es auch ein Script, welches alle unten beschriebenen Schritte, und noch ein paar mehr, zumindest unter Laborbedingungen automatisch ausführt.
Das darf gerne ausprobiert werden! 😉 Bei Problemen helfe ich gerne z.B. in den Kommentaren unter diesem Artikel.
Die komplette Installation beschränkt sich hiermit unter Debian und Raspbian auf diese drei Befehle:
wget https://kuehlbox.wtf/fidosetup.sh
sudo bash fidosetup.sh
rm fidosetup.sh
Weitere Informationen hierzu findest Du auf kuehlbox.wtf oder gitlab.
BinkD
BinkD ist der Mailer. Er pollt Mails bei Eurem Uplink und Eure Points pollen ihre Mails bei ihm. BinkD verwendet das Protokoll BinkP, welches seit den 90ern in Benutzung ist um FTN-Mails, die ursprünglich über Modem und Telefonleitung verteilt wurden, ueber das Internet Protocol auszutauschen.
Installation
sudo apt-get install binkd
Konfiguration
# 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 # # Deine FTN Domains
#
# Format: domain <domainname> [</path/to/outbound>] [<default zone>] # oder: domain <aliasname> alias-for <domainname> # domain fidonet /var/spool/ftn/outb 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 domain ger-bbs /var/spool/ftn/outb 2 domain gerbbs alias-for ger-bbs domain ger.bbs alias-for ger-bbs # # Deine Adressen / AKAs (4D oder 5D)
# # Format: address <aka1@domain> <aka2@domain> ... # address 2:240/5853@fidonet 75:18/6@ger-bbs # # Systemname, Ort und Dein Name # sysname "Kuehlbox" location "Ranstadt, Germany" sysop "Philipp Giebel" # # System Faehigkeiten
#
# Format: nodeinfo <Geschwindigkeit>,<Transportprotokoll>,<Anwendungsprotokoll> # nodeinfo 115200,TCP,BINKP # # TCP Einstellungen. Nichts ändern wenn Du nicht sicher bist # #iport binkp #oport binkp #oblksize 4096 #timeout 300 #connect-timeout 300 #bindaddr 192.168.0.3 # # HTTPS oder SOCKS Einstellungen.
#
# Format: proxy <ip>:<port> # #proxy 192.168.0.3:3128
# # Binkd haelt alle Nachrichten fuer 5 Sekunden,
# die vom Node uebersprungen wurden.
#
# Format: hold-skipped 3600 # #hold-skipped 3600 # # Keine Nachrichten senden, wenn eingehende Session nicht
# Passwortgeschuetzt ist.
#
# Format: send-if-pwd # send-if-pwd # # Pfad und Name des LogfilesPath, Loglevel.
#
# Format: LogfilesPath </path/to/your/log.file
# LogLevel [0-10] # log /var/log/binkd/binkd loglevel 4 # # BinkD auf die Konsole loggen lassen.
# (Nicht bei Start über init-script)
#
# Format: ConLog [0-10] # conlog 4 # # Aktiviere die folgenden Zeilen, wenn Du T-Mail (FrontDoor)-Style
# Binaer-Logs moechtest # Tzoff korrigiert die UTC Zeit von time() in DOS-Nachfahren # #binlog binkd.sts #fdinhist in.his #fdouthist out.his #tzoff 10800 # # Nach Syslog loggen
#
# Format: syslog <facility> # #syslog local0 # # Bei Uebertragungen Prozente anzeigen
#
# Format: percents # percents # # Nach Rescans Queue anzeigen. Produziert extra Informationen auf der Konsole
#
# Format: printq # printq # # In Logfiles IPs in Hostnamen umwandeln
#
# Format: backresolv # backresolv # # PID:
#
# Format: pid-file </path/to/binkd.pid> # pid-file /var/run/ftn/binkd.pid # # Pfade in FLO-Files umschreiben.
# Praktisch wenn Mailer und Tosser auf unterschiedlichen
# Systemen laufen.
# Achtung: "\" als Verzeichnistrenner müssen mit einem weiteren
# "\" escaped werden: "\\"
# Es koennen so viele ftrans Angaben gemacht werden, wie Du willst.
#
# Format: ftrans <suche> <ersetze> # #ftrans "D:\\fido\\outbound" "/var/spool/fido/outb" #ftrans "\\" "/" # this replaces all slashes in a path # # Eingangsverzeichnis fuer sichere und unsichere Verbindungen #
# Format: inbound </pfad/zum/inbound/verzeichnis>
# inbound-nonsecure </pfad/zum/unsecure/inbound/verzeichnis>
# inbound /var/spool/ftn/inb inbound-nonsecure /var/spool/ftn/inb/unsecure # # Verzeichnis fuer unvollstaendig empfangene Dateien (.hr und .dt), # Standard: Inbound des Nodes
#
# Format: temp-inbound </pfad/zum/incomplete/inbound/verzeichnis> # #temp-inbound /var/spool/ftn/inb/incomplete # # Mindestens freier Plattenplatz (in KB) fuer sicher und unsicher eingehende Dateien. # groesse_der_naechsten_datei + minfree < freier_plath_in_inbound
#
# Format: minfree <KB>
# minfree-nonsecure <KB> # minfree 2048 minfree-nonsecure 2048 # # Loesche vorhandene unvollstaendige Dateien aus dem inbound, wenn
# eine neue mit gleichem Namen aber anderer Groesse oder Zeit ankommt.
# Wenn auskommentiert bleiben unvollstaendige Dateien als .dt und .hr
# im inbound Verzeichnis.
#
# Format: kill-dup-partial-files
# kill-dup-partial-files # # Unvollstaendige Dateien nach N Sekunden loeschen. (AUS, wenn auskommentiert)
#
# Format: kill-old-partial-files <Sekunden> # kill-old-partial-files 86400 # # Zeit in Sekunden, nach der alte .bsy/.csy Dateien geloescht werden,
# die nach einem Crash zurueckgeblieben sind.
# Ein guter Wert fuer die meisten Systeme ist: 43200 (12 Stunden) # Achtung: BinkD aktualisiert .bsy und .csy Dateien fuer aktive Verbindungen
# AUS, wenn auskommentiert.
#
# Format: kill-old-bsy <Sekunden> # kill-old-bsy 43200 # # Flag-Dateien (Semaphoren) erstellen beim Erhalt bestimmter Dateien
# Wildcards * und ? funktionieren.
#
# Format: flag <Semaphore> <Bedingung 1> <Bedingung 2> <Bedingung 3> ... # #flag toss!.now *.pkt #flag toss!.now *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?
flag /var/spool/ftn/flags/tick *.tic *.TIC
# # Externes Programm starten beim Erhalt bestimmter Dateien # Das "*S" Makro wird durch S.R.I.F. ersetzt. Siehe !SRIF.TXT # Ein "!" vor dem Programmpfad bedingt sofortige Ausfuehrung nach Erhalt der Datei
# # *** win32 only: # Ein "@" vor dem Programmpfad fuehrt das Programm in einer separaten Konsole aus # Zwei "@@" vor dem Programmpfad fuehrt das Programm in einer versteckten Konsole aus # *** # Makros: *F - Vollstaendiger Name der empfangenen Datei # *A0..*A9 - Erste 10 AKAs des entfernten Systems # *A*, *A@ - Liste aller AKAs des entfernten Systems, Leerzeichengetrennt # *P - Passwortgeschuetzt [0|1], # *L - Bekanntes System [0|1] # *H - Entfernter hostname oder IP # *N - kurzer Dateiname (win32 only). #
# Format: exec "<Externes Programm inkl. Parameter>" <Bedingung 1> <Bedingung 2> ...
# #exec "my-freq-processor.exe /options *S" *.req #exec "my-pkt-unpacker.exe /options *S" *.pkt exec "/usr/local/sbin/toss.sh" *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt exec "/usr/local/sbin/bashreq.sh *S" *.req # # Dateien einbinden #
# Format: include </pfad/zum/include/file>
#
#include /etc/binkd.inc
# # Ueberschreibt Domainname aus DNS Lookups
# (siehe "node" unten)
#
# Format: root-domain <domainname> # root-domain bbs.kennmer.net # # T-Mail Boxen scannen (kurz und lang) #
# Format: filebox </pfad/zur/tmailbox>
# #filebox /var/spool/ftn/boxes/tmail
#filebox C:\\FTN\\TMAIL\\BOX # # theBrake! Boxen scannen (lang) # #brakebox /var/spool/ftn/boxes/brake
#brakebox C:\\FTN\\BRAKE\\BOX # # Soll BinkD leere Boxen loeschen?
# AUS, wenn auskommentiert #
# Format: deletebox # #deletebox # # Postausgang beim Verbinden scannen und Groesse an Remote senden
#
# Format: prescan # prescan # # t-mail, ifcico oder qico Passwort Datei # Format der Passwort Datei: # [password] # wobei: # [password] optionales token "password" # Adresse eines Links in der Form 1:2/3.4@domain # oder 1:2/3@domain oder 1:2/3 oder 1:2/3.4 # Geheimes Passwort (ein Word, keine Leerzeichen oder Tabs) # # Anmerkung: Ich verstehe auch kein einziges Wort...
#
# Format: passwords </pfad/zur/password.lst> # #passwords c:\\fido\\t-mail\\password.lst #passwords /etc/binkd/password.lst
# # Diese Dateien ueberspringen (zerstoerend)
# Wildcards erlaubt.
#
# Format: skipmask <Bedingung 1> <Bedingung 2> <Bedingung 3> ... # #skipmask pm2*.* *.mp3 # # Folgende Dateien immer ueberschreiben, wenn neuere empfangen werden
# Nicht mit geaenderter Erweiterung speichern
#
# Format: overwrite <Bedingung 1> <Bedingung 2> <Bedingung 3> ... # #overwrite net_*.* # # Gross-/Kleinschreibung im Posteingang # # 'save' Gross-/Kleinschreibung nicht aendern (default) # 'upper' In Grossbuchstaben umwandeln (FILE-NAME.EXT) # 'lower' In Kleinbuchstaben umwandeln (file-name.ext) # 'mixed' huebsch machen (File-Name.Ext) # # * nur mit englischen Dateinamen getestet!
#
# Format: inboundcase [save(default)|upper|lower|mixed] # #inboundcase save # # Soll BinkD leere Point-Verzeichnisse im BSO loeschen? # AUS wenn auskommentiert
#
# Format: deletedirs # #deletedirs # # Amiga Style Outbound (ASO) verwenden. Benoetigt build mit --with-aso
# In Debian nicht verfuegbar. #
# Format: aso
# #aso # # Default node flags.
# Achtung: BinkD verbindet auch zu unbekannten nodes, wenn diese
# Option gesetzt ist.
#
# Format: defnode <default parameter> # #defnode -nr * # # Wenn Du eine Nodelist im BinkD-Format hast kannst Du sie hier einbinden #
include /etc/binkd/bt_ibn.inc
#
# Die Link-Konfiguration in einer separaten Datei
#
include /etc/binkd/binkd.inc
include /etc/binkd/bt_ibn.inc
# Einen Link definieren:
# node [[z:]n/]n[.p][@domain] [-nr|-nd] [-md] [-ip|-sip] [{hosts|-} [{pwd|-} [flavour [{obox|-} [{ibox|-}]]]]]
#
# * Alle Felder ohne "-" ueberschreiben frueher definierte Parameter
# * Flavour ist i, c, d, - oder h; und ist die Art des Outbound-Verzeichnisses obox
# * BinkD sended alle Dateien aus obox die nicht ".*" heissen.
# ACHTE IMMER DARAUF, DASS DATEIEN, DIE DU IN OBOX LEGST VON BINKD
# GELOESCHT WERDEN KOENNEN!
# Sonst endet die Verbindung niemals...
# * Standard ibox ist das globale inbound, bzw. inbound-nonsecure.
# * Standard port ist der globale oport.
# * '-nr' steht fuer 'Not Reliable'. Funktioniert nur bei ausgehenden Verbindungen
# mit einem anderen binkp/1.1 Mailer. Diese Option loest das einzige
# Problem, dass BinkD nicht genug Zeit hat vor einem Timeout mit dem
# Fortsetzen einer angefangenen Uebertragung zu beginnen.
# Benutze diese Option nicht, wenn Du dieses Problem nicht hast
# Wirklich nicht effektiv
# * '-nd' steht fuer 'No Dupe Mode'. Funktioniert nur bei ausgehenden Verbindungen
# mit einem anderen BinkD 0.9.3 oder hoeher.
# Diese Option loest das Problem mit sich vervielfaeltigenden Dateien wenn
# die Verbindung vorzeitig abgebrochen wurde.
# Etwas langsamer, als mit '-nr'.
# * '-md' steht fuer "Must have CRAM-MD5". Funktioniert nur bei Nodes BinkD oder
# Argus, die diese Methode unterstuetzen.
# Nicht verwenden wenn der Link eine alte Version von BinkD verwenden
# koennte.
# * '-nomd' Kein CRAM-MD5 fuer diesen Node verwenden
# (Passwort unverschluesselt senden)
# * '-ip' steht fuer "Remote IP check". Verbindungen werden abgelehnt, wenn sie
# nicht von der eingetragenen IP des Nodes kommen
# * '-sip' steht fuer "Strict remote IP check". Wie "-ip", aber Nodes werden auch
# abgelehnt, wenn keine IP hinterlegt ist.
# * Hosts ist eine Liste in der Form
# host1[:port1][;host2[:port2]] ...
# * Ein Stern ('*') in der Hostliste laesst BinkD die IP eines Nodes
# online nachschlagen:
# 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
# UPLINKS:
node 2:24/0@fidonet domain.name;alternativ.domain.name geheim1 i
node 2:240/5700@fidonet domain.name;alternativ.domain.name geheim1 i
node 2:240/5832@fidonet domain.name;alternativ.domain.name geheim1 i
node 2:240/5833@fidonet domain.name;alternativ.domain.name geheim1 i
node 2:240/5834@fidonet domain.name;alternativ.domain.name geheim1 i
node 75:18/0@ger-bbs domain.name geheim2 i
# POINTS:
node 2:240/5853.1 - geheim3
node 75:18/6.1@ger-bbs - geheim4
# Bitte lade eine aktuelle Version dieser Datei herunter.
# Entweder über unten stehenden Link, oder so:
#
# wget -O /tmp/bt_ibn.zip https://kuehlbox.wtf/BT_IBN.zip
# sudo unzip -o /tmp/bt_ibn.zip -d /etc/binkd/
# rm /tmp/bt_ibn.zip
#
Verwendung
BinkD wird über ein initscript bei Systemstart gestartet und läuft, wie jeder Daemon, im Hintegrund und verrichtet seine Arbeit weitestgehend automatisch.
Dabei zusehen kann man ihm in seinem Logfile:
tail -f /var/log/binkd/binkd
Muss man doch mal manuell pollen geht das so:
binkd -c -p -q -P "<link>" /etc/binkd/binkd.cfg
Also zum Beispiel:
binkd -c -p -q -P "2:240/5832" /etc/binkd/binkd.cfg
Husky
Husky ist eine Software-Suite bestehend aus allem, was man nach dem Mailer so benoetigt. Allen Voran ein Tosser (hpt), ein Ticker (htick) und ein Reader (msged).
Installation
Vor vielen Jahren gab es auch hiervon mal Pakete im offiziellen Debian Repository, doch das ist lange her. Die debian build-dirs, die immernoch in den Quelltexten enthalten sind, sind teilweise ueber 10 Jahre alt und funktionieren entsprechend erstmal nicht mehr.
Ich habe mir jedoch ein Herz genommen, die debuild-Dateien aktualisiert und korrigiert, neue Debian-Pakete compiliert und ein kleines, privates Repo daraus gebaut.
Dieses koennt Ihr für Debian Jessie 64bit und 32bit, sowie fuer Raspbian verwenden, wie folgt:
sudo wget -O /etc/apt/sources.list.d/kuehlbox.list https://kuehlbox.wtf/<repo>/kuehlbox.<version>.list
sudo bash -c 'wget -O - https://kuehlbox.wtf/<repo>/gpg.key |apt-key add -'
sudo apt-get install apt-transport-https
sudo apt-get update
Wobei <repo> entweder durch "debian" oder "raspbian" ersetzt werden muss
und <version> durch "stretch" oder "jessie".
Zum Beispiel:
sudo wget -O /etc/apt/sources.list.d/kuehlbox.list https://kuehlbox.wtf/debian/kuehlbox.stretch.list
Hiernach kannst Du Dir alle verfügbaren Pakete ansehen:
grep ^Package: /var/lib/apt/lists/www.kuehlbox.wtf_*_Packages
Und den Tosser HPT mit allen seinen Abhängigkeiten installieren:
sudo apt-get install hpt htick nltools sqpack
Konfiguration
Die Konfiguration von Husky findet in dem Verzeichnis /etc/husky/ statt, wo die einzelnen Tools auch nach ihr suchen.
# main fidoconfig file
#
# Systemname, Sysopname, Ort
#
# Format: name <Systemname>
# sysop <Sysopname>
# location <Ort, Land>
# name Kuehlbox sysop Philipp Giebel location Ranstadt, Germany
#
# Alle ftn Adressen
#
# Format: address <1:2/3>
# address <1:2/3.4>
# address 2:240/5853 address 75:18/6
# -----------------------------
# Diverse Pfade und Dateien
# -----------------------------
# unsecure inbound Verzeichnis
# Hier legt BinkD eingehende Pakete unbekannter Quellen ab.
inbound /var/spool/ftn/inb/unsecure
# secure inbound Verzeichnis
# Hier legt BinkD eingehende Pakete bekannter Quellen ab.
protinbound /var/spool/ftn/inb
# outbound Verzeichnis
# Hier holt BinkD ausgehende Pakete zum Versenden ab.
outbound /var/spool/ftn/outb
# temp inbound Verzeichnis
# Hier werden eingehende Pakete weiterverarbeitet
tempinbound /var/spool/ftn/tmp/inb
# temp outbound Verzeichnis
# Hier werden ausgehende Pakete vorbereitet
tempoutbound /var/spool/ftn/tmp/outb
# logfile Verzeichnis
# Hier werden alle Logfiles gespeichert
logfiledir /var/log/husky
# dupehistory Verzeichnis
# Hier werden die dupe history dateien gespeichert
dupehistorydir /var/spool/ftn/dupebase
# nodelist Verzeichnis
# Hier werden Nodelists gespeichert und gesucht
nodelistdir /var/spool/ftn/nodelist
# messagebase Verzeichnis
# Hier liegt die eigentliche Messagebase
msgbasedir /var/spool/ftn/msgbase
# tosser Logfile
# Datei in der zu scannende Echos hinterlegt werden, nachdem mit einem
# Mailreader oder "hpt post" oder aehnlichem eine Nachricht geschrieben wurde,
# um den Scan-Prozess zu beschleunigen.
echotosslog /var/spool/ftn/flags/echoscan.log
# import Logfile
# Datei in der hpt echos eintraegt, in die es neue Nachrichten
# getosst hat.
importlog /var/log/husky/import.log
# fileboxes Verzeichnis
# ???
fileboxesdir /var/spool/ftn/fileboxes
# fileecho Verzeichnis
# Hier liegen die Fileechos
fileareabasedir /var/spool/ftn/filebase
# passfilearea Verzeichnis
# ???
passfileareadir /var/spool/ftn/transit
# -----------------------------
# Nodelisten
# -----------------------------
# FIDO
# Name der Nodelist Files fuer fido nodelist NODELIST
# Nodelist Diff-Updates fuer fido beziehen aus.. DiffUpdate /var/spool/ftn/filebase/fido/nodedifz
# Fido Userlist file fidoUserList fidouser.lst
# GERBBS
# Name der Nodelist Files fuer gerbbs nodelist ger-bbs
# Komplettes Nodelistupdate fuer gerbbs beziehen aus... FullUpdate /var/spool/ftn/filebase/ger-bbs/ger_node
# -----------------------------
# Linker (Exportieren)
# -----------------------------
# Linken mit Hilfe des importlog
#
# Format: linkwithimportlog [yes|no|kill]
# kill = ja und danach importlog leeren
linkwithimportlog kill
# Echomail fuer verschiedene Links in jeweils eigenen
# Unterverzeichnissen speichern separatebundles yes
# Keine PID-Line in generierte Nachrichten einfuegen disablepid yes
# keine TID-Line in gescannte Nachrichten einfuegen disabletid yes
# Programm und Parameter zum Packen ausgehender Pakete
#
# Format: pack [zip|tgz|rar|arc|...] <Programm> <Parameter>
# $a = Archivdatei
# $j = Zu archivierende Datei
# pack zip zip -9 -j -q $a $f
# -----------------------------
# Tosser (Importieren)
# -----------------------------
# Programm(e) und Parameter zum Entpacken eingehender Pakete
#
# Format: unpack "<Programm> <Parameter>" <offset> <match>
# offset = Position im Archiv, an der nach dem Erkennungsmerkmal
# (match) gesucht werden soll
# match = Erkennungsmerkmal (Bytewert(e))
# $a = Archivdatei
# $p = Zielpfad fuer entpackte Dateien
# $t = Beschreibungsdateiname (htick, FileDescName Parameter)
# unpack "unzip -j -Loqq $a $f -d $p" 0 504b0304 unpack "arc eno $a $p'*.*'" 0 1a
# Kopien von Mails an "carbonkonto" in "carboncopy" Echo ablegen. carbonto Philipp Giebel carboncopy PERSONAL.MAIL
# Area in der nach Mails an AreaFix und FileFix gesucht werden soll robotsarea NETMAIL
# -----------------------------
# Robots
# -----------------------------
# 1. Robot Name (default = fuer alle gueltig) robot default
# Nachrichten an Robots nach der Verarbeitung loeschen killrequests yes
# Standardattribute fuer Nachrichten von Robots reportsattr loc pvt k/s npd
# 2. Robot Name (Areafix) robot areafix
# Absendername fuer Mails dieses Robots fromname Areafix robot
# Origin Line fuer Mails dieses Robots robotorigin Areafix robot
# Nachrichten direkt bearbeiten und nicht speichern areafixFromPkt on
# Datei mit der Antwort auf ein %HELP an AreaFix helpfile /etc/husky/areafix.hlp
# 3. Robot Name (Filefix) robot filefix
fromname Filefix robot robotorigin Filefix robot reportsattr loc pvt k/s npd dir helpfile /etc/husky/filefix.hlp
# Standardeinstellungen fuer alle Links linkdefaults begin
# Pakete ohne Passwort akzeptieren, aber im Logfile warnen allowemptypktpwd secure
# Packer fuer ausgehende Dateien packer zip
# Neue Echos automatisch erstellen areafixautocreate on
# Standardparameter fuer automatisch erstellte Echos areafixautocreatedefaults -b Jam -dupecheck del -dupehistory 14
# Datei in der neue Echos erstellt werden sollen areafixautocreatefile /etc/husky/areas
# Neue Fileechos automatisch erstellen filefixautocreate on
# Standardparameter fuer automatisch erstellte Fileechos filefixautocreatedefaults -p 90
# Datei in der neue Fileechos erstellt werden sollen filefixautocreatefile /etc/husky/fileareas
# Standardflavor fuer Echomails
# Format: echomailflavor [hold|normal|crash|direct|immediate]
echomailflavour hold
# Requests an Robots nicht standardmaessig weiterleiten forwardrequests off
linkdefaults end
# Extrene Datei mit der Link-Konfiguration einbinden include /etc/husky/links
# Externe Datei mit der Routing-Konfiguration einbinden include /etc/husky/route
# Externe Datei mit den Mailechos einbinden include /etc/husky/areas
# Externe Datei mit den Fileechos einbinden include /etc/husky/fileareas
# 1. Link Name Link Fido # AKA des Links Aka 2:240/5832 # Unsere AKA bei diesem Link ourAka 2:240/5853 # PKT-Passwort Password geheim1 # EchomailFlavour # Format: echomailflavour [hold|normal|crash|direct|immediate] # crash = Sofortiges Zustellen # direct = Direkt beim Empfaenger abliefern # hold = Nicht aktiv zustellen, warten bis abgeholt wird. EchoMailFlavour Crash # Standardparameter fuer neue Echos dieses Links # -a = Eigene AKA # -b <Jam|Squish> = MsgBase-Format # -p = Aufbewahrungsdauer in Tagen # -dupeCheck move = Duplikate verschieben # -dupeHistory = Anzahl Tage, die Informationen zu # Duplikaten aufbewahrt werden sollen # -d "" = Beschreibungstext # -g = Echo nur sichtbar fuer Links mit dieser LinkGrp und AccessGrp # areafixAutoCreateDefaults -a 2:240/5853 -b Jam -p 3650 -dupeCheck move -dupeHistory 14 -d "(FidoNet) " -g fido # Verzeichnis der Messagebase dieses Links linkMsgBaseDir /var/spool/ftn/msgbase/fido # Verzeichnis der Filebase dieses Links LinkFileBaseDir /var/spool/ftn/filebase/fido # Verzeichnis zur Filebox dieses Links filebox /var/spool/ftn/fileboxes/fido # AreaFix und FileFix Mails an diesen Link weiterleiten forwardRequests on # Packer fuer ausgehende Pakete Packer zip # Neue Echos dieses Links gehoeren der Gruppe fido an. LinkGrp fido # Kann Echos aus der Gruppe fido sehen. AccessGrp fido # 2. Link Name Link gerBBS Aka 75:18/0 ourAka 75:18/6 Password geheim2 EchoMailFlavour Crash areafixAutoCreateDefaults -a 75:18/6 -b Jam -p 3650 -dupeCheck move -dupeHistory 14 -d "(gerBBS) " -g gerbbs linkMsgBaseDir /var/spool/ftn/msgbase/gerbbs LinkFileBaseDir /var/spool/ftn/filebase/gerbbs filebox /var/spool/ftn/fileboxes/gerbbs forwardRequests on Packer zip LinkGrp gerbbs AccessGrp gerbbs # 1. Point Name Link FidoNet Point 1 Aka 2:240/5853.1 ourAka 2:240/5853 Password geheim3 EchoMailFlavour Hold linkMsgBaseDir /var/spool/ftn/msgbase/fido filebox /var/spool/ftn/fileboxes/fido Packer zip AccessGrp fido # 2. Point Name Link gerBBS Point 1 Aka 75:18/6.1 ourAka 75:18/6 Password geheim4 EchoMailFlavour Hold linkMsgBaseDir /var/spool/ftn/msgbase/gerbbs filebox /var/spool/ftn/fileboxes/gerbbs Packer zip AccessGrp gerbbs
# Mails an Points auf "hold" setzen route hold noroute 2:240/5853.* route hold noroute 75:18/6.* # Mails an 1:*, 2:*, 3:*, 4:* und 5:* sofort an # 2:240/5832 (Fido Uplink) zustellen route crash 2:240/5832 1:* 2:* 3:* 4:* 5:* # Mails an 75:* sofort an 75:18/0 (gerBBS Uplink) zustellen route crash 75:18/0 75:*
# Interne Areas muessen manuell erstellt werden.
netmailarea NETMAIL /var/spool/ftn/msgbase/internal/netmail -b Jam badarea BAD /var/spool/ftn/msgbase/internal/bad -b Jam dupearea DUPE /var/spool/ftn/msgbase/internal/dupe -b Jam localarea PERSONAL.MAIL /var/spool/ftn/msgbase/internal/personal.mail -b Jam # Neue Echos werden automatisch an diese Datei angehaengt und koennen hier
# bearbeitet werden. # Format: # EchoArea <Echo.Name> </pfad/zur/msgbase/echo> <Parameter> <Links> # Zum Beispiel: # EchoArea nodes.024 /var/spool/ftn/msgbase/fido/nodes.024 -a 2:240/5853 -b Jam -p 3650 -dupeCheck move -dupeHistory 14 -d "(FidoNet) " -g fido 2:240/5832 2:240/5853.2 2:240/5853.1
# Diese Datei wird automatisch gefuellt. Sie muss nur schreibbar fuer den
# hpt-user sein. # Hier koennen spaeter ebenfalls die Parameter der Fileareas bearbeitet werden,
# aehnlich wie bei den Mailareas...
Verwendung
Das meistgenutzte Programm heisst "hpt" (highly portable tosser / high performance tosser). Es muss immer mit dem Benutzer "ftn" gestartet werden, damit die Rechte-Magie funktioniert. Also entweder mit "sudo -u ftn" starten oder bei Cronjobs den entsprechenden Benutzer mit angeben.
Tossen (Eingehende Mail importieren):
hpt toss
Scannen (Ausgehende Mail Exportieren):
hpt scan
Netmail packen (Ausgehende Netmail exportieren)
hpt pack
Ticken (Eingehende Dateien in Filebase einsortieren)
htick toss
Nodelist(s) aktualisieren:
nlupd
All diese Tools greifen auf die Konfiguration in /etc/husky zu. Wurden sie ueber mein Repository installiert finden sie diese automatisch. Wurden andere Quellen verwendet muss die Konfigurationsdatei evtl. mit dem Kommandozeilenparameter "-c" angegeben werden. Zum Beispiel:
hpt -c /etc/husky/config toss
Mit Hilfe der Semaphore- / Flag-Files, die sowohl BinkD, als auch Husky erstellen, kann der komplette Ablauf automatisiert werden. Hierzu habe ich mir ein kleines Script geschrieben, welches per Cronjob alle 10 Minuten als Root ausgefuehrt wird. Als Root, damit es immer mal wieder mit chmod und chown Besitzer und Rechte aufraeumen kann.
Es gibt auch eine Lösung mit "setfacl" bei der auch dieses Script als Benutzer "ftn" ausgeführt werden kann, die muss ich mir aber selber erstmal genauer ansehen, bevor ich da was zu sagen kann. Meine bisherige Lösung sieht so aus:
#!/bin/bash FLAGSDIR=/var/spool/ftn/flags MSGBASE=/var/spool/ftn/msgbase FILEBASE=/var/spool/ftn/filebase BINKDCFG=/etc/binkd/binkd.cfg UPLINK="2:240/5853" USER="ftn" GROUP="ftn" HPT=/usr/bin/hpt HTICK=/usr/bin/htick BINKD=/usr/sbin/binkd SUDO=/usr/bin/sudo if [ -e ${FLAGSDIR}/netscan ] then ${SUDO} -u ${USER} ${HPT} pack touch ${FLAGSDIR}/poll rm -f ${FLAGSDIR}/netscan fi if [ -e ${FLAGSDIR}/echoscan ] then ${SUDO} -u ${USER} ${HPT} scan touch ${FLAGSDIR}/poll rm -f ${FLAGSDIR}/echoscan fi if [ -e ${FLAGSDIR}/toss ] then if [ ! -e ${FLAGSDIR}/tossing ] then touch ${FLAGSDIR}/tossing rm -f ${FLAGSDIR}/toss ${SUDO} -u ${USER} ${HPT} toss chown -R ${USER}:${GROUP} ${MSGBASE}/* chmod 770 ${MSGBASE}/* chmod 660 ${MSGBASE}/*.j* chmod 660 ${MSGBASE}/*/* ${SUDO} -u ${USER} ${HTICK} toss chown -R ${USER}:${GROUP} ${FILEBASE}/* chmod 770 ${FILEBASE}/* chmod 660 ${FILEBASE}/*/* rm -f ${FLAGSDIR}/tossing fi fi if [ -e ${FLAGSDIR}/tick ] then ${SUDO} -u ${USER} ${HTICK} toss chown -R ${USER}:${GROUP} ${FILEBASE}/* chmod 770 ${FILEBASE}/* chmod 660 ${FILEBASE}/*/* rm -f ${FLAGSDIR}/tick fi if [ -e ${FLAGSDIR}/poll ] then if [ ! -e ${FLAGSDIR}/polling ] then touch ${FLAGSDIR}/polling rm -f ${FLAGSDIR}/poll ${SUDO} -u ${USER} ${BINKD} -c -p -q -P "${UPLINK}" ${BINKDCFG} rm -f ${FLAGSDIR}/polling fi fi
GoldEd+
Nun fehlt nur noch ein Programm um die Mails auch zu lesen. Die HuskySuite kommt mit "msged", welches per apt-get nachinstalliert werden kann. Ich verwende jedoch lieber GoldEd+ auch, weil GoldEd schon 1993 mein Editor der Wahl wahr...
Auch GoldEd+ lässt sich per apt-get aus meinem Repository installieren:
sudo apt-get install goldedplus
Konfiguration
GoldEd+ sucht seine Konfiguration unter ~/.golded/
Damit GoldEd mit dem Standardbenutzer verwendet werden kann muss dieser der Gruppe "ftn" angehören und die komplette msgbase muss für diese Gruppe schreibbar sein. Mein "semacheck.sh" script achtet darauf, dass die immer der Fall ist. Verwendest Du eine eigene Lösung musst Du selber darauf auchten...
Dieses Verzeichnis muss zunächst erstellt und dann befüllt werden.
Dieses Verzeichnis muss zunächst erstellt und dann befüllt werden. Die meisten notwendigen Dateien findest Du unter /usr/share/doc/goldedplus/examples/config/:
gunzip -c /usr/share/doc/goldedplus/examples/config/charsets.cfg.gz >~/.golded/charsets.cfg
gunzip -c /usr/share/doc/goldedplus/examples/config/goldkeys.cfg.gz >~/.golded/goldkeys.cfg
gunzip -c /usr/share/doc/goldedplus/examples/config/goldlang.cfg.gz >~/.golded/goldlang.cfg
gunzip -c /usr/share/doc/goldedplus/examples/config/goldhelp.cfg.gz >~/.golded/goldhelp.cfg
Außerdem fehlt die Haupt Konfigurationsdatei, die ebenfalls nach ~/golded/golded.cfg gehört:
// Benutzername USERNAME Philipp Giebel // Hauptadresse ADDRESS 2:240/5853.2 ; Fidonet // Weitere AKA(s) AKA 75:18/6.1 ; gerBBS // Origin(s) (Wiederholung moeglich) ORIGIN " ----> kuehlbox.wtf " // Pfad zu den Nodelists NODEPATH /var/spool/ftn/nodelist/ // Name der Fidonet Nodelist NODELIST NODELIST.* // Name der gerBBS Nodelist NODELIST gerbbs.* // Semaphore / Flag-File, welches erstellt werden soll, wenn eine // Netmail geschrieben wurde (um "hpt pack" zu starten) SEMAPHORE NETSCAN /var/spool/ftn/flags/netscan // Semaphore / Flag-File, welches erstellt werden soll, wenn eine // Echo geschrieben wurde (um "hpt scan" zu starten) SEMAPHORE ECHOSCAN /var/spool/ftn/flags/echoscan // List-File fuer Echos mit neuen Nachrichten // Analog zu "echotosslog" in der Husky Config SEMAPHORE EXPORTLIST /var/spool/ftn/flags/echoscan.log // Charset-Einstellungen fuer import, export und // lokale Einstellung. Latin-1 ist im 2:240er-Netz erwuenscht. XLATPATH /usr/share/goldedplus/charset/ // Diese Datei muss aus /usr/share/doc/goldedplus/examples/config/charsets.cfg.gz // nach ~/.golded/ kopiert und entpackt werden.
include ~/.golded/charsets.cfg
XLATCHARSET CP437 IBMPC 850_ibm.chs
XLATCHARSET CP437 LATIN-1 850_iso.chs
XLATCHARSET CP850 IBMPC 850_ibm.chs
XLATCHARSET CP850 LATIN-1 850_iso.chs
; wrong but working
XLATCHARSET CP866 IBMPC 866_850.chs
XLATCHARSET LATIN-1 IBMPC iso_ibm.chs
XLATCHARSET LATIN-1 LATIN-1 iso_iso.chs
XLATCHARSET MAC IBMPC mac_ibm.chs
XLATIMPORT IBMPC
XLATEXPORT LATIN-1
XLATLOCALSET LATIN-1 // Auf neue Nachrichten zu scannende Areas (Wildcards okay) AREASCAN * // Area-Konfiguration (von husky) AREAFILE Fidoconfig /etc/husky/areas ; HPT ----------------------------------------------------------------------
Damit die Darstellung aller der meisten Mails mit Umlauten funktioniert, muss der Zeichensatz "de_DE@euro ISO-8859-15" installiert werden:
sudo dpkg-reconfigure locales
Hier den Charset "de_DE@euro ISO-8859-15" auswählen, falls noch nicht geschehen.
Im nachfolgenden Dialog verstelle NICHT den Standardzeichensatz! de_DE@euro muss nur installiert sein, sollte aber nicht als Standardzeichensatz eingestellt werden!!
Nodelist(s) compilieren
gnlnx -C ~/.golded/golded.cfg
Verwendung
golded
Hotkeys:
F1 | Kontextsensitive Hilfe |
ESC | Zurück / Beenden |
Bei geöffneter Nachricht: | |
---|---|
r | Antworten |
q | Antworten und zitieren |
k | Kludges anzeigen |
l | Listenansicht des Echos |
Beim Schreiben einer Nachricht: | |
ALT+s | Speichern und beenden |
CTRL+y | Komplette Zeile löschen |
ALT+b | Zeile neu umbrechen |
Troubleshooting
Egal wie man golded startet, out-of-the-box hat man meistens Probleme mit Zeichen oder Tasten-Kodierungen. Hotkeys funktionieren nicht oder falsch oder es gibt Darstellungsprobleme (Von den Charset-Wars in den Echos ganz abgesehen.. ?)
Hier ein paar Tipps, wie man dem begegnen kann:
Linux
Startet man GoldEd direkt auf dem Linux-System soll es helfen, dies in einem "screen" zu tun... (apt-get install screen)
Windows (Putty)
Folgende Einstellungen können an der Session vorgenommen werden:
Terminal -> Keyboard -> The Backspace key:
Control-? (127)
Terminal -> Keyboard ->The Function keys and keypad:
Xterm R6
Window -> Appearance -> Font:
PxPlus IBM VGA9, 10-point
Window -> Translation -> Remote character set:
ISO-8859-1: 1998 (Latin-1, West Europe)
MacOS (iTerm 2)
Am Besten erstellt man sich ein eigenes Profil für GoldEd, da die notwendigen Einstellungen jede "normale" SSH-Session unbenutzbar machen: Profiles -> Open Profiles -> Edit Profiles...
Hier koennen dann folgende Einstellungen vorgenommen werden:
Text -> Font:
PxPlus IBM VGA9, 10-point
Window -> Settings for new windows -> Columns / Rows:
80x25
Terminal -> Terminal Emulation -> Character Encoding:
Western (ISO Latin 1)
Terminal -> Terminal Emulation -> Report Terminal Type:
linux
Keys -> Left / Right option key acts as:
+ESC
Mit diesen Einstellungen sind die Rahmenzeichen kaputt, aber der Rest funktioniert leidlich. Stellt man den Terminal Type aus ansi funktionieren die Rahmenzeichen, aber der Rest nicht richtig...
schwierig
Hallo,ist alles sehr schwierig. Frontdoor 2.02 fand ich gut :-))
Mit Mystic konnte ich pollen, aber ohne Datentausch.
WWIVBBS macht auch nix.
LoraBBS da ist die Schrift zu winzig.
ELEBBS macht auch nix.
BinkD hat keine cfg - ist leer. Wenn ich die von der Küehlbox nehm stimmt der LOG Pfad nicht. Suche ich in der CFG nach log, findet er nix.
Ich hätte gern mal ne Mail an den Areafix geschickt, nicht mal das geht.
Ich finde die Geschichte Fido über TCPIP zu komplex.
how to get mails
moin. habe mit deiner anleitung die blinkd,husky,go lded combo scheinbar am laufen. ich kann netmails schreiben und empfangen. nur wenn ich z.b. an areafix schreibe und foren bestelle (k.a. wie man diese bereiche unter fido nannte) und danach ein %rescan schicke bekomme ich zwar daten zugeschickt, aber die tauchen nirgends auf. wo finde ich diese? muss ich die extra einlesen? in /etc/husky/areas steht das die automatisch eingetragen werden... kurzum kannst du mir ggf den richtigen wink geben wieso ich keine nachrichten aus den normalen foren sehen kann?Hast Du mal in das interne Echo "BAD" geguckt, ob sie dort aufschlagen?
Ansonsten kontrolliere mal die diversen logs unter /var/log/husky/* und /var/log/binkd/*
Terms & Conditions
Subscribe
Report
My comments