找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 3497|回复: 12

[openwrt(x86)] 抛弃MosDNS套娃分流 AdGuardDNS分流又快又好

[复制链接]
发表于 2025-8-15 23:59 | 显示全部楼层 |阅读模式
本帖最后由 lniaen 于 2025-8-16 00:01 编辑

也算是用了三年软路由了,从一开始的Smartdns到MosDNS,一直在DNS泄露的问题上弯弯绕绕,浪费了许多时间。尤其是使用MosDNS→AdGuardHome方案后,抖音、哔哩哔哩经常性出现加载卡顿的问题。经过排除,确定了卡顿是由于MosDNS分流所导致的一些CDN地址无法解析,随决定抛弃MosDNS,完全转入AGH分流的怀抱。


# 个人网络环境
  家里的网络环境很简单,运营商光纤接入→光猫→路由→旁路由,路由器拨号,光猫仅负责光电转换;旁路由的意义一方面是方便我用网,另一方面是补全家用网络环境下的一些功能。

# 分流思路
  同MosDNS的分流思路,但是由于AGH在匹配规则方面与MosDNS有所出入,因此是无法直接引用MosDNS的分流文件来进行使用的,另一方面是规则会定期更新的,因此手动组合难度较大,所以是需要本地脚本进行处理的。
  分流规则使用的Loyalsoldier发布的规则列表。

# 配置流程
  脚本运行目录是在 `/root/dnsrules` 下的,在根目录创建名为 `rules2agh.sh` 的文件,并将下面的文件内容贴入。

  1. #!/usr/bin/env bash
  2. # rules2agh.sh (one-domain-per-line)
  3. # - 源:Loyalsoldier/“师夷长技以制夷”-rules-dat(raw + jsDelivr 双源)
  4. # - 输出:
  5. #   1) /root/dnsrules/adguard.upstreams.txt  (AdGuard Home upstream_dns_file)
  6. #   2) /root/dnsrules/adguard.blocklist.txt  (Adblock 语法 ||domain^)
  7. # - 特性:逐域一行,不打包;过滤超长/非法域名;日志走 stderr
  8. # 依赖:bash、curl、sed、awk、sort、uniq

  9. set -Eeuo pipefail

  10. BASE_DIR="/root/dnsrules"
  11. WORK_DIR="$BASE_DIR/work"
  12. UPSTREAM_FILE="$BASE_DIR/adguard.upstreams.txt"
  13. BLOCKLIST_FILE="$BASE_DIR/adguard.blocklist.txt"
  14. LOG_PREFIX="[rules2agh]"
  15. mkdir -p "$WORK_DIR"

  16. # === 上游设置 ===
  17. DIRECT_UPSTREAM="tcp://223.5.5.5"        # 国内
  18. PROXY_UPSTREAM="tls://1.1.1.1"           # 歪果
  19. REVERSE_UPSTREAM="$DIRECT_UPSTREAM"      # 反向解析走国内

  20. # --- 源清单 ---
  21. SRC=(
  22.   "direct-list|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/direct-list.txt" target="_blank">https://raw.githubusercontent.co ... ase/direct-list.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/direct-list.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... ase/direct-list.txt</a>"
  23.   "proxy-list|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/proxy-list.txt" target="_blank">https://raw.githubusercontent.co ... ease/proxy-list.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/proxy-list.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... ease/proxy-list.txt</a>"
  24.   "reject-list|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/reject-list.txt" target="_blank">https://raw.githubusercontent.co ... ase/reject-list.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/reject-list.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... ase/reject-list.txt</a>"
  25.   "china-list|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/china-list.txt" target="_blank">https://raw.githubusercontent.co ... ease/china-list.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/china-list.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... ease/china-list.txt</a>"
  26.   "apple-cn|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/apple-cn.txt" target="_blank">https://raw.githubusercontent.co ... elease/apple-cn.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/apple-cn.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... elease/apple-cn.txt</a>"
  27.   "google-cn|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/google-cn.txt" target="_blank">https://raw.githubusercontent.co ... lease/google-cn.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/google-cn.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... lease/google-cn.txt</a>"
  28.   "“全局防火墙”|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/“全局防火墙”.txt" target="_blank">https://raw.githubusercontent.co ... release/“全局防火墙”.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/“全局防火墙”.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... release/“全局防火墙”.txt</a>"
  29.   "win-spy|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/win-spy.txt" target="_blank">https://raw.githubusercontent.co ... release/win-spy.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/win-spy.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... release/win-spy.txt</a>"
  30.   "win-update|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/win-update.txt" target="_blank">https://raw.githubusercontent.co ... ease/win-update.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/win-update.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... ease/win-update.txt</a>"
  31.   "win-extra|<a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/win-extra.txt" target="_blank">https://raw.githubusercontent.co ... lease/win-extra.txt</a>|<a href="https://cdn.jsdelivr.net/gh/Loyalsoldier/“师夷长技以制夷”-rules-dat@release/win-extra.txt" target="_blank">https://cdn.jsdelivr.net/gh/Loya ... lease/win-extra.txt</a>"
  32. )

  33. log() { echo "[$(date +'%F %T')] $LOG_PREFIX $*" >&2; }

  34. fetch_one() {
  35.   local tag="$1"; shift
  36.   local dst="$WORK_DIR/$tag.raw"
  37.   local ok=0
  38.   for url in "$@"; do
  39.     log "GET $url"
  40.     if curl -fsSL -L --connect-timeout 5 --max-time 25 --retry 2 -o "$dst" "$url"; then
  41.       ok=1; break
  42.     fi
  43.   done
  44.   [[ $ok -eq 1 ]] || { log "下载失败:$tag"; return 1; }
  45.   printf '%s\n' "$dst"
  46. }

  47. normalize_domains_file() {
  48.   local in="$1" out="$2"
  49.   awk '
  50.     { gsub(/\r$/, "", $0); line=$0; }
  51.     { sub(/#.*/, "", line); gsub(/^[ \t]+|[ \t]+$/, "", line); }
  52.     line=="" { next }
  53.     /^domain:/ { print substr(line,8); next }
  54.     /^full:/   { print substr(line,6); next }
  55.     /^(regexp:|keyword:|include:|exception:|attr:)/ { next }
  56.     { gsub(/^\|\|/, "", line); gsub(/\^$/, "", line); print line; }
  57.   ' "$in" \
  58.   | sed -E 's/^\*\.//; s/^\.+//' \
  59.   | sed -E 's/[^0-9A-Za-z._-]//g' \
  60.   | sed '/^[._-]*$/d' \
  61.   | sed 's/\.$//' \
  62.   | tr 'A-Z' 'a-z' \
  63.   | sort -u > "$out"
  64. }

  65. merge_sets() { cat "$@" | sort -u; }

  66. filter_too_long_or_invalid() {
  67.   local in="$1" out="$2"
  68.   awk 'length($0)>0 && length($0)<=240 {print}' "$in" | sort -u > "$out"
  69. }

  70. write_one_per_line() {
  71.   local domains_file="$1" upstream="$2"
  72.   while IFS= read -r d || [[ -n "$d" ]]; do
  73.     [[ -z "$d" ]] && continue
  74.     printf "[/%s/]%s\n" "$d" "$upstream"
  75.   done < "$domains_file"
  76. }

  77. make_blocklist() {
  78.   awk '{print "||"$0"^"}' "$1"
  79. }

  80. main() {
  81.   log "下载源列表..."
  82.   declare -A RAW
  83.   for item in "${SRC[@]}"; do
  84.     IFS='|' read -r tag url1 url2 <<< "$item"
  85.     RAW["$tag"]="$(fetch_one "$tag" "$url1" "$url2")"
  86.   done

  87.   log "规范化各列表..."
  88.   declare -A NORM
  89.   for tag in "${!RAW[@]}"; do
  90.     normalize_domains_file "${RAW[$tag]}" "$WORK_DIR/$tag.norm"
  91.     filter_too_long_or_invalid "$WORK_DIR/$tag.norm" "$WORK_DIR/$tag.good"
  92.     NORM["$tag"]="$WORK_DIR/$tag.good"
  93.     log "$tag: $(wc -l < "${NORM[$tag]}" | tr -d ' ') 条"
  94.   done

  95.   # --- 集合定义 ---
  96.   merge_sets "${NORM[direct-list]}" "${NORM[china-list]}" "${NORM[apple-cn]}" "${NORM[google-cn]}" "${NORM[win-update]}" \
  97.     > "$WORK_DIR/DIRECT.all"

  98.   merge_sets "${NORM[proxy-list]}" "${NORM[“全局防火墙”]}" \
  99.     > "$WORK_DIR/PROXY.all"

  100.   merge_sets "${NORM[reject-list]}" "${NORM[win-spy]}" "${NORM[win-extra]}" \
  101.     > "$WORK_DIR/BLOCK.all"

  102.   log "生成 upstream 文件:$UPSTREAM_FILE"
  103.   {
  104.     echo "# Generated by rules2agh(one-domain-per-line) on $(date -Is)"
  105.     echo "# 默认上游(未匹配域名) -> $PROXY_UPSTREAM"
  106.     echo "$PROXY_UPSTREAM"
  107.     echo
  108.     echo "# 可选:反向解析 -> 直连上游"
  109.     echo "[/in-addr.arpa/]$REVERSE_UPSTREAM"
  110.     echo "[/ip6.arpa/]$REVERSE_UPSTREAM"
  111.     echo
  112.     echo "# === DIRECT -> $DIRECT_UPSTREAM ==="
  113.     write_one_per_line "$WORK_DIR/DIRECT.all" "$DIRECT_UPSTREAM"
  114.     echo
  115.     echo "# === PROXY -> $PROXY_UPSTREAM ==="
  116.     write_one_per_line "$WORK_DIR/PROXY.all" "$PROXY_UPSTREAM"
  117.   } > "$UPSTREAM_FILE"

  118.   log "生成 blocklist:$BLOCKLIST_FILE"
  119.   {
  120.     echo "! Generated by rules2agh on $(date -Is)"
  121.     echo "! 拦截集合:reject + win-spy + win-extra"
  122.     make_blocklist "$WORK_DIR/BLOCK.all"
  123.   } > "$BLOCKLIST_FILE"

  124.   log "完成。统计:"
  125.   echo "  DIRECT: $(wc -l < "$WORK_DIR/DIRECT.all")" >&2
  126.   echo "  PROXY : $(wc -l < "$WORK_DIR/PROXY.all")" >&2
  127.   echo "  BLOCK : $(wc -l < "$WORK_DIR/BLOCK.all")" >&2

  128.   /etc/init.d/AdGuardHome restart
  129. }

  130. main "$@"
复制代码

  该脚本引用了L大的以下列表,并在脚本中一一对应,可以根据自己需求添加或删减对应部分。

  1. 直连域名列表 direct-list.txt
  2. ——DIRECT直连——direct-list
  3. 代理域名列表 proxy-list.txt
  4. ——代理PROXY——proxy-list
  5. 广告域名列表 reject-list.txt
  6. ——BLOCK阻断——reject-list
  7. @felixonmars/dnsmasq-china-list 仓库收集的在中国大陆可直连的域名列表 china-list.txt
  8. ——DIRECT直连——china-list
  9. Apple 在中国大陆可直连的域名列表 apple-cn.txt
  10. ——DIRECT直连——apple-cn
  11. Google 在中国大陆可直连的域名列表 google-cn.txt
  12. ——DIRECT直连——google-cn
  13. “全局防火墙”List 域名列表 “全局防火墙”.txt
  14. ——代理PROXY——“全局防火墙”
  15. Windows 操作系统使用的隐私跟踪域名列表 win-spy.txt
  16. ——BLOCK阻断——win-spy
  17. Windows 操作系统使用的系统升级域名列表 win-update.txt
  18. ——DIRECT直连——win-update
  19. Windows 操作系统使用的附加隐私跟踪域名列表 win-extra.txt
  20. ——BLOCK阻断——win-extra
复制代码

  由于 `
  1. mapfile -t CN_DOMAINS < <(parse_category_recursive "$CN_LIST" | sed 's/\r$//')
复制代码

语法问题, dash不支持 `< <(...)` 此类进程替换语法,因此运行时需要使用 `bash` 运行。

  1. #赋权
  2. chmod +x /root/dnsrules/geosite2agh.sh
  3. #运行
  4. bash /root/dnsrules/geosite2agh.sh
复制代码

  不出意外的话会返回以下内容并重启AGH服务

  1. root@iStoreOS:~# bash /root/dnsrules/rules2agh.sh
  2. [2025-08-15 22:51:00] [rules2agh] 下载源列表...
  3. [2025-08-15 22:51:00] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/direct-list.txt" target="_blank">https://raw.githubusercontent.co ... ase/direct-list.txt</a>
  4. [2025-08-15 22:51:02] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/proxy-list.txt" target="_blank">https://raw.githubusercontent.co ... ease/proxy-list.txt</a>
  5. [2025-08-15 22:51:04] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/reject-list.txt" target="_blank">https://raw.githubusercontent.co ... ase/reject-list.txt</a>
  6. [2025-08-15 22:51:06] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/china-list.txt" target="_blank">https://raw.githubusercontent.co ... ease/china-list.txt</a>
  7. [2025-08-15 22:51:08] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/apple-cn.txt" target="_blank">https://raw.githubusercontent.co ... elease/apple-cn.txt</a>
  8. [2025-08-15 22:51:09] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/google-cn.txt" target="_blank">https://raw.githubusercontent.co ... lease/google-cn.txt</a>
  9. [2025-08-15 22:51:10] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/“全局防火墙”.txt" target="_blank">https://raw.githubusercontent.co ... release/“全局防火墙”.txt</a>
  10. [2025-08-15 22:51:11] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/win-spy.txt" target="_blank">https://raw.githubusercontent.co ... release/win-spy.txt</a>
  11. [2025-08-15 22:51:12] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/win-update.txt" target="_blank">https://raw.githubusercontent.co ... ease/win-update.txt</a>
  12. [2025-08-15 22:51:14] [rules2agh] GET <a href="https://raw.githubusercontent.com/Loyalsoldier/“师夷长技以制夷”-rules-dat/release/win-extra.txt" target="_blank">https://raw.githubusercontent.co ... lease/win-extra.txt</a>
  13. [2025-08-15 22:51:15] [rules2agh] 规范化各列表...
  14. [2025-08-15 22:51:15] [rules2agh] win-update: 538 条
  15. [2025-08-15 22:51:15] [rules2agh] google-cn: 142 条
  16. [2025-08-15 22:51:15] [rules2agh] “全局防火墙”: 5882 条
  17. [2025-08-15 22:51:15] [rules2agh] proxy-list: 31163 条
  18. [2025-08-15 22:51:15] [rules2agh] apple-cn: 167 条
  19. [2025-08-15 22:51:17] [rules2agh] china-list: 118747 条
  20. [2025-08-15 22:51:17] [rules2agh] win-extra: 399 条
  21. [2025-08-15 22:51:19] [rules2agh] direct-list: 119387 条
  22. [2025-08-15 22:51:21] [rules2agh] reject-list: 131727 条
  23. [2025-08-15 22:51:21] [rules2agh] win-spy: 347 条
  24. [2025-08-15 22:51:22] [rules2agh] 生成 upstream 文件:/root/dnsrules/adguard.upstreams.txt
  25. [2025-08-15 22:51:25] [rules2agh] 生成 blocklist:/root/dnsrules/adguard.blocklist.txt
  26. [2025-08-15 22:51:25] [rules2agh] 完成。统计:
  27.   DIRECT: 120445
  28.   PROXY : 31348
  29.   BLOCK : 132453
  30. warn ip6tables nat mod is needed
  31. AdGuardHome service disabled
  32. workdir is a tmpfs filesystem
  33. AdGuardHome service enabled
  34. luci enable switch=1
复制代码

  如果出现错误,优先考虑是否是当前系统缺少依赖,如果出现某一条依赖导致的报错,可以安装依赖后再次运行。

  成功运行后,可以看到根目录有了 `adguard.blocklist.txt` 和 `adguard.upstreams.txt` 两个文件,接下来就需要将 `/root/dnsrules/adguard.upstreams.txt` 写入 `AdGuardHome.yaml` 的 `dns.upstream_dns_file` 位置。

  如果你是使用iStore一键安装的AGH,那么只需要在UI界面的“服务——AdGuard Home——手动设置”中找到 `dns.upstream_dns_file` ,将文件路径添加在后面,再次运行脚本或者ssh `/etc/init.d/AdGuardHome restart` 重启AGH即可调用该规则分流。

  此外,该脚本会基于L大 “广告域名列表 reject-list.txt” 的规则在根目录生成一个 `adguard.blocklist.txt` 文件,该文件可以在AGH的DNS黑名单中被加载使用,也可以酌情考虑是否使用该广告拒绝列表。

  最后,在Openwrt的Crontab中加入自动执行该脚本的计划任务。 `0 12 * * * /root/dnsrules/rules2agh.sh >> /root/dnsrules/work/update.log 2>&1`

  1. /etc/init.d/cron enable
  2. /etc/init.d/cron restart
复制代码


  保存,并重启cron服务。


只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2025-8-16 00:31 | 显示全部楼层
本帖最后由 iamyangyi 于 2025-8-16 00:38 编辑

我现在只留了SMARTDNS 。但SMARTDNS 那个测速 又爱又恨 ,游戏 和电影不能兼得。

点评

SMARTDNS 放弃了, 老是抽风,作者没精力时间维护  详情 回复 发表于 2025-8-16 07:08
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-16 07:08 | 显示全部楼层
iamyangyi 发表于 2025-8-16 00:31
我现在只留了SMARTDNS 。但SMARTDNS 那个测速 又爱又恨 ,游戏 和电影不能兼得。 ...

SMARTDNS 放弃了, 老是抽风,作者没精力时间维护

点评

openwrt自带的那个很久没更新了,不过官方的一直都在更新,最近几个月还和adg一样,加了UI界面了……  详情 回复 发表于 2025-8-17 15:38
一直在维护  详情 回复 发表于 2025-8-16 07:59
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-16 07:59 来自手机 | 显示全部楼层
本帖最后由 iamyangyi 于 2025-8-16 08:09 编辑
289396495 发表于 2025-8-16 07:08
SMARTDNS 放弃了, 老是抽风,作者没精力时间维护


一直在维护 只是新版要自己编译。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-16 17:57 | 显示全部楼层
有些看不懂,研究一下。顶
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-16 20:53 来自手机 | 显示全部楼层
现在用插件分流够用了,不在折腾DNS分流了。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-17 10:53 | 显示全部楼层
黑名单怎么加进去啊 大佬
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-17 15:38 | 显示全部楼层
289396495 发表于 2025-8-16 07:08
SMARTDNS 放弃了, 老是抽风,作者没精力时间维护

openwrt自带的那个很久没更新了,不过官方的一直都在更新,最近几个月还和adg一样,加了UI界面了……

点评

我等他出正式版  详情 回复 发表于 2025-8-19 08:18
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-18 21:22 | 显示全部楼层
有些看不懂,研究一下
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-19 08:18 | 显示全部楼层
Nothing_NA 发表于 2025-8-17 15:38
openwrt自带的那个很久没更新了,不过官方的一直都在更新,最近几个月还和adg一样,加了UI界面了…… ...

我等他出正式版
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-19 09:12 | 显示全部楼层
请教楼主一个问题,为什么从Smartdns到MosDNS,我在用mosdns现在想用smartdns来试试所以来求教一下。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2025-8-19 21:35 | 显示全部楼层
收下了,感觉挺不错
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2026-1-17 17:51 | 显示全部楼层
有一键脚本吗
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 23:52

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表