Skip to content

NTP

sing-box поставляется со встроенным NTP-клиентом. Блок ntp включает его, задаёт частоту опроса вышестоящего сервера и при необходимости записывает результат обратно в системные часы. Сервер и параметры подключения берутся из встроенных блоков ServerOptions и DialerOptions, поэтому доступны все обычные ручки исходящих (привязка интерфейса, метка маршрутизации, detour и т. д.).

Собственные параметры

ПолеТипПо умолчаниюДопустимые значенияОписание
enabledboolfalsetrue | falseЗапустить встроенный NTP-клиент. При false остальная часть блока игнорируется.
intervalbadoption.Duration30m<duration>Время между NTP-запросами. Принимает строки вида "5m", "30m", "1h".
write_to_systemboolfalsetrue | falseПосле каждой успешной синхронизации записывать время в часы операционной системы. Требует повышенных привилегий.

Исходный код: option/ntp.go:5-11 · зафиксировано на v1.13.15 (3708fa1)

Наследуется из ServerOptions

КлючТипОписание
serverstringИмя хоста или IP NTP-сервера.
server_portuint16Порт NTP-сервера (123, если ваш провайдер не использует нестандартный).

Наследуется из DialerOptions

DialerOptions — полный набор ручек исходящего подключения (option/outbound.go:67). Поля, часто используемые с NTP: bind_interface, routing_mark, reuse_addr, tcp_fast_open, detour. Полный набор параметров описан на странице «Исходящие».

Пример

json
{
  "ntp": {
    "enabled": true,
    "server": "time.cloudflare.com",
    "server_port": 123,
    "interval": "30m",
    "write_to_system": false,
    "detour": "direct"
  }
}

Примечания

  • Если server оставлен пустым, фабрика по умолчанию использует time.cloudflare.com, но рекомендуется указывать сервер явно.
  • write_to_system обычно требует root в Linux / прав администратора в Windows. Если системные часы обновить нельзя, sing-box всё равно использует синхронизированное время внутренне — для устойчивости TLS к расхождению часов.

Исходный код: option/ntp.go:5-11 · v1.13.15 (3708fa1)

Core Tutorial от Argsment