9

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

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

下载镜像

容器名称: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

收藏
送赞 9
分享

发表回复

评论列表(34)

说明一下,需要提前先将配置文件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 回复
博主这个可以代理nas全局的么?
2024-11-10 15:54:49 回复
理论上可以,你找找资料,在群晖里有一个代理设置选项,飞牛里我没找到  详情 回复
2024-11-10 20:24
1234下一页
摸鱼大王

TA还没有介绍自己~

0

主题

1

回帖

1

积分

江湖小虾

积分
1
话题