Прога классная, но к сожалению подглючивает. Время от времени перестают проходить пакеты более определенной длины, пока не ресетнешь статистику шейпинга. Иногда самолечится, иногда каюк. Если удаленный сервер под фосспидом - можно лишиться доступа.
Я для автолечения этой проблемы сделал батник и запускаю его через планировщик.
inetguard.cmd
@echo off
rem ВПИШИ СЮДА ИП ШЛЮЗА
set PING_IP=1.2.3.4
rem проверяем доступность шлюза каждые столько секунд
set SLEEPTIME=30
rem Если столько раз подряд нет ответа от PING_IP - ресетаем цфос
set RETRIES_RESET=3
rem Если столько раз подряд нет ответа от PING_IP - включаем отложенный на 10 миин ребует (иначе теряем удаленный доступ)
set RETRIES_REBOOT=120
set LOGDIR=%~dp0logs
set LOGFILE=%LOGDIR%\%~n0.log
set CFOSPROGDIR=%SystemDrive%\Program Files\cFosSpeed
set CFOSDATADIR=%ALLUSERSPROFILE%\cfos\cfosspeed
set RESETCFOS=%CFOSPROGDIR%\resetstat.cmd
set SPD=%CFOSPROGDIR%\spd.exe
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
call :log STARTED
set p=0
:start1
echo *** %DATE% %TIME%
echo Pinging %PING_IP%
set i=0
:loop1
set /a i=i+1
set /a p=p+1
echo Try %i% (%p%)
set OK=N
rem "Reply" ТОЛЬКО ДЛЯ АНГЛ ВЕРСИИ, В РУС ПОМЕНЯТЬ
rem Если нестандартный MTU - подправить "-l"
for /f "tokens=*" %%a in ('ping -n 1 -l 1472 %PING_IP% ^|find "Reply"') do (
set OK=Y
)
if /i %OK% EQU Y (
echo Ping OK
set p=0
call :delay
goto start1
)
call :log "No reply from %PING_IP%"
if %p% equ %RETRIES_REBOOT% (
call :log "No reply for %p% times"
goto endloop1
)
if %i% EQU %RETRIES_RESET% (
copy "%CFOSDATADIR%\trace.txt" "%LOGDIR%"
rem call :log FSTAT
rem "%SPD%" fstat >>"%LOGFILE%"
rem call :log CSTAT
rem "%SPD%" cstat >>"%LOGFILE%"
rem call :log SET
rem "%SPD%" set >>"%LOGFILE%"
rem call :log PINGSTAT
rem "%SPD%" pingstat >>"%LOGFILE%"
call :log "Resetting cfos"
rem call "%RESETCFOS%" >>"%LOGFILE%"
call "%RESETCFOS%"
goto start1
)
call :delay
goto loop1
:endloop1
call :log "Initiating delayed reboot"
shutdown /r /t 600
goto start1
:delay
echo Sleeping for %SLEEPTIME% ms ...
timeout /T %SLEEPTIME%
goto :EOF
:log
echo %DATE% %TIME% : %~1
echo %DATE% %TIME% : %~1 >>"%LOGFILE%"
goto :EOF
Это поместить в каталог %ProgramFiles%\cfosspeed
resetstat.cmd :
set SPD=%~dp0spd.exe
echo %SPD%
"%SPD%" tsclear
"%SPD%" fstat -clear
"%SPD%" cstat -clear
"%SPD%" pingboot
"%SPD%" burst
"%SPD%" pinger udp_km2
"%SPD%" set txspeed=13107200
К сожалению, разработчики не сильно рвутся разбираться почему такое происходит. Я хоть и купил прогу, толку от поддержки практически ноль.
Приложенный в раздачу крак - по сути не лекарство. Это продлялка триала, работать будет до весны 2014.