161 lines
5.2 KiB
Markdown
161 lines
5.2 KiB
Markdown
# BestSub
|
||
|
||
BestSub 是一个高性能的节点检测,订阅转换服务,基于 Go 语言开发。该项目提供了完整的 Web 界面和 API 接口,支持多种检测项目,多种订阅格式转换,为用户提供便捷的订阅管理解决方案。
|
||
|
||
## ✨ 主要特性
|
||
|
||
- 🎨 **现代的 WebUI**: 提供现代化的 Web 管理界面,完善的 API 文档,方便用户自定义开发
|
||
- ⚡ **高性能**: 并发处理,低 CPU 占用,低内存消耗,优化的资源利用率
|
||
- 🌍 **多架构**: 支持多种系统架构和操作系统,广泛的兼容性
|
||
- 🗂️ **节点池**: 可持久化保存历史节点,智能淘汰质量低下的节点,确保最佳体验
|
||
- 🔄 **内置 Subconverter**: 支持各种订阅格式的输入输出转换
|
||
- 🔧 **扩展**: 模块化设计,支持 PR 扩展新功能,仅需创建单个文件即可添加新的通知、保存或检测方式
|
||
- 📢 **通知**: 支持多样化的通知方式和自定义通知模板,满足不同场景的消息推送需求
|
||
- 💾 **保存**: 支持多样化的数据保存方式,灵活的数据持久化选择
|
||
- 🔍 **检测**: 支持多样化的节点检测方式,全面的质量评估体系
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 方式一:直接运行
|
||
|
||
1. 从 [Releases](https://github.com/bestruirui/BestSub/releases/latest) 页面下载适合您系统架构的可执行文件
|
||
2. 直接运行程序,系统将自动:
|
||
- 创建必要的配置文件
|
||
- 下载 WebUI
|
||
- 下载 Subconverter
|
||
|
||
### 方式二:Docker
|
||
|
||
```bash
|
||
docker run -d \
|
||
--name bestsub \
|
||
--restart unless-stopped \
|
||
-v /path/to/data:/app/data \
|
||
-p 8080:8080 \
|
||
ghcr.io/bestruirui/bestsub
|
||
```
|
||
|
||
**参数说明:**
|
||
- `--name bestsub`: 设置容器名称
|
||
- `--restart unless-stopped`: 容器自动重启策略
|
||
- `-v /path/to/data:/app/data`: 数据持久化挂载(请将 `/path/to/data` 替换为您的实际路径)
|
||
- `-p 8080:8080`: 端口映射,访问地址为 `http://localhost:8080`
|
||
|
||
### 方式三:Docker Compose
|
||
|
||
创建 `docker-compose.yml` 文件:
|
||
|
||
```yaml
|
||
services:
|
||
bestsub:
|
||
image: ghcr.io/bestruirui/bestsub:latest
|
||
container_name: bestsub
|
||
restart: unless-stopped
|
||
ports:
|
||
- "8080:8080"
|
||
volumes:
|
||
- ./data:/app/data
|
||
```
|
||
|
||
启动服务:
|
||
```bash
|
||
docker-compose up -d
|
||
```
|
||
|
||
## 📁 目录结构
|
||
|
||
程序运行后将创建以下目录结构:
|
||
|
||
```
|
||
bestsub/
|
||
├── config.json # 主配置文件
|
||
├── data/ # 数据目录
|
||
│ └── bestsub.db # SQLite 数据库文件
|
||
├── log/ # 日志文件目录
|
||
├── session/ # 会话数据目录
|
||
│ └── bestsub.session # 会话文件
|
||
├── subconverter/ # 订阅转换器目录
|
||
│ ├── base/ # 转换规则基础配置
|
||
│ │ └── base/
|
||
│ │ └── all_base.tpl
|
||
│ ├── pref.yml # 转换器配置文件
|
||
│ └── subconverter # 转换器可执行文件
|
||
└── ui/ # Web 界面文件
|
||
├── index.html # 主页面
|
||
└── ... # 其他静态资源
|
||
```
|
||
|
||
## 🛠️ 手动部署
|
||
|
||
当自动下载失败时,请按以下步骤手动部署:
|
||
|
||
1. **下载 WebUI 组件**
|
||
- 访问 [BestSubOrg/Front](https://github.com/BestSubOrg/Front/releases/latest)
|
||
- 下载最新版本并解压到 `ui` 目录
|
||
|
||
2. **下载 Subconverter 组件**
|
||
- 访问 [BestSubOrg/subconverter](https://github.com/BestSubOrg/subconverter/releases/latest)
|
||
- 下载对应系统架构的版本并解压到 `subconverter` 目录
|
||
|
||
3. **验证部署**
|
||
- 确保目录结构与上述 [目录结构](#-目录结构) 章节一致
|
||
- 重新启动程序
|
||
|
||
## 🔗 版本历史
|
||
|
||
### 当前版本 (v1.x)
|
||
- 全新的 Web 界面
|
||
- 增强的性能和稳定性
|
||
- 完整的容器化支持
|
||
|
||
### 经典版本 (v0.3.5)
|
||
- **命令行界面版本**
|
||
- **[📖 查看文档](https://github.com/bestruirui/BestSub/blob/legacy/doc/README_zh.md)**
|
||
- **[⬇️ 下载应用](https://github.com/bestruirui/BestSub/releases/tag/v0.3.5)**
|
||
|
||
|
||
## 🤝 贡献指南
|
||
|
||
我们欢迎任何形式的贡献!
|
||
|
||
### 项目图标
|
||
- **格式要求**: SVG 格式
|
||
- **用途**: 项目 Logo 和品牌标识
|
||
- **提交方式**: 创建 Issue 或 Pull Request
|
||
|
||
### 更多功能
|
||
|
||
- 新的节点检测项目
|
||
- 新的储存渠道
|
||
- 新的通知渠道
|
||
|
||
### 其他贡献方式
|
||
- 🐛 报告 Bug
|
||
- 💡 提出新功能建议
|
||
- 📝 改进文档
|
||
- 🧪 编写测试用例
|
||
|
||
## ⚠️ 免责声明
|
||
|
||
本项目仅供学习和研究使用。使用本软件时,请您:
|
||
|
||
- ✅ 遵守当地法律法规和相关政策
|
||
- ✅ 尊重网络服务提供商的使用条款
|
||
- ✅ 承担使用本软件可能产生的一切后果和责任
|
||
- ⚠️ 理解作者不对使用本软件造成的任何损失承担责任
|
||
|
||
**请在合法合规的前提下使用本软件。如果您不同意上述条款,请勿使用本软件。**
|
||
|
||
## ❤️ 支持项目
|
||
|
||
如果这个项目对您有帮助,请考虑:
|
||
|
||
- ⭐ 给项目点个 Star
|
||
- 🍴 Fork 项目并参与开发
|
||
- 📢 向朋友推荐本项目
|
||
- 💬 在社区中分享使用体验
|
||
|
||
## 📊 项目统计
|
||
|
||

|