OpenClash
OpenClash copied to clipboard
[Feature] Faker-ip模式下增加开关, DNS请求发送到 7874端口时,"对于无需代理的DNS请求返回真实IP,需要代理的DNS请求返回Fakeip"
Verify Steps
- [X] Tracker 我已经在 Issue Tracker 中找过我要提出的问题
- [X] Need 当前 OpenClash 并不包含该功能特性或者还不完善
- [X] Framework 这是 OpenClash 应包含的特性, 并非 Clash 特性
- [X] Meaningful 我提交的不是无意义的 催促更新或修复 请求
Describe the Feature
应用场景: 主路由(TPLINK等)利用FAKE-IP静态路由来魔法上网 (主路由各种原因被限制,软路由不够强,只想走少数流量,所有设备均直连主路由,更加稳定)
工作方式: 设备 (所有设备网关为主路由) 请求DNS (DNS服务器为旁路由)
- openclash根据请求域名判断是否需要代理,如果需要代理则返回198.18.0.0/16保留地址,无需代理则返回正常IP
- 设备拿到resolve的IP,把请求发送到主路由
- 主路由发现请求地址198.18.0.0/16时,静态路由策略将流量再次转发到旁路由(openclash),如果请求地址为正常地址,则直接上网 (个人认为该方法是绕过中国大陆IP模式的跨设备变种方法,但是存在一定限制,例如IP直连无法代理等,但是胜在主路由稳定,对要求不高的大部分人都适用,旁路由故障不至于短时间内断网)
当前限制:
- openclash开启fake-ip模式后,除非在fake-ip-filter中定义域名,不然会直接返回fake-ip,无法根据需求,部分返回真实IP
- fake-ip-filter不支持IP-CIDR,geoip:cn或geoip:site,如果手动设置会比较麻烦
希望新增功能 功能类似于: DNS查询7874端口时,域名match !cn: (返回fakeip) -> 域名!match !cn, 进行国内resolve -> 解析结果match geoip:cn (返回真实IP), 解析结果!match geoip:cn(返回fakeip)
Describe the Solution
~~增强fake-ip-filter功能(支持CIDR,geodat) 或~~ --- 看上去不太合适? 根据查询结果(参照fallback-dns查询), 增加一个开关,效果为:"判断是否需要代理,需要代理则返回fake-ip,无需代理则返回真实IP"
Describe Alternatives
目前自用的解决方式是使用另外一个支持 geo的DNS分流软件,国外组DNS上游为openclash,国内组默认,这样需要代理的地址全部是openclash的fake-ip,主路由再设置静态路由即可
只是觉得这样一来又要装其他软件,如果只要openclash就能解决是最好的,请看看这个功能是否方便实现?
Additional Context
增强fake-ip-filter功能(支持CIDR,geodat)
这是内核功能,oc不管
根据查询结果(参照fallback-dns查询),增加一个返回真实IP的开关
你是否在搜索 metacubexd
其实有点像绕过大陆DNS那种(第二DNS)...只是那个是用ipset完成的,不过这个顺序是反着的,就是需要代理的域名使用fake-ip,不需要代理的直接resolve并返回结果 类似于 域名match !cn: (返回fakeip) -> 域名!match !cn, 进行国内resolve -> 解析结果match geoip:cn (返回真实IP), 解析结果!match geoip:cn(返回fakeip)
增强fake-ip-filter功能(支持CIDR,geodat)
这是内核功能,oc不管
根据查询结果(参照fallback-dns查询),增加一个返回真实IP的开关
你是否在搜索 metacubexd
如果不是做增强,而是加一个开关,上面提到的第二种思路,有可能实现吗?
--metacubexd, 呃其实主要需求是7874 端口的DNS 返回结果(无需代理返回真实IP,需代理返回fakeip,以供主(硬)路由使用静态路由规则),真实IP我可以在插件调试那边用CLASH的DNS查询到
可能我对问题的表述有点不清晰,我把标题再修改一下
那就是redir-host和fake-ip混合模式嘛
内核那边有人提,但呼声不高
在域名解析的过程中,先遍历一遍规则,发现规则匹配的是DIRECT,则返回真实IP(类似redir-host行为),若不是DIRECT,则返回fake-ip。
那就是redir-host和fake-ip混合模式嘛
内核那边有人提,但呼声不高
在域名解析的过程中,先遍历一遍规则,发现规则匹配的是DIRECT,则返回真实IP(类似redir-host行为),若不是DIRECT,则返回fake-ip。
(:з」∠) 好吧,原来已经有了说法了,叫混合模式,谢谢解答~
还确定名称和细节,单纯是提出了一个想法,你可以去支持一下
自己复制一下吧,我就不让它超链接了https://github.com/MetaCubeX/mihomo/issues/916
还确定名称和细节,单纯是提出了一个想法,你可以去支持一下
自己复制一下吧,我就不让它超链接了
https://github.com/MetaCubeX/mihomo/issues/916
差点以为链接复制错了,为什么名字是mihomo,哈哈哈~ 已经发过去了,思路稍微有点点修正,看起来更加合理一些,希望能够被支持
openclash开启fake-ip模式后,除非在fake-ip-filter中定义域名,不然会直接返回fake-ip,无法根据需求,部分返回真实IP fake-ip-filter不支持IP-CIDR,geoip:cn或geoip:site,如果手动设置会比较麻烦
就这两条真的是绝对的痛点!!! 哎。。。期待。
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days