生成clash 配置的情况
docker 部署
关于路径的映射。
我选择将整个base 文件夹 映射到宿主机的目录上。一开始不太懂,后来根据docker 的文档得知,这种情况如果宿主机的文件夹为空,则会覆盖容器内的文件夹。
选择的解决方法是,启动一次容器,将容器内的文件夹复制到宿主机,再重新改一下docker 的配置文件做映射,在启动容器。
用的compose 方式部署,修改的地方也不算多。
配置文件
这部分主要还是看官方的文档,加上实践得出来的一些经验
pref 文件
Subconverter 会依次读取toml
、ini
、yaml
结尾的配置文件,优先级从高到低,且高优先级的配置会覆盖低优先级的。
一般直接修改pref.toml
文件即可。我修改的地方不多,一个是修改一下token,之后在最后根据情况增加了几个aliases
而已。
修改pref.toml
文件之后,需要重启docker 容器才生效。(感觉是不用的,不知道原因,猜测是docker 文件映射的缘故吧)
profile 文件
放配置的地方。即配置文件生成的一些参数。
用于/getprofile
URI
在这个文件中,主要是配置将一些原本需要转化的参数,浓缩为一个文件,方便缩短url
config 文件
在这个文件,主要配置经转换的文件如何将节点分配成组,将规则如何分配成组。即,经过profile 文件配置的uri 参数,获取的n个节点,哪些节点分配给哪个组,同时,配置得到的这些节点组如何用于哪些规则
base文件夹中的模版
仅针对clash 配置文件模版
其中proxy-group
、rule-provider
按照以下格式填就可以了。subconverter 生成配置文件的时候,会根据config 文件中的配置做填充
proxy-group: ~
rule-provider: ~
snippets 文件
如果profile 中配置的expand 参数为true(默认),则subconverter 会从获取所有的规则集的所有规则,并每一条都写入到最终的config.yaml
文件中。此时按照ACL4SSR 中的文件举例的话,应该使用.list
结尾的文件。
如果profile 中配置的expand 参数为false,即不展开,则应该使用.yaml
结尾的文件。此时生成最后的配置文件中,这些外部的规则集会作为rule-provider
填充