mirror of
https://mirror.suhoan.cn/https://github.com/EasyTier/EasyTier.git
synced 2025-12-13 05:07:23 +08:00
新增magisk模块支持 (#786)
This commit is contained in:
39
.github/workflows/core.yml
vendored
39
.github/workflows/core.yml
vendored
@@ -275,3 +275,42 @@ jobs:
|
|||||||
- name: Mark result as failed
|
- name: Mark result as failed
|
||||||
if: needs.build.result != 'success'
|
if: needs.build.result != 'success'
|
||||||
run: exit 1
|
run: exit 1
|
||||||
|
|
||||||
|
|
||||||
|
magisk_build:
|
||||||
|
needs:
|
||||||
|
- pre_job
|
||||||
|
- build_web
|
||||||
|
- build
|
||||||
|
if: needs.pre_job.outputs.should_skip != 'true' && always()
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Code
|
||||||
|
uses: actions/checkout@v4 # 必须先检出代码才能获取模块配置
|
||||||
|
|
||||||
|
# 下载二进制文件到独立目录
|
||||||
|
- name: Download Linux aarch64 binaries
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: easytier-linux-aarch64
|
||||||
|
path: ./downloaded-binaries/ # 独立目录避免冲突
|
||||||
|
|
||||||
|
# 将二进制文件复制到 Magisk 模块目录
|
||||||
|
- name: Prepare binaries
|
||||||
|
run: |
|
||||||
|
mkdir -p ./easytier-contrib/easytier-magisk/
|
||||||
|
cp ./downloaded-binaries/easytier-core ./easytier-contrib/easytier-magisk/
|
||||||
|
cp ./downloaded-binaries/easytier-cli ./easytier-contrib/easytier-magisk/
|
||||||
|
cp ./downloaded-binaries/easytier-web ./easytier-contrib/easytier-magisk/
|
||||||
|
|
||||||
|
|
||||||
|
# 上传生成的模块
|
||||||
|
- name: Upload Magisk Module
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Easytier-Magisk
|
||||||
|
path: |
|
||||||
|
./easytier-contrib/easytier-magisk
|
||||||
|
!./easytier-contrib/easytier-magisk/build.sh
|
||||||
|
!./easytier-contrib/easytier-magisk/magisk_update.json
|
||||||
|
if-no-files-found: error
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
#!/sbin/sh
|
||||||
|
|
||||||
|
#################
|
||||||
|
# Initialization
|
||||||
|
#################
|
||||||
|
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
# echo before loading util_functions
|
||||||
|
ui_print() { echo "$1"; }
|
||||||
|
|
||||||
|
require_new_magisk() {
|
||||||
|
ui_print "********************************"
|
||||||
|
ui_print " Please install Magisk v20.4+! "
|
||||||
|
ui_print "********************************"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
#########################
|
||||||
|
# Load util_functions.sh
|
||||||
|
#########################
|
||||||
|
|
||||||
|
OUTFD=$2
|
||||||
|
ZIPFILE=$3
|
||||||
|
|
||||||
|
mount /data 2>/dev/null
|
||||||
|
|
||||||
|
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
|
||||||
|
. /data/adb/magisk/util_functions.sh
|
||||||
|
[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk
|
||||||
|
|
||||||
|
install_module
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#MAGISK
|
||||||
6
easytier-contrib/easytier-magisk/README.md
Normal file
6
easytier-contrib/easytier-magisk/README.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# easytier_magisk版模块
|
||||||
|
magisk安装后重启
|
||||||
|
|
||||||
|
目录位置:/data/adb/modules/easytier_magisk
|
||||||
|
配置文件位置://data/adb/modules/easytier_magisk/config/config.conf
|
||||||
|
修改config.conf即可,修改后配置文件后去magisk app重新开关模块即可生效
|
||||||
16
easytier-contrib/easytier-magisk/action.sh
Normal file
16
easytier-contrib/easytier-magisk/action.sh
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/data/adb/magisk/busybox sh
|
||||||
|
MODDIR=${0%/*}
|
||||||
|
echo 'Easytier 服务停止中....'
|
||||||
|
|
||||||
|
PIDS=$(pgrep -f "^${MODDIR}/easytier-core -c ${MODDIR}/config/config.conf")
|
||||||
|
|
||||||
|
if [ -n "$PIDS" ]; then
|
||||||
|
kill $PIDS # 杀死所有匹配的进程
|
||||||
|
echo "已停止所有 Easytier 进程 (PIDs: $PIDS)"
|
||||||
|
else
|
||||||
|
echo "Easytier 服务未运行"
|
||||||
|
fi
|
||||||
|
echo '重启服务中...'
|
||||||
|
nohup sh ${MODDIR}/service.sh >> ${MODDIR}/log/start.log 2>&1 &
|
||||||
|
echo '服务已重启'
|
||||||
|
exit
|
||||||
25
easytier-contrib/easytier-magisk/build.sh
Normal file
25
easytier-contrib/easytier-magisk/build.sh
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
version=$(cat module.prop | grep 'version=' | awk -F '=' '{print $2}' | sed 's/ (.*//')
|
||||||
|
|
||||||
|
version='v'$(grep '^version =' ../../easytier/Cargo.toml | cut -d '"' -f 2)
|
||||||
|
|
||||||
|
if [ -z "$version" ]; then
|
||||||
|
echo "Error: 版本号不存在."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
filename="easytier_magisk_${version}.zip"
|
||||||
|
echo $version
|
||||||
|
|
||||||
|
|
||||||
|
if [ -f "./easytier-core" ] && [ -f "./easytier-cli" ] && [ -f "./easytier-web" ]; then
|
||||||
|
zip -r -o -X "$filename" ./ -x '.git/*' -x '.github/*' -x 'folder/*' -x 'build.sh' -x 'magisk_update.json'
|
||||||
|
else
|
||||||
|
wget -O "easytier_last.zip" https://github.com/EasyTier/EasyTier/releases/download/"$version"/easytier-linux-aarch64-"$version".zip
|
||||||
|
unzip -o easytier_last.zip -d ./
|
||||||
|
mv ./easytier-linux-aarch64/* ./
|
||||||
|
rm -rf ./easytier_last.zip
|
||||||
|
rm -rf ./easytier-linux-aarch64
|
||||||
|
zip -r -o -X "$filename" ./ -x '.git/*' -x '.github/*' -x 'folder/*' -x 'build.sh' -x 'magisk_update.json'
|
||||||
|
fi
|
||||||
37
easytier-contrib/easytier-magisk/config/config.conf
Normal file
37
easytier-contrib/easytier-magisk/config/config.conf
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
instance_name = "default"
|
||||||
|
dhcp = false
|
||||||
|
#ipv4="本机ip"
|
||||||
|
listeners = [
|
||||||
|
"tcp://0.0.0.0:11010",
|
||||||
|
"udp://0.0.0.0:11010",
|
||||||
|
"wg://0.0.0.0:11011",
|
||||||
|
"ws://0.0.0.0:11011/",
|
||||||
|
"wss://0.0.0.0:11012/",
|
||||||
|
]
|
||||||
|
mapped_listeners = []
|
||||||
|
exit_nodes = []
|
||||||
|
rpc_portal = "0.0.0.0:15888"
|
||||||
|
|
||||||
|
[network_identity]
|
||||||
|
network_name = "default"
|
||||||
|
network_secret = ""
|
||||||
|
|
||||||
|
[[peer]]
|
||||||
|
#uri = "协议://中转ip:端口"
|
||||||
|
|
||||||
|
[flags]
|
||||||
|
default_protocol = "tcp"
|
||||||
|
dev_name = ""
|
||||||
|
enable_encryption = true
|
||||||
|
enable_ipv6 = true
|
||||||
|
mtu = 1380
|
||||||
|
latency_first = false
|
||||||
|
enable_exit_node = false
|
||||||
|
no_tun = false
|
||||||
|
use_smoltcp = false
|
||||||
|
foreign_network_whitelist = "*"
|
||||||
|
disable_p2p = false
|
||||||
|
relay_all_peer_rpc = false
|
||||||
|
disable_udp_hole_punching = false
|
||||||
|
|
||||||
|
|
||||||
7
easytier-contrib/easytier-magisk/customize.sh
Normal file
7
easytier-contrib/easytier-magisk/customize.sh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
ui_print '安装完成'
|
||||||
|
ui_print '当前架构为' + $ARCH
|
||||||
|
ui_print '当前系统版本为' + $API
|
||||||
|
ui_print '安装目录为: /data/adb/modules/easytier_magisk'
|
||||||
|
ui_print '配置文件位置: /data/adb/modules/easytier_magisk/config/config.conf'
|
||||||
|
ui_print '修改后配置文件后在magisk app点击操作按钮即可生效'
|
||||||
|
ui_print '记得重启'
|
||||||
6
easytier-contrib/easytier-magisk/magisk_update.json
Normal file
6
easytier-contrib/easytier-magisk/magisk_update.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"version": "v1.0",
|
||||||
|
"versionCode": 1,
|
||||||
|
"zipUrl": "",
|
||||||
|
"changelog": ""
|
||||||
|
}
|
||||||
7
easytier-contrib/easytier-magisk/module.prop
Normal file
7
easytier-contrib/easytier-magisk/module.prop
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
id=easytier_magisk
|
||||||
|
name=easytier_magisk版
|
||||||
|
version=v2.2.4
|
||||||
|
versionCode=1
|
||||||
|
author=EasyTier
|
||||||
|
description=easytier_magisk版模块 作者:EasyTier https://github.com/EasyTier/EasyTier
|
||||||
|
updateJson=https://raw.githubusercontent.com/EasyTier/EasyTier/refs/heads/main/easytier-contrib/easytier-magisk/magisk_update.json
|
||||||
20
easytier-contrib/easytier-magisk/service.sh
Normal file
20
easytier-contrib/easytier-magisk/service.sh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/data/adb/magisk/busybox sh
|
||||||
|
MODDIR=${0%/*}
|
||||||
|
# MODDIR="$(dirname $(readlink -f "$0"))"
|
||||||
|
mkdir -p ${MODDIR}/log
|
||||||
|
chmod 755 ${MODDIR}/*
|
||||||
|
|
||||||
|
echo $MODDIR >> ${MODDIR}/log/start.log
|
||||||
|
|
||||||
|
echo "Easytier 服务启动" >> ${MODDIR}/log/start.log
|
||||||
|
|
||||||
|
# 启动
|
||||||
|
nohup ${MODDIR}/easytier-core -c ${MODDIR}/config/config.conf >> ${MODDIR}/log/start.log 2>&1 &
|
||||||
|
|
||||||
|
# 检查是否启用模块
|
||||||
|
while [ ! -f ${MODDIR}/disable ]; do
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
PID=$(ps -ef|grep "${MODDIR}/easytier-core -c ${MODDIR}/config/config.conf" | awk '{print $2}')
|
||||||
|
kill $PID
|
||||||
|
echo "Easytier 服务停止" >> ${MODDIR}/log/start.log
|
||||||
2
easytier-contrib/easytier-magisk/uninstall.sh
Normal file
2
easytier-contrib/easytier-magisk/uninstall.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
MODDIR=${0%/*}
|
||||||
|
rm -rf $MODDIR/*
|
||||||
Reference in New Issue
Block a user