From aa34ba21ec46e5a30f13a283919523b2958f6e66 Mon Sep 17 00:00:00 2001 From: zfl9 Date: Tue, 10 Sep 2024 17:01:44 +0800 Subject: [PATCH] update readme --- README.md | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 189d087..c6f7d88 100644 --- a/README.md +++ b/README.md @@ -151,9 +151,14 @@ ARCH=mips32r5 && MIPS_M_ARCH=$ARCH zig build -Dtarget=mipsel-linux-musl -Dcpu=$A ## 配置示例 -- chinadns-ng 通常与 iptables/nftables 透明代理一起用。 -- 这里列举的三个例子其实就是 [ss-tproxy](https://github.com/zfl9/ss-tproxy) 中的使用范例。 -- 当然也可以在其他 Linux 环境下使用,具体看你的需求。 +- chinadns-ng 通常与 iptables/nftables 透明代理一起使用。 +- 也可作为单纯的 DNS 转发器(如 UDP->TCP)、分流器使用。 +- 下面列举的 3 种分流模式配置其实都是 [zfl9/ss-tproxy](https://github.com/zfl9/ss-tproxy) 中的用例。 + +**注意** + +- 程序不会自动创建 ipset/nftset 集合;若需要 ip test/add,请先导入/创建 set。 +- 所有带 ipset 字眼的配置都支持 nftset,如需使用 nftset,请阅读 [nftset 相关说明](#ipset/nftset-相关说明)。 --- @@ -201,6 +206,8 @@ verdict-cache 4096

+--- + ### gfwlist 分流模式 - gfwlist.txt (tag:gfw) 走可信上游,将 IP 收集至 `gfwip,gfwip6` ipset @@ -236,6 +243,8 @@ cache-refresh 20

+--- + ### global 分流模式 - ignlist.txt (tag:chn) 走国内上游,将 IP 收集至 `ignip,ignip6` ipset @@ -273,9 +282,11 @@ cache-refresh 20 ## 命令选项 +- `-f` 短选项、`--foobar` 长选项 - `--foo `:选项值是 required 的 - `--bar [value]`:选项值是 optional 的 - `--flag`:没有选项值,即 bool/flag 选项 +- 配置文件中使用长选项格式(没有`--`),如 `verbose`
点我展开所有选项

@@ -424,13 +435,28 @@ bug report: https://github.com/zfl9/chinadns-ng. email: zfl9.com@gmail.com (Otok - 2024.04.13 版本起,也用于 `--no-ipv6` 的 `ip:china`、`ip:non_china` 规则。 - 2024.04.13 版本起,可使用特殊集合名 `null` 表示对应集合不会被使用。 -nftset 参数格式及注意事项(`add-tag*-ip`、`group-ipset`、`ipset-name*`) +### ipset/nftset 相关说明 + +相关配置/命令行选项: + +- **ip test**:`ipset-name4`、`ipset-name6`(默认为 chnroute、chnroute6) +- **ip add**: `add-tagchn-ip`、`add-taggfw-ip`、`group-ipset`(无默认行为) +- 注意:所有相关配置要么使用 ipset 后端,要么使用 nftset 后端,不允许混用 +- 程序不会自动创建 ipset/nftset 集合,如果需要,请先手动导入/创建相关集合 + +ipset 相关说明: + +- 集合名正常给出即可,如 chnroute +- res/chnroute.ipset 文件的集合名:`chnroute` +- res/chnroute6.ipset 文件的集合名:`chnroute6` + +nftset 相关说明: -- nftset 名称格式:`family名@table名@set名` +- 集合名的完整格式:`family名@table名@set名` - 创建 nftset 集合时,必须带上 `flags interval` 标志 - 支持的 family:`ip`、`ip6`、`inet`、`arp`、`bridge`、`netdev` -- 自带的 chnroute.nftset 文件的集合名为 `inet@global@chnroute` -- 自带的 chnroute6.nftset 文件的集合名为 `inet@global@chnroute6` +- res/chnroute.nftset 文件的集合名:`inet@global@chnroute` +- res/chnroute6.nftset 文件的集合名:`inet@global@chnroute6` ### group、group-*