Files
smartdns/docs/config/ad-block.md
2023-05-04 22:03:53 +08:00

2.2 KiB
Raw Blame History

hide
hide
toc

广告屏蔽

smartdns可以通过指定对应域名返回SOA用于广告屏蔽。

注意openwrt有luci的方式请参考openwrt屏蔽域名配置方法。

基本配置方法

  1. 通过address /domain/#选项屏蔽广告,如。

    address /example.com/#
    

    address选项中:

    • /domain/为后缀匹配算法,范围包含其子域名。
    • 单独#表示同时屏蔽IPV4, IPV6
    • 使用#6表示屏蔽IPV6
    • 使用#4表示屏蔽IPV4。
    • 使用-表示不屏蔽此域名。
  2. 如单独屏蔽IPV6

    address /example.com/#6
    
  3. 如果想不屏蔽某个子域名

    address /sub.example.com/-
    

使用社区已有smartdns广告过滤列表

社区针对smartdns提供了每日更新的广告列表文件可以直接使用这些广告列表文件smartdns可以通过conf-file选项包含广告屏蔽文件。另外在使用这些广告列表文件时可以定期下载更新文件并重启smartdns生效。

  1. 下载配置文件到/etc/smartdns目录

    wget https://github.com/privacy-protection-tools/anti-AD/blob/master/anti-ad-smartdns.conf -o /etc/smartdns/anti-ad-smartdns.conf
    
  2. 修改/etc/smartdns/smartdns.conf文件包含上述配置文件

    conf-file /etc/smartdns/anti-ad-smartdns.conf
    

广告列表

项目 说明 配置文件
anti-AD Anti Advertising for smartdns https://anti-ad.net/anti-ad-for-smartdns.conf
adrules AdRules SmartDNS List https://adrules.top/smart-dns.conf

非smartdns列表

对于非smartdns的数据可以通过简单的shell命令进行转换。

hosts格式

如下面命令,可以将/path/to/hosts/file的文件路径换成实际的文件转换为smartdns支持的格式

cat /path/to/hosts/file | grep -v "^#" | awk '{print "address /"$2"/#"}' > anti-ad-smartdns.conf

dnsmasq格式

dnsmasq格式和smartdns类似但不兼容可以通过如下命令转换

cat /path/to/dnsmasq/file  | grep address | awk -F= '{print "address "$2"#"}' > anti-ad-smartdns.conf