Skip to content
makriq-orgPublic

About

Android-клиент для mihomo со встроенными узлами NaiveProxy, ByeDPI, OlcRTC и StormDNS

Topics

Resources

Stars

23 stars

Watchers

0 watching

Forks

Latest commit

 

History

904 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlClashM

FlClashM

Обход блокировок в Android — за одной кнопкой.

Загрузки Последняя версия Лицензия На базе FlClashX

Android-клиент для mihomo, форк FlClashX, который прячет сложные инструменты обхода блокировок за одним переключателем.

Русский · English · 中文 · فارسی


Warning

Проект в активной разработке. Некоторые функции ещё дорабатываются, а интерфейс может меняться.

📑 Оглавление


🎯 Зачем этот клиент

Есть несколько мощных инструментов обхода блокировок, и каждый живёт в своём «загоне»:

  • 🛡 ByeDPI — обход DPI для доступа к ресурсам, заблокированным «изнутри» (например, YouTube или Discord для РФ).
  • 📞 OlcRTC — обход белых списков маскировкой под WebRTC-звонки разрешённых сервисов, таких как Yandex Telemost.
  • 🌩 StormDNS — обход белых списков маскировкой под обычные DNS-запросы к разрешённому резольверу.
  • 🎭 NaiveProxy — обход чёрных списков маскировкой под трафик браузера Chrome.

Каждая технология хороша для своей задачи, но не было места, которое объединяло бы их все. Хотелось задать всё в одном месте и просто нажать «подключиться».

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


✨ Главные преимущества

🧩 Встроенные узлы прямо в профиле

В отличие от обычных клиентов, FlClashM умеет запускать специальные узлы прямо из YAML-профиля. Они выглядят как обычные прокси и участвуют в правилах маршрутизации: один сайт можно направить через ByeDPI, другой — через OlcRTC, а всё остальное — напрямую.

🛡 ByeDPI — автоперебор стратегий обхода DPI с кэшированием рабочей.

proxies:
  - name: "dpi-auto"
    type: byedpi
    strategies:
      - builtin:byebyeedpi
      - "--disorder 1"

📞 OlcRTC — туннель поверх WebRTC под видом видеозвонка.

proxies:
  - name: "rtc"
    type: olcrtc
    provider: jitsi
    room: "https://meet.example.org/room"
    encryption-key: "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
    transport: datachannel
    dns-server: "1.1.1.1:53"

🌩 StormDNS — туннель внутри обычных DNS-запросов.

proxies:
  - name: "storm"
    type: stormdns
    domains: ["v.example.com"]
    encryption: chacha20
    encryption-key: "<key>"

🎭 NaiveProxy — маскировка под трафик Chrome.

proxies:
  - name: "naive"
    type: naiveproxy
    server: example.com
    port: 443
    username: user
    password: pass

📖 Подробнее о встроенных узлах →

🎯 Раздельное туннелирование через профиль

Провайдер может задать правила раздельного туннелирования прямо в профиле — какие приложения идут через VPN, а какие нет. Поддерживаются точные имена пакетов, маски и регулярные выражения; списки можно загружать из файлов или URL. Профиль имеет приоритет над ручными настройками.

tun:
  enable: true
  include-package:
    - org.telegram.messenger
    - com.termux
  exclude-package:
    - '*.yandex.*'
    - '!ru.yandex.browser'

📖 Подробнее о раздельном туннелировании →


🛠 Что ещё умеет

  • 🔌 VPN/TUN-подключение через mihomo.
  • 📥 Профили по ссылке, из файла, по QR-коду и с Android TV.
  • 🔀 Режимы работы: правила, глобальный, прямое соединение.
  • 🧰 Виджеты и плитка быстрых настроек для управления VPN.
  • ⬆️ Встроенное обновление с проверкой подписи и контрольных сумм.
  • 🔔 Уведомления об истечении подписки.
  • 🚀 Автозапуск после перезагрузки устройства.
  • 🎨 Оформление через подсказки провайдера.

📥 Скачать

Готовые сборки публикуются в GitHub Releases.

Файл Для чего
FlClashM-android-universal.apk Универсальная сборка (подойдёт, если сомневаетесь)
FlClashM-android-arm64-v8a.apk 64-битные ARM (большинство современных телефонов)
FlClashM-android-armeabi-v7a.apk 32-битные ARM (старые устройства)
FlClashM-android-x86_64.apk x86_64 (эмуляторы, отдельные планшеты)
FlClashM-android-release.aab Android App Bundle

Note

По умолчанию встроенный загрузчик показывает только стабильные версии. Предварительные сборки можно включить в настройках.


📚 Документация

Полный справочник — в центре документации.

🚀 Для пользователей

🛠 Для разработчиков


🏗 Сборка

Нужны Flutter 3.47.x, JDK 17, Android SDK/NDK и Go 1.27.2.

На NixOS (рекомендуется)

Все зависимости и их версии задаёт flake.nix. Отладочный пакет для arm64 собирается одной командой:

nix develop -c make dev

Результат: build/app/outputs/flutter-apk/app-debug.apk.

Остальные задачи запускаются так же:

nix develop -c make fetch-upstream check
nix develop -c make install-dev
nix develop -c make release
nix develop -c make clean

Отдельно доступны цели test, analyze, boundaries, release-contract и drift.

Без Nix

flutter pub get
dart setup.dart android --arch arm64 --out core
flutter test test/product
flutter build apk --debug

📖 Подробнее — в проверке сборки.


🙏 Благодарности

FlClashM построен на базе FlClashX — отличного кроссплатформенного клиента для Clash/Mihomo. Огромное спасибо авторам за проделанную работу и открытый код, без которого этот проект был бы невозможен.

Отдельная благодарность авторам ByeDPI, OlcRTC, StormDNS и NaiveProxy — без их труда обход блокировок был бы невозможен.


📄 Лицензия

Код приложения распространяется по лицензии GPL-3.0. Сторонние ядра и встроенные исполняемые файлы сохраняют свои исходные лицензии.

About

Android-клиент для mihomo со встроенными узлами NaiveProxy, ByeDPI, OlcRTC и StormDNS

Topics

Resources

Stars

23 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages