mirror of
https://github.com/bol-van/zapret2.git
synced 2026-03-14 06:13:09 +00:00
update docs
This commit is contained in:
@@ -3158,3 +3158,84 @@ function automate_conn_record(desync)
|
||||
* arg: hostkey - имя функции генератора host-ключей. если не задано, используется [standard_hostkey](#standard_hostkey)
|
||||
|
||||
Возвращат таблицу - хранилище состояния автоматизации, привязанное к хосту или IP адресу. Используется 2 ключа - key и hostkey. Итоговое расположение - `autostate.key.hostkey`. Если hostkey получить не удается - возвращается nil.
|
||||
|
||||
## Обслуживание удач и неудач
|
||||
|
||||
Простое, но далеко неточное, обьяснение понятиям "удача" и "неудача" - "сайт открывается" и "сайт не открывается". В логике автоматизации эти состояния абстрактны. Любой процесс может претерпеть удачу или неудачу. Детект состояния удачи или неудачи нужен для подсчета неудач через счетчик. При неудаче счетчик увеличивается, при успехе - сбрасывается, при достижении целевого значения - возвращается признак, по которому внешняя логика может выполнить любое действие. Например, сменить стратегию.
|
||||
|
||||
### automate_failure_counter
|
||||
|
||||
```
|
||||
function automate_failure_counter(hrec, crec, fails, maxtime)
|
||||
```
|
||||
|
||||
* hrec - [хост хранилище](#automate_host_record)
|
||||
* crec - [потоковое хранилище](#automate_conn_record)
|
||||
* fails - целевое количество неудач
|
||||
* maxtime - время в секундах, после которого с момента предыдущей неудачи следующая неудача начинает счет заново
|
||||
|
||||
Возвращает true, если счетчик достиг значения fails. При этом счетчик сбрасывается.
|
||||
|
||||
### automate_failure_counter_reset
|
||||
|
||||
```
|
||||
function automate_failure_counter_reset(hrec)
|
||||
```
|
||||
|
||||
* hrec - [хост хранилище](#automate_host_record)
|
||||
|
||||
Сбрасывает значение счетчика.
|
||||
|
||||
## Детекция удач и неудач
|
||||
|
||||
Детектор удач и неудач - это заменяемые функции, берущие в качестве параметров desync и [crec](#automate_conn_record) и возвращающие true , если зафиксирована удача или неудача.
|
||||
|
||||
### automate_failure_check
|
||||
|
||||
```
|
||||
function automate_failure_check(desync, hrec, crec)
|
||||
```
|
||||
|
||||
* hrec - [хост хранилище](#automate_host_record)
|
||||
* crec - [потоковое хранилище](#automate_conn_record)
|
||||
* arg: success_detector - имя функции детектора удач. если не задано, используется standard_success_detector.
|
||||
* arg: failure_detector - имя функции детектора неудач. если не задано, используется standard_failure_detector.
|
||||
* arg: fails - целевое значение счетчика неудач. По умолчанию - 3.
|
||||
* arg: maxtime - максимальное время в секундах между неудачами, после которого счетчик сбрасывается. По умолчанию - 60 сек.
|
||||
|
||||
Функция выполняет ведение счетчика неудач, вызывая детекторы удачи и неудачи. Возвращает true, если счетчик достиг целевого значения. При этом счетчик сбрасывается автоматически.
|
||||
|
||||
### standard_success_detector
|
||||
|
||||
Стандартные детекторы удач и неудач требуют перенаправления входящего и исходящего трафика в обьеме, необходимом для срабатвания их критериев.
|
||||
По relative sequence - нужны пакеты до указанного rseq + длина максимального пейлоада одного пакета (1460 байт для tcp).
|
||||
|
||||
```
|
||||
function standard_success_detector(desync, crec)
|
||||
```
|
||||
|
||||
* crec - [потоковое хранилище](#automate_conn_record)
|
||||
* arg: maxseq - исходящий relative sequence, при достижении которого фиксируется удача. по умолчанию 32768. Смысл : отправлено достаточно много без застревания потока из-за блокировки.
|
||||
* arg: inseq - входящий relative sequence, при достижении которого фиксируется удача. по умолчанию 4096. Смысл : оппонент прислал достаточно много, чтобы это не было реакцией DPI.
|
||||
* arg: udp_out, udp_in - принято более udp_in udp пакетов при условии, что udp_out>0. Смысл : оппонент прислал достаточно много, чтобы это не было реакцией DPI.
|
||||
|
||||
Стандартный детектор удач.
|
||||
|
||||
### standard_failure_detector
|
||||
|
||||
```
|
||||
function standard_failure_detector(desync, crec)
|
||||
```
|
||||
|
||||
* crec - [потоковое хранилище](#automate_conn_record)
|
||||
* arg: maxseq - считать ретрансмиссии в пределах исходящих relative sequence от 1 до maxseq. По умолчанию - 32768.
|
||||
* arg: retrans - считать неудачей не менее retrans ретрансмиссий. По умолчанию - 3.
|
||||
* arg: inseq - считать неудачей RST и http redirect в пределах входящих relative sequence от 1 до inseq. По умолчанию - 4096.
|
||||
* arg: no_rst - не определять RST как неудачу
|
||||
* arg: no_http_redirect - не определять http redirect как неудачу
|
||||
* arg: udp_out, udp_in - считать неудачей ситуацию, когда по потоку отослано >=udp_out пакетов, а принято <=udp_in пакетов
|
||||
|
||||
Стандартный детектор неудач.
|
||||
|
||||
http редиректом от DPI считается то же самое , что и [автохослистах](#детектор-неудач-автохостлистов).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user