]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/usecases.ru.texi
More Exim mention
[nncp.git] / doc / usecases.ru.texi
index 7f3128e1d65aed5552bf62543d5ff829e40efe24..8f12cd1da474035cff8efd88f78fbdb7d9515482 100644 (file)
@@ -1,4 +1,4 @@
-@node Сценарии использования
+@node Сценарии
 @section Сценарии использования
 
 @menu
@@ -7,24 +7,27 @@
 * Ненадёжный/дорогой канал связи: UsecaseUnreliableRU.
 * Медленная/дорогая связь для больших объёмов данных, плохой QoS: UsecaseQoSRU.
 * Экстремальные наземные окружающие условия, нет связи: UsecaseNoLinkRU.
+* Односторонняя широковещательная связь: UsecaseBroadcastRU.
+* Спутниковые каналы связи: UsecaseSatelliteLinksRU.
 * Частные, изолированные MitM/Sybil-устойчивые сети: UsecaseF2FRU.
 * Высоко защищённые изолированные компьютеры с воздушным зазором: UsecaseAirgapRU.
 * Обход сетевой цензуры, здоровье: UsecaseCensorRU.
 * Разведка, шпионаж, тайная агентура: UsecaseSpyRU.
+* Дешёвая ночная связь: UsecaseCallerRU.
 @end menu
 
 @node UsecaseMailRU
 @subsection Доступность почтового сервера время от времени
 
 Представьте, что у вас есть собственный @url{http://www.postfix.org/,
-Postfix} SMTP сервер подключённый к Интернету. Но вы читаете и пишете
¿Ð¾Ñ\87Ñ\82овÑ\8bе Ñ\81ообÑ\89ениÑ\8f Ð½Ð° Ñ\81воÑ\91м Ð½Ð¾Ñ\83Ñ\82бÑ\83ке, ÐºÐ¾Ñ\82оÑ\80Ñ\8bй Ð¿Ð¾Ð´ÐºÐ»Ñ\8eÑ\87аеÑ\82Ñ\81Ñ\8f Ðº Ð½ÐµÐ¼Ñ\83 Ð»Ð¸Ñ\88Ñ\8c
²Ñ\80емÑ\8f Ð¾Ñ\82 Ð²Ñ\80емени. Ð\9aак Ð¾Ð¿Ñ\83Ñ\81Ñ\82оÑ\88иÑ\82Ñ\8c Ð¾Ñ\87еÑ\80едÑ\8c Ð¸Ð· Ð¾Ð¶Ð¸Ð´Ð°Ñ\8eÑ\89иÑ\85 Ñ\81ообÑ\89ений ÐºÐ¾Ð³Ð´Ð°
-ноутбук подключён?
+Postfix}/@url{http://www.exim.org/, Exim} SMTP сервер подключённый к
\98нÑ\82еÑ\80неÑ\82Ñ\83. Ð\9dо Ð²Ñ\8b Ñ\87иÑ\82аеÑ\82е Ð¸ Ð¿Ð¸Ñ\88еÑ\82е Ð¿Ð¾Ñ\87Ñ\82овÑ\8bе Ñ\81ообÑ\89ениÑ\8f Ð½Ð° Ñ\81воÑ\91м Ð½Ð¾Ñ\83Ñ\82бÑ\83ке,
ºÐ¾Ñ\82оÑ\80Ñ\8bй Ð¿Ð¾Ð´ÐºÐ»Ñ\8eÑ\87аеÑ\82Ñ\81Ñ\8f Ðº Ð½ÐµÐ¼Ñ\83 Ð»Ð¸Ñ\88Ñ\8c Ð²Ñ\80емÑ\8f Ð¾Ñ\82 Ð²Ñ\80емени. Ð\9aак Ð¾Ð¿Ñ\83Ñ\81Ñ\82оÑ\88иÑ\82Ñ\8c
¾Ñ\87еÑ\80едÑ\8c Ð¸Ð· Ð¾Ð¶Ð¸Ð´Ð°Ñ\8eÑ\89иÑ\85 Ñ\81ообÑ\89ений ÐºÐ¾Ð³Ð´Ð° Ð½Ð¾Ñ\83Ñ\82бÑ\83к Ð¿Ð¾Ð´ÐºÐ»Ñ\8eÑ\87Ñ\91н?
 
 Одна из возможностей это войти на сервер и сделать что-то типа
-@command{postqueue -f}, но по-умолчанию у вас есть только несколько дней
-на это, плюс отправитель будет получать уведомления о том что его
+@command{postqueue -f}, но по умолчанию у вас есть только несколько дней
+на это, плюс отправитель будет получать уведомления о том, что его
 сообщение всё ещё не доставлено. Кроме того, вы должны использовать
 безопасный канал связи (SSH, VPN, итд).
 
@@ -33,31 +36,29 @@ Postfix} SMTP сервер подключённый к Интернету. Но
 @url{https://ru.wikipedia.org/wiki/KISS_(%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF),
 KISS}!
 
-Просто скажите вашим обоим Postfix-ам (на сервере и ноутбуке) отправлять
-сообщения через NNCP (@ref{nncp-mail}) на заданный узел. Это делается
-аналогично тому как с UUCP, и описано в
-@url{http://www.postfix.org/UUCP_README.html, документации Postfix}.
-
-Читайте @ref{Postfix, здесь} для более подробной информации. Вся почта
-будет сохранятся в NNCP @ref{Spool, спуле}, который после обмена данных
-и распаковки вызовет локальный @command{sendmail} для доставки почты,
-как будто это произошло на этой же машине.
+Просто скажите вашим обоим Postfix/Exim-ам (на сервере и ноутбуке)
+отправлять сообщения через NNCP (@ref{nncp-exec}) на заданный узел.
+Более подробно читайте для Postfix @ref{Postfix, здесь}, а для Exim
+@ref{Exim, здесь}. Вся почта будет сохранятся в NNCP @ref{Spool, спуле},
+который после обмена данных и распаковки вызовет локальный
+@command{sendmail} для доставки почты, как-будто это произошло на этой
+же машине.
 
 @node UsecasePOPRU
 @subsection Легковесная и быстрая замена POP3/IMAP4
 
 @ref{nncp-daemon} может быть соединён с @ref{nncp-caller} длительное
 время -- он создаёт TCP соединение на многие часы. Когда SMTP сервер
-получает письмо, то вызывает @ref{nncp-mail} для создания исходящего
+получает письмо, то вызывает @ref{nncp-exec} для создания исходящего
 зашифрованного пакета. Демон ежесекундно проверяет исходящую директорию
 и сразу же посылает оповещение о недоставленных пакетах противоположной
 стороне, которая сразу же их может скачать.
 
-Всего несколько дюжин байтов оповещают о входящих пакетах, дюжины байт
+Всего несколько дюжин байт оповещают о входящих пакетах, дюжины байт
 начинающие доставку этих пакетов. Почтовые пакеты сжимаются (POP3 и
-IMAP4, как правило, нет). У вас легковесный, сжатый, надёжный, с низкими
-задержками канал связи для почты с сильным шифрованием и двусторонней
-аутентификацией!
+IMAP4, как правило, нет). У вас легковесный, сжатый, надёжный канал
+связи с низкими задержками для почты, с сильным шифрованием и
´Ð²Ñ\83Ñ\81Ñ\82оÑ\80онней Ð°Ñ\83Ñ\82енÑ\82иÑ\84икаÑ\86ией!
 
 @node UsecaseUnreliableRU
 @subsection Ненадёжный/дорогой канал связи
@@ -65,25 +66,26 @@ IMAP4, как правило, нет). У вас легковесный, сжа
 Представьте, что у вас медленный модем/радио/спутниковый канал связи,
 который часто обрывается и вызывает timeout у TCP. Не все HTTP серверы
 поддерживают возобновляемые скачивания. SMTP вообще не поддерживает
²Ð¾Ð·Ð¾Ð±Ð½Ð¾Ð²Ð»ение оборванного приёма и тяжёлые сообщения становится очень
¿Ñ\80одолжение оборванного приёма и тяжёлые сообщения становится очень
 проблематично получить. Более того, каждый обрыв может приводить к
 отсылке данных с самого начала, что не всегда по карману.
 
-Просто отправьте вашу @ref{nncp-mail, почту} и @ref{nncp-file, файлы}
+Просто отправьте вашу @ref{nncp-exec, почту} и @ref{nncp-file, файлы}
 через NNCP. Вы сможете использовать или offline методы доставки --
 читайте о них в следующем разделе, либо использовать поставляемый NNCP
 @ref{nncp-daemon, TCP демон}.
 
 Команды:
 
-@verbatim
-% nncp-file file_i_want_to_send bob:
-% nncp-file another_file bob:movie.avi
-@end verbatim
+@example
+$ nncp-file file_i_want_to_send bob:
+$ nncp-file another_file bob:movie.avi
+@end example
 
-добавят в очередь отправки два файла для узла @emph{bob}. Выстрелил и
-забыл! Теперь это работа демона (или offline передачи) доставить частями
-эти файлы до удалённой системы когда она будет доступна.
+добавят в очередь отправки два файла для узла @emph{bob}.
+Выстрелил-и-забыл! Теперь это работа демона (или offline передачи)
+доставить частями эти файлы до удалённой системы когда она будет
+доступна.
 
 @node UsecaseQoSRU
 @subsection Медленная/дорогая связь для больших объёмов данных, плохой QoS
@@ -101,17 +103,24 @@ NNCP поддерживает @ref{Niceness, приоритезацию траф
 раньше или позднее остальных. Почти все команды имеют соответствующую
 опцию:
 
-@verbatim
-% nncp-file -nice 32 myfile node:dst
-% nncp-xfer -nice 192 /mnt/shared
-% nncp-call -nice 224 bob
+@example
+$ nncp-file -nice FLASH myfile node:dst
+$ nncp-xfer -nice PRIORITY /mnt/shared
+$ nncp-call -nice NORMAL bob
 [...]
-@end verbatim
+@end example
 
 Огромные файлы могут быть разбиты на маленькие @ref{Chunked, части},
 давая возможность передачи, по сути, любых объёмов используя накопители
 небольших размеров.
 
+Вы также можете использовать CD-ROM и ленточные накопители:
+
+@example
+$ nncp-bundle -tx bob | cdrecord -tao -
+$ nncp-bundle -tx bob | dd of=/dev/sa0 bs=10240
+@end example
+
 @node UsecaseNoLinkRU
 @subsection Экстремальные наземные окружающие условия, нет связи
 
@@ -121,11 +130,12 @@ NNCP поддерживает @ref{Niceness, приоритезацию траф
 передачи пакетов другим узлам.
 
 Представьте, что вы послали два файла узлу @emph{bob}. Вставьте USB
-устройство хранения, подмонтируйте и запустите @ref{nncp-xfer}:
+устройство (SD гораздо предпочтительнее!) хранения, подмонтируйте и
+запустите @ref{nncp-xfer}:
 
-@verbatim
-% nncp-xfer -node bob /media/usbstick
-@end verbatim
+@example
+$ nncp-xfer -node bob /media/usbstick
+@end example
 
 чтобы скопировать все исходящие пакеты относящиеся к @emph{bob}.
 Используйте @option{-mkdir} опцию чтобы создать все необходимые
@@ -136,21 +146,70 @@ NNCP поддерживает @ref{Niceness, приоритезацию траф
 @emph{bob} и к @emph{alice}, то тогда просто не указывайте
 @option{-node} опцию, чтобы скопировать все доступные исходящие пакеты.
 
-@verbatim
-% nncp-xfer /media/usbstick
-@end verbatim
+@example
+$ nncp-xfer /media/usbstick
+@end example
 
 Размонтируйте и передайте накопитель Бобу и Алисе. Когда они вставят
 накопитель в свои компьютеры, то выполнят точно такую же команду:
 
-@verbatim
-% nncp-xfer /media/usbstick
-@end verbatim
+@example
+$ nncp-xfer /media/usbstick
+@end example
 
 чтобы найти все пакеты относящиеся к их узлу и локально скопируют для
 дальнейшей обработки. @command{nncp-xfer} это единственная команда
 используемая с переносными устройствами хранения.
 
+@node UsecaseBroadcastRU
+@subsection Односторонняя широковещательная связь
+
+Иногда у вас есть ёмкий, но односторонний, канал связи, например
+широковещательный сигнал со спутника. Вы не можете использовать online
+@ref{Sync, протокол синхронизации}, потому что он требует двустороннего
+взаимодействия.
+
+Вы можете использовать, так называемые, @ref{Bundles, пачки} и потоково
+отсылать их. Они -- всего-лишь последовательность @ref{Encrypted,
+зашифрованных пакетов}, которые вы можете принять.
+
+@example
+$ nncp-bundle -tx alice bob eve ... | команда для отправки широковещательной рассылки
+$ команда для приёма широковещательной рассылки | nncp-bundle -rx
+@end example
+
+Встроенная возможность определять дубляжи пакетов позволит вам
+переотправлять широковещательные рассылки время от времени, повышая
+шансы на то, что получатель примет их, регулярно слушая рассылку.
+
+@node UsecaseSatelliteLinksRU
+@subsection Спутниковые каналы связи
+
+Спутниковые каналы связи имеют @strong{очень} большие задержки вместе с
+высокими пропускными способностями. Вы можете посылать мегабиты данных в
+секунду, но они достигнут удалённой стороны только спустя полсекунды!
+Большинство протоколов обмена файлами, таких как
+@url{https://en.wikipedia.org/wiki/Files_transferred_over_shell_protocol, FISH},
+@url{https://ru.wikipedia.org/wiki/FTP, FTP},
+@url{https://ru.wikipedia.org/wiki/SCP, scp},
+@url{https://en.wikipedia.org/wiki/XMODEM, XMODEM} will perform very
+будут работать очень плохо из-за большого количества приёмо-передач
+(round-trips). Каждая передача файла явно генерирует пакеты запросов и
+подтверждений, посылаемые поверх канала связи. Удалённая сторона ничего
+не будет делать пока она их не получит. Более того, не все протоколы
+позволяют делать дуплексную отправку данных (когда обе стороны посылают
+данные одновременно).
+
+@ref{Sync, Протокол синхронизации} (SP) NNCP пытается решить все эти
+особенности за счёт сокращения количества приёмо-передач, количества
+проходящих пакетов. Все списки файлов, запросов на скачивание файла
+группируются вместе (pipelined) в один огромный пакет. Только запросы на
+остановку передачи и подтверждения успешного приёма файла явно
+посылаются. Можно запросить чтобы SP только принимал или отправлял
+пакеты для нашей ноды. SP может игнорировать файлы с маленьким
+приоритетом. Полные списки файлов отправляются уже на этапе процедуры
+рукопожатия.
+
 @node UsecaseF2FRU
 @subsection Частные, изолированные MitM/Sybil-устойчивые сети
 
@@ -182,15 +241,17 @@ NNCP поддерживает @ref{Niceness, приоритезацию траф
 отослать полезную нагрузку сразу же в самом первом пакете) безопасный
 транспорт с свойством совершенной прямой секретности.
 
-@verbatim
-% nncp-daemon -bind [::]:5400
-@end verbatim
+@example
+$ nncp-daemon -bind "[::]":5400
+@end example
+
 запустит TCP демон, который будет слушать входящие соединения на всех
 интерфейсах.
 
-@verbatim
-% nncp-call bob
-@end verbatim
+@example
+$ nncp-call bob
+@end example
+
 попытается подключиться к известному TCP-адресу узла @emph{bob} (взятого
 из конфигурационного файла), послать все связанные с ним исходящие
 пакеты и получить от него. Все прерванные передачи будут автоматически
@@ -205,8 +266,8 @@ NNCP поддерживает @ref{Niceness, приоритезацию траф
 выбором. Компьютер без каких-либо модемов, проводных и беспроводных
 сетей. Очевидно, что единственная возможность обмениваться почтой и
 файлами -- использовать физически переносимые устройства хранения типа
-CD-ROM, жёстких дисков, лент и USB накопителей (худший вариант, из-за
-сложности подобных устройств).
+CD-ROM, жёстких дисков, SD, лент и USB накопителей (@strong{худший}
+вариант, из-за сложности подобных устройств).
 
 Предполагаем что у вас есть ещё один собственный узел, стоящий "до"
 безопасного, который делает базовые проверки полученных накопителей,
@@ -215,14 +276,18 @@ CD-ROM, жёстких дисков, лент и USB накопителей (х
 NNCP из коробки поддерживает ретрансляцию пакетов.
 
 @verbatim
-neigh:
-  bob:
+neigh: {
+  bob: {
     [...]
-    addrs:
-      lan: [fe80::5400%igb0]:5400
+    addrs: {
+      lan: "[fe80::5400%igb0]:5400"
+    }
+  }
   bob-airgap:
     [...]
-    via: [bob]
+    via: ["bob"]
+  }
+}
 @end verbatim
 
 Такой @ref{Configuration, конфигурационный файл} говорит что у нас есть
@@ -246,13 +311,13 @@ neigh:
 @subsection Обход сетевой цензуры, здоровье
 
 Это тоже подвид плохого канала связи. Некоторые правительства склонны к
-запрету @strong{любого} вида личного общения между людьми, разрешая
-только доставку развлекательного контента и доступ к популярным
+запрету @strong{любого} вида личного (приватного) общения между людьми,
\80азÑ\80еÑ\88аÑ\8f Ñ\82олÑ\8cко Ð´Ð¾Ñ\81Ñ\82авкÑ\83 Ñ\80азвлекаÑ\82елÑ\8cного ÐºÐ¾Ð½Ñ\82енÑ\82а Ð¸ Ð´Ð¾Ñ\81Ñ\82Ñ\83п Ðº Ð¿Ð¾Ð¿Ñ\83лÑ\8fÑ\80нÑ\8bм
 социальным сетям (которые уже вовсю наводнены рекламой, локально
 исполняемым @url{https://www.gnu.org/philosophy/free-sw.ru.html,
-проприетарным} JavaScript кодом (для слежкой за действиями
-пользователя, сбором данных), бесстыдно и бессовестно эксплуатируя
-базовые потребности человека в общении).
+проприетарным} JavaScript кодом (для слежкой за действиями пользователя,
+сбором данных), бесстыдно и бессовестно эксплуатируя базовые потребности
+человека в общении).
 
 Это их естественное желание. Но никто вас не заставляет насильно
 подчиняться огромным корпорациям типа Apple, Google или Microsoft. Ваш
@@ -264,12 +329,12 @@ neigh:
 @node UsecaseSpyRU
 @subsection Разведка, шпионаж, тайная агентура
 
-ЭÑ\82и Ñ\80ебÑ\8fÑ\82а Ð·Ð½Ð°Ñ\8eÑ\82 Ð½Ð°Ñ\81колÑ\8cко Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ\81ное Ð¼ÐµÑ\81Ñ\82о Ð\98нÑ\82еÑ\80неÑ\82, Ð½ÐµÑ\81овмеÑ\81Ñ\82имое с
-понÑ\8fÑ\82ием Ð¿Ñ\80иваÑ\82ноÑ\81Ñ\82и. Ð\98м Ð½ÐµÐ¾Ð±Ñ\85одим Ð±Ñ\8bÑ\81Ñ\82Ñ\80Ñ\8bй Ñ\81бÑ\80оÑ\81 Ð¸ Ð·Ð°Ð±Ð¾Ñ\80 Ð´Ð°Ð½Ð½Ñ\8bÑ\85. Ð\91ез
-возможноÑ\81Ñ\82и Ð½ÐµÑ\81колÑ\8cкиÑ\85 Ð¸Ñ\82еÑ\80аÑ\86ий Ñ\82Ñ\83да-обÑ\80аÑ\82но (round trip) -- Ñ\82олÑ\8cко
-сбросить данные, выстрелить и забыть. Опять же, это может быть
+ЭÑ\82и Ñ\80ебÑ\8fÑ\82а Ð·Ð½Ð°Ñ\8eÑ\82 Ð½Ð°Ñ\81колÑ\8cко Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°Ñ\81ен Ð\98нÑ\82еÑ\80неÑ\82, Ð½ÐµÑ\81овмеÑ\81Ñ\82им с
+понÑ\8fÑ\82ием Ð¿Ñ\80иваÑ\82ноÑ\81Ñ\82и. Ð\98м Ð½ÐµÐ¾Ð±Ñ\85одим Ð±Ñ\8bÑ\81Ñ\82Ñ\80Ñ\8bй Ñ\81бÑ\80оÑ\81 Ð¸ Ð·Ð°Ð±Ð¾Ñ\80 Ð´Ð°Ð½Ð½Ñ\8bÑ\85. Ð\9dеÑ\82
+возможноÑ\81Ñ\82и Ð¿Ñ\80овеÑ\81Ñ\82и Ð½ÐµÑ\81колÑ\8cко Ð¸Ñ\82еÑ\80аÑ\86ий Ð¿Ñ\80иÑ\91мо-пеÑ\80едаÑ\87 (round-trips) --
\82олÑ\8cко Ñ\81бÑ\80оÑ\81иÑ\82Ñ\8c Ð´Ð°Ð½Ð½Ñ\8bе, Ð²Ñ\8bÑ\81Ñ\82Ñ\80елиÑ\82Ñ\8c Ð¸ Ð·Ð°Ð±Ñ\8bÑ\82Ñ\8c. Ð\9eпÑ\8fÑ\82Ñ\8c Ð¶Ðµ, Ñ\8dÑ\82о Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c
 переносной накопитель и/или
-@url{https://en.wikipedia.org/wiki/USB_dead_drop, USB тайник},
+@url{https://en.wikipedia.org/wiki/USB_dead_drop, USB тайник} (dead drop),
 @url{https://en.wikipedia.org/wiki/PirateBox, PirateBox}ы,
 @url{https://en.wikipedia.org/wiki/Short-range_agent_communications,
 связь малой дальности (SRAC)}. Короткоживущие сети малой дальности типа
@@ -285,13 +350,64 @@ Bluetooth и WiFi могут быть и довольно быстрыми, по
 
 Общение узлов между собой происходит в, так называемой, @ref{Spool,
 спул} области: директории содержащей только необработанные зашифрованные
-пакеты. После передачи пакета вы всё-равно не сможете его прочитать:
+пакеты. После передачи пакета вы всё равно не сможете его прочитать:
 необходимо запустить другую фазу: @ref{nncp-toss, распаковку}, которая
 использует ваши приватные криптографические ключи. То есть, даже если вы
 потеряете свой компьютер, устройства хранения и тому прочее -- это не
-так плохо, потому-что вы не носите с собой приватные ключи (ведь так?),
+так плохо, потому что вы не носите с собой приватные ключи (ведь так?),
 вы не "распаковываете" эти пакеты сразу же на том же самом устройстве.
 Распаковка (чтение этих зашифрованных пакетов с извлечением переданных
 файлов и почтовых сообщений) может и должна бы быть произведена на
-отдельном компьютере (@ref{nncp-mincfg} команда может помочь с созданием
+отдельном компьютере (@ref{nncp-cfgmin} команда может помочь с созданием
 конфигурационного файла без приватных ключей для этой цели).
+
+Если вы действительно хотите взять с собой приватные ключи, то
+@ref{nncp-cfgenc} команда способна зашифровать ваш конфигурационный
+файл. Парольная фраза вами введённая усиливается функцией нагружающей и
+центральный процессор и память.
+
+@node UsecaseCallerRU
+@subsection Дешёвая ночная связь
+
+Стоимость Интернет/телефонного трафика может варьироваться, в
+зависимости от времени дня. Ночные звонки/соединения могут быть дешевле
+в два раза. Вы хотите посылать ваши файлы в это время, но позволять
+изредка проходить высокоприоритетной почте в любое время. А также вы
+хотите проходить любому трафику когда узел доступен через ЛВС (LAN).
+
+Вы легко можете настроить ваши предпочтения в @ref{Call, настройках
+звонков} для @ref{nncp-caller} команды, используемой при online связи.
+
+@verbatim
+neigh: {
+  [...]
+  some-node: {
+    [...]
+    addrs: {
+      lan: "[fe80::be5f:f4ff:fedd:2752%igb0]:5400"
+      wan: "some-node.com:5400"
+    }
+    calls: [
+      {
+        cron: "*/1 * * * *"
+        addr: lan
+        nice: MAX
+        onlinedeadline: 3600
+      },
+      {
+        cron: "*/10 * * * *"
+        addr: wan
+        nice: PRIORITY
+        xx: rx
+      },
+      {
+        cron: "*/1 0-7 * * *"
+        addr: wan
+        nice: BULK
+        onlinedeadline: 3600
+        maxonlinetime: 3600
+      },
+    ]
+  }
+}
+@end verbatim