甲骨云ARM VPS性能强悍,如何利用Docker搭建安卓虚拟手机?免费申请教程

时间:2025-01-21作者:皮皮分类:电报账号评论:0

在技术界,许多人只注意到这些工具被用于游戏挂机,却忽视了它们在系统设置、自动化处理以及应用程序开发与调试中的关键作用。这正是我们今天需要探讨的价值所在。

明确需求用途

bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -u 20.04 -v 64 -a -firmware -p '你的密码' --ip-dns 8.8.8.8

uname -r5.15.0-1013-oracle #这里最好>=5.0

明确自己的需求是首要之事。比如,你手里可能有拥有root权限的工具,但别只想着用它来玩游戏。许多开发者,在开发应用时,会用到这类特殊权限的工具。比如,2023年,有一家初创公司的小团队就利用这样的工具来加速新应用的本地测试。因为这种工具的权限,使他们能更深入地调试系统底层。而且,在自动化配置方面,它也能发挥其作用。

apt install linux-modules-extra-`uname -r`modprobe binder_linux devices="binder,hwbinder,vndbinder" #进程通信模块modprobe ashmem_linux #内存共享模块

了解需求能防止在错误道路上白费力气。以技术初学者为例,他们若未设定目标便动手尝试,可能会把大量时间投入到无关紧要的游戏挂机功能上,而这其实并非必要。

curl -fsSL https://get.docker.com | bash

docker run -itd \    --memory-swappiness=0 \    --privileged --pull always \    -v /root/test/data:/data \    -p 55555:5555 \    redroid/redroid:13.0.0-latest \    androidboot.hardware=mt6891 ro.secure=0 ro.boot.hwc=GLOBAL    ro.ril.oem.imei=861503068361145 ro.ril.oem.imei1=861503068361145 ro.ril.oem.imei2=861503068361148 ro.ril.miui.imei0=861503068361148 ro.product.manufacturer=Xiaomi ro.build.product=chopin \    redroid.width=720 redroid.height=1280 \    redroid.gpu.mode=guest \    --rm

重要的依赖模块

root@ucbro:~/a# docker psCONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                                         NAMES85ce1da669c5   redroid/redroid:13.0.0-latest   "/init qemu=1 androi…"   53 minutes ago   Up 53 minutes   0.0.0.0:55555->5555/tcp, :::55555->5555/tcp   suspicious_panini

在配置环节,关键在于依赖模块的运作。若这些模块启动不成功,虚拟化过程将受阻。尤其在容器启动的操作中,依赖模块的稳定运行至关重要。以去年某数据中心为例,20%的配置失败案例均源于依赖模块启动的问题。

若采用原始镜像,通常这一环节进展顺利。然而,若在通过网络dd系统时出现故障,就得自行寻找解决方案,并无现成的通用方法可供参考。若此环节出错,切勿急于进行后续步骤,首要任务是先解决依赖模块的启动问题,否则后续将累积更多问题,最终可能导致整个配置失败。

登录IP限制的重要性

#下面有很多网卡名称,选择你上网用的,比如arm ubuntu 20.04里就是 enp0s3root@ucbro:~# ip add 1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: enp0s3:  mtu 9000 qdisc mq state UP group default qlen 1000    link/ether 02:xx:17:00:xx:e8 brd ff:ff:ff:ff:ff:ff    inet 10.0.0.1xx/24 brd 10.0.0.255 scope global enp0s3       valid_lft forever preferred_lft forever    inet6 260xxxxxxxxxxxxxxxxxxxxxxxxxc3/128 scope global dynamic noprefixroute        valid_lft 4928sec preferred_lft 4628sec    inet6 fe80::17ff:xxxxxxxxxxxx/64 scope link        valid_lft forever preferred_lft forever3: docker0:  mtu 1500 qdisc noqueue state UP group default     link/ether 02:xxxxxxxxxx76 brd ff:ff:ff:ff:ff:ff    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0       valid_lft forever preferred_lft forever    inet6 fexxxxxxxxxxxxxx76/64 scope link        valid_lft forever preferred_lft forever39: vethe253974@if38:  mtu 1500 qdisc noqueue master docker0 state UP group default     link/ether b6xxxxxxxxxxxxx9 brd ff:ff:ff:ff:ff:ff link-netnsid 0    inet6 fe8xxxxxxxxxxxxxxa49/64 scope link        valid_lft forever preferred_lft forever

iptables -I DOCKER-USER -i enp0s3 -p tcp -m conntrack --ctorigdstport 55555 ! -s 1.2.3.4 -j  DROP

限制登录IP至关重要。若忽视这一环节,服务器可能面临安全隐患。对于容器来说,若不限制未鉴权的容器登录IP,服务器便如同向所有人敞开大门,极其危险。以2021年某大型网络服务提供商为例,因部分内部测试服务器的IP未设限,导致数据泄露风险,尽管与我们的容器情况略有不同,但本质相似。

netfilter-persistent savefirewall-cmd --runtime-to-permanent

若想避免服务器沦为任何人都能随意访问的“公共烧烤架”,那么对于无法进行身份验证的容器,必须实施IP限制。这可以通过设置防火墙来实现,确保只有特定梯子的IP地址能够访问。

> adb.exe connect 你的ip:你的端口connected to 你的ip:你的端口#连接成功后会提示成功,如果没有,而且配置过程中没错误的话,说明是网络问题,请自己加密转发这个端口,或者使用境外服务器做跳板连接,adb连接也是被gfw阻断的一部分

远程桌面相关安全

D:\tools\scrcpy-win64>adb.exe connect 1.2.3.4:55555failed to connect to 1.2.3.4:55555

远程桌面技术存在安全隐患。尽管使用起来便捷,但某些不当操作,比如个别用户进行违规操作,已引起官方的重视并采取了限制措施。特别是像adb这样的协议,因其特征明显,更容易被识别和管控,但其默认设置却相对脆弱,容易遭受攻击。

以某知名互联网公司的内部测试服务器为例,我们发现只需简单扫描就能绕过adb连接的默认安全设置。若系统镜像默认开放adb调试且无需授权,任何掌握端口信息的人都能成功连接。为此,我们增设了防火墙规则。例如,在启动v2N梯子节点后(采用tcp over udp模式可降低延迟和卡顿),我们获取代理,并利用netch代理adb.exe流量,使其顺利穿越网络障碍。

替代办法与注意事项

觉得麻烦的话,也有其他办法。比如,可以通过adb进行管理,但别忘了把程序文件夹添加到netch中。若觉得操作繁琐,让netch管理所有流量也是可以的。运行容器时,如果不运行游戏,其实不会消耗太多资源。不过,建议使用4GB以上内存的Arm设备,比如甲骨文云的Arm云主机,因为内存较大,所以不太容易出现内存不足的问题。

在实际操作中,不同云服务提供商的设置可能存在不同。比如,以中国移动推出的云手机为例,若没有免费的甲骨文云Arm云主机,或者觉得搭建过程过于复杂,那么可以直接采用这个相对简单的方案。

整体操作回顾总结

回顾整个操作过程,首先要明确需求,接着确保依赖模块顺利启动,设置登录IP限制,预防远程桌面可能的安全威胁,最后根据情况选择恰当的操作或替代方案。每一步都紧密相连。以一个小型技术团队为例,起初并未意识到这些问题,忽略了安全考量,直接进行配置,结果遇到不少麻烦,要么是某个模块无法启动,要么是安全性存在漏洞。

正确操作,遵循既定流程,确保adb连接安全无误后,我们便可以执行后续操作,比如启动桌面等。这些步骤旨在确保我们能够顺畅地使用容器,进行各种非游戏创新应用,而不仅限于常规用法。

在类似的技术配置环节,大家是否也遇到了难题?期待大家的点赞和转发,也欢迎在评论区分享您的遭遇。

D:\tools\scrcpy-win64>adb connect 1.2.3.4:55555connected to 1.2.3.4:55555#出现这个说明连接成功,根据上面防火墙规则,这里只能通过你的梯子连接,也就保障安全性

相关推荐

猜你喜欢