安卓系统下使用udp2raw + speeder + wireguard + moonlight实现加速远程串流的可行性测试
缘起
某天在逛v2ex时看到了wangyu大佬开源的网络加速器UDPspeeder,配合同样是wangyu大佬开源的udp2raw使用之后可以达到网络加速的效果实现游戏加速器。后来折腾串流的时候想到可以加速游戏是否能够加速串流呢?然后就开始了折腾。
前提
此方案需要几个前提条件:
- 公网ip家用宽带
- root(安卓串流使用)
方案概述
udp2raw + UDPspeeder可以实现单端口udp加速的效果,如果再加上wireguard,则能够实现全流量加速效果。使用moonlight可以指定ip与端口,配合上述的wireguard即可实现加速串流的目的。
详细部署
服务器部署
首先在需要被远程控制的机子的内网(或者虚拟机)服务器中部署wireguard服务端与udp2raw服务端和UDPspeeder服务端,部署成 udp2raw -> UDPspeeder -> wireguard 的流量走向,然后在路由器中选一个端口转发到udp2raw的监听端口上。
在需要被远程控制的机子上安装wireguard,添加配置连接到上述的wireguard服务端,对端修改为局域网ip端口。
客户端部署
安卓手机root之后安装termux,在termux中安装tsu以获取root权限,用数据线将udp2raw_arm与UDPspeeder_arm复制到手机中,使用root权限为udp2raw_arm与UDPspeeder_arm添加执行权限并且部署,远端ip端口为路由器放出的ip端口,然后随意监听一个本地端口。
上述完成后,安卓手机安装wireguard客户端,然后配置并且把对端修改成:127.0.0.1:<你监听的端口>,点击连接,如果有入站流量则说明连接成功。
moonlight 部署
需要被控制的电脑中安装moonlight(因为是amd显卡所以我装的是sunshine),然后安卓手机中安装moonlight客户端,连接的ip为远程主机上配置的wireguard地址。
说明
- 上述软件的部署教程在各自的开源地址中都有(wireguard此处使用wg-easy使用docker安装)