因为VLC tvos版是自动扫描局域网中的服务器,无法手动添加。在开启代理软件后,就无法连接。通过代理软件的log可以看到,电脑名称(r7000p/r7000p.local)最后变成域名r7000p.0.2.168.192.in-address.arpa,所有DNS(系统+自定义)都找不到结果,最后丢给代理节点处理了,所以导致的结果就是没有解析到正确的电脑IP,就无法连接。

尝试的解决办法:

  1. surge中使用本地DNS映射(基本等同于/etc/hosts),改方法在surge ios中有效,在surge tvos中无效
  2. qx同样也是在配置文件DNS中添加address=/r7000p.0.2.168.192.in-address.arpa/192.168.2.64该方法在ios和tvos中均有效
  3. 在小米路由器中,通过自定义Hosts,添加:192.168.2.64 r7000p.0.2.168.192.in-address.arpa,但是无论是surge还是qx都没有成功
  4. (最佳方法)因为有软路由的缘故,openwrt本就自带Dnsmasq,提供了一个集成的 DHCP 服务器和 DNS 转发器,所以可以使用自定义域名对应的IP地址的功能(需要客户端DNS指向本路由),在配合代理软件的可自定义DNS即可完美解决
    surge:自定义DNS/混合DNS(系统+自定义)如:114.114.114.114,223.5.5.5,192.168.2.27(软路由)
    qx:在配置DNS处添加server=/r7000p.0.2.168.192.in-address.arpa/192.168.2.27,这个与方法二的不同之处是,方法二是直接指定域名对应的IP地址,而这个是指定域名交由指定DNS解析

写在最后,在VLC中就只有windows电脑没有成功,像是openwrt以及macbookpro都是正常的,真的....而且为什么VLC不能手动添加smb服务器呢?万一我没有软路由的话,岂不是没有两全其美的方法了!