Etonify
40 subscribers
4 photos
6 files
15 links
Download Telegram
Etonify 0.2.1

VPN и стабильность
— Исправлено зависание и исчерпание памяти при запуске раздельной маршрутизации с выбранными приложениями.
— Исправлены ложная потеря сетевого интерфейса, самопроизвольное восстановление VPN после ручной остановки и конфликтующие операции запуска, остановки и смены конфигурации.
— Улучшена обработка смены сети, восстановления после ошибок ядра и синхронизация состояния между Android-сервисом и интерфейсом.
— Добавлены отдельные режимы подключения: системный VPN TUN и локальный HTTP/SOCKS-прокси.
— Доступ к локальному прокси из LAN теперь защищён автоматически созданным логином и паролем.
Проверка серверов и IP
— Проверки задержки объединены в одну управляемую сессию без параллельных повторов и частых фоновых запусков.
— Сохранён HTTP URLTest через прокси; ошибки EOF и таймауты больше не помечают работающий сервер как окончательно недоступный.
— Во время повторной проверки сохраняется последнее значение задержки, а состояние списка обновляется без зависшей анимации.
— Определение внешнего IP ускорено параллельным запросом к нескольким источникам с коротким таймаутом и кэшем.
Подписки и интерфейс
— Переработан экран подписок: закреплённая шапка, плавное добавление профиля, сортировка и отдельное меню действий.
— Добавлены копирование URL и JSON, показ QR-кода, количество прокси и дата обновления.
— "Обновить все" выполняет ограниченное число запросов параллельно и показывает общий прогресс, не создавая дублирующиеся обновления.
— Исправлены рывки, лишние перестроения интерфейса и прокрутка пустого содержимого в нижних панелях.
Маршрутизация и DNS
— "Маршруты России" переименованы в «Умную маршрутизацию».
— Добавлены проверка обновлений правил, встроенная офлайн-база и подробные этапы скачивания, проверки, распаковки и установки.
— Состояние обновления Умной маршрутизации и AdGuard DNS Filter сохраняется при переходе между экранами.
— Для AdGuard DNS Filter добавлены объём загрузки, ETA, сборка локального SRS и безопасная замена правил.
— Обычный адрес DNS, например 1.1.1.1, принимается как UDP без подстановки udp:// в поле ввода.
— Ускорены поиск приложений и загрузка иконок для раздельной маршрутизации; выбранное приложение можно удалить прямо из списка.
Обновление клиента
— Updater учитывает ABI устройства и минимальную версию Android перед загрузкой APK.
— Перед установкой проверяются имя пакета, версия Android, сертификат подписи и SHA-256 из release manifest.
— Старые и уже установленные APK удаляются автоматически; этапы очистки, загрузки и проверки показываются в интерфейсе.
— GitHub Actions формирует universal и split-ABI APK, manifest обновления и черновик релиза с этим changelog.
И по мелочи
— Обновлены экраны «О приложении», MeowTeam, пользовательское соглашение и политика конфиденциальности.
— Добавлены пояснения для QUERY_ALL_PACKAGES, HWID, установки APK и локального хранения диагностических данных.
— Версия приложения обновлена до 0.2.1+5.

https://github.com/yamixdev/Etonify/releases/tag/0.2.1
Если вы хотите поделиться мнением о клиенте — что устраивает, а что нет, что хотели бы увидеть, какие есть ошибки, баги и прочее — пишите в директ канала: https://t.me/etonify?direct
Это нужно, чтобы быстрее получать от вас мнение о клиенте и своевременно исправлять то, что вы находите!
А также, если вы обновитесь с 0.2.0 до 0.2.1 через сам клиент, в разделе «О клиенте» может показаться, что клиент использует 400 МБ оперативной памяти. Просьба свернуть и полностью закрыть приложение, а после перезапустить клиент!

Если хотите переустановить клиент, удалив 0.2.0 и вручную установив 0.2.1, по желанию перед удалением перейдите в настройки, нажмите 3 точки —> данные и резервная копия. Вы можете сделать экспорт настроек, а также экспорт подписки! В новой версии вы можете импортировать оба файла по очереди, нажав «Импортировать файл Etonify»
Будет ещё патч 0.2.2, релиз которого состоится через 2–3 недели, а может и раньше!
В патче будут исправления и улучшения клиента, также будут учтены ваши пожелания и найденные проблемы клиента.
🔥3
Работа над патчем 0.2.2 идёт хорошо.
Я начал разбивать значимые изменения на отдельные коммиты, чтобы в случае серьёзной ошибки можно было быстрее найти проблемное место и откатить только нужную часть, не затрагивая остальную работу.
Параллельно продолжаю изучать Go. Это особенно пригодится при дальнейшей работе с прокси-ядром клиента и поможет лучше понимать не только сам Etonify, но и то, что происходит внутри его сетевой части.
Также многие спрашивают, когда появится Wiki по Etonify, где можно будет разобраться в возможностях клиента, его настройках и принципах работы.
Ответ — скоро.
Точных сроков пока назвать не могу, потому что одновременно занимаюсь патчем 0.2.2 и подготовкой самой документации.
Делать её наспех не хочется, поэтому буду публиковать материалы по мере готовности!
👍62
Если не работает «Раздельная маршрутизация» в версии 0.2.1
Откройте:
Настройки → Входящие соединения → Реализация TUN
Если выбрано Mixed, переключите на gVisor и проверьте работу. Если проблема исчезла, оставьте gVisor. Также можно попробовать system — если с ним всё работает стабильно, можете использовать его.
Что означают режимы:
Mixed — сочетает system для TCP и gVisor для UDP. Оптимальный баланс, установлен по умолчанию.
gVisor — обрабатывает трафик через встроенный виртуальный сетевой стек. Обычно лучше по совместимости и стабильности, но может потреблять немного больше ресурсов.
system — использует системный сетевой стек устройства. Обычно работает быстрее, но на некоторых устройствах и прошивках возможны проблемы с маршрутизацией.
Не хотите разбираться — выбирайте gVisor.
Если всё работает, больше ничего менять не нужно!
👍4
Forwarded from Эксплойт
GitHub перестал работать в России — пользователи жалуются, что сервис недоступен без VPN.

Не работает Git, сам сайт не открывается, а также невозможно получить доступ к репозитариям. Наши редакторы убедились в недоступности.

У опенсорса сервера устарели.

@exploitex
Спустя час всё восстановилось. РКН никак не комментирует ситуацию и опровергает свою причастность.
t.me разблокировали, можете проверять.
С релизом патча 0.2.2 появится wiki в виде отдельной веб-страницы!
Патч выйдет в течение 7 дней.
После релиза поделюсь планами по апдейту 0.3.0
👍3🔥2
Etonify
Патч выйдет в течение 7 дней.
Скорее всего, срок может измениться до 14 дней, так как я начал заменять клиентское прокси-ядро на стабильное решение (мне будет проще поддерживать само ядро, имея нормальный стабильный форк sing-box с моими наработками; также улучшения в клиенте вы заметите, а может и нет! Например, пинг системе стало однозначно лучше). Я планировал внедрить это в 0.3.0, но планы поменялись, это необходимо.
👍4🔥2
Etonify 0.2.2

Новое ядро etonify-core
— MeowSingBox заменён на yamixdev/etonify-core, основанный на стабильной ветке sing-box 1.13.14 и адаптированный под Etonify.
— Клиент использует libbox v1.13.14-etonify.1 и перед запуском получает список возможностей ядра. Новые функции включаются только тогда, когда встроенный AAR их действительно поддерживает.
— Добавлены адресная проверка выбранного сервера, управляемая групповая проверка, понятные ошибки URLTest, ограничение параллелизма, общий срок выполнения и отмена устаревших сессий.
— В ядро вошли управляемое переключение с недоступного сервера, очистка соединений и ресурсов, поддержка XHTTP/SplitHTTP и опциональная VLESS Encryption.
— Настройки из Etonify 0.2.1 переносятся без очистки данных. Несовместимые параметры старого ядра заменяются поддерживаемыми значениями, а итоговый конфиг проверяется новым libbox до запуска сервиса.
— Исходный код ядра подключён к репозиторию как submodule ветки etonify-dev. Встроенный AAR закреплён SHA-256, файлом provenance и точным commit ядра.
VPN, сеть и раздельная маршрутизация
— Исправлена ситуация, когда VPN показывал успешное подключение, но DNS и весь трафик уходили в таймаут. Служебные соединения ядра надёжно исключаются из собственного туннеля.
— Улучшено восстановление после переходов Wi-Fi ↔️ мобильная сеть, выключения экрана и возврата приложения из фона.
— VPN продолжает работать после удаления Etonify из списка недавних приложений. При повторном открытии восстанавливаются состояние, список серверов, пинг и командный канал к уже работающему ядру.
— Раздельная маршрутизация сверяет выбранные приложения с теми пакетами, которые Android действительно добавил в VPN. Удалённое или некорректное приложение больше не оставляет сервис в частично применённом состоянии.
— Для Android 8–12 добавлен запасной маршрут выбранных приложений. Быстрые изменения режима и списка объединяются, не создавая пересекающиеся перезапуски VPN.
— Сохранены оба режима работы: системный VPN TUN и локальный HTTP/SOCKS-прокси. Доступ к локальному прокси защищён автоматически созданными учётными данными, в том числе при прослушивании LAN.
— Ручное отключение больше не отменяется устаревшей командой восстановления. Диагностика показывает запрошенные и фактически применённые приложения раздельной маршрутизации.
Серверы, задержка и внешний IP
— Нажатие на задержку на главном экране проверяет только выбранный сервер, а не всю подписку.
—При проверке всех серверов результаты появляются по мере получения. Старые значения не выдаются за новые, поздний ответ отменённой проверки не перезаписывает актуальный результат, а реальная ошибка отображается отдельно.
— Команды выбора сервера и URLTest выполняются последовательно и связываются с текущей сессией. Поздний ответ от старой команды больше не меняет выбранный сервер.
— Сервер, выбранный при выключенном VPN, сохраняется и используется при следующем подключении и после перезапуска приложения.
— «Самый быстрый» показывает задержку фактически выбранного сервера. Для «Умной маршрутизации» больше не рисуется вымышленный пинг.
— IP сервера показывается сначала по адресу endpoint, затем уточняется внешним IP через ядро. Добавлены короткие таймауты, резервные источники, кэш и защита от запоздалых ответов старой сети.
— Страна и флаг сервера больше не заменяются геолокацией выходного IP после включения VPN или раздельной маршрутизации.
— Автоматический выбор, умная маршрутизация и цепочки прокси получили понятные названия и отдельные состояния в интерфейсе.
DNS, подписки и защита данных
— Исправлен запуск с DoH, DoT, TCP и UDP DNS по доменному имени: клиент добавляет безопасный bootstrap-resolver и не создаёт циклическую DNS-зависимость.
— Обычный IP-адрес DNS, например 1.1.1.1 или 8.8.8.8, принимается как UDP без требования вручную писать udp://.
— Ошибки добавления и обновления подписок объясняют причину: неверный адрес, пустой ответ, HTML вместо подписки, таймаут, DNS/TLS, отсутствие серверов и основные HTTP 4xx/5xx.
— При активном VPN подписки обновляются через физическую сеть устройства, чтобы запрос не зацикливался внутри туннеля.
— HWID, Authorization, Cookie и другие чувствительные заголовки отправляются только по HTTPS. Междоменный redirect удаляет секретные заголовки, а переход HTTPS → HTTP блокируется.
— Настройки, подписки, пароли и ключи в Hive защищены AES-GCM; ключ хранится в Android Keystore, а старые данные переносятся автоматически.
— Секреты маскируются во Flutter-журнале, нативной диагностике Android и экспортируемых отчётах.
Интерфейс и производительность
— Приложение открывает интерфейс до полной загрузки больших конфигураций подписок; активная подписка подготавливается в фоне.
— Большие списки серверов строятся лениво и не создают все строки одновременно. Кнопка «Ещё …» открывает оставшиеся серверы, выбранная сортировка сохраняется.
— Пинг, скорость и трафик обновляют только нужные элементы вместо перестроения всего приложения каждую секунду.
— Нативные логи записываются пакетами в отдельном потоке, уменьшая лишние операции с хранилищем.
— Добавлены Baseline и Startup Profile для запуска приложения, главного экрана и списка серверов.
— Системные сообщения заменены едиными карточками с подробностями и действиями. Обновлены экран «О клиенте», история MeowTeam и ссылка на исходный код ядра.
Android, CI и обновление клиента
— Минимальная версия повышена до Android 8.0 (API 26), удалены недостижимые ветки Android 5–7.
— Flutter обновлён до 3.44.6; обработка VPN-разрешения и установки APK переведена на современный Activity Result API.
— Установщик принимает APK только из закрытой папки Etonify и повторно проверяет пакет, Android API, подпись и SHA-256 перед передачей Android.
— CI и release workflow проверяют hash и provenance libbox.aar, запускают Flutter/Android-тесты, lint, Android assemble и CodeQL.
— GitHub Actions формирует universal и split-ABI APK, update manifest и черновик релиза с этим changelog.
— Версия приложения обновлена до 0.2.2+6.

https://github.com/yamixdev/Etonify/releases/tag/0.2.2
🤩2🔥1
У кого не работает, просьба отписаться в директ канала: t.me/etonify?direct. Напишите, что у вас случилось и на каком этапе это произошло, прикрепив логи!
Etonify
etonify-v0.2.2-arm64-v8a.apk
Если вы обновляетесь с версии 0.2.1 до 0.2.2 через обновление клиента без удаления, приложение может зависнуть на этапе сборки конфигурации. Рекомендую полностью переустановить клиент 0.2.2, заранее сохранив данные через настройки: нажмите на три точки вверху справа, выберите «Экспорт подписок и настроек» (по желанию).
Уже занимаюсь исправлением, это займет какое-то время
(не больше недели).
Etonify 0.2.3

Исправления VPN и стабильности
— Ручная остановка VPN теперь отменяет незавершённую сборку конфига, отложенный перезапуск и автоматическое восстановление. Поздний результат старой операции больше не запускает сервис повторно.
— Исправлены зависания на этапах «Сборка конфига» и «Восстановление»: ошибочный или несовместимый профиль не оставляет интерфейс в бесконечном промежуточном состоянии, а остановку можно выполнить сразу.
— При переключении профиля работающий VPN полностью останавливается. Для каждого профиля отдельно сохраняется последний выбранный сервер, а ранее не использовавшийся профиль начинает с lowest.
— Обновлён встроенный libbox.aar из etonify-core. Добавлена совместимость с Reality spider_x; неподдерживаемое расширение удаляется только для ядра без соответствующей возможности.
— Улучшена обработка ошибок запуска отдельных outbound: сообщение ядра корректно связывается с проблемным сервером и не запускает конфликтующие циклы восстановления.
— Исправлена очень долгая первая загрузка после обновления при наличии крупных подписок и теперь клиент больше не переписывает и не уплотняет всё хранилище до показа главного экрана; старые данные переводятся в новый формат постепенно при сохранении или обновлении профилей.

Изменения профилей и подписок
— Экспорт и импорт сохраняют границы профилей, их названия, серверы и выбранные значения. Несколько подписок больше не объединяются в одну общую подписку.
— Максимальный размер резервной копии увеличен с 8 до 32 МБ. Чтение, расшифровка и подготовка крупных файлов выполняются вне UI-потока, поэтому интерфейс не зависает.
— Файл резервной копии, выбранный в окне добавления подписки, теперь направляет пользователя в правильный раздел импорта вместо создания одной подписки из всего содержимого.
— Большие payload подписок сжимаются в хранилище и декодируются в фоновом isolate. Это уменьшает объём данных и ускоряет открытие клиента с крупными подписками.

Изменения списка серверов
— Удалены экспериментальные lowest openlowest free и mixed. В интерфейсе и конфиге остаётся один понятный lowest, который использует фактический выбор URLTest текущего ядра.
lowest больше не заимствует старый пинг, страну или флаг другого сервера. Ошибка выбранного endpoint отображается как ошибка, а не как успешный автоматический выбор.
— Убрано искусственное ограничение предпросмотра в 50 серверов: весь список доступен через ленивую прокрутку без одновременного построения всех строк.
— Переработаны жесты нижней панели прокси.

https://github.com/yamixdev/Etonify/releases/tag/0.2.3
👍2
Хочу предупредить: если заметите такой баг, не пугайтесь. Я забыл исправить его в последнем обновлении, но уже занимаюсь этим. Исправление войдёт в версию 0.2.4, которая выйдет завтра 😆

Также хочу поблагодарить всех, кто обращался ко мне, сообщал о найденных проблемах и помогал тестировать версию 0.2.3 перед релизом. Ваша помощь действительно сильно упрощает разработку и помогает делать приложение стабильнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Etonify 0.2.4

На этом пока что всё 🤷‍♂️

https://github.com/yamixdev/Etonify/releases/tag/0.2.4
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3