juewuy / ShellCrash

Run sing-box/mihomo as client in shell
9k stars 1.49k forks source link

fix DoH/DoT always fallback check /etc/ssl/ #775

Closed abcfy2 closed 1 month ago

abcfy2 commented 1 month ago

在华硕路由器中,openssldir 并不指向 /etc/ssl/:

# openssl version -d
OPENSSLDIR: "/etc"

旧的判断逻辑会导致无法使用DoH/DoT,其实是可以使用的,因为openssl内部会fallback,优先查找 OPENSSLDIR,找不到证书文件的时候会fallback到 /etc/ssl/certs/,所以改了下判断逻辑。

实际在路由上 curl, wget 之类的都可以可以访问https网站没有问题的,所以做一下兼容性调整

juewuy commented 1 month ago

我不确定openssl -d这个命令是否是所有设备通用的,可能部分设备存在不支持该参数的问题,所以才使用了-a

abcfy2 commented 1 month ago

我不确定openssl -d这个命令是否是所有设备通用的,可能部分设备存在不支持该参数的问题,所以才使用了-a

我找了各种版本的openssl,从1.0.2到 3.3.0,都测试了一遍,是支持的。如果不放心的话改回去也没问题,这里的核心是用-o连接or条件做个fallback检测

juewuy commented 1 month ago

@abcfy2 OK

juewuy commented 1 month ago

@abcfy2 webget里面的手动更新本地证书最好也能修改成一致的

juewuy commented 1 month ago

https://github.com/juewuy/ShellCrash/blob/dev/scripts%2Fwebget.sh#L1946-L1946 https://github.com/juewuy/ShellCrash/blob/dev/scripts%2Fwebget.sh#L2286-L2286 这两处辛苦也改一下

abcfy2 commented 1 month ago

应该OK了,可以review一下

juewuy commented 1 month ago

辛苦

abcfy2 commented 1 month ago

是否考虑将build出来的那些二进制文件和list文件之类的剥离出来,扔到 release 页面减小仓库大小? https://github.com/juewuy/ShellCrash/releases

而且可以走各种GH proxy

仓库实在太大了,clone一次好几个GB

juewuy commented 1 month ago

@abcfy2 深度为1就好了,release的话一些ghproxy会出问题