Синтаксис¶
Mihomo использует yaml в качестве формата конфигурационного файла
yaml чувствителен к регистру, использует отступы для обозначения иерархических отношений. Для отступов запрещено использовать табуляцию, разрешены только пробелы. Количество пробелов в отступе не имеет значения, главное, чтобы элементы одного уровня были выровнены по левому краю.
Комментарии¶
В файлах формата yaml комментарии начинаются с символа "#" и продолжаются до конца строки. Символ "#" должен быть либо в начале строки, либо перед ним должен быть пробел, иначе он не будет считаться комментарием.
Объекты¶
Пары ключ-значение в объектах обозначаются двоеточием key: value, после двоеточия должен быть пробел. Отступы используются для обозначения иерархических отношений.
Поскольку формат yaml является надмножеством json, можно напрямую использовать синтаксис json.
Многострочный формат¶
Многострочный JSON¶
Однострочный JSON¶
Полный JSON¶
Массивы¶
Строки, начинающиеся с -, обозначают элементы массива, используются для нескольких значений внутри объекта.
Многострочный массив¶
Однострочный JSON массив¶
Ссылки¶
& якорь и * псевдоним могут использоваться для создания ссылок. & используется для установки якоря, << для объединения с текущими данными, а * для ссылки на якорь.
В следующем примере, поскольку ключ p не существует в mihomo, он будет проигнорирован при обработке конфигурации.
Если при объединении есть повторяющиеся элементы, они не будут объединены.
Это эквивалентно:
Подстановочные знаки для доменов¶
Подстановочный знак *¶
Подстановочный знак * в Clash может сопоставить только один уровень домена за раз.
*.baidu.com соответствует tieba.baidu.com, но не соответствует 123.tieba.baidu.com или baidu.com.
* соответствует только таким именам хостов, как localhost, которые не содержат точку ..
Подстановочный знак +¶
Подстановочный знак + похож на DOMAIN-SUFFIX и может сопоставлять несколько уровней за раз.
+.baidu.com соответствует tieba.baidu.com, 123.tieba.baidu.com и baidu.com.
Подстановочный знак + может использоваться только для сопоставления префикса домена.
Подстановочный знак .¶
Подстановочный знак . может сопоставлять несколько уровней за раз.
.baidu.com соответствует tieba.baidu.com и 123.tieba.baidu.com, но не соответствует baidu.com.
Подстановочный знак . может использоваться только для сопоставления префикса домена.
Пример использования¶
При использовании подстановочных знаков следует заключать содержимое в кавычки ' ' или " ".
Использование наборов доменов¶
Warning
rule-set поддерживает только поведение domain/classical
Диапазоны портов¶
Mihomo может использовать - для сопоставления диапазонов портов, а также / или , для разделения нескольких портов/диапазонов портов.
Пример¶
Сопоставление портов от 114 до 514 и от 810 до 1919, а также порта 65530.