这是一个用于在Android设备上开机自启动pingtunnel的Magisk模块,支持配置化启动多个实例。
- 开机自动启动pingtunnel服务
- 支持配置化启动多个pingtunnel实例
- 详细的日志记录和错误诊断
- 进程管理和状态监控
- 网络连接和端口检查
- 将模块文件复制到设备的
/sdcard/Download/
目录 - 在Magisk Manager中安装模块
- 创建配置文件(见下文)
- 重启设备
固定路径: /data/local/tmp/pingtunnel_init.sh
注意: 模块现在使用固定的配置文件路径,确保在所有设备上都能正常工作。
# 使用创建脚本(推荐)
sh /data/adb/modules/pingtunnel/create_config.sh
# 或手动创建
echo '$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50004 -s 1.2.3.4 -t 127.0.0.1:50003 -tcp 1 -nolog 1' > /data/local/tmp/pingtunnel_init.sh
# 每行一个pingtunnel启动命令
# 以#开头的行为注释,会被忽略
# 空行会被忽略
# 示例1: 基本的HTTP代理映射
$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50004 -s 1.2.3.4 -t 127.0.0.1:50003 -tcp 1 -nolog 1
# 示例2: 第二个映射实例(使用不同端口)
$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50005 -s 1.2.3.4 -t 127.0.0.1:50006 -tcp 1 -nolog 1
# 示例3: 映射到远程服务器
$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50007 -s 1.2.3.4 -t 8.8.8.8:53 -tcp 1 -nolog 1
-type client
: 客户端模式-key [密钥]
: 连接密钥-l [本地地址:端口]
: 本地监听地址-s [服务器地址]
: 服务器地址-t [目标地址:端口]
: 目标地址-tcp 1
: 启用TCP模式-nolog 1
: 禁用日志输出
# 在终端中运行
sh /data/adb/modules/pingtunnel/debug.sh
# 检查pingtunnel是否正在运行
sh /data/adb/modules/pingtunnel/status.sh
# 查看详细日志
cat /data/local/tmp/pingtunnel.log
# 查看调试日志
cat /data/local/tmp/pingtunnel_debug.log
# 手动启动pingtunnel服务
sh /data/adb/modules/pingtunnel/service.sh
# 使用创建脚本
sh /data/adb/modules/pingtunnel/create_config.sh
# 或手动创建
echo '$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50004 -s 1.2.3.4 -t 127.0.0.1:50003 -tcp 1 -nolog 1' > /data/local/tmp/pingtunnel_init.sh
# 查看配置文件内容
cat /data/local/tmp/pingtunnel_init.sh
# 检查配置文件语法
sh /data/adb/modules/pingtunnel/debug.sh
A: 请检查以下几点:
- 确保设备已root并安装了Magisk
- 检查配置文件是否存在:
/data/local/tmp/pingtunnel_init.sh
- 检查网络连接是否正常
- 查看日志文件了解具体错误信息
- 确保pingtunnel二进制文件有执行权限
A: 创建配置文件:
# 使用创建脚本(推荐)
sh /data/adb/modules/pingtunnel/create_config.sh
# 或手动创建
echo '$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50004 -s 1.2.3.4 -t 127.0.0.1:50003 -tcp 1 -nolog 1' > /data/local/tmp/pingtunnel_init.sh
A: 检查配置文件中使用的端口是否被其他程序占用:
# 查看配置文件中使用的端口
grep -o ':[0-9]\+' /data/local/tmp/pingtunnel_init.sh | sed 's/://'
# 检查端口占用情况
netstat -tuln | grep -E ":(50003|50004|50005) "
A: 检查以下几点:
- 确保每个实例使用不同的本地端口
- 检查系统资源是否足够
- 查看日志了解具体错误信息
- 确保所有命令格式正确
A: 检查网络设置和防火墙规则,确保可以访问服务器
$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50004 -s 1.2.3.4 -t 127.0.0.1:50003 -tcp 1 -nolog 1
# 实例1: HTTP代理
$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50004 -s 1.2.3.4 -t 127.0.0.1:50003 -tcp 1 -nolog 1
# 实例2: 另一个映射
$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50005 -s 1.2.3.4 -t 127.0.0.1:50006 -tcp 1 -nolog 1
# 实例3: 映射到远程服务
$MODDIR/pingtunnel -type client -key 1234567 -l 127.0.0.1:50007 -s 1.2.3.4 -t 8.8.8.8:53 -tcp 1 -nolog 1
service.sh
: 主要的服务启动脚本debug.sh
: 调试和诊断脚本status.sh
: 状态检查脚本create_config.sh
: 配置文件创建脚本customize.sh
: 安装时的权限设置脚本module.prop
: 模块属性文件pingtunnel_init.sh
: 示例配置文件
- 主日志:
/data/local/tmp/pingtunnel.log
- 调试日志:
/data/local/tmp/pingtunnel_debug.log
- 进程ID文件:
/data/local/tmp/pingtunnel.pid
- 配置文件:
/data/local/tmp/pingtunnel_init.sh
- 修复配置文件路径问题
- 使用固定的配置文件路径
/data/local/tmp/pingtunnel_init.sh
- 简化配置文件查找逻辑
- 提高启动可靠性
如果遇到问题,请:
- 运行
debug.sh
脚本收集诊断信息 - 查看日志文件了解错误详情
- 检查配置文件格式是否正确
- 检查网络连接和系统权限