大佬们,安卓有root的情况,选择tun还是tproxy啊

安卓机已经有magisk了,目前在使用box for magisk,启用的是mihomo内核
不知道是使用tun模式还是tproxy模式比较好,目前总感觉我的DNS配置有些问题,在网上参考了很多配置,依旧有一些页面访问和不启用代理速度相差很大的情况,希望有大佬可以指教一下。

dns:
  cache-algorithm: arc # ARC(Adaptive Replacement Cache)缓存算法
  enable: true
  listen: 0.0.0.0:1053
  use-hosts: true
  ipv6: false
  ipv6-timeout: 300  # 单位:ms,内部双栈并发时,向上游查询 AAAA 时,等待 AAAA 的时间,默认 100ms
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16

  nameserver:
    - quic://223.5.5.5:853
    - https://dns.alidns.com/dns-query
    - https://dns.360.net/dns-query
    - tls://223.5.5.5:853

  proxy-server-nameserver:
    - https://dns.google/dns-query
    - https://cloudflare-dns.com/dns-query
    -
  fallback: # 国外 DNS 服务器
    - https://dns.google/dns-query#🌏 节点选择
    - https://cloudflare-dns.com/dns-query#🌏 节点选择
    - tls://8.8.4.4:853#🌏 节点选择

  fake-ip-filter:
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - 'localhost.ptlogin2.qq.com'

  fallback-filter: # 国外网站使用此解析
    geoip: true # 配置是否使用 geoip
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4
    domain:
      - '+.google.com'
      - '+.facebook.com'
      - '+.youtube.com'
      - '+.googleapis.+'
2 个赞

如果用的Tproxy 规则里要加DNS劫持 否则会漏,部分污染的网站还是打不开

listen: 0.0.0.0:1053

我想请问一下,这里监听的1053端口是正确的吗?
我在Tproxy模式下设置了如下的配置

proxies:
  - name: DNS劫持
    type: dns
rules:
  - DST-PORT,53,DNS劫持
1 个赞

这样看 规则没问题。

模块配置里的DNS端口改成1053了吗

mihomo 的 tun 模式不太好用,建议 tproxy

mihomo配置里的tun选择关闭 然后模块选择tproxy.

我寻找了一下,还是没看到模块配置哪一部分可以修改DNS端口。
我看到的一些配置,一些在监听53,一些在监听1053,所以我也不确定

rules:
  - DST-PORT,53,DNS劫持

这里的53是否要和监听的端口统一

感谢回复,我今天也尝试一下tun,确实感觉遇到的问题比之前使用的tproxy还要多一些

喜欢用 tun 的话建议转 sing-box 内核,体验好很多

这个规则的意思是 入站的目的端口未53端口的流量(也就是进来的53 DNS请求) 劫持到mihomo内部的DNS。
跟监听没关系。 这里保持53即可。
全局配置的dns port 1053 意思是mihomo在本地起一个DNS服务,监听在1053端口。
两码事

用tun的话转singbox吧

终于明白了,感谢回复

:rofl: 有用的话 可以直接在帖子内采纳回答。

我看debug日志,发现之前的不管是什么域名都只会fallback用国外的DNS查,重新调了一版,目前发现DNS的解析正常了

dns:
  cache-algorithm: arc # ARC(Adaptive Replacement Cache)缓存算法
  enable: true
  listen: 0.0.0.0:1053
  use-hosts: true
  ipv6: false
  ipv6-timeout: 300  # 单位:ms,内部双栈并发时,向上游查询 AAAA 时,等待 AAAA 的时间,默认 100ms
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16

  nameserver:
    - quic://223.5.5.5:853
    - https://dns.alidns.com/dns-query

  proxy-server-nameserver:
    - https://dns.google/dns-query
    - https://cloudflare-dns.com/dns-query

  fallback: # 国外 DNS 服务器
    - https://dns.google/dns-query#🌏 节点选择
    - https://cloudflare-dns.com/dns-query#🌏 节点选择

  fake-ip-filter:
    - '+.lan'
    - '+.local'
    - '+.leigod.com'
    - '+.vivox.com'
    - '+.stun.+'
    - '.n.n.srv.nintendo.net'
    - '+.stun.playstation.net'
    - 'xbox.*.*.microsoft.com'
    - '*.*.xboxlive.com'
    - 'lens.l.google.com'
    - '*.mcdn.bilivideo.cn'
    - 'localhost.ptlogin2.qq.com'

tproxy好一点,记得开sniffer

你的DNS用了域名,最好加个:

  # 默认 DNS, 用于解析 DNS 服务器 的域名 必须为 IP, 可为加密 DNS
  default-nameserver:
    - tls://223.5.5.5
    - tls://1.12.12.12

顺带问问,和在安卓中直接开vpn,内核层面开会更省电吗?有佬留意过省的多吗?我在想要不要开到内核中,毕竟在安卓层可以很方便的开关,但是成天开着,电量统计那每天的占用又是10%多。

稍微好点 感知不大。

大佬带带我!!!