@echo off
setlocal enabledelayedexpansion enableextensions

set CURDISK=%~d0
set WORKDIR=%~dp0
set /a INST=0
set INSTALLPATH=%CURDISK%\Fido
set PATH=%PATH%;%WORKDIR%\bin

:STARTINSTALL
echo Начинаем установку в директорию '!INSTALLPATH!'.

 if exist !INSTALLPATH! (
 	echo "!INSTALLPATH! уже существует..."
 	set INSTALLPATH=!INSTALLPATH!.!INST!
 	set /a INST+=1
 	goto STARTINSTALL
 )

set BINDIR=%INSTALLPATH%\bin
set ETCDIR=%INSTALLPATH%\etc
set DOCDIR=%INSTALLPATH%\doc
set HUSKYURL=http://download.huskyproject.org
set GOLDEDURL=http://download.golded.org/win/
set X=%PROCESSOR_ARCHITECTURE:~-2%
if /i "!X!" == "86" set X=32

rem goto SKIP

:NONAME
echo Введи своё имя. Имя должно состоять из двух слов латинскими буквами.
set /p SYSOPNAME=[Enter your name]: 
if "%SYSOPNAME%" == "" goto NONAME

:NOADDR
echo Введи свой адрес в Фидо.
set /p ADDRESS=[Enter your address]: 
if "%ADDRESS%" == "" goto NOADDR
Call :ISFIDOADDRESS %ADDRESS% NOADDR

:NOUPLINKADDRESS
echo Введи адрес своего аплинка. 
set /p UPLINKADDRESS=[Enter your uplink address]: 
if "%UPLINKADDRESS%" == "" goto NOUPLINKADDRESS
Call :ISFIDOADDRESS %UPLINKADDRESS% NOUPLINKADDRESS

:NOUPLINKPASSWORD
echo Введи свой пароль. 
set /p UPLINKPASSWORD=[Enter your uplink password]: 
if "%UPLINKPASSWORD%" == "" goto NOUPLINKPASSWORD


rem :SKIP
rem ------------------------------
rem set SYSOPNAME=SysOp
rem set ADDRESS=2:460/5858.1
rem set UPLINKADDRESS=2:460/5858
rem set UPLINKPASSWORD=12345678
rem ------------------------------

	for /F "eol=; tokens=1,2,3,4* delims=." %%I in ( "%ADDRESS%" ) do (
		IF "%%J" == "" set ADDRESS=%ADDRESS%.0

	)
	for /F "eol=; tokens=1,2,3,4* delims=." %%I in ( "%UPLINKADDRESS%" ) do (
		IF "%%J" == "" set  UPLINKADDRESS=%UPLINKADDRESS%.0
	)

Call :SHEDULER

Call :GETHUSKY

mkdir !BINDIR!
mkdir !ETCDIR!
mkdir !DOCDIR!
mkdir %INSTALLPATH%\flags

set PATH=%PATH%;!BINDIR!
copy /y %WORKDIR%\bin\*.* %BINDIR%
%WORKDIR%\bin\unzip -oj !FILENAME! -d %BINDIR%
%WORKDIR%\bin\unzip -o  !DOCSNAME! -d %DOCDIR%
del /f/q !FILENAME!
del /f/q !DOCSNAME!

Call :CONFIGUREHUSKY
%WORKDIR%\bin\wget https://brorabbit.g0x.ru/nodelist.367
if not exist nodelist.367 Call :NOTDOUND https://brorabbit.g0x.ru/nodelist.367
copy /y nodelist.367 %INSTALLPATH%\nodelist\
del /f/q nodelist.367

Call :GETGOLDED

Call :GETBINKD

Call :CONFIGUREBINKD

Call :CONFIGUREGOLDED

echo Запустить фидо пакет?
set /p S=[y/n]:

if "!S!" == "y" (
	start "Shedule" /i /d %INSTALLPATH%\sheduler %INSTALLPATH%\sheduler\sheduler.cmd
	echo %UPLINKADDRESS% > %INSTALLPATH%\flags\poll.now
)

exit

rem --------------------------------------------------------------------------

:SHEDULER
	mkdir %INSTALLPATH%\sheduler
	mkdir %INSTALLPATH%\logs\arc

	copy /y %WORKDIR%\shedule\* %INSTALLPATH%\sheduler
	
	echo ;-------------------------------------------------------------------------- >> %INSTALLPATH%\sheduler\sheduler.poll
	echo ; "<zone>:<net>/<nede>.<point> <PollPeriod> ;(sec)">> %INSTALLPATH%\sheduler\sheduler.poll
	echo ;>> %INSTALLPATH%\sheduler\sheduler.poll
	echo %UPLINKADDRESS% 3600>> %INSTALLPATH%\sheduler\sheduler.poll
	echo ;>> %INSTALLPATH%\sheduler\sheduler.poll
	
	echo ;-------------------------------------------------------------------------- >> %INSTALLPATH%\sheduler\sheduler.event
	echo ; "period <sec> <description_in_a_one_word_without_spaces(max 22 ch.)> <command> ">> %INSTALLPATH%\sheduler\sheduler.event
	echo ; period 1800 UUE_DEVOCHKI perl D:\Fido\pic\send.pl>> %INSTALLPATH%\sheduler\sheduler.event
	echo ;>> %INSTALLPATH%\sheduler\sheduler.event
	echo ; "daily <hh:mm> <description_in_a_one_word_without_spaces(max 42 ch.)> <command>" >> %INSTALLPATH%\sheduler\sheduler.event
	echo ;>> %INSTALLPATH%\sheduler\sheduler.event
	echo daily   23:57 cut_logs %INSTALLPATH%\sheduler\ziplog.cmd  %INSTALLPATH%\logs %INSTALLPATH%\logs\arc 4 >> %INSTALLPATH%\sheduler\sheduler.event
	echo daily   00:01 purge_echo %BINDIR%\sqpack.exe -c %ETCDIR%\husky.conf "*" >> %INSTALLPATH%\sheduler\sheduler.event
	echo ;>> %INSTALLPATH%\sheduler\sheduler.event
	echo ; "birthday <dd.mm.hh:mm> <description_in_a_one_word_without_spaces> <command>">> %INSTALLPATH%\sheduler\sheduler.event
	echo ;birthday 18.04.09.03 Happy_Birthday_Oleg_Redut.2.5000/111 d:\fido\hpt\bin\hpt.exe -c D:\Fido\hpt\hpt.cfg post  -s "Oleg Redut" -e "netmail" -z "Glad Robot" -o "Lame Users Breading, Simferopol, Crimea." -x -f loc,npd D:\Fido\Mail\tpl\hb2me.tpl>> %INSTALLPATH%\sheduler\sheduler.event
	echo ;>> %INSTALLPATH%\sheduler\sheduler.event
	echo ; "monthly <dd.hh:mm> <description_in_a_one_word_without_spaces> <command>">> %INSTALLPATH%\sheduler\sheduler.event
	echo ;monthly 21.00:15 Post_Routing d:\fido\hpt\bin\hpt.exe -c D:\Fido\hpt\hpt.cfg post  -s "Routing at 2:460/58." -e "R46.SYSOP.INFO" -z "The End" -o "Lame Users Breading, Simferopol, Crimea." -x -f loc,npd D:\Fido\hpt\route.cfg>> %INSTALLPATH%\sheduler\sheduler.event
	echo ;>> %INSTALLPATH%\sheduler\sheduler.event
	
	for /F "eol=; tokens=1,2,3,4* delims=:" %%I in ( "%ADDRESS%" ) do (
		set ZONE=%%I
rem		set NET = %%J
rem		set NODE = %%K
rem		set POINT = %%L
	)
	echo ;-------------------------------------------------------------------------- >> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo DefaultZone %ZONE% >> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ; Все имена каталогов (директорий, папок) не должны оканчиваться символом "\".>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ; Все несуществующие каталоги будут созданы.>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo flagsDir %INSTALLPATH%\flags>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo outbound  %INSTALLPATH%\outbound\fidonet>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo logdir %INSTALLPATH%\logs>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo flag toss.now  %INSTALLPATH%\hpttoss.cmd>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo flag scan.echo %BINDIR%\hpt.exe -c %ETCDIR%\husky.conf scan>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo flag scan.NetMail %BINDIR%\hpt.exe -c %ETCDIR%\husky.conf pack>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ; "KeepRunning <binary_name> <command>">> %INSTALLPATH%\sheduler\sheduler.cfg
	echo KeepRunning binkd.exe start "Fido. Binkd." %BINDIR%\binkd.exe -C %ETCDIR%\binkd.conf>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo bindir %BINDIR%>> %INSTALLPATH%\sheduler\sheduler.cfg
	echo ;>> %INSTALLPATH%\sheduler\sheduler.cfg


exit /b


:GETGOLDED
	set F=""
	%WORKDIR%\bin\wget %GOLDEDURL%
	if not exist index.html call :NOTDOUND %GOLDEDURL%/index.html

	for /F "skip=9 tokens=6,7,8,9,10,11,12,13,14,15,16,* delims=><-" %%i in ( index.html ) do (
		if /i !F! lss %%i (
			if /i "%%j" == "win!X!" (
				set FILENAME=%%l-%%m-%%n-%%o-%%p-%%q
				set F=%%i
			)
		)
	)

rem echo !FILENAME!
	%WORKDIR%\bin\wget %GOLDEDURL%/!FILENAME!
	if not exist !FILENAME! call :NOTDOUND %GOLDEDURL%/!FILENAME!

	del /f/q index.html

    %WORKDIR%\bin\unzip -oj !FILENAME! -d %BINDIR%
    del /f/q !FILENAME!

    ren %BINDIR%\ged*.exe golded.exe

exit /b

:GETHUSKY
	echo "Скачиваем Husky."
	set F=""
	%WORKDIR%\bin\wget %HUSKYURL%/win!X!/
	if not exist index.html call :NOTDOUND %HUSKYURL%/win!X!/index.html

	for /F "skip=9 tokens=9,10,11,12,13,14,15,16,* delims=><-" %%i in ( index.html ) do (
		if /i !F! lss %%i ( 
			set FILENAME=%%j-%%k-%%l-%%m-%%n-%%o-%%p
			set F=%%i
		)
	)
	%WORKDIR%\bin\wget %HUSKYURL%/win!X!/!FILENAME!
	if not exist !FILENAME! call :NOTDOUND %HUSKYURL%/win!X!/!FILENAME!

	del /f/q index.html

	set F=""
	%WORKDIR%\bin\wget %HUSKYURL%/docs/
	if not exist index.html call :NOTDOUND %HUSKYURL%/docs/index.html

	for /F "skip=9 tokens=4,* delims=><" %%i in ( index.html ) do (
		if /i !F! lss %%i (
			set DOCSNAME=%%i
			set F=%%i
		)
	)
	%WORKDIR%\bin\wget %HUSKYURL%/docs/!DOCSNAME!
	if not exist !DOCSNAME! call :NOTDOUND %HUSKYURL%/docs/!DOCSNAME!

	del /f/q index.html

exit /b

:CONFIGUREHUSKY
	echo # main fidoconfig file > %ETCDIR%\husky.conf
	echo # >> %ETCDIR%\husky.conf
	echo SysOp %SYSOPNAME% >> %ETCDIR%\husky.conf
	echo Address %ADDRESS% >> %ETCDIR%\husky.conf
rem	echo name Dummy point station >> %ETCDIR%\husky.conf
rem	echo location FidoNet >> %ETCDIR%\husky.conf
	echo Origin Robot's origin>> %ETCDIR%\husky.conf
	echo # каталоги >> %ETCDIR%\husky.conf
	echo # входящий для непарольных сессий >> %ETCDIR%\husky.conf
	echo inbound %INSTALLPATH%\inbound\unsecure >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\inbound\unsecure
	echo # аналогично - для парольных сессий >> %ETCDIR%\husky.conf
	echo protinbound %INSTALLPATH%\inbound >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\inbound
	echo # исходящие файлы >> %ETCDIR%\husky.conf
	echo outbound %INSTALLPATH%\outbound\fidonet >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\outbound\fidonet
	echo # временные каталоги для тоссинга и паковки >> %ETCDIR%\husky.conf
	echo tempinbound %INSTALLPATH%\inbound\tmp >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\inbound\tmp
	echo tempoutbound %INSTALLPATH%\outbound\tmp >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\outbound\tmp
	echo # лог; если что-то не работает - читать здесь >> %ETCDIR%\husky.conf
	echo logfiledir %INSTALLPATH%\logs >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\logs
	echo # дупобаза >> %ETCDIR%\husky.conf
	echo dupehistorydir %INSTALLPATH%\mail\dupebase >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\mail\dupebase
	echo # нодлист искать здесь >> %ETCDIR%\husky.conf
	echo nodelistdir %INSTALLPATH%\nodelist >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\nodelist
rem	wget -O %INSTALLPATH%\nodelist\nodelist.367 https:\\brorabbit.g0x.ru\nodelist.367
	echo # база сообщений >> %ETCDIR%\husky.conf
	echo msgbasedir %INSTALLPATH%\mail\echo >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\mail\echo
	mkdir %INSTALLPATH%\mail\NetMail
	echo # результаты работы тоссера, могут использоваться другими программами >> %ETCDIR%\husky.conf
	echo echotosslog %INSTALLPATH%\logs\toss.log >> %ETCDIR%\husky.conf
	echo importlog %INSTALLPATH%\log\import.log >> %ETCDIR%\husky.conf
	echo # строить цепочки ответов только для новых сообщений >> %ETCDIR%\husky.conf
	echo linkwithimportlog kill >> %ETCDIR%\husky.conf
	echo # отдельные каталоги для линков >> %ETCDIR%\husky.conf
	echo separatebundles yes >> %ETCDIR%\husky.conf
	echo # не светить версии ПО >> %ETCDIR%\husky.conf
	echo disablepid yes >> %ETCDIR%\husky.conf
	echo disabletid yes >> %ETCDIR%\husky.conf
	echo # Perl-обработчики; подробное описание - в файле perlhooks >> %ETCDIR%\husky.conf
	echo #hptperlfile %INSTALLPATH%\perl\filter.pl >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\perl
	copy /y %WORKDIR%\perl\filter.pl %INSTALLPATH%\perl
	echo # настройки архиваторов; дополнительные примеры - в файле packers >> %ETCDIR%\husky.conf
	echo pack zip zip -9 -j -q $a $f >> %ETCDIR%\husky.conf
	echo unpack "unzip -j -Loqq $a $f -d $p" 0 504b0304 >> %ETCDIR%\husky.conf

	echo # сюда будут складываться сообщения нам в конференциях >> %ETCDIR%\husky.conf
	echo #carbonto Ivan Durak >> %ETCDIR%\husky.conf
	echo #carboncopy PERSONAL.MAIL >> %ETCDIR%\husky.conf

	echo # сообщения для роботов будут приниматься и отправляться здесь
	echo robotsarea NETMAIL >> %ETCDIR%\husky.conf

	echo # настройки, общие для всех роботов >> %ETCDIR%\husky.conf
	echo robot default >> %ETCDIR%\husky.conf
	echo # удалять сообщения с запросами >> %ETCDIR%\husky.conf
	echo killrequests yes >> %ETCDIR%\husky.conf
	echo # атрибуты для сообщений с ответами >> %ETCDIR%\husky.conf
	echo reportsattr loc pvt k/s npd >> %ETCDIR%\husky.conf

	echo # настройки только для этого робота >> %ETCDIR%\husky.conf
	echo robot areafix >> %ETCDIR%\husky.conf
	echo fromname Areafix robot >> %ETCDIR%\husky.conf
	echo robotorigin Areafix robot >> %ETCDIR%\husky.conf

	echo # настройки, общие для всех линков; остальное - в файле links >> %ETCDIR%\husky.conf
	echo linkdefaults begin >> %ETCDIR%\husky.conf
	echo # если пакет получен по защищенной сессии - в нем может не быть пароля >> %ETCDIR%\husky.conf
	echo allowemptypktpwd secure >> %ETCDIR%\husky.conf
	echo # архиватор по умолчанию; для отдельных линков можно указывать другой >> %ETCDIR%\husky.conf
	echo packer zip >> %ETCDIR%\husky.conf
	echo # автоматическое создание конференций; >> %ETCDIR%\husky.conf
	echo # рекомендуется оставить здесь off, а для отдельных линков включать явно >> %ETCDIR%\husky.conf
	echo areafixautocreate off >> %ETCDIR%\husky.conf
	echo # параметры автосоздания >> %ETCDIR%\husky.conf
	echo areafixautocreatedefaults -b JAM -dupecheck del -dupehistory 1096 >> %ETCDIR%\husky.conf
	echo # файл с описаниями конференций >> %ETCDIR%\husky.conf
	echo areafixautocreatefile %ETCDIR%\areas.conf >> %ETCDIR%\husky.conf
	echo # > %ETCDIR%\areas.conf

	echo # по умолчанию отправляем пакеты сами, не дожидаясь входящих соединений >> %ETCDIR%\husky.conf
	echo echomailflavour direct >> %ETCDIR%\husky.conf
	echo # запретить пересылку запросов к роботам >> %ETCDIR%\husky.conf
	echo forwardrequests off >> %ETCDIR%\husky.conf
	echo linkdefaults end >> %ETCDIR%\husky.conf

	echo # описание линков >> %ETCDIR%\husky.conf
	echo include %ETCDIR%\links.conf >> %ETCDIR%\husky.conf

	echo # > %ETCDIR%\links.conf
	echo linkdefaults begin > %ETCDIR%\links.conf
	echo   AreafixAutoCreateDefaults -b JAM -p 48 -dupeCheck move -dupeHistory 1096 > %ETCDIR%\links.conf
	echo   FileFixAutoCreateDefaults             -p  0 -dupeCheck move -dupeHistory 1096 > %ETCDIR%\links.conf
	echo   EchoMailFlavour Direct > %ETCDIR%\links.conf
	echo   fileEchoFlavour Normal > %ETCDIR%\links.conf
	echo   netMailFlavour immediate > %ETCDIR%\links.conf
	echo   Packer zip > %ETCDIR%\links.conf
	echo   allowemptypktpwd secure > %ETCDIR%\links.conf
	echo   AreafixAutoCreate on > %ETCDIR%\links.conf
	echo   AutoCreate on > %ETCDIR%\links.conf
	echo   AreafixAutoCreateFile %ETCDIR%\areas.conf > %ETCDIR%\links.conf
	echo   FilefixAutoCreateFile %ETCDIR%\FileAreas.conf > %ETCDIR%\links.conf
	echo #  pktsize 2097152 > %ETCDIR%\links.conf
	echo #  arcmailsize 2097152 > %ETCDIR%\links.conf
	echo   pktsize      4096 > %ETCDIR%\links.conf
	echo   arcmailsize  2048 > %ETCDIR%\links.conf
	echo #  OptGrp A,B > %ETCDIR%\links.conf
	echo #  accessgrp A,B > %ETCDIR%\links.conf
	echo linkdefaults end > %ETCDIR%\links.conf
	echo # > %ETCDIR%\links.conf

	echo # > %ETCDIR%\links.conf
	echo Link SysOp >> %ETCDIR%\links.conf
	echo  AKA  %UPLINKADDRESS%>> %ETCDIR%\links.conf
	echo  Password %UPLINKPASSWORD%>> %ETCDIR%\links.conf
	echo # PktPwd  %UPLINKPASSWORD%>> %ETCDIR%\links.conf
	echo # AreafixPwd  %UPLINKPASSWORD%>> %ETCDIR%\links.conf
	echo # FileFixPwd  %UPLINKPASSWORD%>> %ETCDIR%\links.conf
	echo # TikPwd  %UPLINKPASSWORD%>> %ETCDIR%\links.conf
	echo  AreafixAutoCreate on>> %ETCDIR%\links.conf
	echo Level 100>> %ETCDIR%\links.conf

	echo # и маршрутизации нетмейла >> %ETCDIR%\husky.conf
	echo include %ETCDIR%\route.conf >> %ETCDIR%\husky.conf
	echo # > %ETCDIR%\route.conf
	echo RouteMail Crash  %UPLINKADDRESS%  * >> %ETCDIR%\route.conf
	echo RouteFile Normal %UPLINKADDRESS%  * >> %ETCDIR%\route.conf

	echo # описания конференций >> %ETCDIR%\husky.conf
	echo # основная нетмейловая конференция - должна присутствовать обязательно >> %ETCDIR%\husky.conf
	echo netmailarea NETMAIL       %INSTALLPATH%\mail\netmail -b msg >> %ETCDIR%\husky.conf
	mkdir %INSTALLPATH%\netmail\netmail
	echo # сюда падают сообщения, которые тоссер не сумел обработать >> %ETCDIR%\husky.conf
	echo badarea     BAD           %INSTALLPATH%\msgbase\bad           -b JAM >> %ETCDIR%\husky.conf
	echo # сюда падают дупы при использовании dupecheck move >> %ETCDIR%\husky.conf
	echo dupearea    DUPE          %INSTALLPATH%\msgbase\dupe          -b JAM >> %ETCDIR%\husky.conf
	echo # сюда откладываются копии сообщений, адресованных нам >> %ETCDIR%\husky.conf
	echo # localarea   PERSONAL.MAIL /home/username/fido/msgbase/personal.mail -b JAM >> %ETCDIR%\husky.conf

	echo # эхоконференции >> %ETCDIR%\husky.conf
	echo include %ETCDIR%\areas.conf >> %ETCDIR%\husky.conf
	echo include %ETCDIR%\FileAreas.conf >> %ETCDIR%\husky.conf
	echo # >> %ETCDIR%\FileAreas.conf


	echo @echo off> %INSTALLPATH%\hpttoss.cmd
    echo set PATH=%PATH%;%INSTALLPATH%\bin>> %INSTALLPATH%\hpttoss.cmd
	echo %BINDIR%\hpt.exe -c %ETCDIR%\husky.conf toss >> %INSTALLPATH%\hpttoss.cmd
	echo %BINDIR%\hpt.exe -c %ETCDIR%\husky.conf link >> %INSTALLPATH%\hpttoss.cmd

exit /b

:CONFIGUREBINKD

	set BINKDINSTALLPATH=!INSTALLPATH:\=\\!

	FOR /F "delims=: tokens=1,2" %%I in ("!ADDRESS!") do set DEFAULTZONE=%%I

	echo domain fidonet !BINKDINSTALLPATH!\\outbound\\fidonet !DEFAULTZONE! >> %ETCDIR%\binkd.conf
	echo domain fido alias-for fidonet >> %ETCDIR%\binkd.conf
	echo domain fidonet.org alias-for fidonet  >> %ETCDIR%\binkd.conf
	echo address !ADDRESS!@fidonet >> %ETCDIR%\binkd.conf
	echo sysname "New_Fido_System" >> %ETCDIR%\binkd.conf
	echo location "Fidonet" >> %ETCDIR%\binkd.conf
	echo sysop "!SYSOPNAME!" >> %ETCDIR%\binkd.conf
	echo nodeinfo 300 >> %ETCDIR%\binkd.conf
	echo call-delay 10 >> %ETCDIR%\binkd.conf
	echo rescan-delay 5 >> %ETCDIR%\binkd.conf
	echo maxservers 8 >> %ETCDIR%\binkd.conf
	echo maxclients 4 >> %ETCDIR%\binkd.conf
	echo try 5 >> %ETCDIR%\binkd.conf
	echo hold 3600 >> %ETCDIR%\binkd.conf
	echo log !BINKDINSTALLPATH!\\logs\\binkd.log >> %ETCDIR%\binkd.conf
	echo loglevel 4 >> %ETCDIR%\binkd.conf
	echo conlog 4 >> %ETCDIR%\binkd.conf
	echo percents >> %ETCDIR%\binkd.conf
	echo inbound !BINKDINSTALLPATH!\\inbound >> %ETCDIR%\binkd.conf
	echo inbound-nonsecure !BINKDINSTALLPATH!\\inbound\\unsecure >> %ETCDIR%\binkd.conf
	echo temp-inbound !BINKDINSTALLPATH!\\inbound\\incomplete>> %ETCDIR%\binkd.conf
    mkdir !INSTALLPATH!\inbound\incomplete
	echo minfree 2048>> %ETCDIR%\binkd.conf
	echo minfree-nonsecure 2048>> %ETCDIR%\binkd.conf
	echo kill-dup-partial-files>> %ETCDIR%\binkd.conf
	echo kill-old-partial-files 86400>> %ETCDIR%\binkd.conf
	echo kill-old-bsy 10800>> %ETCDIR%\binkd.conf
rem	echo exec "@!BINKDINSTALLPATH!\\hpttoss.cmd" *.pkt>> %ETCDIR%\binkd.conf
rem	echo exec "@!BINKDINSTALLPATH!\\hpttoss.cmd" *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?>> %ETCDIR%\binkd.conf
	echo #>> %ETCDIR%\binkd.conf
	echo flag D:\\Fido\\flags\\toss.now *.pkt>> %ETCDIR%\binkd.conf
	echo flag D:\\Fido\\flags\\toss.now *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa?>> %ETCDIR%\binkd.conf
	echo flag D:\\Fido\\flags\\tic.now  *.tic >> %ETCDIR%\binkd.conf
	echo #>> %ETCDIR%\binkd.conf

	echo root-domain binkp.net>> %ETCDIR%\binkd.conf
	echo brakebox  !BINKDINSTALLPATH!\\brake.boxes >> %ETCDIR%\binkd.conf
    mkdir !INSTALLPATH!\brake.boxes
	echo prescan>> %ETCDIR%\binkd.conf
	echo node !UPLINKADDRESS! * !UPLINKPASSWORD!>> %ETCDIR%\binkd.conf

	echo @echo off>> %INSTALLPATH%\binkd.cmd
    echo set PATH=%PATH%;%INSTALLPATH%\bin>> %INSTALLPATH%\binkd.cmd
	echo %BINDIR%\binkd.exe -P !UPLINKADDRESS! -C %ETCDIR%\binkd.conf>> %INSTALLPATH%\binkd.cmd
	echo exit>> %INSTALLPATH%\binkd.cmd

exit /b

:CONFIGUREGOLDED

	mkdir %ETCDIR%\GoldEd
	mkdir %ETCDIR%\GoldEd\charset
	mkdir %ETCDIR%\GoldEd\dic
	copy /y %WORKDIR%\etc\GoldEd\* %ETCDIR%\GoldEd\
	copy /y %WORKDIR%\etc\GoldEd\charset\*.* %ETCDIR%\GoldEd\charset\
	copy /y %WORKDIR%\etc\GoldEd\dic\*.* %ETCDIR%\GoldEd\dic\
	copy /y %WORKDIR%\doc\*.* !DOCDIR!

	echo TemplatePath %ETCDIR%\GoldEd >> %ETCDIR%\GoldEd\GoldEd.cfg
	echo GOLDPATH %ETCDIR%\GoldEd  >> %ETCDIR%\GoldEd\GoldEd.cfg
	echo SEMAPHORE SCANTHIS %INSTALLPATH%\flags\import.log>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo ADDRESS !ADDRESS!>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo USERNAME !SYSOPNAME!>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo XlatPath %ETCDIR%\golded\charset>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo SEMAPHORE EXPORTLIST  %INSTALLPATH%\flags\echotoss.log>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo SEMAPHORE IMPORTLIST  %INSTALLPATH%\flags\import.log>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo NODELIST %INSTALLPATH%\nodelist\nodelist.*>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo NODEPATH %INSTALLPATH%\nodelist>> %ETCDIR%\GoldEd\GoldEd.cfg
rem	echo AREAPATH %ETCDIR% >> %ETCDIR%\GoldEd\GoldEd.cfg
	echo AREAFILE fidoconfig %ETCDIR%\areas.conf >> %ETCDIR%\GoldEd\GoldEd.cfg
	echo SCheckerDicPath %ETCDIR%\GOLDED\DIC\ >> %ETCDIR%\GoldEd\GoldEd.cfg
	echo AREASEP !ECHO  "Echomail areas"  A Echo>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo AREASEP !NODES.LOCAL  "Nodes Local areas"  B ECHO>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo AREASEP !LOCAL  "Local areas"  L Local>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo AREADEF NetMail "NetMail" 0 NET Opus %INSTALLPATH%\mail\netmail>> %ETCDIR%\GoldEd\GoldEd.cfg
rem	echo AREADEF _Carbon.Mail "Carbon.Mail" 0 Local JAM %INSTALLPATH%\mail\echo\Carbon.Mail>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo AREADEF BadMail "BAD.MAIL" 0 Local JAM %INSTALLPATH%\mail\echo\BadMail>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo AREADEF DupeMail "DupeMail" 0 Local JAM %INSTALLPATH%\mail\echo\DupeMail>> %ETCDIR%\GoldEd\GoldEd.cfg

	echo include charsets.cfg>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo include Goldkeys.cfg>> %ETCDIR%\GoldEd\GoldEd.cfg
	echo include gedcolor.cfg>> %ETCDIR%\GoldEd\GoldEd.cfg

	echo @Echo Off > !INSTALLPATH!\ged.cmd
    echo set PATH=%PATH%;%INSTALLPATH%\bin >> !INSTALLPATH!\ged.cmd
	echo !BINDIR!\golded -Q -FF -C!ETCDIR!\golded\golded.cfg >> !INSTALLPATH!\ged.cmd
	echo If ErrorLevel == 6 Goto Echo_Net  >> !INSTALLPATH!\ged.cmd
	echo If ErrorLevel == 4 Goto EchoMail >> !INSTALLPATH!\ged.cmd
	echo If ErrorLevel == 2 Goto NetMail >> !INSTALLPATH!\ged.cmd
	echo goto End >> !INSTALLPATH!\ged.cmd
	echo :Echo_Net >> !INSTALLPATH!\ged.cmd
	echo !BINDIR!\touch.cmd !INSTALLPATH!\flags\scan.NetMail>> !INSTALLPATH!\ged.cmd
	echo !BINDIR!\touch.cmd !INSTALLPATH!\flags\scan.echo>> !INSTALLPATH!\ged.cmd
	echo goto End >> !INSTALLPATH!\ged.cmd
	echo :NetMail >> !INSTALLPATH!\ged.cmd
	echo !BINDIR!\touch.cmd !INSTALLPATH!\flags\scan.NetMail>> !INSTALLPATH!\ged.cmd
	echo goto End >> !INSTALLPATH!\ged.cmd
	echo :EchoMail >> !INSTALLPATH!\ged.cmd
	echo !BINDIR!\touch.cmd !INSTALLPATH!\flags\scan.echo>> !INSTALLPATH!\ged.cmd
	echo goto End >> !INSTALLPATH!\ged.cmd
	echo :End >> !INSTALLPATH!\ged.cmd
	echo exit 0 >> !INSTALLPATH!\ged.cmd

    IF EXIST !BINDIR!\gnwin64.exe !BINDIR!\gnwin64.exe -F -D !ETCDIR!\GoldEd\GOLDED.CFG
    IF EXIST !BINDIR!\gncyg.exe !BINDIR!\gncyg.exe -F -D !ETCDIR!\GoldEd\GOLDED.CFG

	echo @echo off >> !INSTALLPATH!\hptscan.cmd
    echo set PATH=%PATH%;%INSTALLPATH%\bin >> !INSTALLPATH!\hptscan.cmd
	echo !BINDIR!\hpt.exe -c !ETCDIR!\husky.conf pack >> !INSTALLPATH!\hptscan.cmd
	echo !BINDIR!\hpt.exe -c !ETCDIR!\husky.conf scan >> !INSTALLPATH!\hptscan.cmd

exit /b

:GETBINKD
	set BINKDURL=http://download.binkd.org/win/
	set F=""
	
	%WORKDIR%\bin\wget %BINKDURL%
	if not exist index.html call :NOTDOUND %BINKDURL%index.html

	for /F "skip=9 tokens=4,5,6,7,8,* delims=><" %%i in ( index.html ) do (
			set FN=%%i
			set DT=%%m
			if /i "!FN:~0,5!" == "binkd" (
				for /F "tokens=1,2,3,4,5,* delims=-" %%A in ( "!FN!" ) do (
					set VV=%%B
					if /i "!X!" == "64" (
						if /i "!VV:~-3!" == "x!X!" (
							if "!F!" lss "!DT!" (
								set FILENAME=!FN!
								set F=!DT!
							)
						)
					) else (
						if /i not "!VV:~-3!" == "x64" (
							if "!F!" lss "!DT!" (
								set FILENAME=!FN!
								set F=!DT!
							)
						)
					)
				)
			)
	)

	%WORKDIR%\bin\wget %BINKDURL%!FILENAME!
	if not exist !FILENAME! call :NOTDOUND %BINKDURL%!FILENAME!

	del /f/q index.html
	%WORKDIR%\bin\unzip -oj !FILENAME! -d %BINDIR%
	del /f/q !FILENAME!
	ren %BINDIR%\binkd*.exe binkd.exe

exit /b

:ISFIDOADDRESS

	for /F "eol=; tokens=1,2,3,4* delims=:/." %%I in ( "%~1" ) do (
		if %%I LSS 1 ( Echo "%~1 is not valid fido address ( %%I LSS 1 )."
						goto %~2 )
		if %%I GTR 4 ( Echo "%~1 is not valid fido address ( %%I GTR 4 )."
						goto %~2 )

		if %%J LSS 1 ( Echo "%~1 is not valid fido address ( %%J LSS 1 )."
						goto %~2 )
		if %%J GTR 65535 ( Echo "%~1 is not valid fido address ( %%J GTR 65535 )."
						goto %~2 )

		if %%K LSS 1 ( Echo "%~1 is not valid fido address ( %%K LSS 1 )."
						goto %~2 )
		if %%K GTR 65535 ( Echo "%~1 is not valid fido address ( %%K GTR 65535 )."
						goto %~2 )

	)

exit /b


:NOTDOUND
  set day_time=!DATE! !TIME: =0!
  color 4e
  echo !day_time:~0,-3! * ERROR: Can't download %~1.
  exit

:END

