Doc: add FreeBSD rc script (#2925)

This commit is contained in:
Song Tianxiang 2023-09-11 11:51:13 +08:00 committed by Dreamacro
parent db2b5db2c6
commit d034a408be
1 changed files with 82 additions and 0 deletions

View File

@ -130,3 +130,85 @@ Stop Clash with:
```shell
docker-compose stop
```
## FreeBSD rc
install clash with `ports(7)` or `pkg(8)`
copy the required files to `/usr/local/etc/clash`
```shell
cp config.yaml /usr/local/etc/clash/
cp Country.mmdb /usr/local/etc/clash/
```
Create the rc configuration file at `/usr/local/etc/rc.d/clash`:
```shell
#!/bin/sh
# PROVIDE: clash
# REQUIRE: NETWORKING DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name=clash
rcvar=clash_enable
: ${clash_enable="NO"}
: ${clash_config_dir="/usr/local/etc/clash"}
required_dirs="${clash_config_dir}"
required_files="${clash_config_dir}/config.yaml ${clash_config_dir}/Country.mmdb"
command="/usr/sbin/daemon"
procname="/usr/local/bin/${name}"
pidfile="/var/run/${name}.pid"
start_precmd="${name}_prestart"
clash_prestart()
{
rc_flags="-T ${name} -p ${pidfile} ${procname} -d ${clash_config_dir} ${rc_flags}"
}
load_rc_config $name
run_rc_command "$1"
```
make the script executable:
```shell
chmod +x /usr/local/etc/rc.d/clash
```
Launch clashd on system startup with:
```shell
service clash enable
```
Launch clashd immediately with:
```shell
service clash onestart
```
Check the status of Clash with:
```shell
service clash status
```
You can check log in file `/var/log/daemon.log`
::: tip
If you want to change the default config directory add the following lines to /etc/rc.conf :
```shell
clash_enable (bool): Set it to YES to run clash on startup.
Default: NO
clash_config_dir (string): clash config directory.
Default: /usr/loca/etc/clash
```
:::