很多在功能设计可能需要常驻后台的软件,
一般在通过包管理器安装时,都会附带一个service文件(可以用service命令查看是否有相关的服务),文件路径在/etc/init.d/下面。
通过这个service功能可以方便的启动停止和重载,以及开机自启。
在普通的pc端的linux发行版上,这个对应的软件是systemd(命令是systemctl)。
以singbox为例,
如果手动启动的话,一般是sing-box run -c config.json
就是指定配置文件并run(运行)。
对应的service文件其实也是封装了这个命令的脚本。
其中配置文件是这一行。
config_get config_file "main" "conffile" "/etc/sing-box/config_2way.json"
默认是config.json,
我用的是根据订阅链接生成的规则完善的配置文件,但是有一个问题,当路由规则多了一旦想改出口节点就会很繁琐每一个分流都要改。
所以我想要一个简单粗暴的分流规则,只有直连和国外两个选项。
中国的网站走direct,所有被墙的都走同一个代理出口,不进行详细分流。
有三总配置文件的方案:
- 直接在/etc/sing-box/config.json里面写,原本的配置被覆盖。
2.将原来的文件备份,改成另一个名字,用congfig.json写新的配置文件。
3.新建一个配置文件,写新配置,原来的config.json不动。
首先pass方案一,后悔药还是要留一颗的。
方案二,如果想切换配置文件,就要来回的备份和修改文件名,这个过程试过的人都知道,不难,但是很繁琐且容易出错,mv的时候万一搞错了就覆盖了。
方案三,只要让启动脚本里面指向的配置文件变化就行了,只需要该一个字段
技巧