有一些APP很好用,AIMP音乐播放器、MXplayer视频播放器,但他们比较老牌,不支持IPv6访问,输入纯IPv6解析的域名连不上,IPv4的域名可以连上
并且由于WireGuard Tailscale Zerotier这种会和魔法上网冲突,开这个另个就自动被关掉
于是我想着有没有个 安装在安卓上的APP,来实现本地代理/本地转发。
我只是提供一个思路,你也可以换APP来实现,比如海贝音乐就能支持IPv6的Webdav,Reex视频播放器能支持IPv6的SMB。手机又不是只能安装一个APP
需求:
- 不使用VPN类,不会和魔法上网软件冲突,可以和魔法上网同时使用
- 安卓APP实现,不靠上级路由器,因为用手机流量时没有上级路由器
- 尽量简单,不要复杂,不要root,不要面具模块,不搞Termux等这么复杂的方法
- 支持Webdav SMB等常见文件传输协议
- 节省流量,在WIFI局域网不会去公网绕一圈
- WIFI/流量自适应,就一个地址,不需要用2个地址根据是否在外面来访问
让AIMP中的Webdav地址填写http://localhost:10081,本地代理转发10081到NAS的公网IPv6的对应端口5005,这样AIMP就能连上群晖的Webdav了,算是IPv4→IPv6吧
MXplayer的SMB地址填localhost,通过本地代理/转发 转发到NAS的公网IPv6的对应端口445
然后各种群里问了一圈,没有啥人知道安卓上怎么实现,终于晚上有人提了一嘴nginx好像有安卓的,我去GooglePlay搜了一圈,没找到,但忽然想起以前接触过一个APP,ksweb里面好像有nginx的功能,他本来是用手机搭网站的一个APP
我居然没卸载,不用到处找了,果然有nginx的功能,尝试了一番,踩了一些坑,知道了怎么填写nginx才能生效
自行下载ksweb这个APP,GooglePlay里面有
添加的代码如下
server {
listen 10081;
server_name localhost;
location / {
proxy_pass http://dsm.209902.xyz:5005;
}
}
修改了配置文件,要关掉再开nginx的开关才能生效
需求实现:
- 不使用VPN类,不会和魔法上网软件冲突,可以和魔法上网同时使用 ✔
- 安卓APP实现,不靠上级路由器,因为用手机流量时没有上级路由器 ✔
- 尽量简单,不要复杂,不要root,不要面具模块,不搞Termux等这么复杂的方法 ✔
- 支持Webdav✔ SMB×等常见文件传输协议
- 节省流量,在WIFI局域网不会去公网绕一圈 ✔
- WIFI/流量自适应,就一个地址,不需要用2个地址根据是否在外面来访问 ✔
SMB由于不是http,不能用nginx代理,可能得用frp之类的TCP转发才行,目前没找到安卓上的
因为是本地代理,在WIFI局域网下,dsm.209902.xyz这个地址被路由器解析后,触发路由器的loopback功能,走局域网不会去公网绕一圈,理论能达到局域网满速。不会像异地组我Zerotier/Tailscale这种,即使在局域网速度也只能30mbps左右(被运营商限速udp)。