Releases: yamixdev/Etonify
Releases · yamixdev/Etonify
Release list
v0.2.4
v0.2.3
Исправления VPN и стабильности
- Ручная остановка VPN теперь отменяет незавершённую сборку конфига, отложенный перезапуск и автоматическое восстановление. Поздний результат старой операции больше не запускает сервис повторно.
- Исправлены зависания на этапах «Сборка конфига» и «Восстановление»: ошибочный или несовместимый профиль не оставляет интерфейс в бесконечном промежуточном состоянии, а остановку можно выполнить сразу.
- При переключении профиля работающий VPN полностью останавливается. Для каждого профиля отдельно сохраняется последний выбранный сервер, а ранее не использовавшийся профиль начинает с
lowest. - Обновлён встроенный
libbox.aarиз yamixdev/etonify-core. Добавлена совместимость с Realityspider_x; неподдерживаемое расширение удаляется только для ядра без соответствующей возможности. - Улучшена обработка ошибок запуска отдельных outbound: сообщение ядра корректно связывается с проблемным сервером и не запускает конфликтующие циклы восстановления.
- Исправлена очень долгая первая загрузка после обновления при наличии крупных подписок и теперь клиент больше не переписывает и не уплотняет всё хранилище до показа главного экрана; старые данные переводятся в новый формат постепенно при сохранении или обновлении профилей.
Изменения профилей и подписок
- Экспорт и импорт сохраняют границы профилей, их названия, серверы и выбранные значения. Несколько подписок больше не объединяются в одну общую подписку.
- Максимальный размер резервной копии увеличен с 8 до 32 МБ. Чтение, расшифровка и подготовка крупных файлов выполняются вне UI-потока, поэтому интерфейс не зависает.
- Файл резервной копии, выбранный в окне добавления подписки, теперь направляет пользователя в правильный раздел импорта вместо создания одной подписки из всего содержимого.
- Большие payload подписок сжимаются в хранилище и декодируются в фоновом isolate. Это уменьшает объём данных и ускоряет открытие клиента с крупными подписками.
Изменения списка серверов
- Удалены экспериментальные
lowest open,lowest freeиmixed. В интерфейсе и конфиге остаётся один понятныйlowest, который использует фактический выбор URLTest текущего ядра. lowestбольше не заимствует старый пинг, страну или флаг другого сервера. Ошибка выбранного endpoint отображается как ошибка, а не как успешный автоматический выбор.- Убрано искусственное ограничение предпросмотра в 50 серверов: весь список доступен через ленивую прокрутку без одновременного построения всех строк.
- Переработаны жесты нижней панели прокси.
Версия
- Версия приложения обновлена до
0.2.3+9.
v0.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.
v0.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. - Etonify использует модифицированное ядро sing-box от dudosxdev.
v0.1.2
В этом обновлении исправлена работа центра обновлений клиента. Рекомендую скачать новую корректную версию с GitHub, чтобы в дальнейшем получать автообновления прямо внутри клиента.
v0.1.1
Etonify v0.1.1
Исправления
- Исправлен native crash в
libgojniпри активном трафике. - Улучшена стабильность VPN при работе в фоне и после смены сети.
- Исправлен визуальный артефакт после возврата со страницы подписок.
- Исправлен экран обновлений: длинные APK-имена теперь корректно помещаются в интерфейс.
Производительность
- Панель мониторинга трафика больше не собирает график, когда она закрыта.
- Снижены лишние обновления UI для traffic dashboard.
v0.1.0
Это первый релиз клиента, в который включена функция автоматического обновления через GitHub.
Если встроенное обновление не сработает или будет работать некорректно, пожалуйста, скачайте и установите последнюю версию вручную со страницы GitHub Releases.
Signed Android APKs built from d5e8507.