Closed Orokapei closed 3 years ago
第一个问题,代码会在生成配置文件时先移除原有的包含port的首行与首个包含proxy的行之间的所有行 如果是加空行才能生成,可能是回车编码或者类似的Linux不兼容的文件格式导致的。 请检查格式或尝试使用在线or本地的订阅转换功能。 第二个问题,纯tun模式不会转发非域名链接,非域名连接请使用http/sock代理或者使用混合模式
第一个问题,代码会在生成配置文件时先移除原有的包含port的首行与首个包含proxy的行之间的所有行 如果是加空行才能生成,可能是回车编码或者类似的Linux不兼容的文件格式导致的。 请检查格式或尝试使用在线or本地的订阅转换功能。 第二个问题,纯tun模式不会转发非域名链接,非域名连接请使用http/sock代理或者使用混合模式
非常感谢您的解答OvO,对于第一个问题我又试了一下获得了以下内容
++ grep -n port: /etc/clash/config.yaml
++ ++ cut -d : -f 1
head -1
+ a=
++ grep -n '^prox' /etc/clash/config.yaml
++ head -1
++ cut -d : -f 1
+ b=1
+ b=0
+ mkdir -p /tmp/clash_root
+ sed ,0d /etc/clash/config.yaml
因为订阅中不含port
且proxy-providers
位于第一行导致执行了sed ,0d
,但是这个语法我的认知中是错误的(本地linux测试确实,
报错了)
随意建了个文本,测试发现sed ,0d
openwrt自带的sed似乎执行了删除所有行,sed ,1d
执行后未对文本做任何处理于是导致了以上加一行合并成功的问题,不知有没有可能调整下配置的处理逻辑= =
起初是因为我的订阅链接中仅有以下字段的内容
启动后配置文件中仅有程序预定义的内容,订阅配置中的内容未成功合并
反复测试后发现只要在订阅配置前面加一行(空行也可以)就可以成功合并
不知道这个问题能否解决= = 另外不知tun模式需要什么依赖,除了kmod-tun还需要其他的吗,仅有kmod-tun的情况下似乎ip类的非域名连接无法转发到clash(例如telegram的连接),下面的是个人openwrt master分支编译用的config