No description
Find a file
2026-10-03 22:24:25 +03:00
docs/img User guide: log screenshot with the Save button 2026-10-03 22:24:25 +03:00
README.md User guide: saving the log to a file 2026-10-03 22:14:03 +03:00

Fandag

Fandag — VPN-клиент для Android для своих серверов: VLESS (в том числе Reality), AmneziaWG и WireGuard, Hysteria2, Trojan, Shadowsocks, TUIC и другие протоколы ядра mihomo. Серверы добавляются ссылками, QR-кодами, файлами конфигураций и подписками. Трафик можно раскладывать по правилам: одно через VPN, другое напрямую.

Здесь публикуются готовые версии приложения, и отсюда же Fandag проверяет обновления.

На скриншотах демонстрационные серверы с вымышленными адресами.

Содержание

Установка

Нужен Android 8.0 или новее.

  1. Откройте последний релиз и скачайте APK:
    • Fandag-…-arm64-v8a.apk — для большинства телефонов (64-битные, примерно с 2017 года);
    • Fandag-…-armeabi-v7a.apk — для старых 32-битных устройств;
    • Fandag-…-universal.apk — подходит всем, но весит вдвое больше. Если не уверены, берите его.
  2. Откройте скачанный файл. Android попросит разрешить установку из этого источника (браузера или файлового менеджера). Разрешите и вернитесь к установке.

Проверить, что файл не подменён, можно по SHA256SUMS из релиза. Все версии подписаны одним сертификатом, его SHA-256: 3c99eda4d3ecc1d1af7c989a1f168f784033b68248a1e882a34f8fd4e7e6aa76.

Быстрый старт

  1. Откройте Fandag и нажмите ⚙ (или «Открыть настройки»). Затем нажмите «+» и добавьте сервер или подписку, подробнее в разделе Добавление серверов.
  2. Вернитесь на главный экран стрелкой «←» и нажмите «Подключить».
  3. При первом подключении Android попросит разрешение на VPN. Нажмите «ОК». Текст окна зависит от языка телефона.
Системный запрос на VPN

После этого в строке состояния появится значок ключа, а в шторке уведомление Fandag.

Маршрутизация уже настроена: российские сайты и сервисы идут напрямую, остальное через VPN. Это делают конфиг «По умолчанию» и пресет «Россия напрямую», подробнее в разделе Маршрутизация.

Главный экран

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

Первый запуск Подключено

Всё остальное (добавление серверов, правила, журнал, настройки) находится в полном интерфейсе. Он открывается кнопкой ⚙ вверху справа.

Добавление серверов

В полном интерфейсе на вкладке «Серверы» нажмите «+»:

Меню добавления
  • Из буфера обмена. Скопируйте ссылку (vless://, vmess://, trojan://, ss://, hysteria2://, tuic://, anytls://, wireguard://), ключ Amnezia vpn://, текст конфигурации или адрес подписки и нажмите этот пункт. Можно сразу несколько строк.
  • Сканировать QR-код — камерой. QR-код из картинки — со скриншота или фото.
  • Из файла — конфиги AmneziaWG/WireGuard (.conf), Shadowrocket (.conf), Clash/mihomo (YAML), sing-box и Xray (JSON).
  • Подписка по ссылке — адрес https://…, подробнее в разделе Подписки.
  • Вставить текст — то же, что буфер обмена, но с полем ввода.
  • Группа серверов и Цепочка серверов появляются, когда серверы уже есть.

Ещё два способа, без открытия меню:

  • в любом приложении выделите текст со ссылкой и выберите «Поделиться» → Fandag;
  • нажмите на ссылку vless://…, vpn://… и подобные, и Android предложит открыть её в Fandag.

Перед импортом Fandag показывает, что нашёл:

Подтверждение импорта

Серверы из одного импорта складываются в отдельный раздел списка (на скриншотах ниже это «Импорт · 4»).

Подписки

Подписка — это адрес https://…, по которому лежит список серверов. Fandag сам периодически скачивает его заново и обновляет серверы. Владелец подписки меняет серверы у себя, а у вас всё обновляется без повторной рассылки ссылок.

Как добавить: «+» → «Подписка по ссылке» (или «Из буфера обмена»), затем вставьте адрес. Если вам прислали ссылку вида fandag://import?url=https%3A%2F%2F…, просто нажмите на неё на телефоне: откроется Fandag с предложением импорта.

Подписка и её меню
  • Трафик и срок. Если сервер подписки сообщает эти данные, под названием подписки видно, сколько трафика израсходовано и до какой даты она действует.
  • Ошибка обновления. Если обновить подписку не удалось, там же появится ошибка. Старые серверы при этом остаются.
  • Как часто обновляется. Подписка обновляется сама с интервалом, который задаёт её сервер, обычно раз в 12–24 часа. Обновить сразу: «⋮» у подписки → «Обновить подписку». Все подписки сразу: «Настройки» → «Обновить все подписки».
  • Сервер убрали из подписки. Он исчезнет из списка при следующем обновлении. Если он был выбран, Fandag перейдёт на другой и напишет об этом в уведомлении.
  • У сервера сменились адрес или ключ. Если VPN включён и это сервер, которым вы пользуетесь, Fandag применит изменения сам, без переподключения.
  • «Удалить подписку» убирает её вместе с серверами.

Ключ AmneziaWG или WireGuard одновременно работает только на одном устройстве. Если одну подписку открыть на двух устройствах сразу, на этих серверах они будут мешать друг другу. У VLESS такого ограничения нет.

Полный интерфейс: серверы, группы, цепочки

Вкладка «Серверы»

Сверху показаны состояние и кнопка подключения, под ними режим маршрутизации:

  • Правила — трафик раскладывается по правилам из вкладки «Маршруты». Это обычный режим.
  • Глобально — весь трафик идёт через выбранный сервер.
  • Напрямую — весь трафик выходит напрямую, без серверов, а туннель остаётся включённым. Правила при этом не проверяются.

Чем режимы отличаются в деталях, описано в разделе Как устроена маршрутизация.

Кнопка со спидометром вверху проверяет задержку всех серверов. Такая же кнопка у раздела проверяет только его серверы. Кружок слева от строки выбирает сервер.

Группы

Группа — это несколько серверов, из которых Fandag выбирает сам. Создаётся через «+» → «Группа серверов»:

Редактор группы
  • Вручную — сервер из группы выбираете вы.
  • Самый быстрый — Fandag периодически проверяет задержку и берёт самый быстрый. «Допуск» не даёт переключаться из-за разницы в несколько миллисекунд.
  • Первый рабочий — первый работающий сервер по списку.
  • Балансировка — соединения распределяются по всем серверам группы.

В участники можно добавить отдельные серверы или пункт «Все серверы: <подписка>». Во втором случае группа сама следит за составом подписки.

Цепочки

Цепочка — это вход через один сервер и выход через другой, например через российский ретранслятор на зарубежный сервер. Создаётся через «+» → «Цепочка серверов». Трафик проходит серверы сверху вниз:

Редактор цепочки

Действия с сервером

Кнопка «⋮» у сервера открывает меню: изменить, поделиться, удалить.

Меню сервера Поделиться сервером Редактирование сервера

«Поделиться» показывает QR-код и ссылку: их можно отсканировать или отправить на другое устройство. Для AmneziaWG/WireGuard можно сохранить и файл .conf. В редакторе основные поля собраны на вкладке «Форма», а все параметры — на вкладке «YAML».

Маршрутизация

На вкладке «Маршруты» задаётся, какой трафик идёт через VPN, а какой напрямую.

Маршруты: режим и приложения Маршруты: правила

  • Режим и Если ни одно правило не подошло — куда идёт весь трафик, не попавший под правила: через прокси или напрямую.

  • Приложения — какие приложения вообще идут через VPN: все, только выбранные или все, кроме выбранных.

  • Правила для приложений — например, Telegram через конкретный сервер, а банковское приложение напрямую:

    Выбор приложения
  • Мои правила — условие и направление. Условие: домен (вместе с поддоменами или точный), слово в домене, сеть IP или порт. Направление: прокси, напрямую, блокировать, группа, цепочка или конкретный сервер.

    Новое правило

    Нажатие на правило открывает его для правки. После сохранения правило остаётся на своём месте в списке, а это важно: правила проверяются сверху вниз.

    Правка правила

    Кнопка «Редактировать текстом» (значок со строчками и карандашом рядом с «+») показывает все правила текстом, по одному на строку: ТИП,значение,политика, например DOMAIN-SUFFIX,example.org,Германия. Так удобно вставить готовый список или поправить много правил сразу.

    • Типы: DOMAIN-SUFFIX — домен и поддомены, DOMAIN — точный домен, DOMAIN-KEYWORD — слово в домене, IP-CIDR — сеть IP, DST-PORT — порт или диапазон портов. Подходят и строки из списков Shadowrocket и Clash: IP-CIDR6, DEST-PORT, хвост ,no-resolve.
    • Политика: PROXY, DIRECT, REJECT или имя группы, цепочки или сервера. Если имя неоднозначное (два сервера называются одинаково или сервер называется DIRECT), вместо имени в тексте стоит ссылка вида node:….
    • Комментарии. Строки, которые начинаются с #, пропускаются и не сохраняются. Повторяющиеся правила убираются.
    • Ошибки. Пока в тексте есть ошибка, ничего не сохраняется, а над полем написано, в какой строке и что не так.

    Мои правила текстом Ошибки в тексте правил

  • Правила из конфигов — готовые наборы правил Shadowrocket/Surge (.conf) или Clash (YAML), из файла или по ссылке. Каждый набор выключается переключателем. Нажатие на набор показывает его правила. Если в наборе есть свои имена политик (например, «Streaming»), их можно направить на свою группу или сервер.

    Конфиг по умолчанию. Новая установка сразу получает набор «По умолчанию»:

    • Instagram, Facebook и WhatsApp идут через прокси;
    • Яндекс, Avito, Ozon и другие российские сервисы, домены .ru, .рф, .su и российские IP идут напрямую;
    • QUIC блокируется;
    • всё остальное идёт через прокси.

    Если Fandag был установлен раньше, набор добавляется кнопкой «Конфиг по умолчанию» в этом разделе. Кнопка видна, пока такого набора нет.

    Набор «По умолчанию»

    Импорт конфига, в том числе этой кнопкой, переносит его итоговое правило в «Если ни одно правило не подошло», если оно ведёт в «Прокси», «Напрямую» или «Блокировать». У конфига по умолчанию это «Прокси». Если до этого был включён пресет «Только заблокированное», проверьте эту настройку после импорта.

  • Гео-правила и пресеты.

    • По умолчанию включён пресет «Россия напрямую»: российские сайты, российские IP и локальные сети идут мимо VPN, всё остальное через VPN.
    • Пресет «Только заблокированное» работает наоборот: через VPN идут только сайты, заблокированные в РФ, всё остальное напрямую.
  • Прочее:

    • блокировка QUIC: браузеры переходят на TCP, и через VPN это часто работает стабильнее;
    • IPv6. По умолчанию выключен: приложения в VPN вообще не получают IPv6 и сразу переходят на IPv4. Мимо туннеля IPv6 не идёт.

Как устроена маршрутизация

Куда пойдёт соединение, решается в два этапа. Сначала Android решает, попадёт ли оно в туннель вообще. Затем ядро Fandag решает, куда его отправить.

1. До ядра — одинаково во всех режимах. В туннель вообще не попадают:

  • приложения, которые исключены в «Маршруты» → «Приложения» («Только выбранные» или «Все, кроме выбранных»);
  • сети, которые исключают включённые конфиги (tun-excluded-routes и адреса из skip-proxy), обычно локальные сети и служебные диапазоны;
  • весь трафик, пока VPN стоит на паузе в доверенной сети Wi-Fi. Туннель в это время действительно выключен.

2. В ядре — по режиму. Режим переключается на вкладке «Серверы» или в «Маршруты» → «Режим».

Режим Что происходит с соединением
Правила Проверяется по правилам сверху вниз, решает первое подходящее. Если не подошло ни одно, соединение идёт туда, что выбрано в «Если ни одно правило не подошло»: через прокси или напрямую.
Глобально Работают только правила для приложений и «Блокировать QUIC». Всё остальное идёт через прокси. Мои правила, конфиги и гео-правила не учитываются.
Напрямую Всё уходит напрямую, без серверов. Правила не проверяются вообще, даже правила для приложений и блокировка QUIC. Туннель при этом включён: исключения приложений и сетей продолжают работать.

3. Порядок правил в режиме «Правила»:

  1. правила для приложений;
  2. «Блокировать QUIC», если включено;
  3. мои правила в своём порядке. За ними, если включён пресет «Только заблокированное», идёт список сайтов, заблокированных в РФ, → прокси;
  4. правила из конфигов и наборов по ссылке, набор за набором, только включённые;
  5. гео-правила;
  6. «Если ни одно правило не подошло».

Поэтому правило для приложения сильнее всего, а мои правила сильнее любого конфига. Например, в конфиге youtube.com → прокси, а в моих правилах youtube.com → напрямую. В этом случае YouTube пойдёт напрямую. Чтобы поправить чужой конфиг, его не нужно редактировать, достаточно своего правила. Несколько включённых конфигов работают одновременно, один за другим.

Прокси — это то, что выбрано на главном экране: сервер, группа или цепочка. Если включено автопереключение при сбое, это выбранный сервер, а за ним резервные.

DNS. С Fake-IP (он включён по умолчанию) приложения получают от Fandag ненастоящие адреса. Поэтому ядро знает имя сайта, и правила срабатывают по имени. Настоящий адрес ядро узнаёт само: для соединений через прокси — через DNS для прокси (по умолчанию DoH 1.1.1.1 и dns.google), для прямых — через DNS текущей сети. Адреса самих серверов всегда узнаются через DNS сети.

Активность: соединения и журнал

Соединения Журнал

  • Соединения — что открыто прямо сейчас: адрес, приложение, сработавшее правило и куда пошёл трафик. Нажатие на соединение закрывает его, кнопка вверху закрывает все сразу.
  • Журнал — сообщения ядра. По умолчанию записываются только ошибки. Как записывать больше, см. в разделе Настройки, пункт «Журнал».
    • Кнопка «Сохранить журнал» (дискета вверху, рядом с «Очистить журнал») сохраняет журнал в файл fandag-log-….txt. В файле прошлая и последняя сессии, а сверху версии Fandag, ядра и Android, модель телефона и уровень журнала.
    • Файл удобно приложить к сообщению о проблеме. В режимах «Соединения» и «Отладка» в нём видны адреса сайтов и названия приложений, поэтому посмотрите его, прежде чем кому-то отправлять.

Настройки

Настройки, часть 1 Настройки, часть 2 Настройки, часть 3

  • DNS — серверы DNS для соединений через прокси и для прямых соединений. Значение system означает DNS текущей сети. С Fake-IP имена сайтов, которые идут через прокси, не отправляются в локальный DNS, а соединения открываются быстрее.

  • Запуск:

    • «Подключаться при загрузке» — VPN включится после перезагрузки телефона;
    • «Постоянный VPN» открывает системные настройки. Там можно включить Always-on VPN и блокировку соединений без VPN.
  • Автопереключение при сбое сервера. Если выбранный сервер перестал отвечать, трафик идёт через следующий рабочий, а когда выбранный снова заработает, возвращается на него. Можно выбрать резервные серверы и частоту проверки.

  • Пауза в доверенных сетях. Дома или на работе VPN может сам вставать на паузу: трафик идёт так, как будто приложения нет. Когда вы уходите из этой сети, VPN включается обратно. Паузу можно ставить на любом Wi-Fi или только в выбранных сетях.

    Чтобы Android сообщал приложению имя сети, нужен доступ к геолокации в режиме «Разрешать всегда». Само местоположение Fandag не использует.

    Доверенные Wi-Fi
  • Подписки:

    • «Обновить все подписки»;
    • User-Agent;
    • отправка HWID. Она нужна панелям с ограничением числа устройств, например Remnawave. Каждый сервер подписок получает свой идентификатор устройства.
  • Журнал — что записывать: ничего, только ошибки, все соединения или всё для отладки. Подробные режимы включайте только на время поиска проблемы.

  • Оформление — тема, язык интерфейса, цвета обоев (Material You).

  • Резервная копия — сохранение в файл и восстановление из файла: серверы, подписки, группы, правила и настройки. В файле есть ключи серверов, храните его бережно.

  • Обновления — автоматическая проверка раз в сутки и кнопка «Проверить обновления».

Плитка, уведомление, виджет

Включать и выключать VPN можно, не открывая приложение.

  • Плитка в быстрых настройках. Откройте шторку, нажмите ✏ и перетащите плитку Fandag к активным.

    Плитка Fandag
  • Уведомление. Пока VPN включён, в уведомлении видны сервер и скорость, а кнопка «Отключить» выключает VPN.

    Уведомление Fandag
  • Виджет. Долго нажмите на пустое место рабочего стола → «Виджеты» → Fandag. Виджет показывает состояние и сервер, нажатие на него включает или выключает VPN.

    Виджет Fandag

Обновления

Раз в сутки Fandag проверяет этот репозиторий. Когда выходит новая версия, на главном экране появляется сообщение «Доступна версия Fandag …»:

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

В первый раз Android попросит разрешить Fandag устанавливать приложения. Кнопка «Разрешить» откроет нужную настройку. Если VPN был включён, после обновления он подключится сам. Проверить обновления вручную: «Настройки» → «Проверить обновления».

Если что-то не работает

  • Не подключается или нет интернета.
    1. Откройте «Активность» → «Журнал»: там видно, почему сервер не отвечает.
    2. Проверьте задержку серверов кнопкой со спидометром и попробуйте другой сервер.
    3. Если ошибок в журнале нет, временно включите в настройках журнал в режиме «Соединения».
    4. Чтобы показать проблему кому-то ещё, сохраните журнал в файл: «Активность» → «Журнал» → «Сохранить журнал».
  • VPN сам выключился или не включился после перезагрузки. Скорее всего, телефон выгружает Fandag, чтобы экономить батарею. Исключите Fandag из оптимизации: «Настройки Android» → «Приложения» → Fandag → «Батарея» → «Без ограничений». Некоторые производители (Xiaomi, Huawei, ZTE и другие) требуют ещё и разрешить приложению автозапуск.
  • Уведомление «Автозапуск не подключился». Android отозвал разрешение на VPN, например после того, как вы пользовались другим VPN-приложением. Откройте Fandag и подключитесь вручную.
  • Сервер AmneziaWG/WireGuard то работает, то нет. Проверьте, не используется ли тот же ключ одновременно на другом устройстве: один ключ — одно устройство.
  • Подписка показывает ошибку. Проверьте, открывается ли её адрес в браузере. Подписка скачивается через текущий VPN-сервер, поэтому если он не работает, выберите другой сервер и обновите подписку снова.