Binkd

Binkd — это программа, разработанная для передачи почты и файлов (мейлер) в международной любительской сети Фидонет. В отличие от классических FTN-мейлеров, binkd работает по специально разработанному для него протоколу binkp, используя в качестве транспорта TCP/IP. Таким образом, binkd позволяет передавать фидошную почту как через Интернет, так и по локальной сети.

Binkd распространяется под лицензией GNU GPL v.2.

История 
Протокол binkp и мейлер binkd были разработаны в 1996 году Дмитрием Маловым (2:5020/128). Благодаря своим достоинствам по сравнению с ifcico, Binkd быстро распространился среди русскоязычных пользователей Фидо, имеющих постоянный доступ к Интернету.
В 2000 году автор забросил развитие binkd и его разработку продолжила команда разработчиков во главе с Павлом Гульчуком (2:463/68).

Основные возможности binkd 
 Кроссплатформенность. Существуют версии для UNIX-подобных платформ, Microsoft Windows (32-битных и 16-битных), macOS, OS/2, DOS, AmigaOS. Разработчики приветствуют адаптацию binkd для разных операционных систем и аппаратных платформ.
 Высокая эффективность протокола binkp, поддерживаются версии протокола binkp 1.0 и binkp 1.1
 Работа без участия оператора (демон в юниксоподобных ОС и сервис в Windows) либо с управлением из командной строки.
 Используется DNS для определения IP-адреса удалённого узла, при этом binkd может транслировать адрес FTN в доменное имя DNS, как это сделано в домене fidonet.net.
 Возможность проверки соответствия IP-адреса удалённого узла предъявленному им адресу FTN.
 Соединения защищены паролем. Имеется возможность безопасной передачи пароля по открытым каналам связи с использованием хешей MD5.
 Поддержка аутбаундов в формате Binkley Style Outbound (BSO) или Amiga Style Outbound (ASO).
 Поддержка файл-боксов стилей T-Mail и The Brake!.
 Поддержка FREQ стиля WAZOO.
 Поддержка работы через прокси-сервер.
 Возможен отказ от приёма файлов по маске имени файла.
 Возможно создание файлов-флагов и запуска внешних программ по событию.

Врождённые дефекты 
Бедность возможностей нижележащего протокола binkp приводит к следующим издержкам:
 При докачке или отказе от приёма файлов передаётся некоторое количество ненужного трафика («торопливость» протокола — передача файла начинается до получения подтверждения от удалённой стороны)
 Реализация подтверждения приёма файлов в режиме ND/NDA имеет порок, приводящий в некоторых случаях к полной невозможности передачи файла с определённым именем, до тех пор пока проблема не будет устранена вручную.

Кроме того, несмотря на направленность для использования в ФИДО, binkd не имеет встроенных возможностей работы с нодлистом и требует либо размещения информации об узлах в специальной зоне DNS, либо использования внешних программ.

Пример работы 
Фрагмент лог-файла с сессией связи и приёмом файла от другой копии binkd:
+ 03:13 [28615] session with example.org (192.168.21.171)
- 03:13 [28615] OPT CRAM-MD5-d6e97aeb23dc5efa4361102c15e1a300
+ 03:13 [28615] Remote requests MD mode
- 03:13 [28615] SYS La-la BBS
- 03:13 [28615] ZYZ Ivan Sokolov
- 03:13 [28615] LOC Moscow, Russia
- 03:13 [28615] NDL 115200,TCP,BINKP
- 03:13 [28615] TIME Thu,  1 Jan 2009 03:17:18 +0300
- 03:13 [28615] VER binkd/0.9.9-stable/Linux binkp/1.1
+ 03:13 [28615] addr: 2:5020/9999@fidonet
+ 03:13 [28615] addr: 13:42/12@examplenet
- 03:13 [28615] TRF 0 0
+ 03:13 [28615] Remote has 0b of mail and 0b of files for us
- 03:13 [28615] OPT CRYPT
+ 03:13 [28615] Remote requests CRYPT mode
+ 03:13 [28615] pwd protected session (MD5)
- 03:13 [28615] session in CRYPT mode
- 03:13 [28614] receiving 87d1b5cf.th0 (1215 byte(s), off 0)
+ 03:13 [28614] 87d1b5cf.th0 -> /var/spool/ftn/inb/87d1b5cf.th0
  03:13 [28614] got *.th?, delayed starting etoss.sh
+ 03:13 [28614] rcvd: 87d1b5cf.th0 (1215, 1215.00 CPS, 2:5020/9999@fidonet)
+ 03:13 [28615] done (to 2:5020/9999@fidonet, OK, S/R: 0/1 (0/1215 bytes))
  03:13 [28615] session closed, quitting...
  03:13 [28612] rc(28615)=0

Ссылки 
 Описание протокола Binkp 1.0 на русском языке.
 Описание отличий версий 1.1 и 1.0 протокола Binkp на русском языке.
 Официальная страничка современного binkd.
 Свежие сборки на одном из зеркал фехи «aftnbinkd».
 Руководство пользователя binkd.

Программное обеспечение Фидонета
Свободное программное обеспечение, написанное на Си
Программное обеспечение с лицензией GNU GPL