https://github.com/anyportal/anyportal
v2ray, xray, ... GUI for Windows, macOS, Linux, Android
https://github.com/anyportal/anyportal
android ios linux macos proxy sing-box v2ray windows xray
Last synced: 6 months ago
JSON representation
v2ray, xray, ... GUI for Windows, macOS, Linux, Android
- Host: GitHub
- URL: https://github.com/anyportal/anyportal
- Owner: AnyPortal
- Created: 2024-10-06T08:04:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-05T08:39:19.000Z (6 months ago)
- Last Synced: 2025-04-09T18:16:26.859Z (6 months ago)
- Topics: android, ios, linux, macos, proxy, sing-box, v2ray, windows, xray
- Language: Dart
- Homepage:
- Size: 4.43 MB
- Stars: 80
- Watchers: 1
- Forks: 12
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AnyPortal
![]()
- v2ray, xray, ... GUI for Windows, macOS, Linux, Android, (iOS currently blocked).
- Typically used in combination with a core (v2ray-core, xray-core, etc)
- Multilingual support: العربية, Deutsch, English, Español, فارسی, Français, हिन्दी, Bahasa Indonesia, 日本語, 한국어, Português, Русский, ไทย, Türkçe, Tiếng Việt, 中文## Download latest release
> [!WARNING]
> This project is currently in its early alpha stage and may exhibit instability during execution. User preferences may not be retained in the final release, and the API is subject to change without prior notice. Please use this software at your own risk.
>
> 2024-09-27> [!IMPORTANT]
> iOS support for this project is paused indefinitely due to the financial and policy-related constraints associated with iOS development, including mandatory paid membership for access to essential tools such as Network Extensions. We are actively exploring alternative, financially sustainable models to continue supporting iOS in the future.
>
> 2025-02-27## Dev roadmap
| | | Windows | Linux | macOS | Android | iOS |
| ------------ | ---------------- | ------- | ----- | ----- | ------- | --- |
| AnyPortal | | 🟢 | 🟢 | 🟢 | 🟢 | 🟡 |
| core | of exec | 🟢 | 🟢 | 🟢 | 🟢¹ | ⚫ |
| | of lib | ⚫ | ⚫ | ⚫ | 🟢² | 🟡 |
| tun | via root | 🟢³ | 🟢⁴ | 🟢⁵ | 🟢¹ | ⚫ |
| | via platform api | ⚫ | ⚫ | 🔴⁶ | 🟢 | 🔴⁶ |
| system proxy | | 🟢 | 🟢⁷ | 🟢 | 🟢⁸ | ⚫ |1. Require `api28` variant, not available for play store `apilatest` version.
- The core exec asset is copied to internal storage upon selection, so you MUST reselect the core if you want to update it.
- The `working directory` can not be set to a location without execution permission, e.g. the sdcard which has a FAT file system.
- You MUST manually specify the `envs` if the core needs it, e.g. `{"xray.location.asset" : "/storage/emulated/0/path/to/xray/assets"}`
2. Only xray-core 1.8.24 is embedded for now. Latest xray-core has stability issues
3. Require `Run as Administrator`, elevated user share configuration with original user
4. Require root, root DOES NOT share configuration with original user
5. Require root, root DOES NOT share configuration with original user. Move the app to Application folder and run `sudo /Applications/AnyPortal.app/Contents/MacOS/AnyPortal`.
6. Require an apple developer license to even debug an app that uses Network Extension. Dev progress currently blocked. The iOS app would serve little purpose right now without tun.
7. Tested on Ubuntu 24.04 with Gnome
8. Require root- ⚫ Not Planned: impossible / no plans / discontinued
- 🟡 Planned: planned / under development
- 🔵 Experimental: experimental implementation / testing
- 🟢 Working: functioning as expected
- 🔴 Not Working: dev blocked / known issues / non-functionalSee planning [here](https://github.com/users/anyportal/projects/1/views/1).
## Technical details for power users
- why v2ray/xray over sing-box?
- load balancing
- chained proxy in transport layer
- better server-side functions (gRPC interface etc.), so we choose it also as client to reduce maintenance
- remote profile has only one required field, a REST URL pointing to a v2ray config
- for v2ray to work properly on Android and iOS, tun2socks is necessary
- v2ray native tun inbound is only half finished for now
- tun2socks with best performance so far: hev-socks5-tunnel, followed by sing-box
- you can use anyportal with tun disabled on Android, and use external tools to redirect traffic to a socks port, just like on desktop
- android api 29+ does not allow running binary directly
- you can run custom cores (any version of v2ray, xray) with apk compiled with api target 28
- play store always requires recent api targets, way over 28 now, so you can only use an embedded core with playstore apk
- why do I need tun via root or system proxy on Android?
- there are apps actively detecting if you are using VPN## License
All rights reserved until further notice (hopefully soon).
## Thanks
### 3rd party libs used in the project
- [v2fly/v2ray-core](https://github.com/v2fly/v2ray-core), MIT
- [xtls/xray-core](https://github.com/xtls/xray-core), MPL-2.0
- [heiher/hev-socks5-tunnel](https://github.com/heiher/hev-socks5-tunnel), MIT### Inspired by, or related to, but not used in the project
- [Qv2ray/Qv2ray](https://github.com/Qv2ray/Qv2ray), GPL-3.0
- [SagerNet/sing-box](https://github.com/SagerNet/sing-box), GPL### Toolchains
- [flutter/flutter](https://github.com/flutter/flutter), BSD-3-Clause
- a full list of flutter dependency can be found in `./pubspec.yaml`
- [jrsoftware/issrc](https://github.com/jrsoftware/issrc)## Support development
coming soon
## Final words
![]()
> "You take the blue pill, the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill, you stay in Wonderland and I show you how deep the rabbit hole goes."
>
> — Morpheus, *The Matrix* (1999)We hope you choose well between your home world and Wonderlands.