Binkd (Binkd)

Перейти к навигации Перейти к поиску
binkd
Тип FTN мейлер
Автор Дмитрий Малов
Разработчики Дмитрий Малов, Павел Гульчук
Написана на C
Операционные системы UNIX-подобные, Microsoft Windows (3.x и 4.x), macOS, OS/2
Последняя версия 1.0.4 (27 Нояб 2014)
Тестовая версия 1.1a-112 (19 Янв 2021)
Лицензия GNU GPLv2
Сайт binkd.grumbler.org

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