Skip to content
yamixdevPublic

About

Android-first open-source VPN client built around a modified sing-box core.

Resources

Contributing

Security policy

Stars

37 stars

Watchers

0 watching

Forks

Latest commit

 

History

386 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Etonify

Etonify by MeowTeam

An open-source VPN client for Android.

Built with Flutter and a modified sing-box core.

English · Русский · Українська · 简体中文 · فارسی

Client: 0.3.8+38 Bundled core: 1.15.0-alpha.10-etonify.1
Android 8.0+ GPL-3.0-or-later

Download APK · Changelog · Report a problem · Telegram

Features · Quick start · Compatibility · Development

Etonify brings subscriptions, proxy selection, routing and connection diagnostics into one Android app. The interface supports light, dark and dynamic color themes.

Important

Etonify does not provide VPN servers or sell subscriptions. Connect your own server or use a subscription from a provider.

Features

Area What you can do
Subscriptions Import from a URL, file, clipboard, QR code or supported deep link. Refresh profiles and see provider-supplied traffic and expiry information.
Servers and groups Choose a server manually or use an automatic group. Browse nested groups in subscription order, share a server or group, and export a profile to JSON for file import.
Latency checks Check a server, a group's members or the subscription. View measured results and working-server counters without treating untested servers as failed.
Routing Choose apps that use VPN or bypass it. Each mode has its own selection. Configure traffic rules, local network bypass and local rule sets.
Traffic dashboard Follow upload/download speed, session traffic and uptime. Refresh the current external IP and its country flag.
DNS and core settings Configure direct or proxied DNS, encrypted DNS and AdGuard DNS filtering. Adjust network strategy, timeouts, TCP keepalive and UDP/NAT controls.
Connection and diagnostics Use Android TUN VPN, a local HTTP/SOCKS proxy or both. Inspect logs, core compatibility, applied configuration and runtime resources.

Latency checks send a request through the proxy; they are not ICMP ping. A missing result is not a measured failure. Group results and counters depend on completed checks of their members.

Connect in four steps

  1. Install an APK for your device from Releases.
  2. Add your subscription or import a server configuration.
  3. Select a server or an automatic selection group.
  4. Start the connection and approve Android's VPN permission request.

In About → Updates, choose Stable or Beta from the menu. Beta includes prereleases for testing; the displayed app version may not have a “beta” suffix.

If an update reports that split-tunneling settings were reset, review the section and select apps again before enabling it.

Versions and requirements

Component Current source tree
Client 0.3.8+38
Bundled core v1.15.0-alpha.10-etonify.1
Upstream baseline v1.15.0-alpha.10
Flutter SDK 3.47.5 · Dart 3.13
Android 8.0 or later · API 26+
APK architectures arm64-v8a · armeabi-v7a
App interface languages English and Russian

Note

These versions refer to the source code. Available APKs are listed in Releases. The core is based on a prerelease version of sing-box.

Client version: pubspec.yaml. Binary version and source commit: libbox.provenance.json. Android is the supported release platform; other Flutter platform directories do not imply supported builds.

Configuration compatibility

Import formats

sing-box JSON · Xray JSON · Clash YAML · SIP008 · server links

Protocols

VLESS · VMess · Trojan · Shadowsocks · Hysteria / Hysteria2 · TUIC · AnyTLS · NaiveProxy · HTTP · SOCKS

Etonify converts supported Xray and Clash settings to its sing-box configuration. Importing a profile does not enable every feature of the original core. Compatibility depends on the protocol, transport and fields used.

  • WireGuard is not included in the Android build.
  • Multiplexing requires compatible server support. sing-box multiplexing and Xray Mux are not interchangeable.
  • Nested group membership comes from configuration references, not names such as cand-*. Group exports retain their referenced members and dependencies.

Read about proxy selection and nested groups, core settings and multiplexing, and earlier sing-box schema migrations.

Privacy and safe sharing

Etonify connects to the VPN servers you choose. Your traffic does not pass through MeowTeam servers. The client has no advertising or analytics SDKs.

  • On your device: subscriptions, profiles, selected servers, settings, diagnostic logs and downloaded rules are handled locally. On Android, subscription and settings databases are encrypted with a key protected by Android Keystore. This does not encrypt exported files.
  • To developers: the client does not automatically send profiles or diagnostic logs. You choose what to share when contacting support.
  • To external services: subscription imports and refreshes contact the subscription URL; client updates, rules and changelog images are downloaded from GitHub and their respective sources. Latency checks contact the configured test URL, and DNS queries go to the selected resolver. These services see information from their network requests, including the exit IP address.
  • “Your IP”: the client contacts Cloudflare to determine the external address and country when you open the panel or refresh manually. The request follows the device's current routes, including VPN and split-tunneling rules.

A VPN alone does not guarantee anonymity: what your VPN and DNS providers can see depends on the protocol, encryption and your settings.

  • HWID sharing is enabled globally by default and can be turned off in settings. When the global setting is off, per-subscription consent can still enable it for a profile. Review global, profile and custom-header settings before adding a subscription.
  • Allowing untrusted proxy certificates bypasses certificate verification. Do not use it as a general fix for connection problems.
  • Profile exports, backups, logs and screenshots may contain subscription URLs, access keys, passwords, server addresses or device identifiers. Review and redact them before sharing.

Report vulnerabilities privately using the contact information in SECURITY.md. Do not publish exploit details in a public issue.

Development

The client uses the committed AAR: a normal client build does not rebuild the Go core. CI uses Flutter 3.47.5 and JDK 21; install the Android SDK and Python 3 as well.

Show client setup, checks and a debug build
git clone --recurse-submodules https://github.com/yamixdev/Etonify.git
cd Etonify
flutter pub get
flutter gen-l10n
dart run pigeon --input pigeons/singbox_api.dart
python scripts/verify_libbox.py
flutter analyze
flutter test
flutter build apk --debug

For release builds, configure signing in android/key.properties. Official builds may restore private Happ encrypted-subscription compatibility assets; read private build inputs before expecting a local build to match that behavior.

How the bundled core is pinned

The submodule pins the core source. Android compiles against android/app/libs/libbox.aar. Both must be updated together with the sources JAR, checksum and provenance. scripts/verify_libbox.py checks this pairing and the Android Java API contract.

Core replacement requirements: bundled core documentation. Separate core toolchain: ETONIFY_BASELINE. Release automation: GitHub Actions guide.

Read CONTRIBUTING.md before sending a patch.

Get help or support development

For a bug report, include the app version, device model, Android and vendor OS versions, reproduction steps and redacted logs. If it started after an update, name the last working version.

Open an issue · Project news · Private support

You can support development through Tribute or DonationAlerts.

People and licenses

Maintained by MeowTeam: yamixdev and dudosxdev. Built on sing-box and other open-source components.

Licensed under GNU GPL v3.0 or later. See NOTICE.md and THIRD_PARTY_NOTICES.md for attribution and third-party licenses.

About

Android-first open-source VPN client built around a modified sing-box core.

Resources

Contributing

Security policy

Stars

37 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages