xiaorouji / openwrt-passwall2

1.36k stars 440 forks source link

Sing-Box, DNS缓存与系统日志报错. #398

Closed xiaoshengshuohua closed 1 year ago

xiaoshengshuohua commented 1 year ago

描述您遇到的bug

app.sh文件内DNS_CACHE=$(config_t_get global dns_cache 0).

global.json文件内: "dns": { "disable_cache": true,

global_dns_direct.json文件内: "dns": { "disable_cache": false,

global_dns_direct.json的dns cache 并不受app.sh, DNS_CACHE布尔值的影响.


重刷固件或者重新启动路由器系统日志都有以下日志:

Fri Sep 22 11:44:17 2023 daemon.err sing-box[6023]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:22 2023 daemon.err sing-box[6063]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:27 2023 daemon.err sing-box[6098]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:32 2023 daemon.err sing-box[6144]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:37 2023 daemon.err sing-box[6190]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:37 2023 daemon.info procd: Instance sing-box::instance1 s in a crash loop 6 crashes, 0 seconds since last crash

复现此Bug的步骤

如上描述.

您想要实现的目的

关于 dns cache 这种现象是否有意为之, 还是忽略了或是 global_dns_direct.json 内 dns cache 并无所谓.

日志信息

Fri Sep 22 11:44:17 2023 daemon.err sing-box[6023]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:22 2023 daemon.err sing-box[6063]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:27 2023 daemon.err sing-box[6098]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:32 2023 daemon.err sing-box[6144]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:37 2023 daemon.err sing-box[6190]: [31mFATAL[0m[0000] read config at ./config.json: open ./config.json: no such file or directory
Fri Sep 22 11:44:37 2023 daemon.info procd: Instance sing-box::instance1 s in a crash loop 6 crashes, 0 seconds since last crash

截图

No response

系统相关信息

passwall2: 1.20-15

Chrome: 117.0.5938.92

其他信息

No response

xiaoshengshuohua commented 1 year ago

还有配置文件内分流规则:

        "domain_suffix": [
          ".push.apple.com",
        ],
        "domain": [
          "push.apple.com",
        ],

规则: domain:push.apple.com, 这是之前xray的写法, 匹配域名后缀.

现在使用 sing-box 分流, 仍然沿用这种写法, 同一个域名规则就会出现既有域名后缀匹配 domain_suffix, 又有完整域名匹配 domain .

xiaorouji commented 1 year ago

./config.json 應該不是passwall2邏輯生成的文件名

xiaoshengshuohua commented 1 year ago

./config.json 應該不是passwall2邏輯生成的文件名

祝节日快乐!

好的, 那么关于域名分流匹配模式呢?

使用的是domain的匹配方式, 现在却有完全匹配和后缀匹配.

还有Direct DNS的缓存不受app.sh内布尔值影响, global_dns_direct.json 的DNS缓存是否受global.json的影响.

skefy commented 1 year ago

我也遇到了这个问题,不知楼主解决了没有?

xiaoshengshuohua commented 1 year ago

我也遇到了这个问题,不知楼主解决了没有?

还没有.

Travel2Here commented 1 year ago

同发现这个问题,到底是singbox的什么初始化问题还是PW2调用的bug? read config at ./config.json: open ./config.json: no such file or directory

xiaoshengshuohua commented 1 year ago

@xiaorouji @Travel2Here

问题是 sing-box 配置示例造成的, 根据观察这个还有可能造成CPU高占用. https://github.com/xiaorouji/openwrt-passwall-packages/tree/main/sing-box/files

根据日志 sing-box 调用的是 ./config.json, /etc/sing-box 下示例名是 config.json.example.

尝试修改文件名后 singbox 可以正常读取示例, 但是里面错误多, 尝试修了一下没搞好, 你们来吧.

Gzxhwq commented 1 year ago

这些都是不用管的,这些问题和报错都与Passwall没有一点儿的关系。示例也是故意留点错误所以运行不起来的,这是给sing-box包单独运行用的,懂的人自然会写json配置使他跑起来。Passwall不会调用/etc/sing-box下的所有文件来运行sing-box。如果不想看系统日志报错,那把service sing-box disable掉就可以了。“千万不要”试图使sing-box单独跑起来又和Passwall一起使用。

Travel2Here commented 1 year ago

这些都是不用管的,这些问题和报错都与Passwall没有一点儿的关系。示例也是故意留点错误所以运行不起来的,这是给sing-box包单独运行用的,懂的人自然会写json配置使他跑起来。Passwall不会调用/etc/sing-box下的所有文件来运行sing-box。如果不想看系统日志报错,那把service sing-box disable掉就可以了。“千万不要”试图使sing-box单独跑起来又和Passwall一起使用。

这个听起来靠谱,我在luci里把启动项的singbox自启动禁止是不是一个意思?😂

Gzxhwq commented 1 year ago

这些都是不用管的,这些问题和报错都与Passwall没有一点儿的关系。示例也是故意留点错误所以运行不起来的,这是给sing-box包单独运行用的,懂的人自然会写json配置使他跑起来。Passwall不会调用/etc/sing-box下的所有文件来运行sing-box。如果不想看系统日志报错,那把service sing-box disable掉就可以了。“千万不要”试图使sing-box单独跑起来又和Passwall一起使用。

这个听起来靠谱,我在luci里把启动项的singbox自启动禁止是不是一个意思?😂

一样的

xiaoshengshuohua commented 1 year ago

ok!