GithubHelp home page GithubHelp logo

Comments (19)

cattyhouse avatar cattyhouse commented on July 19, 2024 1

纯域名分流模式下不执行 ipset/nftset 逻辑 :

default-tag 用来实现"纯域名分流",可提供比dnsmasq更优秀的匹配性能。
通常与-g或-m选项一起用,纯域名分流模式下不执行 ipset/nftset 逻辑,如:
-g gfwlist.txt -d chn:gfw列表的域名走可信上游,其他走国内上游。
-m chnlist.txt -d gfw:chn列表的域名走国内上游,其他走可信上游。

EDIT by zfl9:

这个不对哈,只是不执行ip test逻辑。ip add不影响,不然就没法实现gfwlist分流了

from chinadns-ng.

cattyhouse avatar cattyhouse commented on July 19, 2024 1

一旦指定了 -d,--default-tag, 那么 chnroute, ipset, nftset 功能全部 不起作用. 只有-g -m 2个列表起作用了, 一刀切模式.


EDIT by zfl9:

实际并不是这样,纯域名分流并没有什么特别之处,纯域名分流说白了就是将未匹配的域名(tag:none),手动归类为 tag:gfw 或 tag:chn。核心就这一处逻辑,其它逻辑完全没影响。

也就是说,未匹配域名,默认是 tag:none,如果指定了 -d gfw,那就是默认 tag:gfw,如果指定了 -d chn,那就是默认 tag:chn,除此之外,所有逻辑不变。

from chinadns-ng.

yiguihai11 avatar yiguihai11 commented on July 19, 2024

纯域名分流模式下不执行 ipset/nftset 逻辑 :

default-tag 用来实现"纯域名分流",可提供比dnsmasq更优秀的匹配性能。
通常与-g或-m选项一起用,纯域名分流模式下不执行 ipset/nftset 逻辑,如:
-g gfwlist.txt -d chn:gfw列表的域名走可信上游,其他走国内上游。
-m chnlist.txt -d gfw:chn列表的域名走国内上游,其他走可信上游。

若启用--add-taggfw-ip,则gfwlist.txt域名(准确来说是tag为gfw的域名)的解析结果IP会被动态添加到ipset/nftset,可用来实现gfwlist透明代理分流;也可配合chnroute透明代理分流,用来收集黑名单域名的IP,用于iptables/nftables操作,比如确保黑名单域名必走代理,即使某些黑名单域名的IP是大陆IP

from chinadns-ng.

yiguihai11 avatar yiguihai11 commented on July 19, 2024

一旦指定了 -d,--default-tag, 那么 chnroute, ipset, nftset 功能全部 不起作用. 只有-g -m 2个列表起作用了, 一刀切模式.

所以我要删除这个吗

from chinadns-ng.

cattyhouse avatar cattyhouse commented on July 19, 2024

你这个参数也用错了, correct 一下 :
--add-taggfw-ip=inet@shadowsocks@chnroute,inet@shadowsocks@chnroute6

from chinadns-ng.

cattyhouse avatar cattyhouse commented on July 19, 2024

#127 (comment)

from chinadns-ng.

yiguihai11 avatar yiguihai11 commented on July 19, 2024

还是没有添加进去

from chinadns-ng.

cattyhouse avatar cattyhouse commented on July 19, 2024

你修正后的启动参数是?

还是没有添加进去

from chinadns-ng.

cattyhouse avatar cattyhouse commented on July 19, 2024

你加到了 inet@shadowsocks@chnroute , 却 list 这个 nft list set inet shadowsocks gfwlist

from chinadns-ng.

yiguihai11 avatar yiguihai11 commented on July 19, 2024

你修正后的启动参数是?

还是没有添加进去

./chinadns-ng --bind-addr 127.0.0.1 --bind-port 65353 --china-dns 127.0.0.1#65354 --trust-dns 8.8.8.8#53,1.1.1.1#53 --gfwlist-file gfwlist.txt add-taggfw-ip inet@shadowsocks@gfwlist,inet@shadowsocks@gfwlist6 --verbose

明天再研究了

from chinadns-ng.

cattyhouse avatar cattyhouse commented on July 19, 2024

--add-taggfw-ip 而不是 add-taggfw-ip

from chinadns-ng.

zfl9 avatar zfl9 commented on July 19, 2024

我要指正一下,纯域名分流模式,只是不执行 ip test 逻辑,ip add逻辑不影响

from chinadns-ng.

zfl9 avatar zfl9 commented on July 19, 2024

你这个是参数错了,没有用 --add-taggfw-ip ,你前面两个 -- 没有带上。

from chinadns-ng.

zfl9 avatar zfl9 commented on July 19, 2024

准确来说。是否执行ipset逻辑,只取决于域名类型

tag:chn类型,ip add逻辑,选项是 --add-tagchn-ip

tag:gfw类型,ip add逻辑,选项是 --add-taggfw-ip

tag:none类型,ip test逻辑,选项是最原始的 --ipset-name4/name6,有默认值 chnroute chnroute6

纯域名分流模式只是没有 tag:none 域名,也就是不会执行 test 逻辑,但是 ip add 逻辑不会受影响。

from chinadns-ng.

zfl9 avatar zfl9 commented on July 19, 2024

你观察chinadns-ng启动的输出就知道了。

会打印 tag:none,tag:gfw,tag:chn 分别用了什么ipset/nftset。

from chinadns-ng.

zfl9 avatar zfl9 commented on July 19, 2024

改了一下readme,防止还有人产生误解。。。

from chinadns-ng.

zfl9 avatar zfl9 commented on July 19, 2024

./chinadns-ng --bind-addr 127.0.0.1 --bind-port 65353 --china-dns 127.0.0.1#65354 --trust-dns 8.8.8.8#53,1.1.1.1#53 --gfwlist-file gfwlist.txt --default-tag chn add-taggfw-ip inet@shadowsocks@chnroute,inet@shadowsocks@chnroute6 --verbose

你仔细看启动参数,是 --add-taggfw-ip,不是 add-taggfw-ip。

所有option都是-开头,一个-是短选项,两个--是长选项。

由于我的疏忽,程序并未检测非-开头的未知选项。。

@yiguihai11

from chinadns-ng.

yiguihai11 avatar yiguihai11 commented on July 19, 2024

./chinadns-ng --bind-addr 127.0.0.1 --bind-port 65353 --china-dns 127.0.0.1#65354 --trust-dns 8.8.8.8#53,1.1.1.1#53 --gfwlist-file gfwlist.txt --default-tag chn add-taggfw-ip inet@shadowsocks@chnroute,inet@shadowsocks@chnroute6 --verbose

你仔细看启动参数,是 --add-taggfw-ip,不是 add-taggfw-ip。

所有option都是-开头,一个-是短选项,两个--是长选项。

由于我的疏忽,程序并未检测非-开头的未知选项。。

@yiguihai11

尴尬!确实是参数写错了。应该养成良好的写作习惯才行。

./chinadns-ng \
--bind-addr 127.0.0.1 \
--bind-port 65353 \
--china-dns 127.0.0.1#65354 \
--trust-dns 8.8.8.8#53,1.1.1.1#53 \
--gfwlist-file gfwlist.txt \
--default-tag chn \
--add-taggfw-ip inet@shadowsocks@chnroute,inet@shadowsocks@chnroute6 \
--verbose

这样的写脚本的就不会连成一陀了直观多了,麻烦大家了。谢谢!

from chinadns-ng.

zfl9 avatar zfl9 commented on July 19, 2024

加了个检测提示。

from chinadns-ng.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.