









记录正在发生的一切
写在前面
记录我学习和实践中正在发生的一切
标签
AI工具 Anadius APNG C++ DeepSeek Docker Electron GIF GitHub Hexo Linux Markdown Mermaid mizuki Mizuki Office PAC Python Steam Tampermonkey The Sims 4 Visual Studio Windows SDK 个人成长 个体觉醒 产品设计 代理设置 加密 动效 博客写作 备份 安全 实用工具 工具 排坑 时间维度 服务部署 杂谈 权力反思 模拟人生4 汉化教程 油猴脚本 测试 温柔记录 游戏 游戏感悟 演示 漫画 独立开发 示例 视频 系统 网盘工具 网站维护 网络 网络代理 网络配置 自动化 自定义 自我觉察 软件推荐 软路由 远程控制 避坑 音乐播放器 黑神话悟空
站点统计
34
7
66
41,499
0 天
0 天前
一
二
三
四
五
六
日
842 字
4 分钟
部署 sub2clash 订阅转换
本文涉及网络配置相关内容,请合理使用,遵守相关法律法规。
一、项目介绍#
sub2clash是一个功能强大的订阅转换工具,具有以下特性:
- 开箱即用的规则、策略组配置
- 自动根据节点名称按国家划分策略组
- 支持多订阅合并
- 自定义Rule Provider和Rule
- 支持多种代理协议:
- Shadowsocks
- ShadowsocksR
- Vmess
- Vless (Clash.Meta)
- Trojan
- Hysteria (Clash.Meta)
- Hysteria2 (Clash.Meta)
- Socks5
二、系统要求#
{% tabs requirements %}
1支持架构:amd64, arm642内存要求:≥ 64MB3存储空间:≥ 10MB1操作系统:Linux (包括OpenWrt)2依赖组件:curl, screen3可选组件:cron (定时更新)前期准备#
{% tabs prepare %}
1# Debian/Ubuntu 系统2apt-get update3apt-get install screen curl cron -y4
5# CentOS/RHEL 系统6yum install screen curl cron -y7
8# OpenWrt/软路由系统9opkg update10opkg install screen curl coreutils-nohup bash11opkg install cron12
13# 如果是 ash shell,建议安装 bash14opkg install bash15chsh -s /bin/bash- screen (用于保持服务运行)
- curl (用于下载文件)
- cron (用于定时任务)
- bash (推荐安装,提供更好的脚本兼容性)
安装步骤#
1. 下载并安装 sub2clash#
首先从 GitHub 下载最新版本的 sub2clash: 注意:请根据您的系统架构选择对应的版本(amd64/arm64)
1# 下载发布包2wget https://github.com/nitezs/sub2clash/releases/download/v0.0.10/sub2clash_0.0.10_linux_arm64.tar.gz3
4# 解压文件5tar -xzf sub2clash_0.0.10_linux_arm64.tar.gz6cd sub2clash_0.0.10_linux_arm642. 启动转换服务#
1# 使用 screen 保持服务运行2screen -dmS sub2clash ./sub2clash3
4# 检查服务状态5screen -ls6# 应该看到 sub2clash 会话3. 创建更新脚本#
{% folding cyan, 更新脚本内容 %}
1cat > /root/update-clash.sh << 'EOF'2#!/bin/sh3
4echo "开始更新订阅配置..."5
6cd /root/sub2clash/sub2clash_0.0.10_linux_arm647if ! pgrep -f sub2clash > /dev/null; then8 echo "启动 sub2clash 服务..."9 screen -dmS sub2clash ./sub2clash10 sleep 311fi12
13echo "下载新配置..."14wget -O /etc/clash-meta/config.yaml "http://<your-server-ip>:8011/meta?sub=你的订阅链接"15
16if [ $? -eq 0 ]; then17 echo "重启 Clash Meta..."18 systemctl restart clash-meta19
20 echo "更新完成!"21 echo "面板地址: http://<your-server-ip>:9090/ui/"22else23 echo "配置下载失败,请检查 sub2clash 服务是否正常运行"24fi25EOF26
27# 添加执行权限28chmod +x /root/update-clash.sh{% endfolding %}
4. 配置自启动服务#
1cat > /etc/init.d/clash << 'EOF'2#!/bin/sh /etc/rc.common3
4START=995USE_PROCD=16
7start_service() {8 /root/update-clash.sh9}10EOF11
12# 设置权限并启用13chmod +x /etc/init.d/clash14/etc/init.d/clash enable5. 设置定时更新#
1# 添加定时任务(每天凌晨 3 点更新)2echo "0 3 * * * /root/update-clash.sh" >> /etc/crontabs/root3/etc/init.d/cron restart三、配置说明#
1. 环境变量配置#
{% folding cyan, 支持的环境变量 %}
| 变量名 | 说明 | 默认值 |
|---|---|---|
| PORT | 服务端口 | 8011 |
| META_TEMPLATE | meta模板文件名 | template_meta.yaml |
| CLASH_TEMPLATE | clash模板文件名 | template_clash.yaml |
| REQUEST_RETRY_TIMES | Get请求重试次数 | 3 |
| REQUEST_MAX_FILE_SIZE | 订阅文件最大大小(byte) | 1048576 |
| CACHE_EXPIRE | 订阅缓存时间(秒) | 300 |
| LOG_LEVEL | 日志等级(debug,info,warn,error) | info |
| SHORT_LINK_LENGTH | 短链长度 | 6 |
| {% endfolding %} |
四、使用说明#
1. 转换接口#
支持以下转换格式:
- Clash配置:
http://<your-ip>:8011/clash?sub=订阅链接 - Meta配置:
http://<your-ip>:8011/meta?sub=订阅链接 - 短链接:
http://<your-ip>:8011/short?url=目标链接
注意事项#
{% note danger %}
- 请勿在公网环境直接暴露服务端口
- 建议限制可访问的IP范围
- 请妥善保管订阅链接
- 首次部署后需手动执行一次更新脚本
常见问题#
{% tabs troubleshooting %}
- 检查端口占用:
lsof -i:8011 - 确认执行权限:
chmod +x sub2clash - 查看日志:
tail -f clash.log
- 检查网络连接
- 验证订阅有效性
- 确认服务状态:
ps aux | grep sub2clash
部分信息可能已经过时