起因

事情的起因是由于无法忍受红手指的各种问题,而且刚好也快到期了,就直接趁着有优惠活动的时候换到了雷电云,红手指也直接在游戏群里送给了群友,结果他刚好要用来挂碧蓝航线,刚好以前挂机都是用的AzurLaneAutoScript,刚好他也有一台服务器,于是事情就变成了标题的情况。其实要实现这件事本身并没有什么技术含量,这篇文章也只是单纯记录下操作。

首先AzurLaneAutoScript是使用ADB进行相关操作的,所以只要实现内网穿透让云服务器连上云手机的ADB端口就行,要实现内网穿透的话方法就非常多了,不过也不是什么都能用,一开始先尝试了frp,结果云手机上终端都跑不起来,就不继续折腾了。最后测试出了三个能用的方案,分别是N2NWireGuardZeroTier。不过截止本文发布的2022年4月6日,ZeroTier的安卓客户端存在自动断连的现象,也不懂是什么原因,所以不推荐使用。

本文所使用的云服务器操作系统是Windows Server,所以只记录了Windows下上述三个软件的部署流程,但是本来N2N,WireGuard,ZeroTier和Alas都是可以在其他操作系统上运行的,所以理论上不管你服务器用的什么操作系统都可以正常使用,不过就是需要你自己折腾了。

另外说到云服务器,群友买的是腾讯的轻量应用服务器,去看了下才发现新户或者首单是直接打1折,2h4g的配置三年也才两三百,感觉一直在续阿里的我亏了一个亿。

N2N

Windows服务端使用EasyN2N,安卓客户端使用Hin2n

先配置服务端,在服务器上运行EasyN2N,选“其他功能” – “服务端”,设置一个端口,选择V3版本,然后直接启动服务器就行,记得需要在服务器的安全组或者防火墙里打开设置的端口的TCP和UDP,然后在主界面输入本地“127.0.0.1”地址和设置的端口,勾上自动分配,设置一个小组名称,点击启动看到自动分配的ip就是连接成功了。

接着设置安卓端,在Hin2n中点击右上角的+号,输入一个配置名称,然后选择跟服务器相同的V3版本,Supernode输入服务器的ip和设置的端口,Community输入相同的小组名称,勾上“Get IP from supernode”,点击save启动即可。

都连接成功了可以在EasyN2N的主界面点击小组名称旁边的按钮看到云手机的设备,虽然显示中转模式,但是因为N2N服务器也是在云服务器上,所以还是相当于直连了。

WireGuard

首先先从官网下载安装包,建议直接下载MSI,因为官网是被墙的,在线安装可能会失败。接着下载一个别人写好的Windows搭建服务端的工具Wg Server for Windows,因为官方的Windows的GUI只有客户端功能,都安装好后就可以开始配置了。

打开Wg Server for Windows,首先配置Server Configuration

输入一个名称,Listen Port使用默认的端口或者自己选一个,记得要在服务器的安全组或者防火墙里打开设置的端口的TCP和UDP,在Endpoint处填上服务器的公网ip,Address只要不跟服务器其他网络冲突的话就可以保持默认,最后分别点击Private key和Public Key的Generate,保存即可。

接着配置Client Configuration,点击Add Client,输入一个名称,Address点击Generate from Server,Allowed IPs填上上面Server Configuration所使用的Address,我这里就是“10.253.0.0/24”,因为我们只希望adb的流量走服务器,DNS直接留空,之后分别点击Private key和Public Key的Generate,点击上方的Export Configuration File把客户端的配置文件导出,后面要用到,最后点击save即可。

之后在主界面的Tunnnel Service点击Install tunnel service,然后在下面的选项卡中切换到Internet Connection Sharing,点击Enable Internet Sharing,选择连接公网的网卡,服务端就配置完成了。

接下来配置云手机,下载安装官方安卓客户端,打开后点击右下角的+号,导入之前我们导出的配置文件,先别急着连接,点击刚刚导入的配置,再点击右上角的编辑按钮,拖到下面,在“连接保活间隔”里填上25(官方推荐),这样服务器才能主动通过adb连接客户端。

保存后就可以开启连接了。

开启连接后我们可以在Wg Server for Windows里点击右下角的View查看是否连上,显示出latest handshake并且transfer有流量通过就是连接成功了

ZeroTier

Windows和安卓客户端都可以在官网下载。

首先需要在官网上创建一个账号,然后点击”Create A Network”就可以得到一个16位的network ID,网络默认是私有的,新客户端连接的时候需要手动授权一下,当然你也可以直接改成公开的,就不需要手动操作了。

接着配置云手机,下载ZeroTier的安卓客户端,打开后点击+号输入16位的network ID,点击”Add Network”,启动网络,连接成功的话可以在详细里看到分配的局域网ip。

最后配置云服务器,下载ZeroTier的Windows客户端,根据官方的说明在RDP里安装似乎会有问题,可以通过命令安装解决。装好后在下方的框框内输入16位的network ID即可,连接成功的话一样可以在详细里看到分配的局域网ip,然后记得去服务器的安全组或者防火墙里添加一下ZeroTier用到的端口TCP和UDP协议的规则,不然会无法直连导致走中转速度太慢而无法正常使用。

云手机

云手机方面目前测试过两款,分别是红手指KVIP和雷电云KVIP,都能正常连接,其中雷电云不需要额外设置就可以直接连adb,红手指需要在开发者选项中开启USB调试才能连上adb。

另外根据下面评论的描述,云手机的其他机型可能存在连不上的情况,所以购买前建议先买最短时间自行测试一下。

都配置好后可以ping测试一下,下面的截图是用腾讯的上海服务器和雷电云测试的,可以发现直连的话延迟是非常低的。

AzurLaneAutoScript

AzurLaneAutoScript的安装就没啥好写的了,作者已经提供了傻瓜安装包,直接运行全自动安装。Alas的设置里Serial填入云手机分配到的局域网ip和默认5555端口即可。

贴一个性能测试的结果:

在所有云手机上应该都能使用最佳组合aScreenCap_nc+minitouch。

另外还试了个骚操作,因为总觉得一台云手机就挂一个碧蓝航线太亏了,于是在云手机里装了X8沙箱又运行了一个碧蓝航线,没想到居然还吃得消,Alas只需要通过不同的端口连接即可。

Alas的消耗也比想象中的小很多,所以现在群友的服务器上已经挂了好几个Alas了。。。

浅谈某NetHTProtect

声明,本文只稍微提一下思路,不提供任何代码~ 这次是第二次写它了,上篇文章讲的也是这玩意,不过这次它加了个新东西,直接暴力dump dll的话会发现method co...

阅读全文

关于Unity的PE文件结构破坏保护

开始码字后突然不懂标题应该怎么取,原本想像隔壁一样来个什么“关于Unity的xxx保护(1)”,不过目前只打算写写这一个例子,估摸着也没有下篇,还是别挖坑了。...

阅读全文

77 条评论

  1. 我用的的红手指gvip+WireGuard,填了25秒的保活,但是lastest handshake每次要到2~3min才刷新,大佬有遇到过这个问题吗?

  2. 你好,我使用阿里云+雷电云或者红手指,换了很多次设备,但是我的截图却一直最快只有2S

  3. 腾讯云+红手指,红手指adb上传速度感人,1兆到5兆不等,导致截图上传云端alas最快1秒,最慢20秒的都有 :lol: 巨慢,不过也能跑

    1. 现在用的红手指安卓10的最低vip档,用不了aScreenCap所以用的adb截图测试也只有0.5秒,建议你跟客服换个设备看看

  4. 您好请问云手机里x8沙箱里面是要再开一个hin2n之类的用来给alas调用吗,我沙箱里面打开hin2n会闪退

  5. 没事儿就过来转转,今天给同事讲截帧的时候想起你这里了,ab当初帮了不少忙,顺带表个白。爱你哦么么~

    1. 服务器公网流量只算出流量,也就是只有服务器发送adb命令的那一点流量,用WireGuard的话一个月都用不到30g,N2N会稍微多一点

    1. 请问大佬找到解决方法了吗,我也没找到完美的解决方法,但是幸亏alas卡启动不报错,我用其它软件定时启动碧蓝 好像勉强可以用

  6. 想问一下可以用真的手机代替云手机吗,我用真的手机连接好之后,运行alas出现adb不能连接的问题

  7. 我想问一下,还没有买腾讯云。一直在笔记本上挂的,买了腾讯云之后,是相当于买了个模拟电脑(就是云服务器?),不需要自己家里的设备(手机电脑)吗,请您回复,谢谢!

  8. 楼主你好,我按照您的教程一步步地部署,但是wireguard好像并没有连上,可以问一下是什么问题呢?

    1. 我只能给你提几个会出错的地方你自己检查
      1.检查配置文件有没有问题,我每个配置都截图出来了,除了key以外其他的你都可以跟我保持一致
      2.检查服务器wireguard的端口的tcp和udp是否打开
      3.服务器上配置最后一步网卡是否分享正确,一定是要选连接公网的那张

    2. 我想问的是
      1. udp和tcp是入站规则还是出站规则(其实我都设置了)
      2. 网卡选择是否为以太网

      此外我的配置文件确实与楼主您的一致

    3. 入站规则,出站规则应该什么都不设置,保持默认的允许所有访问
      “以太网”只是网卡名字,有多张网卡的情况下哪张网卡连的公网要你自己判断

    4. emmm,还是不行,安卓端那边只有流出的流量却没有接收的,服务器这边也没有显示出跟楼主一样的效果

    5. 试了一下n2n,也是不行,估计是我的服务器的问题?(我也是使用腾讯的轻量应用服务器)
      (hin2n的那个ip地址应该是填写服务器的公网ip吧?)

  9. 大佬,按照你说的,我云服务器上是启动成功了,端口也开放了。但手机模拟器上hin2n无法连接。一直在asking for IP address

  10. 你好,为什么我最后云手机使用hin2n连接一直弹asking for IP address,这怎么解决?

  11. 你好,按照步骤来最后还是没弄好,能加个联系方式或者交流群询问一下吗

  12. 大佬,沙盒里面好像装不了hin2n,想问下沙盒里面运行的话,alas如何配置端口

    1. 嗷嗷,谢谢大佬。不过还想问下,就是我好像只能沙盒在最前面可以用,要是后台好像就获取不了了

  13. 大佬我也是KVIP,我怎么装不了voms,装好rom后无法进入虚拟系统。大佬你装的是安卓几的

  14. 这里给后来的人一个提醒,你如果用的是腾讯云的WINDOWS server系统的话(我不知道其他云服务器怎么样,我用的是腾讯云),可能你在安装完ALAS后点启动会报(DLL:找不到指定的模块)这个错误,这里提供一个方法,步骤如下:
    1、在开始菜单栏里打开服务器管理器
    2、选择添加角色和功能
    3、一直点下一步,直到【功能】这一步
    4、在【功能】界面往下拉,找到并打开【用户界面和基础结构】
    5、勾上【桌面体验】
    6、一直点下一步,直到安装完毕,重启云服务
    7、打开ALAS后再按照文章里大佬的办法后就可以正常使用了

  15. 今天刚买的 雷电云 开发者选项 中的 usb调试 不能开启
    咨询客服 说全机型 都不支持 ADB
    有没有安卓的脚本的推荐

    1. www 今天晚上 更换成 经济型 ok 了 而且网速是增强型的10倍
      大家千万别买 增强型。。。。 网速慢 还不能adb

  16. 雷电云好像端口不能默认为5555,问客服说不开放adb,作者是怎么连的

  17. 您好,打扰一下,在最后一步使用ALAS时一直出现错误,想请问一下前文关于云服务器使用何种镜像系统?

    1. 云服务器使用什么系统并没有什么关系啊,本身alas在win和linux上都是可以运行的,如果你是alas启动报错,你最好去alas的github上问问,如果是adb连不上,可以去云手机的开发者选项把USB调试打开看看

    2. 感谢您的回复,我尝试重装了Alas依旧无效,想请问一下您在云服务器中是安装Alas即可正常使用,无需再做其余环境配置之类的吗

欢迎留言

8 + 3 =