Fidian

Fidian is a Fido Autoinstaller for Debian, RaspberryPi OS and Docker.

Supported:

  • Debian GNU/Linux 10+
  • RaspberryPi OS (Raspbian) 10+
  • Docker

Programs installed and configured by Fidian:

  • BinkD
    The Mailer Daemon sending and receiving your mail.
  • Husky Suite
    Tosser, Ticker, etc to handle incoming and outgoing mail.
  • GoldED+
    The editor for reading and writing mail.
  • TTYd
    Access GoldED+ with your webbrowser.
  • Helper scripts
    Many small helpers to make life easier.

Installation

Fidian can be installed in three different ways:

Manual Installation (existing Debian/Raspbian system)

Download and run as root:

wget https://fido.de/fidosetup.sh sudo bash fidosetup.sh rm fidosetup.sh

This will guide you through the interactive installation process.
You will be asked a few questions, you'll need to answer - all the rest is done automatically.
There are possible parameters. Please see below for details.

Headless installation

For non-interactive installation, provide a file fidoconfig.txt at the same directory, your fidosetup.sh is located.

Please use this example as a template and change it according to your configuration.

Fidian installation instructions

Raspberry Pi Image

Download our download a Raspberry Pi SD-Card Image and use the official Raspberry Pi Imager to extract it to your sd-card.
Set extra options as needed.

Docker Container

Automatic installation

You can install Fidian as a docker container, too. Just add the parameter "docker" to your fidosetup.sh call: wget https://fido.de/fidosetup.sh sudo bash fidosetup.sh --docker rm fidosetup.sh

This will start the same interactive installation process as described under "Manual Installation" but runs a docker container in the end.
There are more possible parameters. Please see below for details.

Manual installation:

You can also install the docker image manually if you prefer. This may make sense when automating stuff:

docker run -d \ -v /etc/binkd:/etc/binkd \ -v /etc/husky:/etc/husky \ -v /var/spool/ftn:/var/spool/ftn \ -v /var/log/fidian:/var/log/fidian \ -e YOUR_SYSTEM="Fidian" \ -e YOUR_LOCATION="Frankfurt, germany" \ -e YOUR_HOSTNAME="johnny.kennmer.net" \ -e ENABLE_TTYD="1" \ -e WEB_PASSWORD="fidian" \ -e LINK_NAME_1="FidoNet" \ -e LINK_DOMAIN_1="fidonet" \ -e YOUR_NAME_1="John Doe" \ -e YOUR_AKA_1="0:0/0.0" \ -e UPLINK_HOST_1="example.com" \ -e UPLINK_PORT_1="24554" \ -e UPLINK_AKA_1="0:0/0" \ -e SESSION_PASSWORD_1="SECRET123" \ -e PACKET_PASSWORD 1="SECRET123" \ -e AREAFIX_PASSWORD_1="SECRET123" \ -e FILEFIX_PASSWORD_1="SECRET123" \ -e TZ="Europe/Berlin" \ -p 24554:24554 \ -p 24580:24580 \ --name fidian \ registry.ambhost.net/docker/fidian:latest

See below for an explanation of the environment variables.

The default password for user fido is fidian.
Change it asap using the command passwd!

Configuration:

Configuration is done via fidoconfig.sh.
This give you the possibility to setup and tweak all the configuration parameters available in an interactive dialog.
All the relevant daemons and tools are automatically reconfigured afterwards.

If you really have to, you'll find the configuration file at:
/home/fido/.fidianconfig

Configuration variables:

YOUR_SYSTEM

Free text to identify your system. Commonly used for the name of your BBS or just your name.
eg: Johnny's Fido System

YOUR_LOCATION

Free text to identify your location.
You're kindly asked to use a format like this: City, country.
eg: Frankfurt, germany

YOUR_HOSTNAME

If your system is reachable from the internet, please enter your FQDN here.
If it isn't, please enter your hostname here (what you get, when running "hostname")
eg: your.domain.com

ENABLE_TTYD

Enable TTYd webinterface on port 24580. (0 or 1)
eg: 1

WEB_PASSWORD

Password for webinterface (user: fido)
eg: SECRET123

LINK_NAME_n

Free text identifier for this link.
eg: FidoNet

LINK_DOMAIN_n

Domain identifier (used internally to distinguish different links)
While this is technically free text, but you should still use the standards provided by your uplink.
eg: fidonet

YOUR_NAME_n

Your full first- and last name.
eg: John Doe

YOUR_AKA_n

Your AKA, assigned by your uplink.
eg: 2:240/5853.5

UPLINK_HOST_n

The FQDN or IP of your uplink.
eg: his.domain.com

UPLINK_PORT_n

Port number of uplink's binkd. (Leave empty for default)
eg: 24554

UPLINK_AKA_n

The AKA of your uplink.
eg: 2:240/5853

SESSION_PASSWORD_n

The session- / binkp password provided by your uplink.
eg: SECRET123

PACKET_PASSWORD_n

The packet password password provided by your uplink. (Leave empty to use SESSION_PASSWORD)
eg: SECRET123

AREAFIX_PASSWORD_n

The areafix password provided by your uplink. (Leave empty to use PACKET_PASSWORD)
eg: SECRET123

FILEFIX_PASSWORD_n

The filefix password provided by your uplink. (Leave empty to use AREAFIX_PASSWORD)
eg: SECRET123

Using Fidian:

Fidian will now start to send and receive mail to and from your configured uplink(s) automatically.
However, you may want to interact in one way or another. Fundamentally there are two ways: Via Commandline or via Webinterface, if enabled during installation.

Webinterface:

When enabled during installation you can access the webinterface with all the most important functions at the exposed address and port, eg:

http://localhost:24580

Login with user "fido" and your WEB_PASSWORD (default: fidian)

This is intended for local use only! You really should not make this publicly available on the internet! At least put a proxy with encryption and some real authentication in front of it.

Commandline:

For full access to all the functions you'll need to login to the commandline either with a locally attached keyboard, via SSH or by entering the docker container - depending on how and where you installed Fidian:

docker exec -u fido -t -i fidian /bin/bash


Besides GoldED Plus, BinkD and an almost full installation of the Husky Suite, Fidian comes with many small scripts to make your life easier.

Here's a list of most of the commands you may want to use:

fidodashboard.sh


A dashboard combining all the most important functions and options in a tmux and dialog based screen.
This is what you'll see at the webinterface, too.

fidoconfig.sh


Configuration tool for Fidian. Use it to add uplinks, update your configuration and Fidian itself.

golded


GoldED Plus message editor.
Use this to read and post messages.


These were the most common commands you'll want to use. But there's more:

fidocomplete.sh Send and receive all mail and files available.
This isn't needed normally. Everything is happening automatically but you can always run this to speed up things.

poll.sh | toss.sh | tick.sh | echoscan.sh | netscan.sh Force poll, toss, tick, echoscan or netscan.
This isn't needed normally. Everything is happening automatically but you can always run these to debug or speed up things.

fidohelp.sh | fidolist.sh | fidosubscribe.sh | fidounsubscribe.sh Use these scripts to communicate with your uplink's areafix.
They will create messages to areafix with the corresponding commands.

Add an existing LINK_NAME as first option to send the message to a Network other than LINK_NAME_1.
eg: fidohelp.sh BBSnet
For fido(un)subscribe.sh every extra option is treated as an echo so (un)subscribe to/from.
eg: fidosubscribe.sh BBSnet kuehlbox_en blackice This will send a message to your BBSnet uplink's areafix, subscribing to the echos kuehlbox_en and blackice.

hpt | htick | nlupd | sqpack These are just some of the more common tools coming with the Husky Suite. You do not need to use them directly - they're all integrated with the Fidian scripts to run automatically or periodically.
If you want or need to use them anyway, please see the project pages for further documentation.

binkd This is the tosser. It's running in the background as a daemon but you can also run it with parameters, for example for force polling an uplink as poll.sh does.
Please see the man-page for further documentation.


fidosetup.sh


Use this to update Fidian and re-generate all the configuration files.
You'll be asked to run this automatically after running fidoconfig.sh.

When running manually, there are a few command line parameters:

--docker

Install as Docker container

--debian

Override OS autodetection to debian

--raspbian

Override OS autodetection to raspbian / RaspberryPi OS

--non-interactive

Don't ask any questions

--update-only

Update only. No Re-Configuration

--dry-run

Don't install anything. Just pretend

--dev

Install current development snapshot

--add-docker-parameters -- (must be last parameter)

Additional parameters for docker run
eg:

--add-docker-parameters -- --network fido --ip 192.168.23.42

Screenshots

Download

stable

Fidian installscript RaspberryPi Image (Bookworm 2023-10-10) Docker Container

development

Fidian installscript (beta) Docker Container (beta)

git clone https://gitlab.ambhost.net/scripts/fidian.git