用了各位大佬的模块,但是吧,老用命令行,不是很方便。正好赶上想学学vue,所有就做了这个给自己用。
感谢以下连接提供的帮助,顺序不分先后
- 是否有可能 Zerotier-One 直接在 Android 设备上运行? - V2EX
- Android以太网和WIFI完美共存
- Network Management in Android: Routing
- vant-ui/vant-demo
- zfdx123/build-k40-ksu
- eventlOwOp/zerotier-magisk
- linuxscreen/ZeroTierOneForMagisk
- taamarin/box_for_magisk
- stunnel/static-curl
- tiann/KernelSU
-
通过UI启动的zerotier进程会随着KSU Manager的结束而退出
zt切换网络导致全局断网的问题ZerotierOne 1.14.0版本已修复
- UI增加一个开发版和稳定版切换,现在测试好麻烦。
- 流水线增加自定义zerotier版本编译。
据说1.8.9版本没有zt切换网络导致全局断网的问题,经过测试,依然复现,而且还有漏洞,官方推荐1.12.x版本以上有安全补丁,别降级了。 - 新建zerotier路由规则表,
因为提升main表优先级导致无法与box_for_magisk共存。。(没学会。先放着吧)
本项目不对以下情况负责:设备变砖、SD 卡损坏或 SoC 烧毁。
用UI界面
创建文件`/data/adb/zerotier/KEEP_ON_UNINSTALL`,卸载模块可保留数据目录
创建文件`/data/adb/zerotier/MANMANUAL`,关闭开机自启
创建文件`/data/adb/zerotier/ALLOW_9993`,iptables放行UDP 9993入端口
创建文件`/data/adb/zerotier/ROUTER_RULE_NEW`,zerotier流量路由模式改为新建路由规则表,删除该文件则是提升main表优先级模式
sh /data/adb/modules/ZeroTierForKSU/zerotier.sh $1 ...
start)
start_service 1
启动服务
;;
stop)
stop_service 1
停止服务
;;
restart)
重启服务
;;
status)
return 模块页面用的状态信息
;;
token)
获取webapi token
;;
inotifyd)
监听 /data/adb/zerotier/state,用于启动服务
# 通过webapi接口调用zerotier服务
sh /data/adb/modules/ZeroTierForKSU/api.sh $1 other(可选参数如下)
status)
status
return 自定义的状态接口,放回给页面用的参数
;;
networks)
return 查询网络详情,如果传入具体的网络id,则返回单个详情,不传就返回所有已加入的节点详情
networks $2
;;
leaveNetwork)
离开网络,传具体的网络ID
leaveNetwork $2
;;
joinOrUpdateNetwork)
加入网络或者更新网络,第一个参数是网络ID,第二个参数json对象,'{"allowDNS": false,"allowDefault": false,"allowManaged": true,"allowGlobal": false }'
joinOrUpdateNetwork $2 "$3"
;;
peer)
返回成员列表
peer
;;
firewall)
防火墙规则,能传 A(增加) 和 D(删除)
firewall $2
;;
router)
zerotier路由模式 ,能传两个参数, 第一个参数 0 (没实现)新建zerotier ip rule 表,1提升main表优先级,第二个参数 add 新增,del 删除
router $@
;;
orbit)
加入自建的moon,需要一个参数,自建moon的网络id
orbit $@
;;
sh /data/adb/modules/ZeroTierForKSU/zerotier-cli #同官方
sh /data/adb/modules/ZeroTierForKSU/zerotier-idtool#同官方
sh /data/adb/modules/ZeroTierForKSU/zerotier.inotify # 监听/data/adb/zerotier/state目录,用于启动服务。