[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93428":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},93428,"Aethery","ZethRise\u002FAethery","ZethRise","One-click mobile GUI for the Aether censorship-circumvention tunnel — Kotlin & Rust","",null,"Rust",215,9,3,1,0,27,91,107,92.1,"GNU Affero General Public License v3.0",false,"master",true,[26,27,28,29,30,31,32],"aether","android","censorship","gui","kotlin","mobile-app","rust","2026-07-22 04:02:09","# Aethery\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"app\u002Fsrc\u002Fmain\u002Fres\u002Fdrawable-nodpi\u002Faethery_launcher.png\" width=\"112\" alt=\"Aethery icon\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  Native Android client for private, censorship-resistant connections.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FZethRise\u002FAethery\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FZethRise\u002FAethery?display_name=tag&style=for-the-badge&color=74c69d\" alt=\"Release\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FZethRise\u002FAethery\u002Factions\u002Fworkflows\u002Fandroid-release.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002FZethRise\u002FAethery\u002Fandroid-release.yml?branch=main&style=for-the-badge&label=Android%20build\" alt=\"Android build\">\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-AGPL--3.0-6c5ce7?style=for-the-badge\" alt=\"AGPL-3.0\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FCluvexStudio\u002FAether\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcore-Aether-101411?style=for-the-badge\" alt=\"Aether core\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n> **v0.1.1** — Aethery is an Android app around the [Aether core](https:\u002F\u002Fgithub.com\u002FCluvexStudio\u002FAether). It is not a replacement or fork of Aether's networking engine.\n\n## What Aethery does\n\nAethery turns Aether into an Android-first VPN experience. It provides the native interface, Android VPN\u002FTUN bridge, connection state, protocol picker, live connection logs, and release packaging. Aether remains responsible for route discovery, tunnel establishment, transport protocols, and encrypted traffic handling.\n\n```text\nAndroid UI + Android VPN\u002FTUN\n            │\n            ▼\n      Aethery client\n            │ JNI\n            ▼\n Aether core — discovery, MASQUE, WireGuard, routing\n```\n\n## Highlights\n\n- Native Android UI with one-tap connect, connection state, motion, and live logs.\n- Android `VpnService` TUN integration: device traffic flows through the selected tunnel only after the core reports readiness.\n- **MASQUE** over HTTP\u002F3, with HTTP\u002F2 fallback when available.\n- **WireGuard** for networks where it is reachable.\n- **WARP-on-WARP** (`gool`) support through the Aether core.\n- Automatic endpoint scanning with IP-level diagnostics in the connection log.\n- App-level default protocol setting and direct links to releases\u002Fsource.\n\n## Protocol notes\n\n| Protocol | Intended use |\n| --- | --- |\n| MASQUE | Recommended default. Uses HTTPS-like tunnel transport and can fall back to HTTP\u002F2. |\n| WireGuard | Fast direct transport where UDP\u002FWireGuard is reachable. |\n| WARP-on-WARP | Nested WireGuard transport supplied by Aether. It still needs a reachable outer WireGuard path. |\n\nNetwork filtering differs by provider and location. A protocol appearing connected means Aether completed its tunnel readiness check; it does not promise that every destination is reachable on every network.\n\n## Download\n\nDraft and published builds are available from [GitHub Releases](https:\u002F\u002Fgithub.com\u002FZethRise\u002FAethery\u002Freleases).\n\n| Device ABI | Asset |\n| --- | --- |\n| 64-bit ARM | `Aethery-arm64-v8.apk` |\n| 32-bit ARM | `Aethery-Arm64-v7.apk` |\n\nThe second filename intentionally follows the current release naming convention, while its contents target `armeabi-v7a`.\n\nInstall an APK from Android Downloads after allowing installs from the source application when Android asks.\n\n## Build from source\n\n### Requirements\n\n- Android Studio with Android SDK 36\n- Android NDK `26.3.11579264`\n- CMake `3.22.1`\n- JDK 17\n- Rust stable, including the Android target for the ABI you need\n- `cargo-ndk`\n\n### arm64-v8a\n\n```powershell\n.\\core\\build-android.ps1\nNew-Item -ItemType Directory -Force app\\src\\main\\jniLibs\\arm64-v8a\nCopy-Item core\\android-libs\\arm64-v8a\\libaether.so app\\src\\main\\jniLibs\\arm64-v8a\\libaether.so -Force\n.\\gradlew.bat :app:assembleDebug -PtargetAbi=arm64-v8a\n```\n\nAPK output:\n\n```text\napp\u002Fbuild\u002Foutputs\u002Fapk\u002Fdebug\u002Fapp-arm64-v8a-debug.apk\n```\n\nFor armv7, build Aether for `armeabi-v7a`, copy the resulting `libaether.so` to `app\u002Fsrc\u002Fmain\u002FjniLibs\u002Farmeabi-v7a\u002F`, then run Gradle with `-PtargetAbi=armeabi-v7a`.\n\n## CI releases\n\nThe [Android release workflow](.github\u002Fworkflows\u002Fandroid-release.yml) runs manually and builds debug APKs for `arm64-v8a` and `armeabi-v7a`. It uploads only direct `.apk` files to a **draft** GitHub Release. See the [release guide](docs\u002Frelease.md).\n\nTo prepare v0.1.1:\n\n```bash\nOpen **Actions**, select **Build Android APKs**, choose **Run workflow**, and enter `v0.1.1` as the release tag.\n```\n\nReview the draft assets and release note in GitHub, then publish the release when ready.\n\n## Project layout\n\n```text\napp\u002F                 Android application and JNI bridge\ncore\u002Faether\u002F         Aether Rust core used by this client\ncore\u002Fquiche\u002F         QUIC\u002FHTTP3 dependency used by Aether\n.github\u002F             issue forms and Android release workflow\n```\n\n## Contributing\n\nRead [CONTRIBUTING.md](CONTRIBUTING.md) before opening an issue or pull request. Bug and feature forms are available from [New issue](https:\u002F\u002Fgithub.com\u002FZethRise\u002FAethery\u002Fissues\u002Fnew\u002Fchoose).\n\n## Security\n\nDo not disclose security-sensitive tunnel, credential, or traffic issues in public issues. Read [SECURITY.md](SECURITY.md) for private reporting guidance.\n\n## License\n\nAethery is licensed under [GNU AGPL-3.0](LICENSE). Aether and bundled dependencies retain their own license terms; see their respective files in `core\u002F`.\n\n## Credits\n\n- [Aether](https:\u002F\u002Fgithub.com\u002FCluvexStudio\u002FAether) — network core.\n- [quiche](https:\u002F\u002Fgithub.com\u002Fcloudflare\u002Fquiche) — QUIC and HTTP\u002F3 library used by Aether.\n- Built by [ZethRise](https:\u002F\u002Fgithub.com\u002FZethRise).\n","Aethery 是一款面向 Android 设备的原生图形界面客户端，用于便捷启动和管理 Aether 抗审查隧道服务。它通过 JNI 调用 Rust 编写的 Aether 核心，集成 Android VpnService\u002FTUN 接口，支持 MASQUE（HTTP\u002F3 优先，HTTP\u002F2 回退）、WireGuard 及 WARP-on-WARP 等多种隧道协议，并提供一键连接、实时日志、协议切换与自动端点扫描功能。项目采用 AGPLv3 许可，强调隐私保护与网络审查规避能力，适用于需在移动设备上稳定建立加密、抗封锁网络通道的用户场景。",2,"2026-07-18 02:30:05","CREATED_QUERY"]