Skip to content
This repository has been archived by the owner on Feb 5, 2025. It is now read-only.

[Bug] 匹配到使用代理(非直连)规则的域名,不会读取系统hosts,勾选【使用系统Hosts】也不生效 #425

Closed
4 of 6 tasks
huxiaoning opened this issue Dec 24, 2024 · 4 comments

Comments

@huxiaoning
Copy link

Verify steps

  • 我已在标题简短的描述了我所遇到的问题
  • 我已在 Issue Tracker 中寻找过我要提出的问题,但未找到相同的问题
  • 我已在 常见问题 中寻找过我要提出的问题,并没有找到答案
  • 这是 GUI 程序的问题,而不是内核程序的问题
  • 我已经关闭所有杀毒软件/代理软件后测试过,问题依旧存在
  • 我已经使用最新的测试版本测试过,问题依旧存在

操作系统

Windows

系统版本

Win11

发生问题 mihomo-party 版本

v1.5.12

描述

匹配到使用代理(非直连)规则的域名,不会读取系统hosts,勾选【使用系统Hosts】也不生效.

重现方式

场景:
我是一名开发人员,我的开发环境在国内公司内网,生产环境在境外,
我们有一个域名,如www.abc.com

我使用switch hosts进行环境切换:
开发环境配置如下:
2.2.2.2 www.abc.com # (假设2.2.2.2是我们的一个内网IP,我们希望进行直连访问)
生产环境的配置中没有关于www.abc.com的配置,我们需要使用dns解析进行代理访问。

我在覆盖脚本中设置这个域名走代理
config.rules.unshift("DOMAIN,www.abc.com,proxy");

1 当我切换到开发环境,无法正常访问2.2.2.2,它不会读取switch hosts修改后的hosts文件
2 切换到正式环境是没有问题的,可以正常访问生产环境(解析正确)。

希望可以在解析需要代理访问的域名前先查询系统host。

@xishang0128
Copy link
Member

发送给代理的是“域名”而不是“解析后的地址”,你需要在入站前解析为地址

@PctAIGM
Copy link

PctAIGM commented Dec 24, 2024

https://wiki.metacubex.one/config/dns/diagram/

解析流程如此,你可以试试配置基于IP的代理规则,而不是域名的规则

@huxiaoning
Copy link
Author

huxiaoning commented Dec 24, 2024

https://wiki.metacubex.one/config/dns/diagram/

解析流程如此,你可以试试配置基于IP的代理规则,而不是域名的规则

非常感谢,我用下面的配置解决了问题:
IP-CIDR,2.2.2.2/32,DIRECT
DOMAIN,www.abc.com,proxy

@huxiaoning
Copy link
Author

huxiaoning commented Dec 24, 2024

发送给代理的是“域名”而不是“解析后的地址”,你需要在入站前解析为地址

非常感谢,我用下面的规则配置解决了问题。
IP-CIDR,2.2.2.2/32,DIRECT
DOMAIN,www.abc.com,proxy

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants