[摸鱼大王]教你如何通过飞牛搭建clash本地代理并配置自动更新订阅

发表于:2024-11-9 20:48:23 Docker 3654

下载镜像

容器名称:centralx/clash image

配置clash docker 容器

容器名称 clash 映射路径: /vol1/1000/docker/clash/config.yaml 容器路径: /home/runner/.config/clash/config.yaml 端口映射:7890:7890 880 : 80 7890为代理端口 880为管理页面

image

编辑自动更新脚本

新建一个clash.sh文件,将下面内容添加到clash.sh上传到docker/clash 目录下 image

wget -O /vol1/1000/docker/clash/config.yaml "https://xxx.xxx"
if [ $? -eq 0 ]; then
  #更新配置文件
  sed -i 's/allow-lan: false/allow-lan: true/g' /vol1/1000/docker/clash/config.yaml
  echo "配置文件下载并更新成功。"
  #判断是否存在名为 'clash' 的容器
  if [ $(docker ps -q -f name=clash) ]; then
    # 停止容器
    echo "Stopping clash container..."
    docker stop clash
    # 启动容器
    echo "Starting clash container..."
    docker start clash
    echo "Clash Docker container restarted successfully."
  else
    echo "Clash container not found."
  fi
else
  echo "下载配置文件失败。"
fi

脚本说明:/vol1/1000/docker/clash/config.yaml 替换成docker映射的配置文件目录 https://xxx.xxx 替换成 clash 订阅链接下载地址,可以通过此网站将文件转换成clash链接:https://bianyuan.xyz/ 将上面clash替换你的容器名称,此脚本会自动更新订阅配置文件,并自动修改配置文件中的允许局域网连接,自动将配置文件重命名为config.yaml,并重启clahs docker容器

测试脚本

通过SSH登录飞牛系统后台 sudo -i 切换到root账号 image 切换到clash目录下 cd /vol1/1000/docker/clash/ 查看clash文件是否已经在目录下 ls 给予clash.sh脚本权限 chmod +x clash.sh 测试脚本是否能正常运行 ./clash.sh 如果脚本允许异常,文件在 Windows 系统上编辑并传输到 Linux 系统,可能会有 Windows 特有的回车换行符(\r),这会导致脚本无法执行。你可以使用以下命令查看文件中是否有多余的字符,可以使用 sed 命令来去除: sed -i 's/\r//g' ./docker.sh image

在系统中添加定时执行脚本

在 Debian 系统中,你可以使用 cron 来设置定时任务。以下是设置每天凌晨 4 点运行脚本的步骤: 打开 crontab 文件: 使用以下命令编辑当前用户的 crontab 文件: crontab -e 这会打开一个编辑器,让你编辑定时任务。如果是第一次使用,可能会提示选择编辑器,通常选择 nano 就可以。 添加定时任务: 在打开的编辑器中,添加以下一行来设置每天凌晨 4 点执行脚本: 0 4 * * * /path/to/your/script.sh image 其中,/path/to/your/script.sh 是你的脚本的完整路径。

解释: 0:分钟(0 分钟) 4:小时(凌晨 4 点) :日(每一天) :月(每个月) *:星期几(每周的每一天)

保存并退出: 如果你使用的是 nano 编辑器,按下 Ctrl+X 退出,然后按 Y 保存修改,最后按 Enter 确认文件名。

检查 cron 服务是否正在运行: 确保 cron 服务在运行中,你可以使用以下命令检查: sudo systemctl status cron 如果服务未运行,你可以启动它: sudo systemctl start cron 这样,每天凌晨 4 点,系统就会自动执行你指定的脚本。

你可以通过以下命令查看当前用户的 cron 任务: crontab -l image

查看clash配置

检查是否勾选允许局域网的连接 image image

配置win系统代理

配置你的飞牛系统IP, 端口 7890 屏蔽本地IP不走代理

localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;172.32.*;192.168.*

image

测试网络

image

收藏
送赞 10
分享

发表回复

评论列表(36)

说明一下,需要提前先将配置文件config.yaml,放到映射目录下,容器才能正常启动。
2024-11-10 11:27:00 回复
time="2024-11-10T10:41:59+08:00" level=fatal msg="Parse config error: configuration file /home/runner/.config/clash/config.yaml is empty"
2024-11-10 10:44:11 回复
错误信息 Parse config error: configuration file /home/runner/.config/clash/config.yaml is empty 表示 Clash 配置文件为空,导致程序无法启动。 你要先把config.yaml 配置文件放到目录下,才能启动  详情 回复
2024-11-10 11:26
这个是把飞牛当做主路由还是旁路由了,我当做nas,这个弄好了,怎么上网?
2024-11-10 11:18:00 回复
这不是作为路由使用,只是作为代理使用  详情 回复
2024-11-10 11:24
这不是作为路由使用,只是作为代理使用
2024-11-10 11:24:39 回复
哦,那理解了  详情 回复
2024-11-10 11:37
错误信息 Parse config error: configuration file /home/runner/.config/clash/config.yaml is empty 表示 Clash 配置文件为空,导致程序无法启动。 你要先把config.yaml 配置文件放到目录下,才能启动
2024-11-10 11:26:05 回复
time="2024-11-17T14:06:19+08:00" level=fatal msg="Parse config error: configuration file /home/runner/.config/clash/config.yaml is empty" 没有这个路径,可以换其他的吗? 或者容器路径在哪里?  详情 回复
2024-11-17 14:14
摸鱼大王 发表于 2024-11-10 11:24
这不是作为路由使用,只是作为代理使用

哦,那理解了
2024-11-10 11:37:38 回复
默认的登录密钥是什么呢?
2024-11-10 12:00:45 回复
没有,密钥  详情 回复
2024-11-10 12:27
没有,密钥
2024-11-10 12:27:59 回复
没密码那里点了没反应  详情 回复
3 小时前
博主这个可以代理nas全局的么?
2024-11-10 15:54:49 回复
理论上可以,你找找资料,在群晖里有一个代理设置选项,飞牛里我没找到  详情 回复
2024-11-10 20:24
理论上可以,你找找资料,在群晖里有一个代理设置选项,飞牛里我没找到
2024-11-10 20:24:56 回复
大佬,可以教一下怎么部署openclash吗?让nas可以直接用官方镜像下载东西
2024-11-11 14:30:29 回复
给飞牛docker添加代理的方法
创建或编辑 Docker 守护进程的代理配置文件,
创建目录 docker.service.d,添加http-proxy.conf配置文件
```
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
```
创建和编辑代理配置文件:
```
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
```
在 http-proxy.conf 文件中,可以添加以下内容来定义代理:
```
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=https://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1"
```
ctrl+o 保存 ,y 退出

保存文件并刷新 systemd 配置,然后重启 Docker:
```
sudo systemctl daemon-reload
sudo systemctl restart docker
```

查看代理是否配置成功
检查 Docker 服务环境变量
```
systemctl show --property=Environment docker
```
输出结果中应包含代理环境变量 HTTP_PROXY 和 HTTPS_PROXY 表示代理成功
2024-11-11 16:02:22 回复
这个配置了飞牛的浏览器还是不能上google  详情 回复
2024-11-14 16:58
有用插眼👀👀👀
2024-11-12 16:37:29 回复
这个配置了飞牛的浏览器还是不能上google
2024-11-14 16:58:57 回复
出现编辑外部控制设置有密钥,点确定也没反应,容器路径的yaml文件及目录是自动生成的吗?
2024-11-15 23:56:34 回复
time="2024-11-17T14:06:19+08:00" level=fatal msg="Parse config error: configuration file /home/runner/.config/clash/config.yaml is empty"

没有这个路径,可以换其他的吗?
或者容器路径在哪里?
2024-11-17 14:14:06 回复
1:容器路径: /home/runner/.config/clash/config.yaml
容器路径是哪个?自己创建的吗?
2:安装完成显示“编辑外部控制设置”弹窗,任何操作无反应。
求教一下大佬
2024-11-17 17:25:27 回复
[attachimg]8219[/attachimg]容器路径: /home/runner/.config/clash/config.yaml  详情 回复
2024-11-17 18:45
容器路径: /home/runner/.config/clash/config.yaml

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
2024-11-17 18:45:36 回复
这是容器的默认路径吗?我本地是没有这个路径的,要新建吗? config.yaml文件是从订阅链接下载的吗?  详情 回复
2024-11-18 13:54
请问syntax error near unexpected token `fi'”的问题怎么解决?
2024-11-18 06:54:06 回复
出现 syntax error near unexpected token 'fi' 错误通常表明脚本中的语法有问题,比如 if 和 fi 的匹配不正确,或者在 if 块中嵌套的语法有错误。  详情 回复
2024-11-18 09:04
12下一页