使用 daemon 把 clash 服务化

Jul 08, 2024 • 预计阅读时间 1 分钟

在这个例子中使用 daemonclash 服务化纯粹是为了增加乐趣。

安装 daemon

$ sudo apt install daemon

创建一个低权限的系统用户,用户名为 clash,不需要密码并且没有 home 目录:

$ sudo adduser --quiet --system --no-create-home --disabled-password clash

设置使用 daemon 来启动 clash 并且使用刚刚创建的低权限的用户:

$sudo /usr/bin/daemon -n clash -r -u clash -F /tmp/clash.pid -X "/usr/local/bin/clash -d /usr/local/etc/clash"

因为刚才创建的系统用户 clash 是没有权限监听 1024 以下的端口号的,还需要额外设置一下,否则如果 clash 的 DNS 模块监听了 53 端口就不可用。

clash 用户创建的进程可以监听 1024 以下的端口:

$sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/clash
Debian
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

使用 dog 查询 DNS

FreeBSD 创建 Swap 文件