├── .gitignore ├── src ├── META-INF │ └── com │ │ └── google │ │ └── android │ │ ├── updater-script │ │ └── update-binary ├── uninstall.sh ├── webroot │ └── index.html ├── action.sh ├── service.sh ├── module.prop ├── scripts │ ├── inotify.sh │ ├── base.sh │ ├── debug.sh │ ├── tool.sh │ └── iptables.sh ├── settings.conf ├── customize.sh └── bin │ ├── AdGuardHome.yaml │ └── data │ └── filters │ └── 1732747955.txt ├── .gitattributes ├── version.json ├── changelog.md ├── LICENSE ├── README.md ├── README_en.md ├── pack.ps1 └── docs └── index.md /.gitignore: -------------------------------------------------------------------------------- 1 | cache/ 2 | -------------------------------------------------------------------------------- /src/META-INF/com/google/android/updater-script: -------------------------------------------------------------------------------- 1 | #MAGISK 2 | -------------------------------------------------------------------------------- /src/uninstall.sh: -------------------------------------------------------------------------------- 1 | [ -d "/data/adb/agh" ] && rm -rf "/data/adb/agh" 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | *.ps1 text eol=crlf 3 | *.bat text eol=crlf 4 | -------------------------------------------------------------------------------- /src/webroot/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/action.sh: -------------------------------------------------------------------------------- 1 | . /data/adb/agh/settings.conf 2 | 3 | $SCRIPT_DIR/tool.sh toggle 4 | 5 | sleep 1 6 | -------------------------------------------------------------------------------- /src/service.sh: -------------------------------------------------------------------------------- 1 | until [ $(getprop init.svc.bootanim) = "stopped" ]; do 2 | sleep 12 3 | done 4 | 5 | /data/adb/agh/scripts/tool.sh start 6 | 7 | inotifyd /data/adb/agh/scripts/inotify.sh /data/adb/modules/AdGuardHome:d,n & 8 | -------------------------------------------------------------------------------- /src/module.prop: -------------------------------------------------------------------------------- 1 | id=AdGuardHome 2 | name=AdGuardHome for Root 3 | version=20251217 4 | versionCode=45 5 | author=twoone3 6 | description=none 7 | updateJson=https://raw.githubusercontent.com/twoone-3/AdGuardHomeForRoot/main/version.json -------------------------------------------------------------------------------- /version.json: -------------------------------------------------------------------------------- 1 | { 2 | "versionCode": 45, 3 | "version": "20251217", 4 | "zipUrl": "https://github.com/twoone-3/AdGuardHomeForRoot/releases/latest/download/AdGuardHomeForRoot_arm64.zip", 5 | "changelog": "https://raw.githubusercontent.com/twoone-3/AdGuardHomeForRoot/main/changelog.md" 6 | } 7 | -------------------------------------------------------------------------------- /src/scripts/inotify.sh: -------------------------------------------------------------------------------- 1 | . /data/adb/agh/settings.conf 2 | 3 | readonly EVENTS=$1 4 | readonly MONITOR_DIR=$2 5 | readonly MONITOR_FILE=$3 6 | 7 | if [ "${MONITOR_FILE}" = "disable" ]; then 8 | if [ "${EVENTS}" = "d" ]; then 9 | $SCRIPT_DIR/tool.sh start 10 | elif [ "${EVENTS}" = "n" ]; then 11 | $SCRIPT_DIR/tool.sh stop 12 | fi 13 | fi 14 | -------------------------------------------------------------------------------- /changelog.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | - 例行更新广告规则 4 | - Routine update of ad rules 5 | - 更新 AdGuard Home 至 v0.107.71 6 | - Updated AdGuard Home to v0.107.71 7 | - 更新 AdGuardHome.yaml schema 31 -> 32 8 | - Updated AdGuardHome.yaml schema 31 -> 32 9 | - 更换为使用域名的 DoH 服务器 10 | - Switched to DoH servers using domain names 11 | - 移除了 --no-check-update 参数 12 | - Removed the --no-check-update parameter -------------------------------------------------------------------------------- /src/META-INF/com/google/android/update-binary: -------------------------------------------------------------------------------- 1 | #!/sbin/sh 2 | 3 | ################# 4 | # Initialization 5 | ################# 6 | 7 | umask 022 8 | 9 | # echo before loading util_functions 10 | ui_print() { echo "$1"; } 11 | 12 | require_new_magisk() { 13 | ui_print "*******************************" 14 | ui_print " 请升级安装 Magisk v20.4或以上! " 15 | ui_print "*******************************" 16 | exit 1 17 | } 18 | 19 | ######################### 20 | # Load util_functions.sh 21 | ######################### 22 | 23 | OUTFD=$2 24 | ZIPFILE=$3 25 | 26 | mount /data 2>/dev/null 27 | 28 | [ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk 29 | . /data/adb/magisk/util_functions.sh 30 | [ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk 31 | 32 | install_module 33 | exit 0 -------------------------------------------------------------------------------- /src/settings.conf: -------------------------------------------------------------------------------- 1 | # 是否启用内置的 iptables 规则 2 | # Whether to enable the built-in iptables rules 3 | enable_iptables=true 4 | 5 | # 阻断 ipv6 的 DNS 请求,仅在 enable_iptables=true 时生效 6 | # Block DNS requests for ipv6, only effective when enable_iptables=true 7 | block_ipv6_dns=true 8 | 9 | # 重定向端口,请与 AdGuardHome 的设置保持一致 10 | # Redirect port, please keep it consistent with AdGuardHome settings 11 | redir_port=5591 12 | 13 | # 用户组和用户,用于绕过 AdGuardHome 本身 14 | # User group and user, used to bypass AdGuardHome itself 15 | adg_user=root 16 | adg_group=net_raw 17 | 18 | # 绕过目的地址列表,用空格分隔 19 | # list of destination addresses to bypass, separated by spaces 20 | ignore_dest_list="" 21 | 22 | # 绕过源地址列表,用空格分隔 23 | # list of source addresses to bypass, separated by spaces 24 | ignore_src_list="" 25 | 26 | # 文件路径,请勿修改 27 | # File paths, do not modify 28 | readonly AGH_DIR="/data/adb/agh" 29 | readonly BIN_DIR="$AGH_DIR/bin" 30 | readonly SCRIPT_DIR="$AGH_DIR/scripts" 31 | readonly PID_FILE="$AGH_DIR/bin/agh.pid" 32 | readonly MOD_PATH="/data/adb/modules/AdGuardHome" 33 | -------------------------------------------------------------------------------- /src/scripts/base.sh: -------------------------------------------------------------------------------- 1 | # add busybox to PATH 2 | [ -d "/data/adb/magisk" ] && export PATH="/data/adb/magisk:$PATH" 3 | [ -d "/data/adb/ksu/bin" ] && export PATH="/data/adb/ksu/bin:$PATH" 4 | [ -d "/data/adb/ap/bin" ] && export PATH="/data/adb/ap/bin:$PATH" 5 | 6 | # most of the users are Chinese, so set default language to Chinese 7 | language="zh" 8 | 9 | # try to get the system language 10 | locale=$(getprop persist.sys.locale || getprop ro.product.locale || getprop persist.sys.language) 11 | 12 | # if the system language is English, set language to English 13 | if echo "$locale" | grep -qi "en"; then 14 | language="en" 15 | fi 16 | 17 | function log() { 18 | local timestamp=$(date "+%Y-%m-%d %H:%M:%S") 19 | local str 20 | [ "$language" = "en" ] && str="$timestamp $1" || str="$timestamp $2" 21 | echo "$str" | tee -a "$AGH_DIR/history.log" 22 | } 23 | 24 | function update_description() { 25 | local description 26 | [ "$language" = "en" ] && description="$1" || description="$2" 27 | sed -i "/^description=/c\description=$description" "$MOD_PATH/module.prop" 28 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 twoone3 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/scripts/debug.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | AGH_DIR="/data/adb/agh" 4 | LOG="$AGH_DIR/debug.log" 5 | 6 | { 7 | echo "==== AdGuardHome Debug Log ====" 8 | date 9 | echo 10 | 11 | echo "== System Info ==" 12 | uname -a 13 | echo "Android Version: $(getprop ro.build.version.release)" 14 | echo "Device: $(getprop ro.product.model)" 15 | echo "Architecture: $(uname -m)" 16 | echo 17 | 18 | echo "== AdGuardHome Version ==" 19 | if [ -f "$AGH_DIR/bin/AdGuardHome" ]; then 20 | "$AGH_DIR/bin/AdGuardHome" version 21 | else 22 | echo "AdGuardHome binary not found" 23 | fi 24 | echo 25 | 26 | echo "== Root Method ==" 27 | if [ -d "/data/adb/magisk" ]; then 28 | echo "Magisk" 29 | elif [ -d "/data/adb/ksu" ]; then 30 | echo "KernelSU" 31 | elif [ -d "/data/adb/ap" ]; then 32 | echo "APatch" 33 | else 34 | echo "Unknown" 35 | fi 36 | echo 37 | 38 | echo "== BusyBox Version ==" 39 | [ -d "/data/adb/magisk" ] && export PATH="/data/adb/magisk:$PATH" 40 | [ -d "/data/adb/ksu/bin" ] && export PATH="/data/adb/ksu/bin:$PATH" 41 | [ -d "/data/adb/ap/bin" ] && export PATH="/data/adb/ap/bin:$PATH" 42 | if command -v busybox >/dev/null 2>&1; then 43 | busybox --version 44 | else 45 | echo "BusyBox not found" 46 | fi 47 | 48 | echo "== AGH Directory Listing ==" 49 | ls -lR "$AGH_DIR" 50 | echo 51 | 52 | echo "== AGH Bin Log (last 30 lines) ==" 53 | tail -n 30 "$AGH_DIR/bin.log" 2>/dev/null 54 | echo 55 | 56 | echo "== AGH Settings ==" 57 | cat "$AGH_DIR/settings.conf" 2>/dev/null 58 | echo 59 | 60 | echo "== AGH PID File ==" 61 | cat "$AGH_DIR/bin/agh.pid" 2>/dev/null 62 | echo 63 | 64 | echo "== Running Processes (AdGuardHome) ==" 65 | ps -A | grep AdGuardHome 66 | echo 67 | 68 | echo "== iptables -t nat -L -n -v ==" 69 | iptables -t nat -L -n -v 70 | echo 71 | 72 | echo "== ip6tables -t filter -L -n -v ==" 73 | ip6tables -t filter -L -n -v 74 | echo 75 | 76 | echo "== Network Interfaces ==" 77 | ip addr 78 | echo 79 | 80 | } >"$LOG" 2>&1 81 | 82 | echo "Debug info collected in $LOG" 83 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AdGuardHome for Root 2 | 3 | [English](README_en.md) | 简体中文 4 | 5 | ![arm-64 support](https://img.shields.io/badge/arm--64-support-ef476f?logo=linux&logoColor=white&color=ef476f) 6 | ![arm-v7 support](https://img.shields.io/badge/arm--v7-support-ffa500?logo=linux&logoColor=white&color=ffa500) 7 | ![GitHub downloads](https://img.shields.io/github/downloads/twoone-3/AdGuardHomeForRoot/total?logo=github&logoColor=white&color=ffd166) 8 | ![License](https://img.shields.io/badge/License-MIT-9b5de5?logo=opensourceinitiative&logoColor=white) 9 | [![Join Telegram Channel](https://img.shields.io/badge/Telegram-Join%20Channel-06d6a0?logo=telegram&logoColor=white)](https://t.me/+Q3Ur_HCYdM0xM2I1) 10 | [![Join Telegram Group](https://img.shields.io/badge/Telegram-Join%20Group-118ab2?logo=telegram&logoColor=white)](https://t.me/+Q3Ur_HCYdM0xM2I1) 11 | 12 | 关注我们的频道获取最新消息,或加入我们的群组进行讨论! 13 | 14 | ## 简介 15 | 16 | - 本模块是一个在安卓设备上运行 [AdGuardHome](https://github.com/AdguardTeam/AdGuardHome) 的模块,提供了一个本地 DNS 服务器,能够屏蔽广告、恶意软件和跟踪器。 17 | - 它可以作为一个本地广告拦截模块使用,也可以通过调整配置文件,转变为一个独立运行的 AdGuardHome 工具。 18 | - 该模块支持 Magisk、KernelSU 和 APatch 等多种安装方式,适用于大多数 Android 设备。 19 | - 该模块的设计初衷是为了提供一个轻量级的广告拦截解决方案,避免了使用 VPN 的复杂性和性能损失。 20 | - 它可以与其他代理软件(如 [NekoBox](https://github.com/MatsuriDayo/NekoBoxForAndroid)、[FlClash](https://github.com/chen08209/FlClash)、[box for magisk](https://github.com/taamarin/box_for_magisk)、[akashaProxy](https://github.com/akashaProxy/akashaProxy) 等)共存,提供更好的隐私保护和网络安全。 21 | 22 | ## 特性 23 | 24 | - 可选将本机 DNS 请求转发到本地 AdGuardHome 服务器 25 | - 使用 [秋风广告规则](https://github.com/TG-Twilight/AWAvenue-Ads-Rule) 过滤广告,轻量,省电,少误杀 26 | - 可从 访问 AdGuardHome 控制面板,支持查询统计,修改 DNS 上游服务器以及自定义规则等功能 27 | 28 | ## 教程 29 | 30 | 1. 前往 [Release](https://github.com/twoone-3/AdGuardHomeForRoot/releases/latest) 页面下载模块 31 | 2. 检查 Android 设置 -> 网络和互联网 -> 高级 -> 私人 DNS,确保 `私人 DNS` 关闭 32 | 3. 在 root 管理器中安装模块,重启设备 33 | 4. 若看到模块运行成功的提示,则可以访问 进入 AdGuardHome 后台,默认用户密码 root/root 34 | 5. 若需高级使用教程和常见问题解答,请访问 [docs](/docs/index.md)。 35 | 36 | ## 鸣谢 37 | 38 | - [AWAwenue Ads Rule](https://github.com/TG-Twilight/AWAvenue-Ads-Rule) 39 | - [AdguardHome_magisk](https://github.com/410154425/AdGuardHome_magisk) 40 | - [akashaProxy](https://github.com/ModuleList/akashaProxy) 41 | - [box_for_magisk](https://github.com/taamarin/box_for_magisk) 42 | 43 | > 特别感谢赞助: 44 | > 45 | > - y******a - 200 46 | > - 偶****** - 10 47 | -------------------------------------------------------------------------------- /src/scripts/tool.sh: -------------------------------------------------------------------------------- 1 | . /data/adb/agh/settings.conf 2 | . /data/adb/agh/scripts/base.sh 3 | 4 | start_adguardhome() { 5 | # check if AdGuardHome is already running 6 | if [ -f "$PID_FILE" ] && ps | grep -w "$adg_pid" | grep -q "AdGuardHome"; then 7 | log "AdGuardHome is already running" "AdGuardHome 已经在运行" 8 | exit 0 9 | fi 10 | 11 | # to fix https://github.com/AdguardTeam/AdGuardHome/issues/7002 12 | export SSL_CERT_DIR="/system/etc/security/cacerts/" 13 | # set timezone to Shanghai 14 | export TZ="Asia/Shanghai" 15 | 16 | # backup old log and overwrite new log 17 | if [ -f "$AGH_DIR/bin.log" ]; then 18 | mv "$AGH_DIR/bin.log" "$AGH_DIR/bin.log.bak" 19 | fi 20 | 21 | # run binary 22 | busybox setuidgid "$adg_user:$adg_group" "$BIN_DIR/AdGuardHome" >"$AGH_DIR/bin.log" 2>&1 & 23 | adg_pid=$! 24 | 25 | # check if AdGuardHome started successfully 26 | if ps | grep -w "$adg_pid" | grep -q "AdGuardHome"; then 27 | echo "$adg_pid" >"$PID_FILE" 28 | # check if iptables is enabled 29 | if [ "$enable_iptables" = true ]; then 30 | $SCRIPT_DIR/iptables.sh enable 31 | log "🥰 started PID: $adg_pid iptables: enabled" "🥰 启动成功 PID: $adg_pid iptables 已启用" 32 | update_description "🥰 Started PID: $adg_pid iptables: enabled" "🥰 启动成功 PID: $adg_pid iptables 已启用" 33 | else 34 | log "🥰 started PID: $adg_pid iptables: disabled" "🥰 启动成功 PID: $adg_pid iptables 已禁用" 35 | update_description "🥰 Started PID: $adg_pid iptables: disabled" "🥰 启动成功 PID: $adg_pid iptables 已禁用" 36 | fi 37 | else 38 | log "😭 Error occurred, check logs for details" "😭 出现错误,请检查日志以获取详细信息" 39 | update_description "😭 Error occurred, check logs for details" "😭 出现错误,请检查日志以获取详细信息" 40 | $SCRIPT_DIR/debug.sh 41 | exit 1 42 | fi 43 | } 44 | 45 | stop_adguardhome() { 46 | if [ -f "$PID_FILE" ]; then 47 | pid=$(cat "$PID_FILE") 48 | kill $pid || kill -9 $pid 49 | rm "$PID_FILE" 50 | log "AdGuardHome stopped (PID: $pid)" "AdGuardHome 已停止 (PID: $pid)" 51 | else 52 | pkill -f "AdGuardHome" || pkill -9 -f "AdGuardHome" 53 | log "AdGuardHome force stopped" "AdGuardHome 强制停止" 54 | fi 55 | update_description "❌ Stopped" "❌ 已停止" 56 | $SCRIPT_DIR/iptables.sh disable 57 | } 58 | 59 | toggle_adguardhome() { 60 | if [ -f "$PID_FILE" ] && ps | grep -w "$(cat $PID_FILE)" | grep -q "AdGuardHome"; then 61 | stop_adguardhome 62 | else 63 | start_adguardhome 64 | fi 65 | } 66 | 67 | case "$1" in 68 | start) 69 | start_adguardhome 70 | ;; 71 | stop) 72 | stop_adguardhome 73 | ;; 74 | toggle) 75 | toggle_adguardhome 76 | ;; 77 | *) 78 | echo "Usage: $0 {start|stop|toggle}" 79 | exit 1 80 | ;; 81 | esac 82 | -------------------------------------------------------------------------------- /README_en.md: -------------------------------------------------------------------------------- 1 | # AdGuardHome for Root 2 | 3 | English | [简体中文](README.md) 4 | 5 | ![arm-64 support](https://img.shields.io/badge/arm--64-support-ef476f?logo=linux&logoColor=white&color=ef476f) 6 | ![arm-v7 support](https://img.shields.io/badge/arm--v7-support-ffa500?logo=linux&logoColor=white&color=ffa500) 7 | ![GitHub downloads](https://img.shields.io/github/downloads/twoone-3/AdGuardHomeForRoot/total?logo=github&logoColor=white&color=ffd166) 8 | ![License](https://img.shields.io/badge/License-MIT-9b5de5?logo=opensourceinitiative&logoColor=white) 9 | [![Join Telegram Channel](https://img.shields.io/badge/Telegram-Join%20Channel-06d6a0?logo=telegram&logoColor=white)](https://t.me/+Q3Ur_HCYdM0xM2I1) 10 | [![Join Telegram Group](https://img.shields.io/badge/Telegram-Join%20Group-118ab2?logo=telegram&logoColor=white)](https://t.me/+Q3Ur_HCYdM0xM2I1) 11 | 12 | Follow our channel for the latest news, or join our group for discussion! 13 | 14 | ## Introduction 15 | 16 | - This module is a module that runs [AdGuardHome](https://github.com/AdguardTeam/AdGuardHome) on Android devices, providing a local DNS server that can block ads, malware, and trackers. 17 | - It can be used as a local ad-blocking module or transformed into a standalone AdGuardHome tool by adjusting the configuration file. 18 | - The module supports multiple installation methods, including Magisk, KernelSU, and APatch, making it compatible with most Android devices. 19 | - The design of this module aims to provide a lightweight ad-blocking solution, avoiding the complexity and performance loss associated with using VPNs. 20 | - It can coexist with other proxy software (such as [NekoBox](https://github.com/MatsuriDayo/NekoBoxForAndroid), [FlClash](https://github.com/chen08209/FlClash), [box for magisk](https://github.com/taamarin/box_for_magisk), [akashaProxy](https://github.com/akashaProxy/akashaProxy)), providing better privacy protection and network security. 21 | 22 | ## Features 23 | 24 | - Optionally forward local DNS requests to the local AdGuardHome server 25 | - Filter ads using [AWAvenue-Ads-Rule](https://github.com/TG-Twilight/AWAvenue-Ads-Rule) for lightweight, power-saving, and fewer false positives 26 | - Access the AdGuardHome control panel from , supporting query statistics, modifying DNS upstream servers, and custom rules, etc. 27 | 28 | ## Tutorial 29 | 30 | 1. Go to the [Release](https://github.com/twoone-3/AdGuardHomeForRoot/releases/latest) page to download the module 31 | 2. Check Android Settings -> Network & Internet -> Advanced -> Private DNS, ensure `Private DNS` is turned off 32 | 3. Install the module in the root manager and reboot the device 33 | 4. If you see a successful module running prompt, you can access to enter the AdGuardHome backend, default username and password are root/root 34 | 5. For advanced usage tutorials and FAQs, please visit [docs](/docs/index.md). 35 | 36 | ## Acknowledgments 37 | 38 | - [AWAwenue Ads Rule](https://github.com/TG-Twilight/AWAvenue-Ads-Rule) 39 | - [AdguardHome_magisk](https://github.com/410154425/AdGuardHome_magisk) 40 | - [akashaProxy](https://github.com/ModuleList/akashaProxy) 41 | - [box_for_magisk](https://github.com/taamarin/box_for_magisk) 42 | 43 | > Special thanks to sponsors: 44 | > 45 | > - y******a - 200 46 | > - 偶****** - 10 47 | -------------------------------------------------------------------------------- /src/scripts/iptables.sh: -------------------------------------------------------------------------------- 1 | . /data/adb/agh/settings.conf 2 | . /data/adb/agh/scripts/base.sh 3 | 4 | iptables_w="iptables -w 64" 5 | ip6tables_w="ip6tables -w 64" 6 | 7 | enable_iptables() { 8 | if $iptables_w -t nat -L ADGUARD_REDIRECT_DNS >/dev/null 2>&1; then 9 | log "ADGUARD_REDIRECT_DNS chain already exists" "ADGUARD_REDIRECT_DNS 链已经存在" 10 | return 0 11 | fi 12 | 13 | log "Creating ADGUARD_REDIRECT_DNS chain and adding rules" "创建 ADGUARD_REDIRECT_DNS 链并添加规则" 14 | $iptables_w -t nat -N ADGUARD_REDIRECT_DNS || return 1 15 | $iptables_w -t nat -A ADGUARD_REDIRECT_DNS -m owner --uid-owner $adg_user --gid-owner $adg_group -j RETURN || return 1 16 | 17 | for subnet in $ignore_dest_list; do 18 | $iptables_w -t nat -A ADGUARD_REDIRECT_DNS -d $subnet -j RETURN || return 1 19 | done 20 | 21 | for subnet in $ignore_src_list; do 22 | $iptables_w -t nat -A ADGUARD_REDIRECT_DNS -s $subnet -j RETURN || return 1 23 | done 24 | 25 | $iptables_w -t nat -A ADGUARD_REDIRECT_DNS -p udp --dport 53 -j REDIRECT --to-ports $redir_port || return 1 26 | $iptables_w -t nat -A ADGUARD_REDIRECT_DNS -p tcp --dport 53 -j REDIRECT --to-ports $redir_port || return 1 27 | $iptables_w -t nat -I OUTPUT -j ADGUARD_REDIRECT_DNS || return 1 28 | 29 | log "Applied iptables rules successfully" "成功应用 iptables 规则" 30 | } 31 | 32 | disable_iptables() { 33 | if ! $iptables_w -t nat -L ADGUARD_REDIRECT_DNS >/dev/null 2>&1; then 34 | log "ADGUARD_REDIRECT_DNS chain does not exist" "ADGUARD_REDIRECT_DNS 链不存在" 35 | return 0 36 | fi 37 | 38 | log "Deleting ADGUARD_REDIRECT_DNS chain and rules" "删除 ADGUARD_REDIRECT_DNS 链及规则" 39 | $iptables_w -t nat -D OUTPUT -j ADGUARD_REDIRECT_DNS || return 1 40 | $iptables_w -t nat -F ADGUARD_REDIRECT_DNS || return 1 41 | $iptables_w -t nat -X ADGUARD_REDIRECT_DNS || return 1 42 | } 43 | 44 | add_block_ipv6_dns() { 45 | if $ip6tables_w -t filter -L ADGUARD_BLOCK_DNS >/dev/null 2>&1; then 46 | log "ADGUARD_BLOCK_DNS chain already exists" "ADGUARD_BLOCK_DNS 链已经存在" 47 | return 0 48 | fi 49 | 50 | log "Creating ADGUARD_BLOCK_DNS chain and adding rules" "创建 ADGUARD_BLOCK_DNS 链并添加规则" 51 | $ip6tables_w -t filter -N ADGUARD_BLOCK_DNS || return 1 52 | $ip6tables_w -t filter -A ADGUARD_BLOCK_DNS -p udp --dport 53 -j DROP || return 1 53 | $ip6tables_w -t filter -A ADGUARD_BLOCK_DNS -p tcp --dport 53 -j DROP || return 1 54 | $ip6tables_w -t filter -I OUTPUT -j ADGUARD_BLOCK_DNS || return 1 55 | 56 | log "Applied ipv6 iptables rules successfully" "成功应用 ipv6 iptables 规则" 57 | } 58 | 59 | del_block_ipv6_dns() { 60 | if ! $ip6tables_w -t filter -L ADGUARD_BLOCK_DNS >/dev/null 2>&1; then 61 | log "ADGUARD_BLOCK_DNS chain does not exist" "ADGUARD_BLOCK_DNS 链不存在" 62 | return 0 63 | fi 64 | 65 | log "Deleting ADGUARD_BLOCK_DNS chain and rules" "删除 ADGUARD_BLOCK_DNS 链及规则" 66 | $ip6tables_w -t filter -F ADGUARD_BLOCK_DNS || return 1 67 | $ip6tables_w -t filter -D OUTPUT -j ADGUARD_BLOCK_DNS || return 1 68 | $ip6tables_w -t filter -X ADGUARD_BLOCK_DNS || return 1 69 | } 70 | 71 | case "$1" in 72 | enable) 73 | log "Enabling iptables and ipv6 DNS blocking if configured" "启用 iptables 和 ipv6 DNS 阻断(如果已配置)" 74 | enable_iptables || exit 1 75 | [ "$block_ipv6_dns" = true ] && add_block_ipv6_dns || exit 1 76 | ;; 77 | disable) 78 | log "Disabling iptables and ipv6 DNS blocking" "禁用 iptables 和 ipv6 DNS 阻断" 79 | disable_iptables || exit 1 80 | del_block_ipv6_dns || exit 1 81 | ;; 82 | *) 83 | echo "Usage: $0 {enable|disable}" 84 | exit 1 85 | ;; 86 | esac 87 | -------------------------------------------------------------------------------- /pack.ps1: -------------------------------------------------------------------------------- 1 | # 定义下载 URL 和路径变量 2 | $CacheDir = "$PSScriptRoot\cache" 3 | $UrlWitchCachePath = @{ 4 | "https://github.com/AdguardTeam/AdGuardHome/releases/latest/download/AdGuardHome_linux_arm64.tar.gz" = "$CacheDir\AdGuardHome_linux_arm64.tar.gz" 5 | "https://github.com/AdguardTeam/AdGuardHome/releases/latest/download/AdGuardHome_linux_armv7.tar.gz" = "$CacheDir\AdGuardHome_linux_armv7.tar.gz" 6 | } 7 | 8 | # 创建缓存目录 9 | if (-Not (Test-Path -Path $CacheDir)) { 10 | Write-Host "Creating cache directory..." 11 | New-Item -Path $CacheDir -ItemType Directory 12 | } 13 | 14 | # 下载文件,有缓存时不再下载 15 | Write-Host "Downloading AdGuardHome..." 16 | foreach ($url in $UrlWitchCachePath.Keys) { 17 | $CachePath = $UrlWitchCachePath[$url] 18 | if (-Not (Test-Path -Path $CachePath)) { 19 | Write-Host "Downloading $url..." 20 | Invoke-WebRequest -Uri $url -OutFile $CachePath 21 | if ($?) { 22 | Write-Host "Download completed successfully." 23 | } 24 | else { 25 | Write-Host "Download failed. Exiting..." 26 | exit 1 27 | } 28 | } 29 | else { 30 | Write-Host "File already exists in cache. Skipping download." 31 | } 32 | } 33 | 34 | # 使用 tar 解压文件 35 | Write-Host "Extracting AdGuardHome..." 36 | foreach ($url in $UrlWitchCachePath.Keys) { 37 | $CachePath = $UrlWitchCachePath[$url] 38 | if ($CachePath -match 'AdGuardHome_linux_(arm64|armv7)\.tar\.gz$') { 39 | $ExtractDir = "./cache/" + $matches[1] 40 | } 41 | else { 42 | throw "Invalid file path: $CachePath" 43 | } 44 | if (-Not (Test-Path -Path $ExtractDir)) { 45 | New-Item -Path $ExtractDir -ItemType Directory 46 | Write-Host "Extracting $CachePath..." 47 | tar -xzf $CachePath -C $ExtractDir 48 | if ($?) { 49 | Write-Host "Extraction completed successfully." 50 | } 51 | else { 52 | Write-Host "Extraction failed" 53 | exit 1 54 | } 55 | } 56 | } 57 | 58 | # 给项目打包,使用 7-Zip 压缩 zip 59 | Write-Host "Packing AdGuardHome..." 60 | $OutputPathArm64 = "$CacheDir\AdGuardHomeForRoot_arm64.zip" 61 | $OutputPathArmv7 = "$CacheDir\AdGuardHomeForRoot_armv7.zip" 62 | if (Test-Path -Path $OutputPathArm64) { 63 | Remove-Item -Path $OutputPathArm64 64 | } 65 | if (Test-Path -Path $OutputPathArmv7) { 66 | Remove-Item -Path $OutputPathArmv7 67 | } 68 | 69 | # 设置项目根目录 70 | $ProjectRoot = "$PSScriptRoot\src" 71 | $env:PATH += ";C:\Program Files\7-Zip" 72 | 73 | # pack arm64 74 | 7z a -tzip $OutputPathArm64 "$ProjectRoot\*.sh" 75 | 7z a -tzip $OutputPathArm64 "$ProjectRoot\settings.conf" 76 | 7z a -tzip $OutputPathArm64 "$ProjectRoot\module.prop" 77 | 7z a -tzip $OutputPathArm64 "$ProjectRoot\META-INF" 78 | 7z a -tzip $OutputPathArm64 "$ProjectRoot\scripts" 79 | 7z a -tzip $OutputPathArm64 "$ProjectRoot\webroot" 80 | 7z a -tzip $OutputPathArm64 "$ProjectRoot\bin\" 81 | 7z a -tzip $OutputPathArm64 "$CacheDir\arm64\AdGuardHome\AdGuardHome" 82 | 7z rn $OutputPathArm64 "AdGuardHome" "bin/AdGuardHome" 83 | 84 | # pack armv7 85 | 7z a -tzip $OutputPathArmv7 "$ProjectRoot\*.sh" 86 | 7z a -tzip $OutputPathArmv7 "$ProjectRoot\settings.conf" 87 | 7z a -tzip $OutputPathArmv7 "$ProjectRoot\module.prop" 88 | 7z a -tzip $OutputPathArmv7 "$ProjectRoot\META-INF" 89 | 7z a -tzip $OutputPathArmv7 "$ProjectRoot\scripts" 90 | 7z a -tzip $OutputPathArmv7 "$ProjectRoot\webroot" 91 | 7z a -tzip $OutputPathArmv7 "$ProjectRoot\bin\" 92 | 7z a -tzip $OutputPathArmv7 "$CacheDir\armv7\AdGuardHome\AdGuardHome" 93 | 7z rn $OutputPathArmv7 "AdGuardHome" "bin/AdGuardHome" 94 | 95 | Write-Host "Packing completed successfully." -------------------------------------------------------------------------------- /src/customize.sh: -------------------------------------------------------------------------------- 1 | SKIPUNZIP=1 2 | 3 | # most of the users are Chinese, so set default language to Chinese 4 | language="zh" 5 | 6 | # try to get the system language 7 | locale=$(getprop persist.sys.locale || getprop ro.product.locale || getprop persist.sys.language) 8 | 9 | # if the system language is English, set language to English 10 | if echo "$locale" | grep -qi "en"; then 11 | language="en" 12 | fi 13 | 14 | function info() { 15 | [ "$language" = "en" ] && ui_print "$1" || ui_print "$2" 16 | } 17 | 18 | function error() { 19 | [ "$language" = "en" ] && abort "$1" || abort "$2" 20 | } 21 | 22 | info "- 🚀 Installing AdGuardHome for $ARCH" "- 🚀 开始安装 AdGuardHome for $ARCH" 23 | 24 | AGH_DIR="/data/adb/agh" 25 | BIN_DIR="$AGH_DIR/bin" 26 | SCRIPT_DIR="$AGH_DIR/scripts" 27 | PID_FILE="$AGH_DIR/bin/agh.pid" 28 | 29 | info "- 📦 Extracting module basic files..." "- 📦 解压模块基本文件..." 30 | unzip -o "$ZIPFILE" "action.sh" -d "$MODPATH" >/dev/null 2>&1 31 | unzip -o "$ZIPFILE" "module.prop" -d "$MODPATH" >/dev/null 2>&1 32 | unzip -o "$ZIPFILE" "service.sh" -d "$MODPATH" >/dev/null 2>&1 33 | unzip -o "$ZIPFILE" "uninstall.sh" -d "$MODPATH" >/dev/null 2>&1 34 | unzip -o "$ZIPFILE" "webroot/*" -d "$MODPATH" >/dev/null 2>&1 35 | 36 | extract_keep_config() { 37 | info "- 🌈 Keeping old configuration files..." "- 🌈 保留原来的配置文件..." 38 | info "- 📜 Extracting script files..." "- 📜 正在解压脚本文件..." 39 | unzip -o "$ZIPFILE" "scripts/*" -d $AGH_DIR >/dev/null 2>&1 || { 40 | error "- ❌ Failed to extract scripts!" "- ❌ 解压脚本文件失败!" 41 | } 42 | info "- 🛠️ Extracting binary files except configuration..." "- 🛠️ 正在解压二进制文件(不包括配置文件)..." 43 | unzip -o "$ZIPFILE" "bin/*" -x "bin/AdGuardHome.yaml" -d $AGH_DIR >/dev/null 2>&1 || { 44 | error "- ❌ Failed to extract binary files!" "- ❌ 解压二进制文件失败!" 45 | } 46 | info "- 🚫 Skipping configuration file extraction..." "- 🚫 跳过解压配置文件..." 47 | } 48 | 49 | extract_no_config() { 50 | info "- 💾 Backing up old configuration files with .bak extension..." "- 💾 使用 .bak 扩展名备份旧配置文件..." 51 | [ -f "$AGH_DIR/settings.conf" ] && mv "$AGH_DIR/settings.conf" "$AGH_DIR/settings.conf.bak" 52 | [ -f "$AGH_DIR/bin/AdGuardHome.yaml" ] && mv "$AGH_DIR/bin/AdGuardHome.yaml" "$AGH_DIR/bin/AdGuardHome.yaml.bak" 53 | extract_all 54 | } 55 | 56 | extract_all() { 57 | info "- 🌟 Extracting script files..." "- 🌟 正在解压脚本文件..." 58 | unzip -o "$ZIPFILE" "scripts/*" -d $AGH_DIR >/dev/null 2>&1 || { 59 | error "- ❌ Failed to extract scripts" "- ❌ 解压脚本文件失败" 60 | } 61 | info "- 🛠️ Extracting binary files..." "- 🛠️ 正在解压二进制文件..." 62 | unzip -o "$ZIPFILE" "bin/*" -d $AGH_DIR >/dev/null 2>&1 || { 63 | error "- ❌ Failed to extract binary files" "- ❌ 解压二进制文件失败" 64 | } 65 | info "- 📜 Extracting configuration files..." "- 📜 正在解压配置文件..." 66 | unzip -o "$ZIPFILE" "settings.conf" -d $AGH_DIR >/dev/null 2>&1 || { 67 | error "- ❌ Failed to extract configuration files" "- ❌ 解压配置文件失败" 68 | } 69 | } 70 | 71 | if [ -d "$AGH_DIR" ]; then 72 | info "- ⏹️ Found old version, stopping all AdGuardHome processes..." "- ⏹️ 发现旧版模块,正在停止所有 AdGuardHome 进程..." 73 | pkill -f "AdGuardHome" || pkill -9 -f "AdGuardHome" 74 | info "- 🔄 Do you want to keep the old configuration? (If not, it will be automatically backed up)" "- 🔄 是否保留原来的配置文件?(若不保留则自动备份)" 75 | info "- 🔊 (Volume Up = Yes, Volume Down = No, 10s no input = No)" "- 🔊 (音量上键 = 是, 音量下键 = 否,10秒无操作 = 否)" 76 | START_TIME=$(date +%s) 77 | while true; do 78 | NOW_TIME=$(date +%s) 79 | timeout 1 getevent -lc 1 2>&1 | grep KEY_VOLUME >"$TMPDIR/events" 80 | if [ $((NOW_TIME - START_TIME)) -gt 9 ]; then 81 | info "- ⏰ No input detected after 10 seconds, defaulting to not keep old configuration." "- ⏰ 10秒无输入,默认不保留原配置。" 82 | extract_no_config 83 | break 84 | elif $(cat $TMPDIR/events | grep -q KEY_VOLUMEUP); then 85 | extract_keep_config 86 | break 87 | elif $(cat $TMPDIR/events | grep -q KEY_VOLUMEDOWN); then 88 | extract_no_config 89 | break 90 | fi 91 | done 92 | else 93 | info "- 📦 First time installation, extracting files..." "- 📦 第一次安装,正在解压文件..." 94 | mkdir -p "$AGH_DIR" "$BIN_DIR" "$SCRIPT_DIR" 95 | extract_all 96 | fi 97 | 98 | info "- 🔐 Setting permissions..." "- 🔐 设置权限..." 99 | 100 | chmod +x "$BIN_DIR/AdGuardHome" 101 | chown root:net_raw "$BIN_DIR/AdGuardHome" 102 | 103 | chmod +x "$SCRIPT_DIR"/*.sh "$MODPATH"/*.sh 104 | 105 | info "- 🎉 Installation completed, please reboot." "- 🎉 安装完成,请重启设备。" 106 | -------------------------------------------------------------------------------- /src/bin/AdGuardHome.yaml: -------------------------------------------------------------------------------- 1 | http: 2 | pprof: 3 | port: 6060 4 | enabled: false 5 | address: 127.0.0.1:3000 6 | session_ttl: 720h 7 | users: 8 | - name: root 9 | password: $2b$12$D3zeMIBFfzcQTqGqB.k7GOkMvqx1jgsrdiRCn2kwOHl.kNmmPfMom 10 | auth_attempts: 5 11 | block_auth_min: 15 12 | http_proxy: "" 13 | language: "" 14 | theme: auto 15 | dns: 16 | bind_hosts: 17 | - 127.0.0.1 18 | port: 5591 19 | anonymize_client_ip: false 20 | ratelimit: 0 21 | ratelimit_subnet_len_ipv4: 24 22 | ratelimit_subnet_len_ipv6: 56 23 | ratelimit_whitelist: [] 24 | refuse_any: true 25 | upstream_dns: 26 | - https://doh.pub/dns-query 27 | - https://dns.alidns.com/dns-query 28 | upstream_dns_file: "" 29 | bootstrap_dns: 30 | - 119.29.29.29 31 | - 223.5.5.5 32 | - 223.6.6.6 33 | - 1.1.1.1 34 | - 8.8.8.8 35 | fallback_dns: 36 | - https://dns.google/dns-query 37 | - https://cloudflare-dns.com/dns-query 38 | upstream_mode: load_balance 39 | fastest_timeout: 1s 40 | allowed_clients: [] 41 | disallowed_clients: [] 42 | blocked_hosts: 43 | - version.bind 44 | - id.server 45 | - hostname.bind 46 | trusted_proxies: 47 | - 127.0.0.0/8 48 | - ::1/128 49 | cache_enabled: true 50 | cache_size: 67108864 51 | cache_ttl_min: 0 52 | cache_ttl_max: 0 53 | cache_optimistic: true 54 | cache_optimistic_answer_ttl: 30s 55 | cache_optimistic_max_age: 12h 56 | bogus_nxdomain: [] 57 | aaaa_disabled: false 58 | enable_dnssec: false 59 | edns_client_subnet: 60 | custom_ip: "" 61 | enabled: true 62 | use_custom: false 63 | max_goroutines: 300 64 | handle_ddr: true 65 | ipset: [] 66 | ipset_file: "" 67 | bootstrap_prefer_ipv6: false 68 | upstream_timeout: 10s 69 | private_networks: [] 70 | use_private_ptr_resolvers: false 71 | local_ptr_upstreams: [] 72 | use_dns64: false 73 | dns64_prefixes: [] 74 | serve_http3: false 75 | use_http3_upstreams: false 76 | serve_plain_dns: true 77 | hostsfile_enabled: true 78 | pending_requests: 79 | enabled: true 80 | tls: 81 | enabled: false 82 | server_name: "" 83 | force_https: false 84 | port_https: 443 85 | port_dns_over_tls: 853 86 | port_dns_over_quic: 853 87 | port_dnscrypt: 0 88 | dnscrypt_config_file: "" 89 | allow_unencrypted_doh: false 90 | certificate_chain: "" 91 | private_key: "" 92 | certificate_path: "" 93 | private_key_path: "" 94 | strict_sni_check: false 95 | querylog: 96 | dir_path: "" 97 | ignored: [] 98 | interval: 24h 99 | size_memory: 1000 100 | enabled: true 101 | file_enabled: true 102 | statistics: 103 | dir_path: "" 104 | ignored: [] 105 | interval: 24h 106 | enabled: true 107 | filters: 108 | - enabled: true 109 | url: https://raw.githubusercontent.com/TG-Twilight/AWAvenue-Ads-Rule/main/AWAvenue-Ads-Rule.txt 110 | name: AWAvenue 111 | id: 1732747955 112 | whitelist_filters: [] 113 | user_rules: 114 | - "" 115 | dhcp: 116 | enabled: false 117 | interface_name: "" 118 | local_domain_name: lan 119 | dhcpv4: 120 | gateway_ip: "" 121 | subnet_mask: "" 122 | range_start: "" 123 | range_end: "" 124 | lease_duration: 86400 125 | icmp_timeout_msec: 1000 126 | options: [] 127 | dhcpv6: 128 | range_start: "" 129 | lease_duration: 86400 130 | ra_slaac_only: false 131 | ra_allow_slaac: false 132 | filtering: 133 | blocking_ipv4: "" 134 | blocking_ipv6: "" 135 | blocked_services: 136 | schedule: 137 | time_zone: Asia/Shanghai 138 | ids: [] 139 | protection_disabled_until: null 140 | safe_search: 141 | enabled: false 142 | bing: true 143 | duckduckgo: true 144 | ecosia: true 145 | google: true 146 | pixabay: true 147 | yandex: true 148 | youtube: true 149 | blocking_mode: default 150 | parental_block_host: family-block.dns.adguard.com 151 | safebrowsing_block_host: standard-block.dns.adguard.com 152 | rewrites: [] 153 | safe_fs_patterns: [] 154 | safebrowsing_cache_size: 1048576 155 | safesearch_cache_size: 1048576 156 | parental_cache_size: 1048576 157 | cache_time: 30 158 | filters_update_interval: 72 159 | blocked_response_ttl: 10 160 | filtering_enabled: true 161 | rewrites_enabled: true 162 | parental_enabled: false 163 | safebrowsing_enabled: false 164 | protection_enabled: true 165 | clients: 166 | runtime_sources: 167 | whois: true 168 | arp: true 169 | rdns: true 170 | dhcp: true 171 | hosts: true 172 | persistent: [] 173 | log: 174 | enabled: true 175 | file: "" 176 | max_backups: 0 177 | max_size: 100 178 | max_age: 3 179 | compress: false 180 | local_time: false 181 | verbose: false 182 | os: 183 | group: "" 184 | user: "" 185 | rlimit_nofile: 0 186 | schema_version: 32 187 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | # 教程 (Tutorials) 2 | 3 | > **For English Users:** This module is primarily designed for Chinese users. If you require the documentation in English, we kindly recommend using a reliable translation tool. 4 | 5 | ## 安装 (Installation) 6 | 7 | 本模块仅适用于已经 root 的安卓设备,支持 [Magisk](https://github.com/topjohnwu/Magisk) / [KernelSU](https://github.com/tiann/KernelSU) / [APatch](https://github.com/bmax121/APatch) 等 root 工具 8 | 9 | 在 Release 页面下载 zip 文件,提供了 arm64 和 armv7 两个版本。一般推荐使用 arm64 版,因为它在性能上更优,并且与大多数现代设备兼容。 10 | 11 | --- 12 | 13 | ## 配置 (Configuration) 14 | 15 | 模块默认的 AdGuardHome 后台地址为 `http://127.0.0.1:3000`,可以通过浏览器直接访问,默认账号和密码均为 `root`。 16 | 17 | 在 AdGuardHome 后台,你可以执行以下操作: 18 | 19 | - 查看 DNS 查询统计信息 20 | - 修改各种 DNS 配置 21 | - 查看日志 22 | - 添加自定义规则 23 | 24 | 如果你更倾向于使用app管理AdGuardHome,可以尝试使用 [AdGuard Home Manager](https://github.com/JGeek00/adguard-home-manager) 应用。 25 | 26 | --- 27 | 28 | ## 模块控制 (Module Control) 29 | 30 | 模块的状态会实时显示在`module.prop`文件中,在root管理器中可以看到模块的状态信息(如果没刷新请手动刷新) 31 | 32 | 模块实时监测`/data/adb/modules/AdGuardHome`目录下的`disable`文件,如果存在则禁用模块,不存在则启用模块 33 | 34 | 如果你想用其他方法来启停,你可以在文件管理器中手动创建和删除文件,也可以使用shell命令 35 | 36 | ```shell 37 | touch /data/adb/modules/AdGuardHome/disable 38 | ``` 39 | 40 | ```shell 41 | rm /data/adb/modules/AdGuardHome/disable 42 | ``` 43 | 44 | 本模块可以分为两部分,一部分是 AdGuardHome 本身,它在本地搭建了一个可自定义拦截功能的 DNS 服务器,另一部分是 iptables 转发规则,它负责将本机所有53端口出口流量重定向到 AdGuardHome 45 | 46 | --- 47 | 48 | ## 与代理软件共存 (Coexistence with Proxy Software) 49 | 50 | 代理软件主要分为两类: 51 | 52 | **代理应用**:如 [NekoBox](https://github.com/MatsuriDayo/NekoBoxForAndroid)、[FlClash](https://github.com/chen08209/FlClash) 等。这些应用通常具有图形化界面,便于用户配置和管理代理规则。 53 | 54 | 以下是我自用的 FlClash 配置文件示例: 55 | 56 | ```yaml 57 | proxy-providers: 58 | provider1: 59 | type: http 60 | url: "" 61 | interval: 86400 62 | 63 | provider2: 64 | type: http 65 | url: "" 66 | interval: 86400 67 | 68 | proxy-groups: 69 | - name: PROXY 70 | type: select 71 | include-all: true 72 | 73 | rules: 74 | proxy-groups: 75 | - name: PROXY 76 | type: select 77 | include-all: true 78 | 79 | rules: 80 | - GEOSITE,private,DIRECT 81 | - GEOSITE,googlefcm,DIRECT 82 | - GEOSITE,bilibili,DIRECT 83 | - GEOSITE,onedrive,PROXY 84 | - GEOSITE,twitter,PROXY 85 | - GEOSITE,youtube,PROXY 86 | - GEOSITE,telegram,PROXY 87 | - GEOSITE,google,PROXY 88 | 89 | - GEOSITE,microsoft@cn,DIRECT 90 | - GEOSITE,category-scholar-!cn,PROXY 91 | - GEOSITE,steam@cn,DIRECT 92 | - GEOSITE,category-games@cn,DIRECT 93 | - GEOSITE,geolocation-!cn,PROXY 94 | - GEOSITE,cn,DIRECT 95 | 96 | - GEOIP,private,DIRECT,no-resolve 97 | - GEOIP,google,DIRECT 98 | - GEOIP,telegram,PROXY 99 | - GEOIP,cn,DIRECT 100 | 101 | - MATCH,DIRECT 102 | 103 | ``` 104 | 105 | 没有写 DNS 部分是因为 FlClash 支持 DNS 覆写,在软件内就可配置 DNS 部分,将域名解析服务器改为 127.0.0.1:5591 即可使用本地的 adgh 作为DNS服务器 106 | 107 | **代理模块**:如 [box_for_magisk](https://github.com/taamarin/box_for_magisk)、[akashaProxy](https://github.com/akashaProxy/akashaProxy) 等。这些模块通常运行在系统层级,适合需要更高权限或更深度集成的场景。 108 | 109 | 代理应用的 `分应用代理/访问控制` 功能非常实用。通过将国内应用设置为绕过模式,可以减少不必要的流量经过代理,同时这些绕过的应用仍然能够正常屏蔽广告。 110 | 111 | 如果使用代理模块,强烈建议禁用模块的 iptables 转发规则。禁用后,模块仅运行 AdGuardHome 本身。随后,将代理模块的上游 DNS 服务器配置为 `127.0.0.1:5591`,即可确保代理软件的所有 DNS 查询通过 AdGuardHome 进行广告屏蔽。 112 | 113 | ```yaml 114 | dns: 115 | # ... 116 | default-nameserver: 117 | - 223.5.5.5 118 | nameserver: 119 | - 127.0.0.1:5591 120 | # ... 121 | ``` 122 | 123 | --- 124 | 125 | ## 模块目录与配置文件 (Module Directory and Configuration Files) 126 | 127 | 模块的文件结构主要分为以下两个目录: 128 | 129 | - **`/data/adb/agh`**:包含 AdGuardHome 的核心文件,包括二进制文件、工具脚本和配置文件。 130 | - **`/data/adb/modules/AdGuardHome`**:存储模块的启动脚本和运行时数据文件。 131 | 132 | 模块的配置文件也分为两部分: 133 | 134 | - **`/data/adb/agh/bin/AdGuardHome.yaml`**:AdGuardHome 的主配置文件。 135 | - **`/data/adb/agh/settings.conf`**:模块的配置文件,具体说明请参考文件内的注释。 136 | 137 | 在更新模块时,用户可以选择是否保留原有的配置文件。如果选择不保留,系统会自动将原配置文件备份到 **`/data/adb/agh/backup`** 目录,以确保数据安全。 138 | 139 | --- 140 | 141 | ## 模块打包 (Module Packaging) 142 | 143 | 模块根目录下提供了一个名为 `pack.ps1` 的打包脚本,用户可以通过它快速生成模块的安装包。 144 | 145 | 在 Windows 系统上,打开 PowerShell 并执行以下命令: 146 | 147 | ```powershell 148 | .\pack.ps1 149 | ``` 150 | 151 | 运行脚本后,以下操作将自动完成: 152 | 153 | 1. 创建 `cache` 目录(如果尚未存在)。 154 | 2. 下载并缓存最新版本的 AdGuardHome(仅在 `cache` 目录中未找到缓存时执行下载)。 155 | 3. 将 AdGuardHome 与模块的其他文件打包成一个 ZIP 文件。 156 | 157 | 该脚本的设计确保了高效性:如果 `cache` 目录中已存在 AdGuardHome 的缓存版本,则无需重复下载,从而节省时间和带宽。 158 | 159 | ## 常见问题 (Frequently Asked Questions) 160 | 161 | ### **Q: 模块安装后无法正常运行怎么办?** 162 | 163 | **A:** 164 | 165 | - 检查 AdGuardHome 是否在运行: 166 | 使用以下命令查看进程状态: 167 | 168 | ```shell 169 | ps | grep AdGuardHome 170 | ``` 171 | 172 | - 确保设备的 **私人 DNS** 功能已关闭: 173 | 前往 **设置 -> 网络和互联网 -> 高级 -> 私人 DNS**,并将其设置为关闭。 174 | 175 | ### **Q: 如何更改 AdGuardHome 的默认端口?** 176 | 177 | **A:** 178 | 179 | - 打开 **`/data/adb/agh/bin/AdGuardHome.yaml`** 文件。 180 | - 修改 `bind_host` 的端口号为所需值。 181 | - 保存文件后,重启模块以应用更改。 182 | 183 | ### **Q: 如何禁用模块的 iptables 转发规则?** 184 | 185 | **A:** 186 | 187 | - 编辑 **`/data/adb/agh/settings.conf`** 文件。 188 | - 将 `ENABLE_IPTABLES` 参数设置为 `false`。 189 | - 保存文件后,重启模块。 190 | 191 | ### **Q: 使用代理模块时,广告屏蔽无效怎么办?** 192 | 193 | **A:** 194 | 195 | - 确保代理模块的上游 DNS 服务器配置为 **`127.0.0.1:5591`**。 196 | - 检查代理模块的配置文件,确保所有 DNS 查询通过 AdGuardHome。 197 | 198 | ### **Q: 模块是否会影响设备性能?** 199 | 200 | **A:** 201 | 202 | - 模块对性能的影响较小,但在低性能设备上可能会有轻微延迟。 203 | - 推荐使用 **arm64** 版本以获得更好的性能。 204 | 205 | ### **Q:使用模块后,无法访问 Google 怎么办?** 206 | 207 | **A:** 208 | 209 | - 如果你用的是 FlClash,可尝试在`settings.conf`填入以下配置: 210 | 211 | ```ini 212 | ignore_src_list="172.19.0.1" 213 | ``` 214 | 215 | 此问题与节点质量有关,有的机场不改也没问题 216 | -------------------------------------------------------------------------------- /src/bin/data/filters/1732747955.txt: -------------------------------------------------------------------------------- 1 | ||1500020991.vodplayer.wxamedia.com^ 2 | ||1500022744.vodplayer.wxamedia.com^ 3 | ||1500026601.vodplayer.wxamedia.com^ 4 | ||8le8le.com^ 5 | ||8rn1y79f02-1.algolianet.com^ 6 | ||a0.app.xiaomi.com^ 7 | ||aaid.umeng.com^ 8 | ||abtest-ch.snssdk.com^ 9 | ||ad-cdn.qingting.fm^ 10 | ||ad-scope.com^ 11 | ||ad-scope.com.cn^ 12 | ||ad-sdk-config.youdao.com^ 13 | ||ad-splash-tracking.hktvmall.com^ 14 | ||ad-splash.hktvmall.com^ 15 | ||ad.12306.cn^ 16 | ||ad.51wnl.com^ 17 | ||ad.api.3g.youku.com^ 18 | ||ad.bwton.com^ 19 | ||ad.cctv.com^ 20 | ||ad.cyapi.cn^ 21 | ||ad.doubleclick.net^ 22 | ||ad.gameley.com^ 23 | ||ad.hpplay.cn^ 24 | ||ad.iot.360.cn^ 25 | ||ad.jia.360.cn^ 26 | ||ad.life.360.cn^ 27 | ||ad.partner.gifshow.com^ 28 | ||ad.qingting.fm^ 29 | ||ad.qq.com^ 30 | ||ad.richmob.cn^ 31 | ||ad.shenshiads.com^ 32 | ||ad.shunchangzhixing.com^ 33 | ||ad.tencentmusic.com^ 34 | ||ad.toutiao.com^ 35 | ||ad.v3mh.com^ 36 | ||ad.winrar.com.cn^ 37 | ||ad.ximalaya.com^ 38 | ||ad.xunkids.com^ 39 | ||ad.zijieapi.com^ 40 | ||adapi.izuiyou.com^ 41 | ||adapi.yynetwk.com^ 42 | ||adashbc.ut.taobao.com^ 43 | ||adashx.m.taobao.com^ 44 | ||adashxgc.ut.taobao.com^ 45 | ||adc.hpplay.cn^ 46 | ||adcdn.hpplay.cn^ 47 | ||adcdn.tencentmusic.com^ 48 | ||adclick.g.doubleclick.net^ 49 | ||adclick.tencentmusic.com^ 50 | ||adcolony.com^ 51 | ||addata.jd.com^ 52 | ||adeng.hpplay.cn^ 53 | ||adexp.chinaliftoff.io^ 54 | ||adexp.liftoff.io^ 55 | ||adexpo.tencentmusic.com^ 56 | ||adfilter.imtt.qq.com^ 57 | ||adguanggao.eee114.com^ 58 | ||adjust.cn^ 59 | ||adjust.com^ 60 | ||adks.hpplay.cn^ 61 | ||adlink-api.huan.tv^ 62 | ||adm.funshion.com^ 63 | ||ads-api-o.api.leiniao.com^ 64 | ||ads-api.tiktok.com^ 65 | ||ads-api.twitter.com^ 66 | ||ads-img-al.xhscdn.com^ 67 | ||ads-img-qc.xhscdn.com^ 68 | ||ads-jp.tiktok.com^ 69 | ||ads-marketing-vivofs.vivo.com.cn^ 70 | ||ads-sdk-api.ranfenghd.com^ 71 | ||ads-sg.tiktok.com^ 72 | ||ads-video-al.xhscdn.com^ 73 | ||ads-video-qc.xhscdn.com^ 74 | ||ads.95516.com^ 75 | ||ads.cup.com.cn^ 76 | ||ads.google.cn^ 77 | ||ads.huan.tv^ 78 | ||ads.huantest.com^ 79 | ||ads.icloseli.cn^ 80 | ||ads.inmobi.com^ 81 | ||ads.linkedin.com^ 82 | ||ads.pinterest.com^ 83 | ||ads.pubmatic.com^ 84 | ||ads.raidrive.com^ 85 | ||ads.servebom.com^ 86 | ||ads.service.kugou.com^ 87 | ||ads.tiktok.com^ 88 | ||ads.v3mh.com^ 89 | ||ads.youtube.com^ 90 | ||ads.zhinengxiyifang.cn^ 91 | ||ads3-normal-hl.zijieapi.com^ 92 | ||ads3-normal-lf.zijieapi.com^ 93 | ||ads3-normal-lq.zijieapi.com^ 94 | ||ads3-normal.zijieapi.com^ 95 | ||ads5-normal-hl.zijieapi.com^ 96 | ||ads5-normal-lf.zijieapi.com^ 97 | ||ads5-normal-lq.zijieapi.com^ 98 | ||ads5-normal.zijieapi.com^ 99 | ||adsdk.vivo.com.cn^ 100 | ||adse.test.ximalaya.com^ 101 | ||adse.wsa.ximalaya.com^ 102 | ||adse.ximalaya.com^ 103 | ||adsebs.ximalaya.com^ 104 | ||adsense.google.cn^ 105 | ||adserver.unityads.unity3d.com^ 106 | ||adservice.google.com^ 107 | ||adservice.sigmob.cn^ 108 | ||adserviceretry.kugou.com^ 109 | ||adsfile.bssdlbig.kugou.com^ 110 | ||adsfile.qq.com^ 111 | ||adsfilebssdlbig.ali.kugou.com^ 112 | ||adsfileretry.service.kugou.com^ 113 | ||adsfs-sdkconfig.heytapimage.com^ 114 | ||adsfs.oppomobile.com^ 115 | ||adslvfile.qq.com^ 116 | ||adsmart.konka.com^ 117 | ||adsmind.gdtimg.com^ 118 | ||adsmind.ugdtimg.com^ 119 | ||adsp.xunlei.com^ 120 | ||adstat.izuiyou.com^ 121 | ||adstats.tencentmusic.com^ 122 | ||adstore-1252524079.file.myqcloud.com^ 123 | ||adstore-index-1252524079.file.myqcloud.com^ 124 | ||adstudio-assets.scdn.co^ 125 | ||adstudio.spotify.com^ 126 | ||adtago.s3.amazonaws.com^ 127 | ||adtech.yahooinc.com^ 128 | ||adtrack.quark.cn^ 129 | ||adv-api.shenshiads.com^ 130 | ||adv.sec.intl.miui.com^ 131 | ||adv.sec.miui.com^ 132 | ||advertising-api-eu.amazon.com^ 133 | ||advertising-api-fe.amazon.com^ 134 | ||advertising-api.amazon.com^ 135 | ||advertising.apple.com^ 136 | ||advertising.yahoo.com^ 137 | ||advertising.yandex.ru^ 138 | ||advice-ads.s3.amazonaws.com^ 139 | ||adview.cn^ 140 | ||adx-ad.smart-tv.cn^ 141 | ||adx-api.jinmo.tech^ 142 | ||adx-bj-req.anythinktech.com^ 143 | ||adx-bj.anythinktech.com^ 144 | ||adx-cn.anythinktech.com^ 145 | ||adx-drcn.op.dbankcloud.cn^ 146 | ||adx-open-service.youku.com^ 147 | ||adx-os.anythinktech.com^ 148 | ||adx-saas.advlion.com^ 149 | ||adx.ads.heytapmobi.com^ 150 | ||adx.ads.oppomobile.com^ 151 | ||adx.appsdk.com.cn^ 152 | ||adx.sogaha.cn^ 153 | ||adx.tuia.cn^ 154 | ||adxlog-adnet.vivo.com.cn^ 155 | ||adxserver.ad.cmvideo.cn^ 156 | ||aegis.qq.com^ 157 | ||aem.dentsuchina.cn^ 158 | ||afs.googlesyndication.com^ 159 | ||agn.aty.sohu.com^ 160 | ||aiseet.aa.atianqi.com^ 161 | ||ali-ad.a.yximgs.com^ 162 | ||ali-p2p-v2.pull.yximgs.com^ 163 | ||alicoccdncnc-xn.inter.71edge.com^ 164 | ||alicoccdnct-xn.inter.71edge.com^ 165 | ||alog.umeng.com^ 166 | ||alogus.umeng.com^ 167 | ||als.baidu.com^ 168 | ||amdcopen.m.taobao.com^ 169 | ||an.facebook.com^ 170 | ||analysis.chatglm.cn^ 171 | ||analysis.yozocloud.cn^ 172 | ||analytics-api.samsunghealthcn.com^ 173 | ||analytics.adjust.cn^ 174 | ||analytics.oceanengine.com^ 175 | ||analytics.pinterest.com^ 176 | ||analytics.pointdrive.linkedin.com^ 177 | ||analytics.query.yahoo.com^ 178 | ||analytics.rayjump.com^ 179 | ||analytics.s3.amazonaws.com^ 180 | ||analytics.tiktok.com^ 181 | ||analytics.woozooo.com^ 182 | ||analyticsengine.s3.amazonaws.com^ 183 | ||analyze.lemurbrowser.com^ 184 | ||andrqd.play.aiseet.atianqi.com^ 185 | ||ap.dongdianqiu.com^ 186 | ||ap.dongqiudi.com^ 187 | ||apd-pcdnwxlogin.teg.tencent-cloud.net^ 188 | ||apd-pcdnwxnat.teg.tencent-cloud.net^ 189 | ||apd-pcdnwxstat.teg.tencent-cloud.net^ 190 | ||api-access.pangolin-sdk-toutiao.com^ 191 | ||api-access.pangolin-sdk-toutiao1.com^ 192 | ||api-access.pangolin-sdk-toutiao2.com^ 193 | ||api-access.pangolin-sdk-toutiao3.com^ 194 | ||api-access.pangolin-sdk-toutiao4.com^ 195 | ||api-access.pangolin-sdk-toutiao5.com^ 196 | ||api-ad-data.kajicam.com^ 197 | ||api-ad-product.huxiu.com^ 198 | ||api-ad.kajicam.com^ 199 | ||api-adservices.apple.com^ 200 | ||api-gd.hiaiabc.com^ 201 | ||api-htp.beizi.biz^ 202 | ||api.ad.xiaomi.com^ 203 | ||api.anythinktech.com^ 204 | ||api.aqyad.com^ 205 | ||api.e.kuaishou.com^ 206 | ||api.fu.xcultur.com^ 207 | ||api.htp.hubcloud.com.cn^ 208 | ||api.hzsanjiaomao.com^ 209 | ||api.installer.xiaomi.com^ 210 | ||api.jietuhb.com^ 211 | ||api.kingdata.ksyun.com^ 212 | ||api.shanghailingye.cn^ 213 | ||api.ssp.xcultur.com^ 214 | ||api.statsig.com^ 215 | ||api.touch-moblie.com^ 216 | ||api.yfanads.com^ 217 | ||api5-normal-quic-lf.ixigua.com^ 218 | ||apiyd.my91app.com^ 219 | ||app-measurement.com^ 220 | ||appcfg.v.qq.com^ 221 | ||applog-perf.uc.cn^ 222 | ||applog.lc.quark.cn^ 223 | ||applog.uc.cn^ 224 | ||applog.zijieapi.com^ 225 | ||applovin.com^ 226 | ||appversion.115.com^ 227 | ||aqyad.com^ 228 | ||aspect-upush.umeng.com^ 229 | ||auction.unityads.unity3d.com^ 230 | ||audid-api.taobao.com^ 231 | ||audid.umeng.com^ 232 | ||b1-data.ads.heytapmobi.com^ 233 | ||badjs.weixinbridge.com^ 234 | ||baichuan-sdk.alicdn.com^ 235 | ||baichuan-sdk.taobao.com^ 236 | ||bdad.123pan.cn^ 237 | ||bdapi-ads.realmemobile.com^ 238 | ||bdapi-in-ads.realmemobile.com^ 239 | ||bdapi.ads.oppomobile.com^ 240 | ||bdcdncnc.inter.71edge.com^ 241 | ||beacon-api.aliyuncs.com^ 242 | ||beacon.qq.com^ 243 | ||beaconcdn.qq.com^ 244 | ||beacons.gvt2.com^ 245 | ||beizi.biz^ 246 | ||bes-mtj.baidu.com^ 247 | ||bgg.baidu.com^ 248 | ||bianxian.com^ 249 | ||bingads.microsoft.com^ 250 | ||biz.weibo.com^ 251 | ||bj-td-menta-01-callback.advlion.com^ 252 | ||bj.ad.track.66mobi.com^ 253 | ||books-analytics-events.apple.com^ 254 | ||bootpreload.uve.weibo.com^ 255 | ||browser.events.data.msn.cn^ 256 | ||browser.events.data.msn.com^ 257 | ||browsercfg-drcn.cloud.dbankcloud.cn^ 258 | ||bsrv.qq.com^ 259 | ||bugly.qq.com^ 260 | ||business-api.tiktok.com^ 261 | ||c.bidtoolads.com^ 262 | ||c.etoolads.cn^ 263 | ||c.evidon.com^ 264 | ||c.gj.qq.com^ 265 | ||c.kuaiduizuoye.com^ 266 | ||c.sayhi.360.cn^ 267 | ||c2.gdt.qq.com^ 268 | ||canvas-cdn.gdt.qq.com^ 269 | ||catalog.fjwhcbsh.com^ 270 | ||cbjs.baidu.com^ 271 | ||ccc-x.jd.com^ 272 | ||ccs.umeng.com^ 273 | ||cdn-ad.wtzw.com^ 274 | ||cdn-ads.oss-cn-shanghai.aliyuncs.com^ 275 | ||cdn-f.adsmoloco.com^ 276 | ||cdn-plugin-sync-upgrade-juui.hismarttv.com^ 277 | ||cdn.aiclk.com^ 278 | ||cdn.chinaliftoff-creatives.io^ 279 | ||cdn.hpplay.com.cn^ 280 | ||cdn.iads.unitychina.cn^ 281 | ||cdn.liftoff-creatives.io^ 282 | ||cdn.ynuf.aliapp.org^ 283 | ||cfg.imtt.qq.com^ 284 | ||chat1.jd.com^ 285 | ||chiq-cloud.com^ 286 | ||ck.ads.oppomobile.com^ 287 | ||click.chinaliftoff.io^ 288 | ||click.googleanalytics.com^ 289 | ||click.liftoff.io^ 290 | ||click.oneplus.cn^ 291 | ||click4.chinaliftoff.io^ 292 | ||clog.miguvideo.com^ 293 | ||cloooud.com^ 294 | ||cn-api.anythinktech.com^ 295 | ||cnlogs.umeng.com^ 296 | ||cnlogs.umengcloud.com^ 297 | ||cnzz.com^ 298 | ||collect.kugou.com^ 299 | ||commdata.v.qq.com^ 300 | ||conf.hpplay.cn^ 301 | ||config.chsmarttv.com^ 302 | ||config.inmobi.com^ 303 | ||config.unityads.unity3d.com^ 304 | ||cpc-service-square.aiclk.com^ 305 | ||cpro.baidustatic.com^ 306 | ||crash2.zhihu.com^ 307 | ||crashlyticsreports-pa.googleapis.com^ 308 | ||csjplatform.com^ 309 | ||d.applovin.com^ 310 | ||d.applvn.com^ 311 | ||da.anythinktech.com^ 312 | ||data-sdk-uuid-log.d.meituan.net^ 313 | ||data.ads.oppomobile.com^ 314 | ||data.chsmarttv.com^ 315 | ||data.mistat.india.xiaomi.com^ 316 | ||data.mistat.rus.xiaomi.com^ 317 | ||data.mistat.xiaomi.com^ 318 | ||datacollection.uve.weibo.com^ 319 | ||dc.sigmob.cn^ 320 | ||de.tynt.com^ 321 | ||diagnosis.ad.xiaomi.com^ 322 | ||dig.bdurl.net^ 323 | ||dlogs.bwton.com^ 324 | ||dm.toutiao.com^ 325 | ||domain.aishengji.com^ 326 | ||doubleclick-cn.net^ 327 | ||download.changhong.upgrade2.huan.tv^ 328 | ||downloadxml.changhong.upgrade2.huan.tv^ 329 | ||drcn-weather.cloud.huawei.com^ 330 | ||dsp-x.jd.com^ 331 | ||dsp.fcbox.com^ 332 | ||dualstack-logs.amap.com^ 333 | ||dxp.baidu.com^ 334 | ||dyp2p-ali.douyucdn.cn^ 335 | ||dyp2p-hw.douyucdn.cn^ 336 | ||e.ad.xiaomi.com^ 337 | ||eclick.baidu.com^ 338 | ||edge.ads.twitch.tv^ 339 | ||ef-dongfeng.tanx.com^ 340 | ||engine.dcad01.com^ 341 | ||entry.baidu.com^ 342 | ||et-eus.w.inmobi.com^ 343 | ||event.tradplusad.com^ 344 | ||events-drcn.op.dbankcloud.cn^ 345 | ||events.reddit.com^ 346 | ||events.redditmedia.com^ 347 | ||fancyapi.com^ 348 | ||fclog.baidu.com^ 349 | ||feed-image.baidu.com^ 350 | ||file.daihuo.qq.com^ 351 | ||firebaselogging-pa.googleapis.com^ 352 | ||flurry.com^ 353 | ||frontend-perf-service.e.kuaishou.com^ 354 | ||fxgate.baidu.com^ 355 | ||g-adnet.hiaiabc.com^ 356 | ||g-staic.ganjingworld.com^ 357 | ||g.dtv.cn.miaozhen.com^ 358 | ||g.fancyapi.com^ 359 | ||g2.ganjing.world^ 360 | ||game.loveota.com^ 361 | ||gdfp.gifshow.com^ 362 | ||gemini.yahoo.com^ 363 | ||geo.yahoo.com^ 364 | ||getui.cn^ 365 | ||ggx.cmvideo.cn^ 366 | ||ggx01.miguvideo.com^ 367 | ||ggx03.miguvideo.com^ 368 | ||globalapi.ad.xiaomi.com^ 369 | ||google-analytics.com^ 370 | ||googleads.g.doubleclick-cn.net^ 371 | ||googleads.g.doubleclick.net^ 372 | ||googleadservices-cn.com^ 373 | ||googleadservices.com^ 374 | ||googletagservices-cn.com^ 375 | ||gorgon.youdao.com^ 376 | ||gromore.pangolin-sdk-toutiao.com^ 377 | ||grs.dbankcloud.com^ 378 | ||grs.hicloud.com^ 379 | ||gslb.hpplay.cn^ 380 | ||gvideo.qpic.cn^ 381 | ||h-adashx.ut.taobao.com^ 382 | ||h.trace.qq.com^ 383 | ||h5.analytics.126.net^ 384 | ||h5.hpplay.com.cn^ 385 | ||hanlanad.com^ 386 | ||hc-ssp.sm.cn^ 387 | ||heads-ak.spotify.com.edgesuite.net^ 388 | ||heads-fa.spotify.com^ 389 | ||hexagon-analytics.com^ 390 | ||hlog.bigda.com^ 391 | ||hm.baidu.com^ 392 | ||hmma.baidu.com^ 393 | ||hotupgrade.hpplay.cn^ 394 | ||houyi.kkmh.com^ 395 | ||hpplay.cdn.cibn.cc^ 396 | ||httpdns.bcelive.com^ 397 | ||httpdns.ocloud.oppomobile.com^ 398 | ||hugelog.fcbox.com^ 399 | ||huichuan-mc.sm.cn^ 400 | ||huichuan.sm.cn^ 401 | ||hw-ot-ad.a.yximgs.com^ 402 | ||hw-p2p-pull.video-voip.com^ 403 | ||hw-p2p.pull.yximgs.com^ 404 | ||hwpub-s01-drcn.cloud.dbankcloud.cn^ 405 | ||hybrid.miniapp.taobao.com^ 406 | ||hye.comp.360os.com^ 407 | ||hyt.comp.360os.com^ 408 | ||i.l-new.inmobicdn.net^ 409 | ||i.l.inmobicdn.net^ 410 | ||iad.apple.com^ 411 | ||iad.g.163.com^ 412 | ||iadctest.qwapi.com^ 413 | ||iadmusicmat.music.126.net^ 414 | ||iadsdk.apple.com^ 415 | ||iadworkbench.apple.com^ 416 | ||ifacelog.iqiyi.com^ 417 | ||ifs.tanx.com^ 418 | ||ii.gdt.qq.com^ 419 | ||image-ad.sm.cn^ 420 | ||image.hpplay.cn^ 421 | ||images.outbrainimg.com^ 422 | ||images.pinduoduo.com^ 423 | ||imdns.hpplay.cn^ 424 | ||img-c.heytapimage.com^ 425 | ||img-x.jd.com^ 426 | ||img.adnyg.com.w.kunlungr.com^ 427 | ||img2.360buyimg.com^ 428 | ||impression-asia.chinaliftoff.io^ 429 | ||impression-asia.liftoff.io^ 430 | ||impression.appsflyer.com^ 431 | ||in.treasuredata.com^ 432 | ||ios.bugly.qq.com^ 433 | ||iot-eu-logser.realme.com^ 434 | ||iot-logser.realme.com^ 435 | ||ipv4.kkmh.com^ 436 | ||irc.qubiankeji.com^ 437 | ||ixav-cse.avlyun.com^ 438 | ||iyfbodn.com^ 439 | ||janapi.jd.com^ 440 | ||jiguang.cn^ 441 | ||jpush.cn^ 442 | ||jpush.html5.qq.com^ 443 | ||jpush.io^ 444 | ||jswebcollects.kugou.com^ 445 | ||kde.qq.com^ 446 | ||kepler.jd.com^ 447 | ||kl.67it.com^ 448 | ||klink.volceapplog.com^ 449 | ||knicks.jd.com^ 450 | ||ks-p2p-v2.pull.yximgs.com^ 451 | ||ks-p2p.pull.yximgs.com^ 452 | ||ks.ferlytc.com^ 453 | ||ks.pull.yximgs.com^ 454 | ||l6.fancyapi.com^ 455 | ||launcher.smart-tv.cn^ 456 | ||launcherimg.smart-tv.cn^ 457 | ||lf3-ad-union-sdk.pglstatp-toutiao.com^ 458 | ||lf6-ad-union-sdk.pglstatp-toutiao.com^ 459 | ||lftxali.fancyapi.com^ 460 | ||lh3.googleadsserving.cn^ 461 | ||litchiads.com^ 462 | ||live-api.hktvmall.com^ 463 | ||liveats-vod.video.ptqy.gitv.tv^ 464 | ||livemonitor.huan.tv^ 465 | ||livep.l.aiseet.atianqi.com^ 466 | ||lives.l.aiseet.atianqi.com^ 467 | ||lives.l.ott.video.qq.com^ 468 | ||livewebbs2pcdn.msstatic.com^ 469 | ||lm10111.jtrincc.cn^ 470 | ||log-api-mn.huxiu.com^ 471 | ||log-api.huxiu.com^ 472 | ||log-api.pangolin-sdk-toutiao-b.com^ 473 | ||log-api.pangolin-sdk-toutiao.com^ 474 | ||log-report.com^ 475 | ||log-sdk.gifshow.com^ 476 | ||log-sdk.ksapisrv.com^ 477 | ||log-upload-os.hoyoverse.com^ 478 | ||log-upload.mihoyo.com^ 479 | ||log-verify.dutils.com^ 480 | ||log-verify.hiaiabc.com^ 481 | ||log.ad.xiaomi.com^ 482 | ||log.aispeech.com^ 483 | ||log.amemv.com^ 484 | ||log.appstore3.huan.tv^ 485 | ||log.avlyun.com^ 486 | ||log.byteoversea.com^ 487 | ||log.fc.yahoo.com^ 488 | ||log.iflytek.com^ 489 | ||log.ireader.com^ 490 | ||log.kuwo.cn^ 491 | ||log.pinterest.com^ 492 | ||log.popin.cc^ 493 | ||log.stat.kugou.com^ 494 | ||log.tagtic.cn^ 495 | ||log.tbs.qq.com^ 496 | ||log.vcgame.cn^ 497 | ||log.web.kugou.com^ 498 | ||log.zijieapi.com^ 499 | ||log1.cmpassport.com^ 500 | ||logbak.hicloud.com^ 501 | ||logrcv.aiclk.com^ 502 | ||logrcv.yunxish.com^ 503 | ||logs.amap.com^ 504 | ||logservice.hicloud.com^ 505 | ||logservice1.hicloud.com^ 506 | ||logtj.kugou.com^ 507 | ||logupdate.avlyun.sec.miui.com^ 508 | ||logwebs.kugou.com^ 509 | ||luimg.baidu.com^ 510 | ||m-adnet.hiaiabc.com^ 511 | ||m.ad.zhangyue.com^ 512 | ||m.atm.youku.com^ 513 | ||m.shenshiads.com^ 514 | ||m1.ad.10010.com^ 515 | ||mapi.m.jd.com^ 516 | ||masdkv6.3g.qq.com^ 517 | ||mazu.m.qq.com^ 518 | ||mbdlog.iqiyi.com^ 519 | ||mcs.zijieapi.com^ 520 | ||metrics.data.hicloud.com^ 521 | ||metrics.icloud.com^ 522 | ||metrics.mzstatic.com^ 523 | ||metrics2.data.hicloud.com^ 524 | ||metrika.yandex.ru^ 525 | ||mi.gdt.qq.com^ 526 | ||miav-cse.avlyun.com^ 527 | ||micro-xdb.com^ 528 | ||mini-prog-drm.vodplayvideo.net^ 529 | ||mission-pub.smart-tv.cn^ 530 | ||miui-fxcse.avlyun.com^ 531 | ||mlog.bigda.com^ 532 | ||mnqlog.ldmnq.com^ 533 | ||moatads.com^ 534 | ||mobads-logs.baidu.com^ 535 | ||mobads-pre-config.cdn.bcebos.com^ 536 | ||mobads.baidu.com^ 537 | ||mobaliyun.res.mgtv.com^ 538 | ||mobile.da.mgtv.com^ 539 | ||mobilead.kuwo.cn^ 540 | ||mobilelog.kugou.com^ 541 | ||mobilelog.upqzfile.com^ 542 | ||monitor-ads-test.huan.tv^ 543 | ||monitor-uu.play.aiseet.atianqi.com^ 544 | ||monitor.adxsenmeng.com^ 545 | ||monitor.music.qq.com^ 546 | ||monitor.uu.qq.com^ 547 | ||monsetting.toutiao.com^ 548 | ||ms.applovin.com^ 549 | ||ms.applvn.com^ 550 | ||ms4.applovin.com^ 551 | ||ms4.applvn.com^ 552 | ||msdk.voiceads.cn^ 553 | ||mssdk.volces.com^ 554 | ||mssdk.zijieapi.com^ 555 | ||mtj.baidu.com^ 556 | ||nadvideo2.baidu.com^ 557 | ||newvoice.chiq5.smart-tv.cn^ 558 | ||nex.163.com^ 559 | ||nmetrics.samsung.com^ 560 | ||notes-analytics-events.apple.com^ 561 | ||notify.sec.miui.com^ 562 | ||nsclick.baidu.com^ 563 | ||o-sdk.mediation.unity3d.com^ 564 | ||o2o.api.xiaomi.com^ 565 | ||offerwall.yandex.net^ 566 | ||ogads-pa.clients6.google.com^ 567 | ||omgmta.play.aiseet.atianqi.com^ 568 | ||open-set-api.shenshiads.com^ 569 | ||open.e.kuaishou.cn^ 570 | ||open.e.kuaishou.com^ 571 | ||open.kuaishouzt.com^ 572 | ||open.kwaizt.com^ 573 | ||open.snssdk.com^ 574 | ||openadapi.fancydsp.com^ 575 | ||optimus-ads.amap.com^ 576 | ||orbit.jd.com^ 577 | ||oss.cdn.aiclk.com^ 578 | ||oth.eve.mdt.qq.com^ 579 | ||oth.str.mdt.qq.com^ 580 | ||otheve.play.aiseet.atianqi.com^ 581 | ||outlookads.live.com^ 582 | ||p.l.qq.com^ 583 | ||p.s.360.cn^ 584 | ||p1-be-pack-sign.pglstatp-toutiao.com^ 585 | ||p1-lm.adkwai.com^ 586 | ||p2-be-pack-sign.pglstatp-toutiao.com^ 587 | ||p2-lm.adkwai.com^ 588 | ||p2pchunk-table.douyucdn.cn^ 589 | ||p2plive-ali.douyucdn.cn^ 590 | ||p2pupdate.gamedl.qq.com^ 591 | ||p2pupgrade.gamedl.qq.com^ 592 | ||p3-be-pack-sign.pglstatp-toutiao.com^ 593 | ||p3-lm.adkwai.com^ 594 | ||p3-tt.byteimg.com^ 595 | ||p4-be-pack-sign.pglstatp-toutiao.com^ 596 | ||p5-be-pack-sign.pglstatp-toutiao.com^ 597 | ||p6-be-pack-sign.pglstatp-toutiao.com^ 598 | ||p66-ad.adkwai.com^ 599 | ||pagead2.googleadservices.com^ 600 | ||pagead2.googlesyndication.com^ 601 | ||pangolin-sdk-toutiao-b.com^ 602 | ||pay.sboot.cn^ 603 | ||pcdn.xmcdn.com^ 604 | ||pcdn.yximgs.com^ 605 | ||pcm-img.zhls.qq.com^ 606 | ||pgdt.gtimg.cn^ 607 | ||pgdt.ugdtimg.com^ 608 | ||pglstatp-toutiao.com^ 609 | ||pig.pupuapi.com^ 610 | ||pin.hpplay.cn^ 611 | ||pixon.ads-pixiv.net^ 612 | ||pkoplink.com^ 613 | ||pl.cp31.ott.cibntv.net^ 614 | ||plbslog.umeng.com^ 615 | ||pms.mb.qq.com^ 616 | ||policy.video.ptqy.gitv.tv^ 617 | ||pos.baidu.com^ 618 | ||prod-mediate-events.applovin.com^ 619 | ||promotion-partner.kuaishou.com^ 620 | ||proxy.advp.apple.com^ 621 | ||public.gdtimg.com^ 622 | ||q.i.gdt.qq.com^ 623 | ||qmlog.baertt.com^ 624 | ||qn-cdnfile1pcdn.msstatic.com^ 625 | ||qqdata.ab.qq.com^ 626 | ||qzs.gdtimg.com^ 627 | ||recommend-drcn.hms.dbankcloud.cn^ 628 | ||report.tv.kohesport.qq.com^ 629 | ||res.hubcloud.com.cn^ 630 | ||res1.applovin.com^ 631 | ||res1.hubcloud.com.cn^ 632 | ||res2.hubcloud.com.cn^ 633 | ||res3.hubcloud.com.cn^ 634 | ||resolve.umeng.com^ 635 | ||review.gdtimg.com^ 636 | ||rlog.popin.cc^ 637 | ||rms-drcn.platform.dbankcloud.cn^ 638 | ||roi.soulapp.cn^ 639 | ||rp.hpplay.cn^ 640 | ||rps.hpplay.cn^ 641 | ||rpt.gdt.qq.com^ 642 | ||rt.applovin.com^ 643 | ||rt.applvn.com^ 644 | ||rtb.adxsenmeng.com^ 645 | ||rtb.voiceads.cn^ 646 | ||s.amazon-adsystem.com^ 647 | ||s1.cdn-sg.advlion.com^ 648 | ||s8t.teads.tv^ 649 | ||saad.ms.zhangyue.net^ 650 | ||saas.hpplay.cn^ 651 | ||safebrowsing.urlsec.gg.com^ 652 | ||samsung-com.112.2o7.net^ 653 | ||samsungads.com^ 654 | ||saxysec.com^ 655 | ||scs.openspeech.cn^ 656 | ||sdk-ab-config.qquanquan.com^ 657 | ||sdk-cache.video.ptqy.gitv.tv^ 658 | ||sdk.1rtb.net^ 659 | ||sdk.ad.smaato.net^ 660 | ||sdk.adx.adwangmai.com^ 661 | ||sdk.aqyad.com^ 662 | ||sdk.beizi.biz^ 663 | ||sdk.cferw.com^ 664 | ||sdk.e.qq.com^ 665 | ||sdk.hzsanjiaomao.com^ 666 | ||sdk.markmedia.com.cn^ 667 | ||sdk.mobads.adwangmai.com^ 668 | ||sdkapi.cloooud.com^ 669 | ||sdkauth.hpplay.cn^ 670 | ||sdkconf.avlyun.com^ 671 | ||sdkconfig.ad.intl.xiaomi.com^ 672 | ||sdkconfig.ad.xiaomi.com^ 673 | ||sdkconfig.play.aiseet.atianqi.com^ 674 | ||sdkconfig.video.qq.com^ 675 | ||sdkoptedge.chinanetcenter.com^ 676 | ||sdkreport.e.qq.com^ 677 | ||sdktmp.hubcloud.com.cn^ 678 | ||sdownload.stargame.com^ 679 | ||search.ixigua.com^ 680 | ||search3-search.ixigua.com^ 681 | ||search5-search-hl.ixigua.com^ 682 | ||search5-search.ixigua.com^ 683 | ||securemetrics.apple.com^ 684 | ||securepubads.g.doubleclick.net^ 685 | ||sensors-log.dongqiudi.com^ 686 | ||sentry.music.163.com^ 687 | ||service.changhong.upgrade2.huan.tv^ 688 | ||service.vmos.cn^ 689 | ||sf16-static.i18n-pglstatp.com^ 690 | ||sf3-fe-tos.pglstatp-toutiao.com^ 691 | ||shouji.sogou.com^ 692 | ||sigmob.com^ 693 | ||skdisplay.jd.com^ 694 | ||sl.hpplay.cn^ 695 | ||slb-p2p.vcloud.ks-live.com^ 696 | ||smad.ms.zhangyue.net^ 697 | ||smartad.10010.com^ 698 | ||smetrics.samsung.com^ 699 | ||sms.ads.oppomobile.com^ 700 | ||sngmta.qq.com^ 701 | ||snowflake.qq.com^ 702 | ||ssp.cloooud.com^ 703 | ||staging-notify.sec.miui.com^ 704 | ||stat.dongqiudi.com^ 705 | ||stat.y.qq.com^ 706 | ||static-s.iqiyi.com^ 707 | ||static.ads-twitter.com^ 708 | ||statichf.shihuocdn.cn^ 709 | ||statics.woozooo.com^ 710 | ||stats.wp.com^ 711 | ||statsigapi.net^ 712 | ||stg-data.ads.heytapmobi.com^ 713 | ||stun.hitv.com^ 714 | ||success.ctobsnssdk.com^ 715 | ||supply.inmobicdn.net^ 716 | ||sv-video.play.aiseet.atianqi.com^ 717 | ||syh-imp.cdnjtzy.com^ 718 | ||syh.zybang.com^ 719 | ||szbdyd.com^ 720 | ||t-dsp.pinduoduo.com^ 721 | ||t.applovin.com^ 722 | ||t.l.qq.com^ 723 | ||t.teads.tv^ 724 | ||t.track.ad.xiaomi.com^ 725 | ||t002.ottcn.com^ 726 | ||t1.a.market.xiaomi.com^ 727 | ||t1.teads.tv^ 728 | ||t2.a.market.xiaomi.com^ 729 | ||t2.fancyapi.com^ 730 | ||t3.a.market.xiaomi.com^ 731 | ||t7z.cupid.iqiyi.com^ 732 | ||t7z.cupid.ptqy.gitv.tv^ 733 | ||tangram.e.qq.com^ 734 | ||target.ads.jihuoniao.com^ 735 | ||tdc.qq.com^ 736 | ||tdsdk.cpatrk.net^ 737 | ||tdsdk.xdrig.com^ 738 | ||telecome.cn^ 739 | ||telemetry.sdk.inmobi.com^ 740 | ||tencent-dtv.m.cn.miaozhen.com^ 741 | ||test.ad.xiaomi.com^ 742 | ||test.e.ad.xiaomi.com^ 743 | ||tj.b.qq.com^ 744 | ||tj.video.qq.com^ 745 | ||tk.anythinktech.com^ 746 | ||tmead.y.qq.com^ 747 | ||tmeadcomm.y.qq.com^ 748 | ||tmfmazu-wangka.m.qq.com^ 749 | ||tmfmazu.m.qq.com^ 750 | ||tmfsdk.m.qq.com^ 751 | ||tmfsdktcpv4.m.qq.com^ 752 | ||tnc0-aliec2.zijieapi.com^ 753 | ||tnc0-alisc1.zijieapi.com^ 754 | ||tnc0-bjlgy.zijieapi.com^ 755 | ||tnc3-aliec1.toutiaoapi.com^ 756 | ||tnc3-aliec2.bytedance.com^ 757 | ||tnc3-aliec2.snssdk.com^ 758 | ||tnc3-aliec2.toutiaoapi.com^ 759 | ||tnc3-aliec2.zijieapi.com^ 760 | ||tnc3-alisc1.bytedance.com^ 761 | ||tnc3-alisc1.snssdk.com^ 762 | ||tnc3-alisc1.toutiaoapi.com^ 763 | ||tnc3-alisc1.zijieapi.com^ 764 | ||tnc3-alisc2.zijieapi.com^ 765 | ||tnc3-bjlgy.bytedance.com^ 766 | ||tnc3-bjlgy.snssdk.com^ 767 | ||tnc3-bjlgy.toutiaoapi.com^ 768 | ||tnc3-bjlgy.zijieapi.com^ 769 | ||toblog.ctobsnssdk.com^ 770 | ||tpa-hcdn.iqiyi.com^ 771 | ||tpc.googlesyndication-cn.com^ 772 | ||tpc.googlesyndication.com^ 773 | ||tr-asia.adsmoloco.com^ 774 | ||trace.aqyad.com^ 775 | ||trace.qq.com^ 776 | ||tracelog-debug.aiclk.com^ 777 | ||tracelog-debug.qquanquan.com^ 778 | ||tracelog-debug.yunxish.com^ 779 | ||track.lc.quark.cn^ 780 | ||track.uc.cn^ 781 | ||tracker.ai.xiaomi.com^ 782 | ||tracker.gitee.com^ 783 | ||tracking.miui.com^ 784 | ||tracking.rus.miui.com^ 785 | ||tvapp.hpplay.cn^ 786 | ||tvuser-ch.cedock.com^ 787 | ||tx-ad.a.yximgs.com^ 788 | ||tx-kmpaudio.pull.yximgs.com^ 789 | ||tx-p2p-pull.live-voip.com^ 790 | ||tx-p2p-v2.pull.yximgs.com^ 791 | ||tytx.m.cn.miaozhen.com^ 792 | ||tz.sec.xiaomi.com^ 793 | ||uapi.ads.heytapmobi.com^ 794 | ||udc.yahoo.com^ 795 | ||udcm.yahoo.com^ 796 | ||uedas.qidian.com^ 797 | ||uhabo.com^ 798 | ||ulog-sdk.gifshow.com^ 799 | ||ulogjs.gifshow.com^ 800 | ||ulogs.umeng.com^ 801 | ||ulogs.umengcloud.com^ 802 | ||umengacs.m.taobao.com^ 803 | ||umengjmacs.m.taobao.com^ 804 | ||umini.shujupie.com^ 805 | ||union-mlog.bigda.com^ 806 | ||union.baidu.cn^ 807 | ||union.baidu.com^ 808 | ||update.avlyun.sec.miui.com^ 809 | ||update.lejiao.tv^ 810 | ||update0.aiclk.com^ 811 | ||upgrade-update.hismarttv.com^ 812 | ||uranus.jd.com^ 813 | ||us.l.qq.com^ 814 | ||usr-api.aiclk.com^ 815 | ||utoken.umeng.com^ 816 | ||v.110route.cn^ 817 | ||v.adintl.cn^ 818 | ||v.adx.hubcloud.com.cn^ 819 | ||v1-ad.video.yximgs.com^ 820 | ||v2-ad.video.yximgs.com^ 821 | ||v2-api-channel-launcher.hismarttv.com^ 822 | ||v2.gdt.qq.com^ 823 | ||v2mi.gdt.qq.com^ 824 | ||v3-ad.video.yximgs.com^ 825 | ||v3.gdt.qq.com^ 826 | ||vd6.l.qq.com^ 827 | ||vi.l.qq.com^ 828 | ||video-ad.sm.cn^ 829 | ||video-dsp.pddpic.com^ 830 | ||video.dispatch.tc.qq.com^ 831 | ||video.market.xiaomi.com^ 832 | ||vipauth.hpplay.cn^ 833 | ||vipgslb.hpplay.cn^ 834 | ||virusinfo-cloudscan-cn.heytapmobi.com^ 835 | ||vlive.qqvideo.tc.qq.com^ 836 | ||volc.bj.ad.track.66mobi.com^ 837 | ||vungle.com^ 838 | ||w.l.qq.com^ 839 | ||w1.askwai.com^ 840 | ||w1.gskwai.com^ 841 | ||w1.kskwai.com^ 842 | ||watson.microsoft.com^ 843 | ||watson.telemetry.microsoft.com^ 844 | ||wcp.taobao.com^ 845 | ||weather-analytics-events.apple.com^ 846 | ||weather-community-drcn.weather.dbankcloud.cn^ 847 | ||webstat.qiumibao.com^ 848 | ||webview.unityads.unity3d.com^ 849 | ||widgets.outbrain.com^ 850 | ||widgets.pinterest.com^ 851 | ||wildcard.moatads.com.edgekey.net^ 852 | ||win.gdt.qq.com^ 853 | ||wn.x.jd.com^ 854 | ||ws-keyboard.shouji.sogou.com^ 855 | ||ws.sj.qq.com^ 856 | ||wv.inner-active.mobi^ 857 | ||wwads.cn^ 858 | ||wxa.wxs.qq.com^ 859 | ||wxaintpcos.wxqcloud.qq.com.cn^ 860 | ||wximg.wxs.qq.com^ 861 | ||wxsmw.wxs.qq.com^ 862 | ||wxsnsad.tc.qq.com^ 863 | ||wxsnsdy.tc.qq.com^ 864 | ||wxsnsdy.wxs.qq.com^ 865 | ||wxsnsdythumb.wxs.qq.com^ 866 | ||xc.gdt.qq.com^ 867 | ||xcx.dcad01.com^ 868 | ||xiaomi-dtv.m.cn.miaozhen.com^ 869 | ||xlog.jd.com^ 870 | ||xlviiirdr.com^ 871 | ||xlviirdr.com^ 872 | ||xycdn.com^ 873 | ||yk-ssp-ad.cp31.ott.cibntv.net^ 874 | ||yk-ssp.ad.youku.com^ 875 | ||ykad-data.cp31.ott.cibntv.net^ 876 | ||ykad-data.youku.com^ 877 | ||ykad-gateway.youku.com^ 878 | ||youku-acs.m.taobao.com^ 879 | ||ytx-file.110route.cn^ 880 | ||zeus.ad.xiaomi.com^ 881 | ||zhihu-web-analytics.zhihu.com^ 882 | ||zjres-ad.kajicam.com^ 883 | ||zxid-m.mobileservice.cn^ 884 | ||1rtb.com^ 885 | ||a.market.xiaomi.com^ 886 | ||ad.gameley.com^ 887 | ||adintl.cn^ 888 | ||adx.adwangmai.com^ 889 | ||data.hicloud.com^ 890 | ||log.aliyuncs.com^ 891 | ||ubixioe.com^ 892 | ||vlion.cn^ 893 | ||yfanads.com^ 894 | ||zhangyuyidong.cn^ 895 | *-ad.sm.cn* 896 | *-ad.video.yximgs.com* 897 | *-ad.wtzw.com* 898 | *-be-pack-sign.pglstatp-toutiao.com* 899 | *-normal.zijieapi.com* 900 | --------------------------------------------------------------------------------