作用
最近需要用到clash
的代理了, 发现官方给出的docker
镜像比较简陋, 不能根据订阅地址进行配置与自动更新. 因此自己制作了一个方便使用的, 只需要给出配置文件的订阅地址即可自动下载运行并更新.
根据给定的配置文件订阅地址下载, 并定时更新配置文件. 若没有订阅地址, 只是一个配置文件, 推荐直接使用官方的镜像: dreamacro/clash
注意 使用此方式执行时, 代理使用select
的请自行处理节点的选择. (可搭配 web 管理面板)
使用方式
命令行
docker run -d \
-e CONF_URL="https://xxxx" \
-p xx:xx
hujingnb/clash
compose
version: '3.1'
services:
clash:
image: hujingnb/clash
container_name: clash
ports:
- "xxx:xx"
environment:
CONF_URL: "http://xxx"
此时, 即可通过端口连接了, 是不是so easy啦.
高级
默认配置文件每天更新一次.
可通过设置额外环境变量改变默认行为, 支持变量如下:
CONF_URL
: 配置文件订阅地址UPDATE_INTERVAL
: 更新频率, 秒. 默认(86400)- 若设为0, 则不更新
EXTERNAL_BIND
: 默认(127.0.0.1
)EXTERNAL_PORT
: RESTful API 地址与端口. 默认(9090)- 若为空, 则不开启, 也不会更新配置文件
EXTERNAL_SECRET
: RESTful API的鉴权内容. 默认(空)- 注意, 若RESTful API需要对外开放, 最好设一下
覆盖配置文件的内容
external-controller
: 当需要更新时进行覆盖. 根据配置的环境变量secret
: API 鉴权时进行覆盖. 根据配置的环境变量allow-lan
: 将此值改写为true
. 若不允许局域网连接, 则仅容器内部可连接, 外部连接全部拒绝