Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f5e439740a | |||
| 25096944b3 | |||
| 047f85d8f0 | |||
| 8cb5fa7a23 | |||
| 74acd437d6 | |||
| 3e9d667998 | |||
| eea3ba459a | |||
| a3ad4ac817 | |||
| ab7dec2ff0 | |||
| 23eb59a325 | |||
| 384f25d2b1 | |||
| 1c723d4fd6 | |||
| 4bfc98eb46 | |||
| bc33d16d30 | |||
| 94c5b7b5e2 |
@@ -1,42 +0,0 @@
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
name: Dart
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# Note: This workflow uses the latest stable version of the Dart SDK.
|
||||
# You can specify other versions if desired, see documentation here:
|
||||
# https://github.com/dart-lang/setup-dart/blob/main/README.md
|
||||
# - uses: dart-lang/setup-dart@v1
|
||||
- uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603
|
||||
|
||||
- name: Install dependencies
|
||||
run: dart pub get
|
||||
|
||||
# Uncomment this step to verify the use of 'dart format' on each commit.
|
||||
# - name: Verify formatting
|
||||
# run: dart format --output=none --set-exit-if-changed .
|
||||
|
||||
# Consider passing '--fatal-infos' for slightly stricter analysis.
|
||||
- name: Analyze project source
|
||||
run: dart analyze
|
||||
|
||||
# Your project will need to have tests in test/ and a dependency on
|
||||
# package:test for this step to succeed. Note that Flutter projects will
|
||||
# want to change this to 'flutter test'.
|
||||
- name: Run tests
|
||||
run: dart test
|
||||
@@ -1,79 +0,0 @@
|
||||
## LiteVPN
|
||||
|
||||
A Graphical user interface of [Clash.Meta](https://github.com/MetaCubeX/Clash.Meta) for Android
|
||||
|
||||
### Feature
|
||||
|
||||
Feature of [Clash.Meta](https://github.com/MetaCubeX/Clash.Meta)
|
||||
|
||||
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
|
||||
alt="Get it on F-Droid"
|
||||
height="80">](https://f-droid.org/packages/com.github.metacubex.clash.meta/)
|
||||
|
||||
### Requirement
|
||||
|
||||
- Android 5.0+ (minimum)
|
||||
- Android 7.0+ (recommend)
|
||||
- `armeabi-v7a` , `arm64-v8a`, `x86` or `x86_64` Architecture
|
||||
|
||||
### Build
|
||||
|
||||
1. Update submodules
|
||||
|
||||
```bash
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
2. Install **OpenJDK 11**, **Android SDK**, **CMake** and **Golang**
|
||||
|
||||
3. Create `local.properties` in project root with
|
||||
|
||||
```properties
|
||||
sdk.dir=/path/to/android-sdk
|
||||
```
|
||||
|
||||
4. Create `signing.properties` in project root with
|
||||
|
||||
```properties
|
||||
keystore.path=/path/to/keystore/file
|
||||
keystore.password=<key store password>
|
||||
key.alias=<key alias>
|
||||
key.password=<key password>
|
||||
```
|
||||
|
||||
5. Build
|
||||
|
||||
```bash
|
||||
./gradlew app:assembleMeta-AlphaRelease
|
||||
```
|
||||
|
||||
### Automation
|
||||
|
||||
APP package name is `com.github.metacubex.clash.meta`
|
||||
|
||||
- Toggle Clash.Meta service status
|
||||
- Send intent to activity `com.github.kr328.clash.ExternalControlActivity` with action `com.github.metacubex.clash.meta.action.TOGGLE_CLASH`
|
||||
- Start Clash.Meta service
|
||||
- Send intent to activity `com.github.kr328.clash.ExternalControlActivity` with action `com.github.metacubex.clash.meta.action.START_CLASH`
|
||||
- Stop Clash.Meta service
|
||||
- Send intent to activity `com.github.kr328.clash.ExternalControlActivity` with action `com.github.metacubex.clash.meta.action.STOP_CLASH`
|
||||
- Import a profile
|
||||
- URL Scheme `clash://install-config?url=<encoded URI>` or `clashmeta://install-config?url=<encoded URI>`
|
||||
|
||||
### Contribution and Project Maintenance
|
||||
|
||||
#### Meta Kernel
|
||||
|
||||
- CMFA uses the kernel from `android-real` branch under `MetaCubeX/Clash.Meta`, which is a merge of the main `Alpha` branch and `android-open`.
|
||||
- If you want to contribute to the kernel, make PRs to `Alpha` branch of the Meta kernel repository.
|
||||
- If you want to contribute Android-specific patches to the kernel, make PRs to `android-open` branch of the Meta kernel repository.
|
||||
|
||||
#### Maintenance
|
||||
|
||||
- When `MetaCubeX/Clash.Meta` kernel is updated to a new version, the `Update Dependencies` actions in this repo will be triggered automatically.
|
||||
- It will pull the new version of the meta kernel, update all the golang dependencies, and create a PR without manual intervention.
|
||||
- If there is any compile error in PR, you need to fix it before merging. Alternatively, you may merge the PR directly.
|
||||
- Manually triggering `Build Pre-Release` actions will compile and publish a `PreRelease` version.
|
||||
- Manually triggering `Build Release` actions will compile, tag and publish a `Release` version.
|
||||
- You must fill the blank `Release Tag` with the tag you want to release in the format of `v1.2.3`.
|
||||
- `versionName` and `versionCode` in `build.gradle.kts` will be automatically bumped to the tag you filled above.
|
||||
@@ -1,7 +1,11 @@
|
||||
## UUVPN - Redesigned for Performance, Stability, and V2Board Compatibility
|
||||
## UUVPN - Redesigned for Performance, Stability, and [V2Board](https://github.com/v2board/v2board) Compatibility
|
||||
|
||||
The original UUVPN was built using Flutter, which led to increasing challenges in maintaining the codebase due to performance issues, subpar UI quality, and a lack of stability. To address these concerns, UUVPN has been completely redeveloped for native performance on iOS/macOS and Android, utilizing the powerful SINGBOX and CLASH cores.
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
### The new version features:
|
||||
|
||||
- A sleek, more responsive user interface
|
||||
@@ -16,10 +20,10 @@ The original UUVPN was built using Flutter, which led to increasing challenges i
|
||||
|
||||
|
||||
### Download iOS and android
|
||||
- [TestFlight (Beta) Telegram me](https:/t.me/dcgzeus)
|
||||
- [TestFlight (Beta) Telegram Me Get](https:/t.me/dcgzeus)
|
||||
- [Android Apk](https://github.com/nicolastinkl/UUVPN/releases)
|
||||
|
||||
## Screenshots and iOS Demo Video:
|
||||
## iOS Screenshots and Demo Video:
|
||||
|
||||
### SKIN 1:
|
||||
<table>
|
||||
@@ -84,35 +88,8 @@ The original UUVPN was built using Flutter, which led to increasing challenges i
|
||||
</table>
|
||||
|
||||
|
||||
[](https://youtube.com/shorts/tnr38-IM-Xo)
|
||||
|
||||
|
||||
|
||||
# Android Screenshots
|
||||
<table>
|
||||
<tr>
|
||||
|
||||
<td><img src="screenshots/android/Screenshot_20241114_170527.png" width="300" /></td>
|
||||
<td><img src="screenshots/android/Screenshot_20241114_170541.png" width="300" /></td>
|
||||
<td><img src="screenshots/android/Screenshot_20241114_170516.png" width="300" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td><img src="screenshots/android/2024-11-09 08.39.51.jpg" width="300" /></td>
|
||||
<td><img src="screenshots/android/2024-11-09 08.44.17.jpg" width="300" /></td>
|
||||
<td><img src="screenshots/android/Screenshot_20241114_170605.png" width="300" /></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
|
||||
<td><img src="screenshots/android/IMAGE 2024-11-101.jpg" width="300" /></td>
|
||||
<td><img src="screenshots/android/IMAGE 2024-11-102.jpg" width="300" /></td>
|
||||
<td><img src="screenshots/android/IMAGE 2024-11-103.jpg" width="300" /></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
## [iOS Youtu视频预览地址](https://img.youtube.com/vi/tnr38-IM-Xo/0.jpg)
|
||||
|
||||
|
||||
# Android App Project
|
||||
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
# 遍历目录及子目录下所有超过100MB大小的文件
|
||||
find . -type f -size +100M | while read file; do
|
||||
# 获取文件名并检查是否已经存在于.gitignore文件中
|
||||
filename="${file##*/}"
|
||||
if ! grep "$filename" .gitignore > /dev/null 2>&1 ; then
|
||||
# 如果文件名不存在于.gitignore文件中,则添加到末尾
|
||||
echo "$filename" >> .gitignore
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
git add .
|
||||
date +%F > timefile
|
||||
currentTime=$(<timefile)
|
||||
git commit -m "Commit code. Update time: $currentTime "
|
||||
git push
|
||||
@@ -0,0 +1,14 @@
|
||||
Copyright (C) 2022 by nekohasekai <contact-sagernet@sekai.icu>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 210 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 184 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 34 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 361 KiB |
Reference in New Issue
Block a user