-
Notifications
You must be signed in to change notification settings - Fork 24
/
binkdfaq-ru.txt
1195 lines (848 loc) · 71.7 KB
/
binkdfaq-ru.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
binkd FAQ
Ответы на часто задаваемые вопросы по FTN-мэйлеру binkd
$Date: 2022/07/01 07:11:10 $
Этот FAQ составлен на основе вопросов, часто встречающихся
в эхоконференции RU.BINKD. Часть ответов основана на рекомендациях
разработчиков.
Со всеми предложениями и замечаниями пишите: Stas Degteff 2:5080/102
01. Где взять последнюю копию binkd стабильной версии или беты.
02. Что такое binkd
03. Протокол binkp
04. Что такое и зачем нужен домен binkp.net
05. binkd не соединяется. Что делать?
06. Как подружить binkd и HTTP-прокси.
07. Как подружить binkd и SOCKS-прокси.
08. IP-пойнт: как заставить binkd забрать почту с босса (аплинка).
09. Ошибка "start_file_transfer: .: Permission denied".
10. binkd и диалап: автоматический дозвон и отсоединение.
11. Изменил конфиг при работющем binkd. Когда подействуют изменения?
12. Как подружить binkd c T-mail/IP?
13. Где взять лог анализер для binkd?
14. binkd долго коннектится, хотя сетка скоростная.
15. Почему binkd не понимает передаваемые параметры при запуске из inetd
16. Можно ли сделать FREQ в binkd.
17. Как сделать, чтобы binkd отвечал на FREQ?
18. Как добавить binkd в фидо-станцию, работающую на модеме.
19. Флаги по приему файла не создаются, программы не запускаются.
20. Не работает skipmask.
21. binkd под Windows 3.x.
22. Разные FTN-домены в binkd.
23. Как работает "domain ... alias-for ..." в конфиге
24. Что означает диагностика "send: TCP/IP error (-10000)", как это лечить?
25. Argus (Radius) и binkd: ошибка Argus "Aborting due to carrier loss"
26. В названии аутбаунда - символ комментария и binkd не видит каталог.
27. Есть ли возможность запуска приложения в binkd по событию?
28. В чем различие между binkd/w32 и binkd/w9x?
29. Сильно не хватает чата в binkd! И время синхронизировать хочется.
30. binkd принимает входящее соединение только после исходящего.
31. Ошибка "start_file_transfer: ECHO is off.: No such file or directory".
32. Как правильно создать полл.
33. Что означают цифpы в квадpатных скобках в логе?
34. Как настроить эхотаг для отправки исходящего нетмейла?
35. Зачем нужна директива share в конфиге (shared aka)?
36. Зачем нужна директива ftrans в конфиге?
37. Почему binkd в Windows работает сервисом только от администратора?
38. Кто-нибудь прикрутит, наконец поддержку нодлиста к бинкд?
39. binkd поддерживает домены с символами не из ASCII?
A1. Обнаружил баг в binkd!
A2. Как связаться с разработчиками.
A3. Хочу сразу узнавать об изменениях в binkd!
A4. А когда binkd будет делать ... ?
----------------------------------------------------------------------------
01. Где взять последнюю копию binkd стабильной версии или беты.
В файл-эхе AFTNBINKD.
Кроме того, в Internet'е:
Релизы, документация, анализаторы логов и пр. (Pavel Gulchouck 2:463/68):
ftp://cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/
Скомпилированные версии (windows, os/2):
http://download.binkd.org
https://sites.google.com/view/vasilyevmax/
(Max Vasilyev 2:5057/77)
Скомпилированная версия для OS/2:
https://www.fidonet.fi/pub/binkdos2/
(Tommi Koivula 2:221/6)
Исходники лежат на гитхабе:
https://github.com/pgul/binkd
а также на синхронизированном с ним сервере CVS:
:pserver:[email protected]:/cvs , модуль binkd, пароль пустой
Примеры команд для сервера CVS.
Залогиниться на сервер cvs:
cvs -d :pserver:[email protected]:/cvs login
Получить последние исходники ветки current (на настоящий момент это 1.1):
cvs -d :pserver:[email protected]:/cvs co binkd
Получить последние исходники ветки binkd 1.0.x-stable:
cvs -d :pserver:[email protected]:/cvs co -r binkd-1_0-stable binkd
Получить исходники binkd 1.0.0-release:
cvs -d :pserver:[email protected]:/cvs co -r binkd-1.0.0 binkd
Анонимный FTP:
ftp://cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/snapshot
binkd/2 1.1a (current, EMX), скомпилированный еженощно:
FREQ c узла 2:221/1, алиас файла: binkd2e. Можно скачать также с BBS узла
2:221/1 (доступна по telnet:rbb.dy.fi)
http://rbb.homeip.net/pub/os2/comm/bbs/binkd2e.rar
(Финляндия, Tommi Koivula 2:221/1 & 2:221/360)
Man page, описание binkp, бинарники и пр. (Stas Degteff 2:5080/102):
http://binkd.grumbler.org/
Этот FAQ:
http://binkd.grumbler.org/binkdfaq.shtml (или .txt)
В официальных источниках бинарники binkd именуются так, чтобы показать
OS, компилятор и способ сборки.
Версии для Windows (32bit):
binkd.exe, binkdw32.exe - binkd/w32, консольный, скомпилирован MS Visual C
binkd-dll.exe - binkd/w32, консольный, MS Visual C, требует msvcrt.dll
binkd-mingw.exe - binkd/w32, консольный, MinGW32, требует msvcrt.dll
binkd9x.exe - binkd/w9x, безоконный, скомпилирован MS Visual C
binkd9x-dll.exe - binkd/w9x, безоконный, MS Visual C, требует msvcrt.dll
binkd9x-mingw.exe - binkd/w9x, безоконный, MinGW32, требует msvcrt.dll
Версии для OS/2:
binkd2.exe - компилятор Watcom C, перла нет
binkd2e.exe - emx, умеет подгружать перловую dll и работать без нее
binkd2pl.exe - emx, perl слинкован статически (т.е. перловая dll не нужна)
binkd2eo.exe - emx/omf (multithread), перла нет.
----------------------------------------------------------------------------
02. Что такое binkd
Бинкд - фидошный мэйлер, работающий через интернет по протоколу binkp
(FSP-1018 и др.). Этот протокол поддерживается также мэйлерами Аргус (win32;
RitLabs; https://www.ritlabs.com/en/products/argus/) и его клонами Radius и
Taurus, BForce (unix), программой Internet Rex (DOS/W32/OS2) и BeeMail (win32;
Stephen Proffitt, 1:105/10)
Характеристики:
- freeware, открытые исходники;
- версии для Unix (linux, freebsd, SCO, ...), OS/2 (native & EMX),
Windows NT/2000/XP и Windows 95/98/Me, Windows 3.x, DOS;
- возможность работы демоном под Unix и сервисом Windows NT/2000/XP,
отдельная версия для работы сервисом в Windows 9x;
- простое TCP-соединение (целостность данных отслеживается на уровне TCP);
- BSO (bink-style outbound);
- ASO (Amiga-style outbound);
- трансляция путей в ?LO файлах (используется при размещении аутбаунда
на сетевых дисках);
- персональные файлбоксы для отправляемых и принимаемых файлов для каждого
узла;
- поддержка файлбоксов T-mail и The Brake!;
- поддержка трансляции FTN-адресов в доменное имя (*.binkp.net);
- поддержка файла паролей стиля T-mail - начиная с 0.9.4 и ifcico - c 1.0;
- поддержка FREQ с использованием SRIF;
- создание флагов по приему файла (по маске);
- запуск программ по приему файла (по маске);
- отказ от приема файла (по маске) - начиная с 0.9.4;
- работа через HTTP или SOCKS прокси-сервер (начиная с версии 0.9.3.https);
- шифрование паролей (MD5) - начиная с релиза 0.9.4;
- шифрование трафика - начиная с 0.9.5;
- проверка IP-адреса удаленного узла при входящих соединениях -
начиная с 0.9.5;
- поддержка IPv6 - начиная с 1.0.0;
- поддержка DNS записей IN SRV - начиная с 1.0.0;
- поддержка perl hooks - начиная с 1.0.0;
- поддержка ограничения скорости передачи - начиная с 1.0.0.
----------------------------------------------------------------------------
03. Протокол binkp
Расшифровка названия: binkd protocol. Описан в FSP-1018 (FIDOnet standard
proposal - предложенный для обсуждения/рассмотрения FTSC стандарт) и
порт 24554 выделен для binkp в RFC-1700 (request for comments,
выпускаемый IANA).
Использующий двустороннее TCP-соединение протокол обмена файлами,
разработанный для FTN-мэйлера binkd. По умолчанию использует порт 24554.
Существуют две версии протокола: 1.0 и 1.1, обратно совместимы.
Основное отличие версии 1.1 в возможности делать FREQ во время сессии. Кроме
того, binkp 1.1 в настоящее время имеет опции NR (non-reliable mode,
режим работы с ненадежнвм каналом связи) и ND (no dupes mode, режим защиты
от повторной передачи файлов), MD5 (хеширование паролей), CRYPT (шифрование
трафика).
Версия протокола 1.1 поддерживается мэйлером binkd, версия 1.0 реализована
в мэйлере Argus и его клонах (в нем binkp реализован с добавлением собственного
механизма обработки FREQ и другими изменениями), в MBSE, Internet Rex, BForce
и других. В пакете Internet Rex (2.24 и более поздние) реализован также свой
(несовместимый) вариант binkp/1.1.
Описание протокола на русском языке лежит тут:
http://binkd.grumbler.org/binkp/
----------------------------------------------------------------------------
04. Что такое и зачем нужен домен binkp.net
binkp.net - домен, зарегистрированный для системы трансляции FTN-адресов
в доменные имена internet. Используется при binkp-соединениях.
Адрес 1:2/3 преобразуется в домен f3.n2.z1.binkp.net (для пойнта: 1:2/3.4
преобразуется в p4.f3.n2.z1.binkp.net), затем binkd (или другой binkp-мэйлер)
получает средствами операционной системы IP-адрес узла. Если домен существует -
можно пытаться установить соединение.
Узлы могут оказаться в зоне binkp.net одним из двух способов: либо прописав
свой адрес для доступа по binkp в нодлисте, либо явно его указав через
http://binkp.net (и в этом случае, наоборот, в нодлисте можно указать адрес из
binkp.net).
----------------------------------------------------------------------------
05. binkd не соединяется, сообщает про таймаут (timeout). Что делать?
1. Проверьте, отвечает ли удаленный узел на порту 24554 (команда telnet).
Если соединение не устанавливается, проверьте, подключен ли этот компьютер
в данный момент к сети (команда ping). Если проверки успешные - проверяйте
настройки (при этом помогает увеличение уровня протоколирования: loglevel 6
или больше).
Вот примеры для узла 2:5080/68:
1.1.
(В ответе на телнет управляющие символы убраны, разбиение на строки
выполнено для удобства)
m:\>telnet f68.n5080.z2.binkp.net 24554
-.OPT CRAM-MD5-593e3e5411515fc1cf75816bb74e41d0-SYS Academ
-ZYZ Alexei Kuklin-LOC Ekaterinburg, Russia-NDL 115200,TCP,BINKP,HUB
-%TIME Tue, 20 Feb 2001 15:25:20 +0500- VER binkd/0.9.4/Win32 binkp/1.1
- 2:5080/68@fidonet-OPT ND
M:\>ping f68.n5080.z2.binkp.net
Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:
Reply from 195.19.130.68: bytes=32 time=505ms TTL=122
Reply from 195.19.130.68: bytes=32 time=555ms TTL=122
Reply from 195.19.130.68: bytes=32 time=406ms TTL=122
Reply from 195.19.130.68: bytes=32 time=372ms TTL=122
Узел работает. Проверьте настройки своего binkd. Возможно, задан слишком
маленький таймаут (время, необходимое для установки соединения, можно оценить
по задержке перед ответом в telnet).
Другой вариант: телнет соединяется, а пинг - нет (сообщает "Request timed
out" или "Превышен интервал ожидания"):
M:\>ping f68.n5080.z2.binkp.net
Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Это означает, что ICMP-пакеты запрещены на пути между вами. На работу
binkd они не влияют.
1.2.
M:\>ping f68.n5080.z2.binkp.net
Unknown host f68.n5080.z2.binkp.net
Такой ответ означает, что ваш компьютер не смог обнаружить запись в DNS
для этого узла. Проверьте настройки DNS в системе. Если они верны - убедитесь,
что DNS-сервер работает и адрес удаленного узла указан правильно.
1.3.
Если пинг проходит, а telnet-соединение не устанавливается - возможно,
что binkd на этом узле в данный момент не отвечает. Попробуйте
выяснить с сисопом узла, запущен ли у него binkd. Если запущен и соединяется
с другими узлами - это означает, что доступ к порту 24554 закрыт на файрволле
Вашей сети. Попробуйте запустить binkd через прокси-сервер - см. "Как
подружить binkd и HTTP-прокси", "Как подружить binkd и SOCKS-прокси"
1.4.
M:\>ping -w 5000 f68.n5080.z2.binkp.net
Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:
Reply from 195.19.130.68: bytes=32 time=3674ms TTL=122
Request timed out.
Reply from 195.19.130.68: bytes=32 time=4232ms TTL=122
Request timed out.
Телнет на порт 24554 иногда соединяется, а чаще - нет.
Узел работает, но канал связи между вами сильно загружен или слишком
медленный. При этом binkd соединяется не при каждой попытке (теряются
IP-пакеты) или не соединяется вовсе (слишком мало время ожидания ответа
удаленного узла). Первый случай "неизлечим", поскольку пакеты теряются
в пути и повлиять на это Вы не в состоянии. Во втором случае нужно увеличить
значение времени ожиданий в файле конфигурации binkd (значения задаются
в секундах):
timeout 60
connect-timeout 300
call-delay 60
Если увеличение этих значений не помогает - смените аплинка.
1.5.
Телнет на порт 24554 не соединяется, хост на пинг не отвечает.
Узел не отвечает. Вероятные варианты :
1 - в данный момент ваш компьютер либо удаленный узел не подключен
к интернет или нарушена маршрутизация (обрыв на линии связи, отключение
электропитания, проводятся работы у одного из провайдеров и пр.) -
предпримите несколько попыток позже;
2 - Ваш компьютер находится в Intranet и выход в Internet возможен только
через прокси-сервер - см. "Как подружить binkd и HTTP-прокси", "Как подружить
binkd и SOCKS-прокси"
----------------------------------------------------------------------------
06. Как подружить binkd и HTTP-прокси.
Нередко в ЛВС организации пользователи выходят в Internet исключитально
через прокси-сервер, установленный на единственном компьютере, имеющем выход
в Сеть.
При этом binkd не может установить прямое соединение с удаленным узлом и нужно
использовать этот прокси-сервер.
Поддержка прокси-серверов была включена в версии 0.9.3.https, 0.9.4 и
более поздние.
Работа через HTTP прокси возможна только в том случае, если
в прокси-сервере разрешена команда CONNECT host 24554 (соединение с портом
24554) либо команда CONNECT разрешена для любого порта назначения. Обычно эта
команда используется в протоколе "защищенный HTTP" (ссылки вида HTTPS://...),
иначе называемого S-HTTP. Из-за этого такой прокси нередко называют
"HTTPS-прокси".
Если binkd сообщит, что произошла ошибка авторизации, значит в настройке
прокси-сервера нужная команда запрещена или разрешена только для некоторых
портов (обычно 443).
Предположим, что компьютер, подключенный к Internet, имеет во внутренней
сети IP-адрес 192.168.0.1 и прокси-сервер на нем "отвечает" по порту 3128.
Вот строка в файле конфигурации binkd, нобходимая для работы через этот
HTTP-прокси:
1. Прокси-сервер без авторизации пользователя (не требуется вводить имя
и пароль):
proxy 192.168.0.1:3128
2. Прокси-сервер с авторизацией пользователя (требуется вводить имя и
пароль, к примеру, имя user и пароль password):
proxy 192.168.0.1:3128/user/password
3. Прокси-сервер фирмы Microsoft с авторизацией пользователя по протоколу
NTLM. (Требуется входить в домен.)
К примеру, имя user и пароль password, компьютер пользователя host и домен
ntdomain:
proxy 192.168.0.1:3128/user/password/host/ntdomain
Если администратор прокси-сервера разрешил соединения только с избранными
портами (обычно это порт 443) - тогда binkd выдаст диагностику "Connection
rejected by proxy". Вот пример:
31 Mar 16:48:43 [59987] BEGIN, binkd/0.9.3/SOCKS/HTTPS -p BINKD.CFG
31 Mar 16:48:43 [59987] clientmgr started
+ 31 Mar 16:48:43 [40423] call to 2:5000/44@fidonet
31 Mar 16:48:43 [40423] trying 195.209.235.3, port 24554...
31 Mar 16:48:43 [40423] connected to proxy.osu.ru:24554
31 Mar 16:48:44 [40423] Connection rejected by proxy (HTTP/1.0 403 Forbidden)
? 31 Mar 16:48:44 [40423] unable to connect: {13} Permission denied
В этом случае можно попробовать использовать http-туннелинг, например
с помощью httport, HTTPTunnel (http://http-tunnel.sourceforge.net/), stunnel
(https://www.stunnel.org/) или найти узел, который принимает соединения
по binkp на 443 порт.
----------------------------------------------------------------------------
07. Как подружить binkd и SOCKS-прокси.
Нередко в ЛВС организации пользователи входят в Internet исключитально
через прокси-сервер, установленный на единственном компьютере, имеющем выход
в Сеть. При этом binkd не может установить прямое соединение с удаленным узлом
и нужно использовать этот прокси-сервер.
Поддержка прокси-серверов была включена в версию 0.9.4 и более поздние.
binkd работает с SOCKS-прокси версий 4 и 5. Первые не требуют авторизации
(ввода имени и пароля), вторые как правило ее требуют.
Предположим, что компьютер, подключенный к Internet, имеет во внутренней
сети IP-адрес 192.168.0.1 и SOCKS-сервер на нем "отвечает" по порту 1080.
Вот строка в файле конфигурации binkd, нобходимая для работы через этот
SOCKS-прокси:
1. SOCKS-сервер без авторизации пользователя (не требуется вводить имя
и пароль):
socks 192.168.0.1:1080
2. SOCKS-сервер с авторизацией пользователя (требуется вводить имя и
пароль, к примеру, имя user и пароль password):
socks 192.168.0.1:1080/user/password
----------------------------------------------------------------------------
08. Как заставить binkd забрать почту с босса (аплинка)
Нужно создать полл. binkd это умеет посредством опции -P:
binkd -P1:2/3 binkd.cfg
обычно при этом нужно, чтобы binkd завершил работу по окончании сессии,
для чего используется опция -p:
binkd -p -P1:2/3 binkd.cfg
Если binkd после окончания сессии долго не завершается, уменьшите
значение параметра rescan-delay (иногда и timeout).
Если binkd работает постоянно (например установлен как сервис в Windows)
и требуется регулярно забирать почту, нужно использовать внешние по отношению
к binkd программы или скрипты. Например, в DOS, Windows или OS/2 достаточно
выполнить команду:
cd . >> %outbound%\NNNNMMMM.ilo
где NNNN - шестнадцатиричный номер сети,
MMMM - шестнадцатиричный номер узла,
%outbound% - путь к аутбаунду нужной зоны.
----------------------------------------------------------------------------
09. Ошибка "start_file_transfer: .: Permission denied"
Это сообщение появляется когда binkd не может открыть файл на отправку,
указанный в лошке (*.?lo). Скорее всего в этом файле есть строка, состоящая
из одной ".", т.к. poll создается командой
echo . >> xxxxyyyy.flo
ее нужно заменить на "cd . >> xxxxyyyy.flo"
----------------------------------------------------------------------------
10. binkd/win и диалап: автоматический дозвон и отсоединение
Задача: настроить систему так, чтобы binkd инициировал телефонный звонок
к провайдеру, забирал почту, после чего соединение нужно разорвать.
Решения:
1 вариант
Установить автоматическое установление связи и таймаут в свойствах
соединения (завершать соединение при отсутствии данных через указанное
время). При этом удобно использовать нестандартную программу дозвона
(Advanced Dialer и т.п.). binkd нужно будет периодически запускать
с ключом -p (и, возможно, -Pадрес - чтобы binkd создал полл на адрес)%
binkd -p -P1:2/3.4 binkd.cfg
2 вариант
Используется опция командной строки -p и командный файл, в
котором запускается сервис удаленного доступа (RAS), затем запускается binkd,
после завершения binkd RAS останавливается.
для Windows NT и Windows 2000 два варианта:
=== binkdpoll1.cmd
rasdial Соединение
binkd -p binkd.cfg
rasdial Соединение /disconnect
===
=== binkdpoll2.cmd
net start "remote access service"
net start "remote access auto service"
binkd -p binkd.cfg
net stop "remote access auto service"
net stop "remote access service"
===
3 вариант (наилучший для win9x)
Используются опции командной строки -p и -Pадрес, управление соединением
осуществляется нестандартной программой дозвона (к примеру, dialerp).
Этот вариант наиболее надежен (особенно в случае плохой связи с модемом
провайдера) благодаря тому, что dialerp при установлении соединения может
запускать указанные программы. Вот командный файл, который нужно вызывать
из параметра Execute файла конфигурации dialerp:
====
binkd -p -P1:2/3.4 binkd.cfg
dialerp BREAK *
====
Остается вопрос: где взять dialerp. Ответ: спроси у автора
(Alexander Vedjakin, 2:5020/540) или поищи в архивах файл-эх и на ftp/http.
При любом варианте в файле конфигурации binkd нужно поставить малое
значение у параметра rescan-delay - тогда binkd будет
завершаться быстрее:
=== binkd.cfg
# Outbound rescans period (sec)
rescan-delay 2
===
----------------------------------------------------------------------------
11. Изменил конфиг при работющем binkd. Когда подействуют изменения?
Начиная с версии 0.9.1 binkd научился определять обновление файла
конфигурации. Запущенный с флагом -C он при этом завершался с кодом 3.
(После каждой входящей сессии производилась проверка времени модификации).
Вот файл для запуска binkd версий 0.9.1-0.9.3 и 0.9.4-0.9.6/w32:
====
:aaa
binkd -C binkd.cfg
if errorlevel 4 goto end
if errorlevel 3 goto aaa
:end
====
В версиях 0.9.4/unix и /os2-emx (только в этих) сделан автоматический
перезапуск binkd, если он запущен с ключом -C. Кроме того, начиная с версии
0.9.4 проверяются файлы, включенные в конфиг по include, и проверка
происходит не только при входящих соединениях, но и через каждые
rescan-delay секунд.
В версии 0.9.4/w32 при установке binkd в качестве сервиса Windows NT, нужно
установить его с параметром -C: тогда binkd будет перечитывать конфиг.
До версии 0.9.4 изменения конфига не проверялись, если binkd был запущен
в режиме client-only (ключ -c).
В версях для unix конфиг перечитывается по сигналу SIGHUP, командой
kill -HUP `cat /var/run/binkd.pid`
В версии 1.0 сделано автоматическое перечитывание конфига при его
изменении. Проверка проводится через каждые rescan-delay секунд.
----------------------------------------------------------------------------
12. Как подружить binkd c T-mail/IP?
Hикак не подружить. Протоколы принципиально разные: binkd работает
по протоколу binkp, t-mail/IP - EMSI & etc.
----------------------------------------------------------------------------
13. Где взять лог анализер для binkd?
Существует множество Perl'овых скриптов и несколько win32-бинарников,
к примеру вот:
binkdstat 0.1 beta4 Christmas version 6.01.2002
Statistics generator for binkd
(c) Dmitry Sergienko, 2:464/910@fidonet, [email protected] 14.08.2000
http://web.apex.dp.ua/~trooper/binkdstat
http://binkd.grumbler.org/loganalisers/binkdstat-ds.0.1_beta4_Christmas
Также существует программа BndStat:
BNDST101.ZIP 34812 14-Aug-01 (AREA:AFTNMISC)
BndStat 1.01. With sources. binkd statistics generator. Compiled for all
platforms. Included win32 binaries. (C) Dmitry Rusov, 2:5090/94
Анализатор логов от val khokhlov (perl):
http://www.vk.kiev.ua/create/soft.html#bnkds
http://binkd.grumbler.org/loganalisers/stat-binkd.pl.gz
binkdstat (С) val khokhlov, Dmitry Kolvakh, обновлён в апреле 2006
http://binkd.grumbler.org/loganalisers/binkdstat.zip
T-Hist (c) Michael Markowsky, 2:5020/378 (KLUG's BBS)
Анализатор бинарного лог-файла разных мейлеров, в том числе binkd.
Работает под DOS, Windows NT (2000, XP, 2003) и OS/2.
ftp://ftp.grumbler.org/pub/binkd/hist30a7.zip
Kleine Statistiker/BINKD for DOS v0.60a, русская версия
Маленький генератор статистики для постинга её в эхоконференцию.
ftp://ftp.grumbler.org/pub/binkd/statddos.rar
----------------------------------------------------------------------------
14. binkd долго коннектится (~20 секунд), хотя сетка скоростная (ЛВС).
Наверное "включен" параметр backresolv (писать в лог доменное имя
удаленного хоста) и не настроен DNS.
Самое простое - нужно закомментировать backresolv в файле конфигурации.
Посложнее: необходимо настроить DNS.
----------------------------------------------------------------------------
15. Почему binkd не хочет понимать передаваемые параметры при запуске из inetd
В inetd.conf нужно первым параметром указывать имя программы (в случае
с binkd - любая строка), вторым и далее параметрами - ключи запуска (-iqs и
прочее по вкусу), последним параметром - полнопутевое имя конфига:
binkp stream tcp nowait root /usr/fido/binkd binkd -isq /usr/fido/binkd.cfg
Если не используется опция -q, в конфиге нужно убрать вывод на консоль
(закомментировать printq, percents, conlog).
----------------------------------------------------------------------------
16. Можно ли сделать FREQ в binkd.
Запросто! binkd поддерживает WAZOO FREQ с помощью внешнего обработчика.
Чтобы запросить файлы с удаленной системы нужно создать файл вида
nnnnmmmm.REQ и поместить его в outbound рядом с файлами *.?ut и *.?lo,
относящимся к нужному линку. Но файлы *.REQ не инициируют прозвонку в binkd,
для совершения FREQ нужно создать полл. Что должно быть внутри .REQ файла
описано в файле "!SRIF.TXT", скопированном из FSC-0086.001 c http://ftsc.org
----------------------------------------------------------------------------
17. Как сделать, чтобы binkd отвечал на FREQ?
Для приема и обработки FREQ в binkd настраивается вызов внешнего
фрек-процессора, поддерживающего SRIF (FSC-0086). Читай файл "!SRIF.TXT" и
комментарий к "exec" в конфиг-файле.
Вот примеры строки в конфиге для DOS-based OS и для *nix (там приходится
указывать маску с регулярными выражениями, чтобы binkd распознал файлы
независимо от регистра букв: и *.REQ, и *.req):
exec "\\ftn\\allfix\\allfix.exe RP -SRIF *S" *.req
exec "/ftn/bin/tmafreq-srif *S" *.[rR][eE][qQ]
С binkd начиная с версии 1.1a19 поставляется bash-скрипт srifreq, также
с ним совместимы следующие FREQ-процессоры (но не только эти, подойдет любой
FREQ-процессор, поддерживающий SRIF):
Allfix от Harms Software Engineering: файлэхопроцессор со встроенным
обработчиком файловых запросов, существуют версии под DOS и OS/2;
ViReq от Michael Haase (2:2432/280): специализированный FREQ-процессор
под Windows, распространяется Michael Massenberg (2:2411/505) посредством
Fido-over-IP, по модему и ISDN.
tmafreq от Maxim Timofeyev <[email protected]>: FREQ-процессор,
созданный для юниксоподобных ОС и портированный в Windows. Получить tmafreq
можно на разных BBS и FTP с архивами файлэх, либо можно взять исходники с
анонимного CVS :pserver:[email protected]:/cvsroot, модуль "tmafreq".
VIREQ/x от Volker Imre <[email protected]> (2:246/2098):
FREQ-процессор, созданный для юниксоподобных ОС, но он компилируется в OS/2,
Windows и, возможно, в других ОС. Ныне он включен в проект "ftnapps" на
Sourceforge и его можно загрузить со страницы
http://ftnapps.sourceforge.net/vireq.html.
Скомпилированные Win32 и OS/2 версии доступны на
http://download.binkd.org
https://sites.google.com/view/vasilyevmax/
----------------------------------------------------------------------------
18. Как добавить binkd в фидо-станцию, работающую на модеме.
Нужно настроить модемный мэйлер и тоссер на режим BSO (binkley-style
outbound), так чтобы у всех (и у binkd тоже) совпадали inbound- и
outbound-каталоги. Например, в конфигурации мэйлера "T-mail" нужно указать:
BinkStyle_Pack_For All
Если же мэйлер "умеет" только AMA (arcmail-attach) - можно попробовать
использовать файлбоксы и (или) найти программы, которые могут сконвертировать
очередь Вашего мейлера в BSO или файлбоксы. (К примеру, утилита Mail2dir
позволяет использовать файлбоксы с FrontDoor.) Такие средства лишают Вас
возможности отправить почту одному и тому же линку и по IP, и по модему
(например, в случае неполадок в одном из каналов связи). Другой вариант,
радикальный, но наиболее гибкий по возможностям - сменить мэйлер.
См. также вопрос 35.
----------------------------------------------------------------------------
19. Флаги по приему файла не создаются, программы не запускаются
Наверняка неправильно указана маска в конфиге. Нужно так (версии для
windows и os/2 - первые две строки, в юникс-версиях остальные):
flag m:\\ftn\\flg\\pntseg.flg m:\\\\ftn\\\\inbound\\\\sec\\\\pntstr*.*
flag m:\\ftn\\flg\\toss.flg *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt
exec "/usr/local/bin/ftrack -c /fido/conf/ftrack" *.[Pp][Kk][Tt]
flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Ss][Uu][0-9A-Za-z]
flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Mm][Oo][0-9A-Za-z]
flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Tt][Uu][0-9A-Za-z]
flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Ww][Ee][0-9A-Za-z]
flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Tt][Hh][0-9A-Za-z]
flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Ff][Rr][0-9A-Za-z]
flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Ss][Aa][0-9A-Za-z]
flag "/ftn/flg/fech-in" /ftn/inboundsec/*.[Tt][Ii][Cc]
Надо указывать полное имя файла, который должен приняться, с четырьмя
слешами или маска должна начинаться с символа "звездочка". Для флага нужно
использовать двойные слэши.
Полное имя - потому что имя файла без пути означает событие приема файла
не в инбаунд, а в текущий каталог. Если маска начинается с "*", то в любой
(а поскольку файлы принимаются в один из инбаундов, работает для всех сессий
- и парольных, и непарольных).
В юниксах нужно учитывать, что большие-маленькие буквы в именах файлов
различаются (используйте регулярные выражения в масках).
----------------------------------------------------------------------------
20. Не работает skipmask.
Для skipmask имя файла сравнивается без пути и регистрозависимо.
----------------------------------------------------------------------------
21. binkd под Windows 3.x.
Sergey Zharsky ([email protected]) портировал binkd 0.9.2 и binkd 0.9.5 для
Windows 3.x. Работает c IP стеками Trumpet Winsock ver. 3.0 revision D и
Novell TCP/IP Client for Win 3.11 (см. ответ на вопрос "binkd под DOS."
параграф "Особенность...").
----------------------------------------------------------------------------
22. Разные FTN-домены в binkd и тоссер, не поддерживающий 5D outbound.
Ситуация: два домена (с разными номерами зон, хотя это непринципиально),
почта на первый домен отправляется, на второй - нет. Такая ситуация может
возникнуть, если отсутствует поддержка 5D BSO у тоссера, трекера и других
фидошных программ, используемых на FTN-системе.
Типичная конфигурация binkd для двух доменов и 5D outbound:
domain fidonet c:\\ftn\\outbound\\fidonet 2
domain omeganet c:\\ftn\\outbound\\omeganet 11
address 2:5070/222@fidonet 11:58/6@omeganet
В domain прописывается не номер зоны собственного адреса, как можно было бы
подумать, а зона, которую не надо добавлять к имени outbound'а (т.е. для зоны,
указанной в строке domain, расширения подкаталога аутбаунда не обрабатываются).
Если бы твой тоссер создавал для omeganet бандлы в каталоге omeganet, то
надо было бы писать так, как указано выше; а раз он не работает с 5D и создает
их в fidonet.00b, то писать надо вот так:
domain fidonet c:\\ftn\\outbound\\fidonet 2
domain omeganet c:\\ftn\\outbound\\fidonet 2
address 2:5070/222@fidonet 11:58/6@omeganet
Все свои адpеса обязательно пpописываешь с доменами.
Каталог аyтбаyнда и пyть должен быть везде одинаковый (4D-тоссер считает все
адреса принадлежащими одному домену).
----------------------------------------------------------------------------
23. Как работает "domain ... alias-for ..." в конфиге
Алиасы учитываются при анализе адреса удаленной стороны.
Пример:
domain fidonet.org alias-for fidonet
При проверке домена: fidonet.org в адресе удаленной стороны заменятеся
на fidonet и адрес 1:2/[email protected] будет восприниматься как 1:2/3.4@fidonet
----------------------------------------------------------------------------
24. Что означает диагностика "send: TCP/IP error (-10000)" и как это лечить?
Тут две ошибки, основная исправлена перед ответвлением binkd 0.9.5-stable:
1. Дело в том, что в паре мест в коде binkd не было сделано сохранение
значения кода ошибки, но это не проявлялось нигде кроме как в win-версии.
Ошибка проявлялась потому, что в run-time библиотеке MS Visual C (в отличие от
большинства) нарушается стандарт. Ошибка в том, что errno и h_errno в MSVC RTL
являются макросами, раскрывающимся в системные вызовы, и все они сходятся в
вызов GetLastError(). А значение, возвращаемое этой системной функцией,
сбрасывается в нуль при любом успешном системном вызове. Таким образом, errno
выставляется в ноль например при успешном открытии файла. (По стандарту errno
не должен меняться если не было ошибки.) В binkd влияние этого бага устранено:
2003/04/28 07:30:16 gul
* Bugfix: Log() changes TCPERRNO
2.
Ошибка в Winsock - select() всегда возвращает успешный код для non-blocked
socket. Влияние ее (и других обнаруженных в winsock ошибок) частично устранено:
2003/06/06 16:27:44 gul
* Workaround winsock bug - giveup CPU when sending file
2003/08/11 08:41:55 gul
* workaround winsock bug (patch by Alexander Reznikov)
2003/08/24 00:29:31 hbrew
* win9x-select-workaround fix, thanks to Pavel Gulchouck)
Eсть ещё эффект при высоких уровнях протоколирования (в лог пишется куча
сообщений 'data transfer would block', отладочная информация по результатам
работы select()). Hо на работу в обычном режиме это не влияет. Устранить это
можно, но Павел не стал усложнять код.
----------------------------------------------------------------------------
25. Argus (Radius) и binkd: ошибка Argus "Aborting due to carrier loss"
Сессия между binkd и Radius (или Argus - это несущественно) обрывается
с непонятной диагностикой "Aborting due to carrier loss" при включенном
в Radius шифровании трафика. При этом на стороне binkd соединение обрывается
по инициативе удаленной стороны ("Connection reset by peer").
Лог со стороны Radius:
30-Aug-2003 22:24:31 Encrypted (2:463/375) session
30-Aug-2003 22:24:32 Aborting due to carrier loss
30-Aug-2003 22:24:32 Session aborted
30-Aug-2003 22:24:32 End
Причина в том, что авторы Argus придумали свой способ шифрования трафика,
и в binkd это расширение не реализовано. Все бы ничего, но тонкость в том, что
Argus (и вслед за ним Radius) не соблюдает совместимость с протоколом binkp:
шифрование включается безусловно, без проверок его поддержки удаленной
стороной. Такое вопиющее нарушение спецификации недопустимо - но увы. Выход:
отключить шифрование в Argus для каждого линка, у которого используется binkd.
Правильное поведение мэйлера должно было быть следующим:
- если шифрование необязательно - продолжать некриптованную сессию;
- если в настройке мэйлера установлено обязательное шифрование - сообщить
удаленной стороне об аварийном завершении, например так:
M_ERR "DES encription required"
----------------------------------------------------------------------------
26. В названии каталога - символ комментария и binkd не видит каталог.
При настройке binkd в работающей станции с bink/+: в путях встречается
символ "#", он является комментарием для конфига binkd и, чтобы binkd воспринял
правильный путь, этот символ надо искэйпить в конфиге обратным слэшем:
domain fidonet c:\\fido\\\#out
inbound-nonsecure c:\\fido\\unsec\#in
inbound c:\\fido\\\#in
В версии 1.0 начиная со снапшота 1.0a-317 этот искейпинг можно не
использовать, поскольку началом комментария в середине строки стала считаться
последовательность пробела и решетки (" #") или табуляции и решетки. Примеры
ниже.
Нет комментария:
temp-inbound c:\\fido\\temp#this_is_not_a_comment_but_a_directory_name
Комментарии:
inbound c:\\fido\\in # это комментарий, потому что есть пробел перед "#"
# Вся эта строка - комментарий
----------------------------------------------------------------------------
27. Есть ли возможность запуска приложения в binkd по событию?
Если речь о временных событиях - нет, и не будет. Для управления событиями
существуют разнообразные планировщики, в современных операционных системах они
включены в поставку.
Если же речь о событии приема некоторого файла - давно реализовано (начиная
с версии 0.9), см. в конфиге токены exec и flag.
----------------------------------------------------------------------------
28. В чем различие между binkd/w32 и binkd/w9x?
binkd/w32 - традиционный вариант binkd, консольное win32 приложение.
binkd/w9x - GUI-приложение win32, создающее временные консольные окна по мере
необходимости. Если запустить binkd/w32 в существующем консольном окне
(например, в окне command.com или cmd.exe), он будет работать в том же окне.
В отличие от него binkd/w9x при запуске сразу же отдает управление вызвавшей
его задаче.
Необходимость разработки binkd/w9x была вызвана тем, что в Windows 95/98/Me
и в Windows NT/2000/XP/2003 есть несколько серьезных различий.
Во-первых, консоль реализована по-разному. Основное отличие - консоль
в Windows 9x не воспринимает сигналы shutdown и window close, поэтому
работающий binkd/w32 не может корректно завершиться при закрытии окна и
завершении (перезагрузке) системы.
Во-вторых, в версиях Windows разных веток сильно различаются принципы
работы сервисов.
В итоге, binkd 1.0a/w32 может работать только сервисом Windows NT и
последующих, а binkd 1.0a/w9x - только сервисом Windows 95/98/Me. В будущем
планируется сделать поддержку сервисов NT в binkd/w9x. Корректная поддержка
работы binkd/w32 сервисом под Windows 9x невозможна из-за описанных
особенностей реализации консоли в этих системах.
----------------------------------------------------------------------------
29. Сильно не хватает чата в binkd! И время синхронизировать хочется.
Чтобы початиться - используй talk, icq или irc (да хоть Gadu-Gadu).
Если есть, где запустить binkd, то по тому же каналу может pаботать и все
перечисленное, и многое другое. Чаться до умопомpачения, если сильно надо.
И для синхронизации времени по IP есть специальные утилиты, например,
ntpdate. Причем ntp* берут время с серверов точного времени, в отличие от
мэйлеров.
----------------------------------------------------------------------------
30. binkd-service принимает входящее соединение только после исходящего.
Такое поведение замечено при работе binkd/w32, установленного сервисом
на компьютер с работающим McAfee Firewall. При этом файрвол стартует после
запуска binkd и не обнаруживает его активность, соответственно не дает
установиться соединению. Соответственно нужно обеспечить запуск binkd после
инициализации файрвола.
Возможные решения: отказаться от использования binkd как самостоятельного
Windows NT service и запускать его из-под внешнего менеджера сервисов, или
запускать как обычную программу, либо отказаться от использования такого
файрвола.
----------------------------------------------------------------------------
31. Ошибка "start_file_transfer: ECHO is off.: No such file or directory".
Сообщение в логе:
в английской версии Windows
? 10 Sep 20:37:23 [1664] start_file_transfer: ECHO is on.: No such file
or directory
в русской версии Windows
? 10 Sep 20:37:23 [1664] start_file_transfer: Режим вывода команд на экран
(ECHO) отключен.: No such file or directory
Такая ситуация возникает в том случае, когда полл создан командой
echo >> 12345678.ilo
При этом первая строка файла - сообщение от команды echo о текущем статусе
эховывода на экран. О том, как правильно создавать полл см. вопрос 32. См.
также вопрос 09.
----------------------------------------------------------------------------
32. Как правильно создать полл.
Чтобы создать полл в BSO, нужно создать пустой файл NNNNMMMM.ilo,
NNNNMMMM.clo, NNNNMMMM.dlo или NNNNMMMM.flo. Имя файла состоит из:
шестнадцатиричного номера сети (первые 4 знака), шестнадцатиричного номера узла
(4 знака с пятого по восьмой), точки, знака атрибута (i = immediate, c = crash,
d = direct, f = normal) и букв "lo".
Конечно, если нужный файл уже существует, создавать его не нужно, более
того: во избежание потери почты нужно следить чтобы он не был переписан.
Наиболее универсальная команда (работает в DOS, Windows, OS/2, клонах unix,
CP/M и многих других):
cd . >>NNNNMMMM.flo
В DOS, Windows, OS/2 также работает:
type nul >>NNNNMMMM.flo
В клонах UNIX можно использовать на выбор одну из нескольких команд:
touch NNNNMMMM.flo
echo -n "" >>NNNNMMMM.flo
>>NNNNMMMM.flo
cat /dev/null >>NNNNMMMM.flo