Clod Clash

Настройка панели

Что настроить в панели Remnawave, чтобы подписка открывалась в Clod Clash для Android

Что настроить в панели Remnawave, чтобы подписка открывалась в Clod Clash. Пользователю здесь делать ничего не нужно.

Правило ответа для клиента

Приложение представляется панели как ClodClash/<версия> (Android). Без своего правила панель отдаст ответ по умолчанию, а не конфиг mihomo, и подписка не добавится.

В Subscription response rules добавьте правило: регулярное выражение ^clodclash (регистр не важен), формат ответа MIHOMO. Это же правило обслуживает и десктопную версию.

Чтобы под именем сервера показывалось его Server description, в том же правиле добавьте ^ClodClash/ в responseModifications.additionalExtendedClientsRegex — именно префиксом, иначе правило отвалится при обновлении приложения.

{
  "name": "Mihomo Clients",
  "description": "Response with generated YAML config (Mihomo Template)",
  "enabled": true,
  "operator": "AND",
  "conditions": [
    {
      "headerName": "user-agent",
      "operator": "REGEX",
      "value": "^(?:FlClash|FlClashX|Flowvy|[Cc]lash-[Vv]erge|[Kk]oala-[Cc]lash|[Cc]lash-?[Mm]eta|[Mm]urge|[Cc]lashX [Mm]eta|[Mm]ihomo|[Cc]lash-nyanpasu|clash.meta|prizrak-box|[Cc]lod[Cc]lash)",
      "caseSensitive": false
    }
  ],
  "responseType": "MIHOMO",
  "responseModifications": {
    "additionalExtendedClientsRegex": [
      "^ClodClash/"
    ]
  }
}

Как проверить

Запросите ссылку подписки с заголовком User-Agent: ClodClash/0.0.1 (Android): должен прийти YAML mihomo, а у узлов — поле serverDescription.

Шаблон MIHOMO и ключи, которые клиент перезаписывает, — в руководстве по настройке панели. Заголовки ответа — на страницах Заголовки подписки и Заголовки clod-*.

Защищённый канал

При добавлении подписки приложение само сначала пробует защищённый канал прослойки remnawave-subscription-middleware; если канала у провайдера нет, подписка загружается обычным HTTPS-запросом. Пользователь может выключить канал в свойствах подписки и включить снова.

Без прослойки на запрос канала (путь /c1/… на домене подписки) отвечает ваш сервер, и от этого ответа зависит, добавится ли подписка:

Ответ на незнакомый путьЧто делает приложение
404 или 410сразу загружает подписку обычным путём
другой код 4xxпробует канал ещё дважды; если так ответили все три попытки — обычный путь
соединение закрыто без ответа (например, nginx return 444)так же, как другой код 4xx
5xx (например, 502 от обратного прокси или 520 от Cloudflare)так же, как другой код 4xx

Проверить, что отдаёт домен подписки на незнакомый путь:

curl -sS -o /dev/null -w '%{http_code}\n' https://sub.example.com/c1/test

404 — подписка добавляется сразу. Другой код или 000 (соединение закрыто без ответа) — после трёх попыток канала, то есть на несколько секунд дольше (при включённом VPN, если напрямую ваш сервер недоступен, — до полуминуты); чтобы добавление шло сразу, настройте на незнакомые пути ответ 404.

Подписка не добавляется, если адрес канала перенаправляет на http:// или по цепочке из 10 и больше редиректов. На /c1/… отвечайте без редиректа или с редиректом только на https://.

С прослойкой и выключенным каналом подписка добавляется обычным путём, без канала. Если канал включён, подписка добавляется им, а после переустановки прослойки (новый ключ) сама берёт новый ключ при следующем обновлении — с любой версией прослойки.

Подписка с каналом после планового обновления (если обновления реже раза в 6 часов или выключены — и между ними, не чаще раза в 6 часов) шлёт отчёт о качестве узлов: пинги и итоги 16–20 по узлам, трафик, вид сети и внешний адрес, с которого делались замеры. Принимает и показывает отчёты прослойка (вкладка Clod Clash → «Статистика»), если в ней включён приём. Замеры клиент копит, только когда прослойка подтвердила приём в ответе подписки по каналу (так делают свежие версии прослойки); нет подтверждения в очередном ответе — перестаёт копить и стирает накопленное. Адрес замеров Android узнаёт у Яндекса мимо туннеля сам; на ПК для этого нужны правила DIRECT в шаблоне — см. руководство по настройке панели.

Внешний адрес и идентификатор устройства, связанные с подпиской, могут быть персональными данными по 152-ФЗ и GDPR, и их оператор — провайдер, а не авторы клиента. Включая приём отчётов или проверку 16–20, опишите это в своей политике конфиденциальности (цели, основание, сроки хранения, получатели) и известите пользователей. Что именно отправляет клиент — в политике конфиденциальности клиента.

Сетевой стек

Стек туннеля берётся из шаблона — подробнее в «Ядре Clod Core».

На этой странице