Сначала выставьте уровень

У log-level пять значений: silent, error, warning, info и debug. Для клиента, который просто работает фоном, разумное состояние покоя — warning: вывод появляется, только когда действительно что-то не так. На info переключайтесь временно, когда нужно видеть, какое правило поймало каждое соединение.

debug держите включённым только на время разбирательства и выключайте после. Он прокручивается быстрее, чем человек читает, а более практичная проблема в том, что он записывает каждый домен, к которому вы обращаетесь, — и большинство клиентов параллельно пишут это в файл на диске.

Партнёрский материалОткуда взять ссылку на подписку?Партнёрский сервис даёт 1 ГБ высокоскоростного трафика Гонконга при регистрации — импорт в один клик.Получить быстрые серверы

Что стоит в одной строке

На уровне info ценнее всего строки соединений: время, уровень, цель запроса (имя хоста или IP с портом), тип и шаблон сработавшего правила и выход, через который всё ушло. Когда эти три факта стоят рядом, вопрос «почему сайт поехал не туда» перестаёт быть догадкой и просто читается с экрана.

Второе семейство — то, что ядро сообщает о себе: конфиг загружен, слушатель поднят, DNS инициализирован, интерфейс TUN создан. Эти строки собраны в первые секунды после запуска и потом почти не появляются.

Вопрос первый: какое правило поймало сайт

  1. Поставьте log-level в info и перезагрузите конфиг.
  2. Очистите панель журнала и закройте остальные вкладки браузера — иначе фоновые запросы похоронят нужную строку.
  3. Откройте только тот сайт, который проверяете, и прочитайте появившиеся строки, найдя в них имя хоста.
  4. Посмотрите на сработавшее правило. Если это не то правило, которое вы писали, значит что-то выше по списку совпало раньше: правила проверяются сверху вниз, побеждает первое совпадение.

Вопрос второй: клиент не стартует

Прочитайте первый десяток строк и не листайте дальше. Ошибка разбора конфига всегда случается на этапе загрузки, и сообщение обычно называет проблемное поле, а иногда и строку — запись в proxy-groups, ссылающаяся на несуществующее имя узла, или поле с неверным типом. Нашли строку — правьте соответствующее место в конфиге.

Если же ранние строки говорят, что не удалось поднять слушателя, с конфигом всё в порядке, а порт занят. Журнал называет номер порта: либо меняйте его, либо ищите процесс, который его держит.

Вопрос третий: постоянно обрывается

Здесь вы читаете не строку, а повторяющуюся картину. Поищите timeout, EOF, connection reset, i/o timeout и подобное, а затем ответьте на один вопрос: они собраны вокруг одного узла или рассыпаны по всем? Вокруг одного — меняйте узел и на этом всё. По всем — проблема скорее в вашей локальной сети или DNS, чем где-то по цепочке прокси.

Прежде чем вставлять журнал на форум или в чат, уберите две вещи: имя хоста подписки, в котором обычно зашит токен, и перечень доменов, которые вы открывали, — это фактически кусок истории браузера. На скриншоте легко проглядеть что-нибудь в углу: скопируйте текст, вычистите и только потом публикуйте.