UP | HOME

Android 免 Root 运行 core

Table of Contents

安卓无 Root 权限运行 V2Ray-core 并配置全局代理

此方法适用于不经常更改配置且设备无 Root 权限的用户

准备工具:

技能:

环境:

缺点:

编译

Go 语言主要通过 GOOSGOARCH 来控制编译环境

环境变量

使用 arm64 即为 ARM V8

export GOOS=android
export GOARCH=arm64

其他 ARM 架构,列如 V7:

export GOOS=android
export GOARCH=arm
export GOARM=7

进入 v2ray-core 目录:

go build -o ./v2ray -trimpath -ldflags "-s -w -buildid=" ./main
go build -o ./v2ctl -trimpath -ldflags "-s -w -buildid=" -tags confonly ./infra/control/main

资源存放

v2rayv2ctl 以及配置文件等资源放入设备的内部存储中

例如 "手机内部存储/V2Ray" 文件夹

运行

连接ADB

  1. 使用数据线连接电脑
  2. 打开设备的 USB 调试
  3. 开启 "仅充电" 模式下允许 ADB 调试
  4. 将 USB 连接模式改为 "文件传输"

检测设备

打开终端输入并以下命令:

$ adb devices 
若设备提示 "是否允许 USB 调试",勾选 "始终允许..." 后确认

终端显示如下则表示为连接成功:

List of devices attached
1234567C06011253        device

传输文件

继续输入以下命令,此时终端会变为手机的标识符:

$ adb shell 

将设备内部存储中的 V2Ray 程序复制到设备临时目录中并给予权限:

$ cp /sdcard/V2Ray/* /data/local/tmp/
$ cd /data/local/tmp/
$ chmod 777 *

尝试运行一下

$ ./v2ray 
由于系统限制,建议 Inbound 内的入站使用 1024 以上的端口号

后台运行 V2Ray:

nohup ./v2ray &
测试无问题后按下 Ctrl+C 结束进程,然后把 USB 传输模式改为 "仅充电"

全局代理

此处使用系统 APN 来完成,Inbound 需要一个 HTTP 入站代理。由于默认的 APN 不允许更改,所以需要新建一个 APN

  • 内容复制默认的就可以
  • 设置中 "代理" 一栏中填入 127.0.0.1,端口号为你 HTTP 入站的端口号,保存即可

返回上层设置,选择这个 APN 即可

细节

HTTP 代理只在 HTTP 场景下才会使用,理论上来讲并不会影响游戏对局,但这里并没有实验

使用 APN 的代理方式大多数的应用程序都会有效,但如 Telegram 这类特殊的应用程序无效

此类程序应用内设置中通常都会提供设置代理的选项,手动设置一下即可

其他

相比套壳 App,使用此方式启动的 core 长时间运行并不会导致设备发热和明显的电量消耗

Previous:负载均衡 Home:应用