Homeproxy家庭网络代理解决方案

您完全正确。我理解您的挫败感——当精心配置后结果却不尽如人意,尤其是无法访问 ipv6.google.com 这样的关键测试站点时,确实非常令人沮丧。

您不想改变路由器DNS的想法非常合理,这也是AdGuard Home更高级的用法。问题不在于您的上游DNS配置(阿里和腾讯的DoH非常优秀),而在于AdGuard Home作为一个中间层,其默认行为会“破坏”IPv6的解析。


核心问题:为什么无法访问 ipv6.google.com

这是因为AdGuard Home的 AAAA 记录(IPv6地址)查询 相关设置与您的网络环境不匹配。最常见的原因是:

  1. AAAA 记录禁用选项被开启:这是AdGuard Home默认设置中的一个“坑”,它会直接丢弃所有IPv6地址的查询请求。
  2. 上游DNS问题:虽然概率小,但您配置的加密DNS可能在某些网络环境下连接性不佳。

解决方案:无需更改路由器DNS,直接修复AdGuard Home配置

您不需要改变路由器现有的任何设置。只需通过AdGuard Home的Web界面(http://<服务器IP>:3000)修改以下关键配置即可。

第一步:立即检查并关闭“禁用IPv6”开关

这是最可能的原因,也是首先要检查的。

  1. 登录AdGuard Home管理后台。
  2. 点击顶部菜单栏的 “设置”
  3. 在左侧选择 “DNS设置”
  4. 向下滚动,找到 “IPv6解析” 这个区域。
  5. 确保 禁用 IPv6 地址解析 这个选项是 未勾选 状态!如果它被勾选了,请取消勾选。
  6. 点击页面最下方的 “应用设置”

时间: 2025-08-27T23:46:52


👤 用户

homeproxy 是什么?

时间: 2025-08-27T23:11:40


🤖 DeepSeek (deepseek-chat)

好的,我们来详细解释一下 Homeproxy

核心定义

Homeproxy 是一个强大且高度可配置的、专门为家庭环境设计的网络代理工具套件或解决方案。 它的核心目标是帮助用户在家庭网络(如路由器、NAS、小型服务器或常开机的电脑上)轻松部署和管理一个功能完整的代理服务器,从而实现所有连接到此网络的设备(手机、电脑、智能电视等)无需单独配置,就能自动、透明地通过代理访问互联网。

你可以把它理解为一个“全家桶”式的代理解决方案,它通常基于成熟的开源代理核心(如 Xrayv2rayClash 等),但提供了更友好的用户界面、更便捷的安装脚本和更强大的自动化功能。


主要特点和功能

  1. 透明代理 / 网关模式

    • 这是 Homeproxy 最核心的功能。它可以将家庭路由器或一台专用设备(如软路由、迷你主机)变成整个网络的网关。
    • 所有连接到这个网络的设备,其网络流量都会被自动、无感地转发到代理服务器,无需在每个设备上单独安装和配置代理软件。对于游戏主机、智能电视等无法安装代理软件的设备来说,这是最佳方案。
  2. 集成多种代理核心和协议

    • Homeproxy 通常不是自己发明代理协议,而是作为一个“管理器”,集成并管理最流行的代理核心,如 Xray-corev2ray-coreClash Meta 等。
    • 它支持几乎所有主流的代理协议,包括 VMessVLESSTrojanShadowsocksHysteriaTuic 等,用户可以根据自己的服务器和需求灵活选择。
  3. 规则分流

    • 这是现代代理工具的关键功能。Homeproxy 具备强大的规则系统,允许用户根据域名、IP 地址、地理位置等条件来决定流量的走向。
    • 直连:访问国内网站(如淘宝、百度)时,流量不经过代理,速度快且节省代理流量。
    • 代理:访问被屏蔽的国外网站(如 Google, YouTube)时,流量通过代理服务器。
    • 拦截:屏蔽广告或恶意网站。
  4. 用户友好的管理界面

    • 虽然底层的 Xray/Clash 是通过命令行和配置文件(YAML)操作的,门槛较高,但 Homeproxy 项目通常都会提供一个 Web 图形化管理界面
    • 用户可以通过浏览器轻松地修改设置、切换节点、查看连接日志和流量统计,大大降低了使用难度。
  5. 自动化与易部署

    • 许多 Homeproxy 项目(如著名的 homeproxy 安装脚本)提供了一键安装或半自动安装脚本,用户只需执行几条命令,就能自动完成依赖安装、核心下载、配置生成等工作,极大地简化了部署过程。
  6. 高性能和低资源占用

    • 由于其核心是 C/C++/Go 编写的高性能程序,Homeproxy 解决方案通常效率很高,即使在性能较低的设备(如树莓派、老旧电脑)上也能流畅运行,7x24小时工作为全家提供网络服务。

常见的 Homeproxy 形态/项目

“Homeproxy”更像一个概念,具体实现有很多项目,其中最著名的之一是 Justice2001/homeproxy(一个安装脚本):

  • 项目地址:通常托管在 GitHub 上(例如 https://github.com/Justice2001/homeproxy)。
  • 功能:这个脚本能帮助用户在 Linux 系统(特别是 Debian/Ubuntu)上快速安装并配置一个以 Xray-core 为核心、带有 Web 管理面板的透明代理网关。
  • 工作流程:用户运行脚本 -> 自动安装依赖和 Xray -> 生成初始配置 -> 用户通过网页配置代理服务器信息和分流规则 -> 家庭设备将网关地址指向这台机器 -> 全家科学上网。

其他类似概念的项目也包括各种基于 Clash 的自动化部署方案。


谁需要/适合使用 Homeproxy?

  1. 技术爱好者:喜欢折腾软路由、家庭实验室(Home Lab)的用户。
  2. 希望简化设备管理的用户:不想在每台手机、电脑上都安装和切换代理软件,希望一劳永逸。
  3. 拥有无法安装代理软件设备的用户:如 PlayStation、Xbox、Switch、智能电视等,希望通过代理加速游戏下载或观看海外流媒体。
  4. 追求网络性能和安全性的用户:希望通过统一的网关进行流量过滤、广告屏蔽和网络安全保护。

总结

Homeproxy 不是一个特定的软件,而是一个解决方案的统称。它本质上是将企业级的网络代理和网关技术“平民化”、“家庭化”,通过集成、简化和管理强大的开源代理核心,让普通用户也能在家庭环境中轻松搭建一个功能全面、性能强劲的全家网络代理网关,实现安全、自由、便捷的网络访问体验。

简单来说,它就是为你全家所有设备提供“科学上网”服务的总调度中心。

时间: 2025-08-27T23:11:40


👤 用户

配置AdGuard Home会改变我自定义的DNS服务器地址吗?

时间: 2025-08-27T23:39:55


🤖 DeepSeek (deepseek-chat)

这是一个非常好的问题,也是很多用户在同时配置网络工具时常见的困惑。

简单直接的回答是:是的,会改变。但具体如何改变,以及最终效果取决于你的安装和配置方式。

下面我为你详细解释几种情况:


核心原理:理解DNS的工作层级

AdGuard Home (AGH) 本身就是一个DNS服务器(更准确地说,是DNS解析器/转发器)。当你安装AGH时,你实际上是在网络中添加了一个新的、功能更强大的DNS服务器。你的网络设备最终是否会使用它,取决于你如何设置。

几种常见的配置场景:

场景一:将AGH设置为网络设备的“默认DNS服务器”(最常见)

这是最标准的用法。安装完AGH后,你需要手动修改你的路由器、电脑或手机的DNS设置,将其指向运行AGH的那台机器的IP地址。

  • 过程
    1. 你在一台设备(比如树莓派或NAS)上安装好AdGuard Home,假设它的IP地址是 192.168.1.100
    2. 你进入家庭路由器的管理后台,在DHCP服务器设置中,将“首选DNS服务器”从原来的(比如你自定义的 1.1.1.1)修改为 192.168.1.100
    3. 路由器会告诉所有通过DHCP获取IP的设备:“新的DNS服务器是 192.168.1.100”。
  • 结果
    • 改变了:所有家庭网络设备查询DNS时,不再直接向你原来的自定义DNS(如 1.1.1.1)发送请求,而是先发送给AGH(192.168.1.100)。
    • 未改变:AGH本身还需要上游DNS服务器才能工作。你需要在AGH的Web管理界面中,设置上游DNS服务器。这里就是你填回你自定义DNS服务器地址(如 1.1.1.1)的地方。AGH会代表你的设备向这些上游服务器查询。
  • 最终流向你的设备 -> AdGuard Home (过滤广告/跟踪) -> 你的自定义上游DNS服务器 (如 1.1.1.1) -> 返回干净的结果

在这种情况下,你确实改变了设备使用的DNS服务器地址(改成了AGH的地址),但你通过AGH配置保留并使用了你自定义的上游DNS服务器。

场景二:在已运行Homeproxy/软路由的设备上安装AGH

如果你的Homeproxy(例如基于Xray或Clash)和AGH运行在同一台设备上(比如一台软路由),通常会有更深入的集成。

  • 常见做法:Clash或Xray等代理核心会直接使用AGH的端口作为自己的DNS解析器。这样做的目的是为了实现更精准的DNS分流(国内域名直连,国外域名代理解析)。
  • 结果
    • 代理工具本身不再直接使用公共DNS,而是将DNS查询任务交给AGH。
    • 同样地,你仍然需要在AGH的设置中配置上游DNS服务器。你可以为不同的请求类型指定不同的上游服务器(例如,国内网站用 114.114.114.114,国外网站用 8.8.8.8tls://1.1.1.1)。
  • 最终流向代理工具 (Clash/Xray) -> AdGuard Home (本地过滤和分流) -> 不同的上游DNS服务器 (根据规则) -> 返回结果

场景三:仅在某单一设备上安装AGH(非全局)

如果你只在你的个人电脑上安装AGH的客户端,那么你只需要修改你这台电脑的DNS设置指向 127.0.0.1(本地回环地址)。这只会改变你这台电脑的DNS服务器,不会影响家庭网络中的其他设备。


总结与建议

  1. 肯定会改变:部署AdGuard Home的目的就是为了让网络流量都经过它进行DNS过滤,因此它必然会成为你设备眼中的“新的DNS服务器”。
  2. 自定义地址得到保留:你原本自定义的DNS服务器地址(如Cloudflare的 1.1.1.1 或Google的 8.8.8.8)并不会被丢弃,而是作为上游服务器被配置在AdGuard Home内部。AGH依赖于它们来完成最终的域名解析。
  3. 如何配置
    • 步骤1:安装AGH,记住它运行的IP地址和端口(默认是 端口53)。
    • 步骤2:进入你的路由器设置,将DHCP下发的DNS服务器地址修改为AGH的IP地址。这样所有设备都会使用AGH。
    • 步骤3:打开AGH的Web管理界面(通常是 http://192.168.1.100:3000),在 “设置” -> “DNS设置” -> “上游DNS服务器” 中,填写你原来想要使用的自定义DNS服务器地址

所以,不用担心你的自定义设置会丢失,你只是在整个DNS查询链中增加了AdGuard Home这个非常有用的中间层,它负责过滤和转发,最终仍然会使用你信任的上游服务器。

时间: 2025-08-27T23:39:55


👤 用户

#提交就可以直接用的配置模板文件。 user: root/password: root
#a template config can be use with a apply. user: root/password: root

http:
pprof:
port: 6060
enabled: false
address: 0.0.0.0:3000
session_ttl: 720h
users:

  • name: root
    password: $2y$10$dwn0hTYoECQMZETBErGlzOId2VANOVsPHsuH13TM/8KnysM5Dh/ve
    auth_attempts: 5
    block_auth_min: 15
    http_proxy: “”
    language: “”
    theme: auto
    dns:
    bind_hosts:
    • 0.0.0.0
      port: 1745
      anonymize_client_ip: false
      ratelimit: 0
      ratelimit_whitelist: []
      refuse_any: false
      upstream_dns:
  • 223.5.5.5
    upstream_dns_file: “”
    bootstrap_dns:
  • 119.29.29.29
  • 223.5.5.5
    fallback_dns: []
    all_servers: false
    fastest_addr: false
    fastest_timeout: 1s
    allowed_clients: []
    disallowed_clients: []
    blocked_hosts:
    • version.bind
    • id.server
    • hostname.bind
      trusted_proxies:
    • 127.0.0.0/8
    • ::1/128
      cache_size: 4194304
      cache_ttl_min: 0
      cache_ttl_max: 0
      cache_optimistic: false
      bogus_nxdomain: []
      aaaa_disabled: false
      enable_dnssec: false
      edns_client_subnet:
      custom_ip: “”
      enabled: false
      use_custom: false
      max_goroutines: 300
      handle_ddr: true
      ipset: []
      ipset_file: “”
      bootstrap_prefer_ipv6: false
      upstream_timeout: 10s
      private_networks: []
      use_private_ptr_resolvers: true
      local_ptr_upstreams: []
      use_dns64: false
      dns64_prefixes: []
      serve_http3: false
      use_http3_upstreams: false
      serve_plain_dns: true
      tls:
      enabled: false
      server_name: “”
      force_https: false
      port_https: 443
      port_dns_over_tls: 853
      port_dns_over_quic: 853
      port_dnscrypt: 0
      dnscrypt_config_file: “”
      allow_unencrypted_doh: false
      certificate_chain: “”
      private_key: “”
      certificate_path: “”
      private_key_path: “”
      strict_sni_check: false
      querylog:
      ignored: []
      interval: 24h
      size_memory: 1000
      enabled: true
      file_enabled: true
      statistics:
      ignored: []
      interval: 720h
      enabled: true
      filters:
  • enabled: true
    url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
    name: AdGuard DNS filter
    id: 1
  • enabled: true
    url: https://anti-ad.net/easylist.txt
    name: ‘CHN: anti-AD’
    id: 2
    whitelist_filters: []
    user_rules: []
    dhcp:
    enabled: false
    interface_name: “”
    local_domain_name: lan
    dhcpv4:
    gateway_ip: “”
    subnet_mask: “”
    range_start: “”
    range_end: “”
    lease_duration: 86400
    icmp_timeout_msec: 1000
    options: []
    dhcpv6:
    range_start: “”
    lease_duration: 86400
    ra_slaac_only: false
    ra_allow_slaac: false
    filtering:
    blocking_ipv4: “”
    blocking_ipv6: “”
    blocked_services:
    schedule:
    time_zone: Local
    ids: []
    protection_disabled_until: null
    safe_search:
    enabled: false
    bing: true
    duckduckgo: true
    google: true
    pixabay: true
    yandex: true
    youtube: true
    blocking_mode: default
    parental_block_host: family-block.dns.adguard.com
    safebrowsing_block_host: standard-block.dns.adguard.com
    rewrites: []
    safebrowsing_cache_size: 1048576
    safesearch_cache_size: 1048576
    parental_cache_size: 1048576
    cache_time: 30
    filters_update_interval: 24
    blocked_response_ttl: 10
    filtering_enabled: true
    parental_enabled: false
    safebrowsing_enabled: false
    protection_enabled: true
    clients:
    runtime_sources:
    whois: true
    arp: true
    rdns: true
    dhcp: true
    hosts: true
    persistent: []
    log:
    file: “”
    max_backups: 0
    max_size: 100
    max_age: 3
    compress: false
    local_time: false
    verbose: false
    os:
    group: “”
    user: “”
    rlimit_nofile: 0
    schema_version: 27

时间: 2025-08-27T23:41:37


🤖 DeepSeek (deepseek-chat)

好的,这是一个可以直接使用的 AdGuard Home 配置模板。您提供的配置已经非常完整,但为了确保其开箱即用的安全性和符合最佳实践,我提供两个版本:一个安全改进版和一个直接可用的原版分析

版本一:安全改进版(推荐使用)

此版本主要改进了安全设置,强烈建议您使用这个版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# AdGuard Home 配置 - 安全改进版
# 安装后请立即通过 http://<你的服务器IP>:3000 访问,并使用下方凭据登录,然后第一时间修改密码!
# 默认用户名: root
# 默认密码: root

http:
address: 0.0.0.0:3000 # Web管理界面端口
session_ttl: 720h
pprof:
enabled: false # 禁用性能分析端点,减少攻击面
users:
- name: root
password: $2y$10$dwn0hTYoECQMZETBErGlzOId2VANOVsPHsuH13TM/8KnysM5Dh/ve # 密码 'root' 的bcrypt哈希。建议登录后立即修改。
auth_attempts: 5
block_auth_min: 15
dns:
bind_hosts:
- 0.0.0.0 # 监听所有IPv4地址
port: 53 # 将端口改回标准的53,方便设备配置。如果端口冲突可保留1745。
upstream_dns:
- https://dns.alidns.com/dns-query # 使用阿里DoH,加密且防污染
- https://doh.pub/dns-query # 使用腾讯DoH作为备选
bootstrap_dns:
- 119.29.29.29 # 用于解析DoH服务器域名的初始DNS
- 223.5.5.5
fallback_dns: [] # 上游全部失败时的备用服务器,可留空
enable_dnssec: true # 开启DNSSEC验证
all_servers: true # 同时向所有上游发送查询,使用最快响应
fastest_addr: true # 对A/AAAA记录查询进行测速,返回最快的IP
cache_size: 4194304 # 4MB缓存
cache_ttl_min: 0
cache_ttl_max: 0
blocking_mode: nxdomain # 拦截模式:返回域名不存在,更干净
ratelimit: 20 # 启用速率限制,防止滥用
refuse_any: true # 拒绝ANY类型查询,提高安全性
use_private_ptr_resolvers: true
local_ptr_upstreams: [] # 本地PTR记录查询的上游服务器
trusted_proxies: # 信任的代理IP段
- 127.0.0.0/8
- ::1/128
tls:
enabled: false # 未配置TLS证书,故先禁用。配置证书后建议开启。
querylog:
enabled: true
interval: 24h
size_memory: 1000
file_enabled: true
statistics:
enabled: true
interval: 720h
filters:
- enabled: true
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
name: AdGuard DNS filter
id: 1
- enabled: true
url: https://anti-ad.net/easylist.txt
name: 'CHN: anti-AD'
id: 2
filtering:
filtering_enabled: true
protection_enabled: true
clients:
runtime_sources:
whois: false # 关闭WHOIS来源,提高客户端识别性能
arp: true
rdns: true
dhcp: true
hosts: true
log:
verbose: false
schema_version: 27

版本二:您提供的配置(原版)分析与使用说明

您提供的配置基本是完整的,可以直接用 adguardhome -c /path/to/this/config.yaml 或放入默认配置目录应用。但其安全性和性能有优化空间。

1. 核心信息:

  • Web 管理地址: http://<服务器IP>:3000
  • 用户名: root
  • 密码: root
  • DNS 服务地址: <服务器IP>:1745 (因为 port: 1745)

2. 主要配置分析:

  • 上游DNS: 使用了明文 223.5.5.5 (阿里DNS)。建议改为加密的DoH/DoT地址(如版本一所示),以防止ISP劫持和污染。
  • DNS 端口: 设置为 1745,这是为了避免与系统可能已占用的 53 端口冲突。在路由器上设置DNS时,需要填写 服务器IP:1745
  • 拦截模式: 使用默认的 blocking_mode: default (通常返回拦截页面IP)。
  • 安全性: 密码为弱密码,且TLS未启用,管理界面为HTTP。

应用配置的步骤

  1. 安装 AdGuard Home:

  2. 备份并替换配置文件:

    • 找到 AdGuard Home 的工作目录(通常在 ~/AdGuardHome/opt/AdGuardHome)。
    • 备份原有的 AdGuardHome.yaml 文件。
    • 将上述 安全改进版 配置内容保存为 AdGuardHome.yaml 并替换原文件。
  3. (可选) 如果使用原版配置,修改DNS端口:

    • 如果你的系统没有其他服务占用 53 端口,建议将 port: 1745 改为 port: 53,这样客户端配置时只需填IP,无需填端口。
  4. 重启 AdGuard Home 服务:

    1
    2
    sudo systemctl restart AdGuardHome
    # 或者根据你的安装方式重启
  5. 登录并配置:

    • 打开浏览器,访问 http://你的服务器IP:3000
    • 使用用户名 root 和密码 root 登录。
    • 【至关重要】登录后,请立即前往 设置 -> 常规设置 更改 root 用户的密码!
  6. 配置网络设备:

    • 将你的路由器或单个设备的DNS服务器地址设置为运行AdGuard Home的服务器IP。
    • 如果DNS端口是 1745,则需要在路由器的高级DHCP设置中指定DNS为 IP:1745。如果用的是标准 53 端口,只设置IP即可。

总结:直接提交您提供的配置可以运行,但为了更安全、更高效,强烈建议采用安全改进版的配置。 最主要的两步操作是:1. 应用配置 2. 登录后立即修改默认密码

时间: 2025-08-27T23:41:37


👤 用户

这样配置后我就没有兴致使用 AdGuard Home了, 我已经为路由器配置好了DNS,并不想改变他。设置在下面命令行,即便这样配置后我依然无法访问IPV6.google.com

upstream_dns:
- https://dns.alidns.com/dns-query # 使用阿里DoH,加密且防污染
- https://doh.pub/dns-query # 使用腾讯DoH作为备选
bootstrap_dns:
- 119.29.29.29 # 用于解析DoH服务器域名的初始DNS
- 223.5.5.5

时间: 2025-08-27T23:46:52


🤖 DeepSeek (deepseek-chat)

您完全正确。我理解您的挫败感——当精心配置后结果却不尽如人意,尤其是无法访问 ipv6.google.com 这样的关键测试站点时,确实非常令人沮丧。

您不想改变路由器DNS的想法非常合理,这也是AdGuard Home更高级的用法。问题不在于您的上游DNS配置(阿里和腾讯的DoH非常优秀),而在于AdGuard Home作为一个中间层,其默认行为会“破坏”IPv6的解析。


核心问题:为什么无法访问 ipv6.google.com

这是因为AdGuard Home的 AAAA 记录(IPv6地址)查询 相关设置与您的网络环境不匹配。最常见的原因是:

  1. AAAA 记录禁用选项被开启:这是AdGuard Home默认设置中的一个“坑”,它会直接丢弃所有IPv6地址的查询请求。
  2. 上游DNS问题:虽然概率小,但您配置的加密DNS可能在某些网络环境下连接性不佳。

解决方案:无需更改路由器DNS,直接修复AdGuard Home配置

您不需要改变路由器现有的任何设置。只需通过AdGuard Home的Web界面(http://<服务器IP>:3000)修改以下关键配置即可。

第一步:立即检查并关闭“禁用IPv6”开关

这是最可能的原因,也是首先要检查的。

  1. 登录AdGuard Home管理后台。
  2. 点击顶部菜单栏的 “设置”
  3. 在左侧选择 “DNS设置”
  4. 向下滚动,找到 “IPv6解析” 这个区域。
  5. 确保 禁用 IPv6 地址解析 这个选项是 未勾选 状态!如果它被勾选了,请取消勾选。
  6. 点击页面最下方的 “应用设置”

时间: 2025-08-27T23:46:52



对话统计

  • 消息总数: 8 条
  • 处理状态: 成功转换