К обсуждениям

sing-box 1.14: JSON Schema как preflight конфигурации, а не доказательство работы

Редакция VOne Технологии

Как использовать JSON Schema в sing-box 1.14 beta для проверки структуры конфигурации и не принять подсказки редактора за подтверждение DNS, маршрута или туннеля.

Сначала подтвердите beta-границу

Поддержка JSON Schema появилась в 1.14.0-beta.2, поэтому начните с точной версии binary, платформы и способа сборки. Не переносите выводы на стабильную ветку или другую сборку автоматически. Официальный релиз объясняет, что команда schema формирует схему для текущего binary и его build tags. Это важно: редактор может подсвечивать поле как допустимое по общей опубликованной схеме, хотя конкретный исполняемый файл собран без нужной возможности. Запишите версию и теги без вставки содержимого конфигурации; секреты, адреса и идентификаторы профилей для этого шага не нужны.

Разделите три уровня проверки

Первый уровень — подсказки редактора по опубликованной JSON Schema: они ловят опечатки, неверные типы и неизвестные поля. Второй — схема, соответствующая фактической сборке, которая точнее отражает доступные в binary возможности. Третий — штатная проверка и запуск в контролируемой среде. Успех первых двух уровней означает только структурную совместимость документа. Он не доказывает, что DNS отвечает, маршрут выбран верно, удалённая сторона доступна или политика ОС разрешает туннель. Фиксируйте результат каждого слоя отдельно, не сводя всё к одной зелёной отметке.

Подключите схему без раскрытия данных

Официальная документация допускает верхнеуровневое поле $schema и выбор схемы в редакторе. Работайте с локальной копией, из которой заранее удалены токены, ключи, реальные домены и адреса. Если редактор обращается к удалённой схеме, учитывайте сетевую политику организации и не загружайте сам конфигурационный файл в сторонний онлайн-валидатор. Для сравнения используйте минимальный обезличенный фрагмент только с тем полем, которое вызывает ошибку. Критерий успеха — одинаковая интерпретация поля опубликованной схемой и схемой текущей сборки, а не отсутствие любых предупреждений.

Разберите расхождение результатов

Если общая схема принимает документ, а схема текущего binary отклоняет, сначала проверяйте версию и build tags, а не сеть. Если обе схемы отклоняют одно поле, сравните его имя, тип и место в иерархии с официальной документацией. Если схемы проходят, но штатная проверка приложения не проходит, структурный этап завершён и причина находится на другом уровне. Не ослабляйте правила редактора и не удаляйте незнакомые блоки наугад: это может изменить назначение профиля. Сохраните только текст диагностического сообщения и путь JSON-поля, предварительно удалив значения.

Что передать сопровождающему

Для эскалации достаточно версии sing-box, платформы, build tags, источника схемы, обезличенного пути к полю, результата общей и локально сгенерированной схем и итогового сообщения штатной проверки. Не прикладывайте полный профиль, ключи, узлы или журнал сетевых запросов. Отдельно укажите, что используется beta: это помогает не смешивать ожидаемое развитие формата со стабильным контрактом. Остановитесь, если дальнейшая проверка требует реального подключения, изменения маршрутов или раскрытия доступа. Такой preflight полезен именно тем, что максимально сужает структурную проблему до выхода в сеть.

Материал подготовлен редакцией VOne с применением ИИ для структурирования; технические границы JSON Schema и beta-релиза вручную сверены с официальной документацией sing-box. Конфигурации доступа не публикуются.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.