FIDOIP - FIDONET SOFTWARE PACKAGE FOR WINDOWS, LINUX, ANDROID AND OTHER UNIX-LIKE OS
[http://sf.net/projects/fidoip fidoip] intended both for IP-points and FIDONet sysop as IP-node. 
 
One of useful features fidoip is cross-platform installation, you could ease and quickly move from Windows to any modern distribution of Linux, and then from Linux migrate to any *BSD system and then to return back to Windows using your bases of fido messages. 

For quick understanding basic functionality of fidoip please refer to digest presentation '''[https://sf.net/projects/fidoip/files/media/fidoip-design-and-features.pdf Design and features of fidoip) ]''' 37 slides, PDF, which contains brief decryption both on English and Russian languages, with pictures.
 
Setup fidoip for IP-point or creating full automatic IP-node can be done very quickly in 5 minutes or less. 
Please see this video guides for point installation on Windows: 

	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-point-on-windows.wmv

Video guide for point installation Unix/Linux: 

	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-point-on-unix.wmv

And video guides for point installation Android: 

	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-point-on-android.wmv

If you are newbie and have never worked in FIDONet please see a short video training course for points "The first steps to FIDONet network". In this video (file [https://sf.net/projects/fidoip/files/media/videoguide/first-steps-to-fidonet-video-guide.avi '''first-steps-to-fidonet-video-guide.avi'''], 7 minutes, size 16,4 Mb, MPEG-4) clearly shows how to quickly and easily connect to a FIDONet, configure the software and get started to work.

If you need install IP-node please refer to "[https://sf.net/projects/fidoip/files/media/setup-fido-node-on-unix.pdf Setup FIDONet node on Linux]''' 15 slides , 78,8 Kb, PDF, or '''"[https://sf.net/projects/fidoip/files/media/setup-fido-node-on-windows.pdf Setup FIDONet node on Windows]''' 15 slides, 84,8 Kb, PDF, which contains detailed instructions on English and Russian, recommended for FIDONet sysop and points, who would like become IP node or manage IP node using fidoip.

If you are going to become sysop of FIDONet and would like to create you own FIDONet node it is also highly recommended for viewing this video guides:

Setup FIDONet node on Windows, 25.5 Mb, format Windows Media Video, duration of 8 minutes 13 seconds - a  video guide for installation FIDONet node on Windows:

	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-node-on-windows.wmv

Setup FIDONet node on Unix/Linux  - a video guide for installation FIDONet node on Unix/Linux:

	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-node-on-unix.wmv

Setup FIDONet node on Android  - a video guide for installation FIDONet node on Android:

	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-node-on-android.wmv

In this videos clearly shows how easily and quickly install and configure you own FIDONet node, how to new add links and points to your node configuration via fidoip NMS(Node Management System) and perform other node's administrative tasks via fidoip admin's utilities.

fidoip  (fido software installation package of binkd, husky hpt and GoldEd ) consists of - contents of archive fidoip-2.0.3.tar:
    * ChangeLog - changelog on Russian;
    * ENGLISH-README.txt - this text;
    * RUSSIAN-README.txt  - documentation of fidoip on Russian;
    * UPDATING - how to update fidoip from previous version. 
    * crontask.sh - script for installing polling tasks for crond daemot and other system tasks(only for IP-node); 
    * create_packages.bash - script for creation of binkd, hpt and GoldEd packages for different Unix and distro of Linux ;
    * fidoip_win-2.0.3.zip - already compiled and prepared for installation package with binkd, husky hpt and GoldED binaries and scripts for 32-bit and 64-bit Windows both for FIDONet client installation(IP-points) and FIDONet IP-nodes(IP-nodes);
    * setup_config.bash - script for creation IP-point  configuration of binkd, husky hpt and golded for you on Unix;
    * fidoip-design-and-features.pdf - English and Russian presentation describe fidoip NMS;
    * fido.rus.utf.txt - partly useful but old documentation of fidoip on Russian;
    * setup-fido-node-on-windows.pdf - English and Russian presentation describe fidoip node setup on Windows;
    * setup-fido-node-on-unix.pdf  - English and Russian presentation describe fidoip node setup on Linux and Unix;
    * setup_node.bash - script for creation IP-node configuration of binkd, husky hpt and golded on Linux and Unix;
    * packages/ - catalog with created packages for different Unix-like OS;
    * nowplaying_fidoip_plugin.tar - Now Playng plugins for Unix-like desktops with Amarok, Audacious, XMMS and Rhythmbox

== Installation fidoip on Unix/Linux==

1. Install required packages from repository of your Linux or Unix system:

#  build-essential clang cmake gmake git gsed libutempter-dev zlib1g-dev libbz2-dev zlib zlib-devel bzip2-devel autoconf automake perl binutils ncurses-ui-libs libncurses5-dev ncurses-dev bash perl libperl-dev perl-devel p5-Perl gettext gettext-dev texinfo gtexinfo unzip zip bzip2 bzip2-devel cron cronie screen luit psmisc net-tools curl iputils-ping

Note. Some names of packages may be different in different variants of Unix, some of this packages may be already installed in the system.  And for all *BSD Unix you need to install bash, gsed, p5-Perl and gmake,  but for Linux and Android it is not necessary to install these packages.

Below is list of packages for Debian linux distro installation (for point installation):

# apt-get -y install build-essential git zlib1g-dev libbz2-dev autoconf automake cmake clang unzip zip bzip2 libncurses5-dev gettext screen luit texinfo curl

Note. If you have binary Fidos packages in *.tgz files for your system, which you got from

 http://sf.net/projects/fidoip/files/binaries/

 then you do not need to install compilators and other tools for building binary like make and clang support. 
In case you are NOT going to use create_packages.bash script then installation for point will require only these packages:

# apt-get -y install perl unzip zip bzip2 net-tools gettext screen curl

Below is list of packages for Debian linux distro installation (for node installation):

# apt-get -y install build-essential git zlib1g-dev libbz2-dev autoconf automake cmake clang perl unzip zip bzip2 libncurses5-dev perl libperl-dev gettext screen luit texinfo psmisc cron net-tools curl iputils-ping 

But for Android (in Termux app) for point installation this raw will be:

$ pkg install build-essential clang cmake git autoconf automake perl binutils ncurses-ui-libs gettext texinfo unzip zip bzip2 screen curl 

2. Download latest version of fidoip from site: 

    http://sf.net/projects/fidoip/files/fidoip/

3.  Decide which directory you will be using for FIDO. For example, you decided to install FIDO to 'ftn' subdirectory in home directory ~/. Mkdir this directory and cd to there:

$ mkdir ~/ftn
$ cd ~/ftn

4. Extract all files from fidoip-2.0.version.tar. Then change directory to fidoip-2.0.version, which was created after tarboll extraction:

$ tar -xpf ~/Downloads/fidoip-2.0.version.tar -C .
$ cd fidoip-2.0.version

5. For creation FIDOs packages for your system please run command:

$ bash ./create_packages.bash

 You could add option `--fresh` to this script:

$ bash ./create_packages.bash -f

to build binaries from fresh sources of binkd, husky hpt and Golded+ which are available on Github.

Note. For getting sources to build packages you need working Internet connection. If you connect via proxy edit script create_packages.bash before running, uncomment GIT_PROXY variable and set it for your proxy server setting.   

Note.  If packages for your system already built, do not need to run this script need again - just  copy files *.tgz from packages/ directory to new system and install them as it described in item 6. 

Note. For many distros and OSes you could use already builded packages, which located here:

 http://sf.net/projects/fidoip/files/binaries/

So you may not need to build, just try install them as it described in next item. 

6. Copy created packages to directory where FIDO will be installed and install them:

$ cp -v packages/*.tgz ~/ftn/
$ cd  ~/ftn
$ tar  -xzpf binkd*.tgz
$ tar  -xzpf husky*.tgz
$ tar  -xzpf golded*.tgz

Note 6. You do not need superusers permission (root) to build or install packages - and even more it is better to setup and use FIDO under ordinary unprivilegered user account. 

7. Cd again to directory where archive fidoip-version.tar was extracted:

$ cd ~/ftn/fidoip-version

8. Start point configuration script if you would like to configure point:

$ bash ./setup_config.bash  

or 

Start node configuration script if you would like to configure node:

$ bash ./setup_node.bash

Note 7: For more detailed info regarding node configuration please refer to documentation files (setup-fido-node-on-unix.pdf and fidoip-design-and-features.pdf), included to this archive.

9. Configuration script ask you to input required data. Input data and then
press key y to confirm.

10. Add directory with FIDO binaries to $PATH environment variable. For example, if you setup FIDO to your 'ftn' subdirectory in home directory then use this command:

$ export PATH=$PATH:$HOME/ftn/usr/bin

Then put the line $HOME/ftn/usr/bin to modify PATH in ~/.profile, or in ~/.bash_profile. If your login shell is not bash, put it in other profile file instead.

11. Then use scripts of fidoip for working as point, which located in INSTALLDIR/usr/bin directory:

 fidohelp - program which shows all available commands for FIDO
 recv - program which receive new messages via binkd
 send - program which receive and send new messages via binkd
 rs - same as above
 toss - program which toss messages via husky hpt
 ge - program which start Golded+ editor messages
 g - program which start Golded+ editor with screen's codepage conversions
 gl - program which start Golded+ editor with luit's codepage conversions
 ..

And if you setup node use script of fidoip NMS (Node Management System), which located in same directory:

 fidohelp - program which shows all available commands for FIDO
 addpoint - program which adding new point
 addlink - program which adding new link
 etc...

For more detailed info. regarding point installation please refer to fidoip-design-and-features.pdf and first-steps-to-fidonet-video-guide.avi which could be find at:

	http://sf.net/projects/fidoip/files/media/ 

For more detailed info. regarding node installation please refer to setup-fido-node-on-unix.pdf and fidoip-design-and-features.pdf which could be find at:

	http://sf.net/projects/fidoip/files/media/ 

== Installation fidoip on Android==

1. Download Termux.apk app from F-DROID - Free and Open Source Android App Repository:

	https://f-droid.org/ru/packages/com.termux/

Termux app brings Nix package manager of NixOS fame to your mobile device.

Note: Do not install Termux from Google Play Market as Termux app in this store has limited functionality.  

2. Install Termux.apk as described in article "How to install third-party apps without the Google Play Store".

	https://www.androidauthority.com/how-to-install-apks-31494/

3. Give Termux app access to read and write files. 

Termux by default does not have access to your phone's storage so permissions which needed to setup manually.

To do this Go to Android Settings --> Applications --> Termux --> Permissions  Grant -->
--> Storage permission

Then start TermUx app and run this command:

 $ termux-setup-storage 

For detail please see https://wiki.termux.com/wiki/Termux-setup-storage

4. Then open Termux application and setup dropbear sshd-server:

  $ pkg install dropbear 

5. Find out what user in Termux is running:

  $ whoami

This command will show you 'username' which will be used for remote access via SSH later.

6. Setup password for this user 'username':

  $ passwd

Remeber this username and password. It also will be used for remote access via SSH of SFTP later.

7. You need Access Point connected in Settings of your Android device before checking Wi-Fi interface IP-address:

  $ ifconfig 

It show numbers of network interfaces and settings. 
Select Wi-Fi interface of your Android device.

8. Start dropbear sshd server on port PORTNUMBER .

Note: As you run it under unprivilegered user PORTNUMBER have to be more then > 10000. 

  $ dropbear -p IP_ADDRESS:PORTNUMBER 

Where IP_ADDRESS is Wi-Fi intarface of you mobile device.

9. Login to you phone from PC remotely via Putty or any other ssh client: 

  $ ssh username@IP_ADDRESS -p PORTNUMBER 

And then input password you set up in step 6.

10. Setup openssh-sftp-server packages from repository for accessing via SFTP:

  $ pkg install openssh-sftp-server

Setup WinSCP or other SFTP client on your PC. 
Then get access to your Android device via SFTP-connection. 
For more detail please read: https://wiki.termux.com/wiki/Remote_Access

Then download latest fidoip-2.0.*.tar file and upload it to you Android device.

11. Install AnLinux.apk application from F-DROID - Free and Open Source Android App Repository:

	https://f-droid.org/ru/packages/exa.lnx.a/

AnLinux application allows to run popular Linux distros inside of Termux.  
After installation AnLinux.apk you need to start it. Then select one of Linux distribution and copy raw for image downloading and installing all needed packages. For Debian distro this raw will be:

 pkg install wget openssl-tool proot -y && hash -r && wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/Installer/Debian/debian.sh && bash debian.sh   

After downloading and installing you will have 2 directory for downloaded image:

    selected-distro-binds
    selected-distro-fs

 Copy fidoip-*.tar to selected-distro-fs/. After you start your distro tarboll will be in root fs directory (/fidoip-*.tar).

If you selected Debian then this 2 directory will be named:

    debian-binds
    debian-fs

Copy fidoip-*.tar to debian-fs/. 

$ cp -v fidoip-2.0.*.tar debian-fs

After you start your Debian distro tarball will be in root fs directory (/fidoip-2.0.*.tar).

For staring selected disto please run script:

$ ./start-selected-distro.sh 

If you selected Debian then this script will be named:

$ ./start-debian.sh

To see fidoip-2.0.*.tar exist in root fs run command:

$ ls -al /fidoip-2.0.*.tar

After starting this script you will get your Linux distro running in CLI-mode. 
Update it, setup proper time zone and codepage for locale.
Then install wget package from repository and download latest fidoip-2.0.*.tar file.

12. Then go to section "Installation fidoip on Unix/Linux" which described upper in this manual. 
Follow steps from 2 to 12 and setup fidoip for node or point.

== Installation on Windows ==

0. VBScript and WMIC in Windows 11 24H2, Windows Server 2025 and later version of Windows are A FoD (feature on demand) and disabled by default. 
Go into Settings, Search "optional features", Add Feature, Search "WMIC" and "VBScript ", Check the box and Click Next.

1. Extract archive fidoip_win-2.0.3.zip in root directory of any logical disk. After extraction 2 directories will be created:

\usr - for binaries and scripts
\fido - for fido messages bases

For example if you place fidoip_win-2.0.3.zip to root directory D: drive and extract. Then fidoip will be installed in d:\usr and d:\fido directories. Or if you place fidoip_win-2.0.3.zip to root directory of C: drive and extract then FiDO's binaries and bases will be installed in c:\usr and c:\fido directories.

2. Open with Notepad editor file \usr\setup_config.vbs. Change follow 8 rows:

const yourFullName = "Vasiliy Pampasov" - instead of Vasiliy Pampasov set here your name;
const yourFTNAddress = "2:5020/828.555" - Set here your FTN-address;
const yourStationName = "MyStation" - Set here name of your station;
const yourLocation = "Russia, Moscow" - Set here your location;
const yourUplinkName = "Kirill Temnenkov" - Set here name of Uplink;
const uplinkFTNAddress = "2:5020/828" - Set here Uplink FTP-address;
const uplinkServerName = "temnenkov.dyndns.org" - Set here host name or IP of you boss;
const yourPassword = "12345678" - Set here you password.

After you edit this file then save it and close.

3. Run \usr\setup_config.vbs file by clicking mouse it twice.
This file will make configuration files for you.

In same way for setup node configuration please edit setup_node.vbs file.

For node configuration instead clicking mouse on setup_node.vbs file twice.

For more detailed info. regarding points installation please refer to:

1. fidoip-design-and-features.pdf, 
2. video guide first-steps-to-fidonet-video-guide.avi
3. video guide setup-fido-point-on-windows.wmv
4. video guide setup-fido-point-on-unix.wmv
5. video guide setup-fido-point-on-android.wmv

Which could be find at: http://sf.net/projects/fidoip/files/media/ 

For more detailed info. regarding nodes installation please refer to:

1. setup-fido-node-on-windows.pdf,
2. fidoip-design-and-features.pdf, 
3. video guide setup-fido-node-on-windows.wmv
4. video guide setup-fido-node-on-unix.wmv
5. and video guide setup-fido-node-on-android.wmv 

which could be find at: http://sf.net/projects/fidoip/files/media/ 

For more details see regarding installation and usage please watch video guides at https://sf.net/projects/fidoip/files/media/videoguide/:

	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-node-on-windows.wmv
	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-node-on-unix.wmv
	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-node-on-android.wmv
	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-point-on-windows.wmv
	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-point-on-unix.wmv
	https://sf.net/projects/fidoip/files/media/videoguide/setup-fido-point-on-android.wmv
	https://sf.net/projects/fidoip/files/media/videoguide/first-steps-to-fidonet-video-guide.avi

==Where to get FIDO packages==

1. For Windows it is already included to fidoip-*.tar tarboll - in upper directory fidoip_win-*.zip.

2.  For Linux Debian and Android check subdirectories of packages in fidoip-*tar file. For installing just extract *.tgz files to directory you selected for FIDO (see step 6. of item "Installation fidoip on Unix" in this file upper).

3. For other Linux distro and Unix-like OS use script:  

$ bash ./create_packages.bash

to build fresh packages on your system. You could add option `--fresh` to this script:

$ bash ./create_packages.bash -f

to build binaries from fresh sources of binkd, husky hpt and Golded+ which are available on Github.

== FIDOSlax Linux - distribution with FIDONet software included ==

FIDOSlax a distro has already integrated software for FIDONet network by using the method of FIDO over IP (binkd, husky hpt and GoldED). 

Connecting to FIDONet using FIDOSlax Linux is very easy - just boot FIDOSlax up and connect to FIDONet using simple configuration. 

FIDOSlax Linux - a compact and fast distribution of Linux which easily fits on a USB-drive, CD/DVD-ROM or a small hard disk partition. 

For more detailed information visit FIDOSlax Linux web site: 

https://sourceforge.net/projects/fidoip/files/linux/fidoslax-retro-edition/

And download video guides:

https://sf.net/projects/fidoip/files/media/videoguide/setup-fidoip-node-on-android-using-limbo-emulation-and-fidoslax.wmv
https://sf.net/projects/fidoip/files/media/videoguide/setup-fidoip-point-on-android-using-limbo-emulation-and-fidoslax.wmv

== Using fidoip in Windows ==

For receiving and sending messages use \usr\bin\rs.bat script.
For starting Golded-NSF use script \usr\bin\ge.bat.
Shortcut to these file placed on Desktop.

== Using fidoip in Unix ==

Script INSTALLDIR/usr/bin/recv - use for receiving only;
Script INSTALLDIR/usr/bin/send - use for receiving and sending;
Script INSTALLDIR/usr/bin/rs - use for receiving and sending;
Script INSTALLDIR/usr/bin/toss - use for toss only;
Script INSTALLDIR/usr/bin/ge - use for starting of Golded.

== fidoip NMS (Node Management System) ==                                                          

The fidoip NMS system (Node Management System) provided commands for performing node's administrative tasks.
Before running any command you need to login as "user" for whom you installed fidoip via network, sudo or su and then run command to manage node. 
For mode managing you could use following commands:

 addpoint..... to add new point to node configuration files
 addlink ..... to add new point
 addread ..... to set read-only for point 
 binkdsrv .... to restart binkd mailer daemon
 removepoint . to remove point from node configuration files
 removelink .. to remove removelink
 removeread .. to unset read-only for point
 listpoint ... to list all points on the station
 listlink .... to list all links on the station    
 listread..... to list all read-only sets
 viewpoint.... to view settings of selected point
 fpasswd...... to change point's password
 ge........... to edit FIDONet messages in GoldEd editor in koi8-r codepage
 g............ to edit FIDONet messages in GoldEd editor in utf8 codepage
 rs;send...... to exchange data and poll with links manually
 
You could always see this list of command with description if type:

$ fidohelp   

== Configuration files of fidoip ==

1.In Windows:

Binkd and Husky hpt config files located in \usr\fidoconf\
Check them and change zone 2 to your zone if configuration setup_config.vbs didn't done it yet.   
Golded config, template and other files located in \usr\golded+\

2) In Unixes and Android

Binkd, hpt and golded config files located in INSTALLDIR\usr\etc\

== English language ==

English language users may need clean up Russian specific Cyrillic setting in \usr\golded+\ golded.cfg

Note. For English and other Non-Russian users for Windows your need comment Russian specific Cyrillic setting in golded.cfg.
Here is this option:

 ;XLATPATH 
 ;XLATLOCALSET 
 ;XLATIMPORT 
 ;XLATEXPORT 
 ;XLATCHARSET 
 ;XLATCHARSET
 ;LOADLANGUAGE 

Then remove file goldlang.cfg.
In file golded.cfg you need to change description of echoes, options of ImportBegin and ImportEnd.
Edit also file golded.tpl and clean up Russian in this template.
