File Sync System 是一个功能强大的文件同步与管理系统,支持本地存储与多种云存储之间的文件同步、文件管理、排重、离线下载等功能。
专为 NAS 用户和媒体库管理者设计,提供从文件同步、排重整理到媒体库刮削的一站式解决方案。
| 功能 | 说明 |
|---|---|
| 多云同步 | 支持 115网盘、百度网盘、阿里云OSS、腾讯COS、AWS S3、WebDAV |
| 同步模式 | 单向同步、双向同步、定时同步、实时监控 |
| 冲突治理 | 自动检测冲突,支持多种解决策略(以本地为准/以云端为准/智能合并) |
| 跨云传输 | 流式传输、断点续传、分片上传 |
| 传输进度 | 实时传输进度追踪,支持暂停/恢复 |
| 任务暂停恢复 | 同步任务支持暂停/恢复,状态持久化保存 |
| 功能 | 说明 |
|---|---|
| 文件浏览器 | 云端/本地文件浏览、上传、下载、删除、重命名 |
| 批量操作 | 批量重命名、批量移动、批量删除 |
| 回收站 | 云端回收站管理,支持恢复和彻底删除 |
| 文件版本 | 版本历史管理,支持版本回滚 |
| 重命名规则 | 自定义正则重命名规则,自动批量重命名 |
| Windows 客户端本机文件 | Tauri/Rust 客户端模式下,本地文件浏览、移动、复制、删除、重命名、视频提取和云端下载落盘均操作客户端电脑 |
| 功能 | 说明 |
|---|---|
| 智能检测 | 按名称/大小/SHA1/番号检测重复文件 |
| 批量处理 | 一键删除重复文件,保留最佳版本 |
| 定时扫描 | 支持定时自动扫描任务 |
| 进度追踪 | 实时显示扫描进度和结果统计 |
| 本机排重 | Windows 客户端模式下,本地目录由 Rust 扫描并删除到客户端回收站 |
| 功能 | 说明 |
|---|---|
| Tauri 桌面端 | windows-client/ 提供 Tauri 2 + Rust 外壳,复用现有 Vue 页面 |
| 后端连接配置 | Windows 客户端首次启动时先填写服务器地址,保存后进入主界面;系统设置页不再暴露下载目录、代理和并发等客户端内部参数 |
| 客户端执行模式 | 同步/排重任务新增 executionMode=CLIENT,后端会跳过调度和本地路径执行,避免误操作服务器目录 |
| 客户端同步执行器 | Windows 客户端支持同步任务预览、仅下载、仅上传、双向同步、暂停、恢复、停止、定时托管、实时触发和本机进度展示 |
| 同步任务配置覆盖 | 客户端执行器支持过滤规则、指定文件、大小范围、删除同步、冲突策略、上传限速、并行下载线程、115 分类轮转和任务黑名单 |
| 115 分类去重策略 | 115 分类轮转同步默认按文件名和大小判断本地已存在文件并跳过;任务可选启用 SHA1 校验,若同名但大小或 SHA1 不一致则覆盖本地文件 |
| 客户端下载 | 115 在桌面端由后端签发短期直链后通过 Rust 直连下载;对象存储、百度网盘下载通过 Rust 流式写入 Windows 本机目录 |
| 客户端状态上报 | Windows 客户端启动后注册设备并定时心跳,本机下载、上传、同步和排重结果可上报到后端客户端历史与传输进度接口 |
| 功能 | 说明 |
|---|---|
| STRM 生成 | 自动生成 STRM 文件用于流媒体播放 |
| 链接探测 | 探测视频链接有效性 |
| 定时任务 | 支持定时生成和探测任务 |
| Emby 刷新 | 自动刷新 Emby 媒体库 |
| 功能 | 说明 |
|---|---|
| 采集任务 | 支持 UAA、SIS001 小说采集任务创建、编辑、状态跟踪、重试和取消 |
| 全量/增量列表 | UAA、SIS001 均支持列表页全部抓取或按页数上限抓取;列表页更新时间未变化时可跳过正文详情 |
| Redis 队列 | 后端创建任务后投递 Redis Stream,由 crawler-worker 容器消费;worker 将详情列表、当前索引和失败点写入 Redis checkpoint,容器中断后可恢复 |
| 失败重试 | 任务日志可查看失败原因;失败任务重新投递后从 Redis 中记录的最早失败详情点继续,已成功条目会跳过 |
| 列表排重 | SIS001 列表采集会先批量排除本地已存在文章,再进入剩余详情页,减少重复详情抓取 |
| 性能优化 | 小说库打开 720 章小说详情时,后端不再默认拼接整本正文,前端改为元数据+目录+单章懒加载;章节列表支持搜索过滤 |
| 小说库 | 保存标题、作者、分类、标签、简介、正文预览、章节、分段正文和源站信息,并在列表显示最新章节;支持收藏/取消收藏、只看收藏筛选、TXT/Markdown/JSON 导入和批量删除 |
| 站内阅读 | 小说库可直接进入平台内部阅读页,手机端适配顶部/底部工具栏、目录抽屉和阅读设置,不依赖外部 Reader 服务 |
| 连续章节阅读 | 阅读页按章节懒加载正文,当前章滚动到底后自动接入下一章;目录高亮和顶部进度随当前可见章节更新 |
| 跨设备进度 | 阅读进度保存到后端 novel_reading_progress,同一平台用户在不同设备打开同一本小说时可恢复章节和段落位置 |
| 章节阅读 | 小说详情元数据、章节目录、单章正文独立加载,不再自动打开第一章;章节列表超 20 章支持搜索定位 |
| 阅读时替换规则 | 阅读章节时可临时应用后端正文替换规则,不修改数据库正文、导出内容或 Reader 推送内容 |
| 封面存储 | UAA 小说封面采集时下载并 base64 编码入库(上限 5MB),脱离原站可独立展示;优先显示 base64 封面,回退 coverUrl |
| 重爬操作 | 支持对整本小说或单独章节创建详情重爬任务 |
| 离线重解析 | 支持基于已保存 contentHtml 重建正文文本、Markdown、字数、hash 和分段内容,不访问原站、不创建 crawler 任务;前端提供单本、单章、预览和批量入口 |
| CDP 自动恢复 | Go worker 连接 CloakBrowser Manager profile 的 CDP 失败时,可按任务配置 stop/launch profile 并重连,恢复状态会回写浏览器实例 |
| 逐章/分段落库 | UAA 采集读取到单章正文后立即写入章节表;父文章已存在时按章节 sourceId 跳过已有章节,只抓取并写入新增章节;超大章节会拆分到正文分段表,文章表只保留短预览 |
| SIS001 解析 | 自动使用帖子中的小说名归档;同帖多章节会拆分章节,列表采集可按小说名合并同一作品 |
| 正文清理 | SIS001 正文会过滤作者资料、版主提醒、评分记录、相关主题、广告等论坛噪声,并保留章节标题与正文换行 |
| 采集规则 | 前端可管理章节目录正则和正文替换规则,支持增删改、启停、导入和导出;worker 每次任务开始时从后端读取最新规则 |
| 搜索筛选 | 支持关键词、站点、分类、标签、作者、SIS001 版块筛选 |
| 导出 | 支持 Markdown、TXT、HTML、JSON、EPUB 导出 |
| 会话与代理 | 提供站点配置、代理配置、浏览器会话包管理接口 |
| 验证防护 | 验证检测采用证据分级,优先识别正常正文结构,避免正常页面误判;等待验证时可手动跳过当前检测;正文异常时先刷新再判断验证 |
| 人类行为 | 页面导航后随机移动鼠标和停顿,读取正文前模拟滚轮滑动,降低网站反爬检测风险 |
| 采集历史 | 每次小说/章节抓取结果自动记录到结构化历史(NOVEL_CRAWL 来源),可在统一历史记录页面按来源、操作类型、状态筛选 |
| 功能 | 说明 |
|---|---|
| 连接配置 | 前端可配置 Reader 地址、鉴权模式(无/BASIC/Header)、推送策略、自动导入书源 |
| 书源管理 | 自动导入本系统书源到 Reader,提供公开端点供 Reader 搜索、获取详情、目录和正文 |
| 小说推送 | 新增小说自动推送至 Reader 书架;新章节更新后触发 Reader 刷新目录;支持单本手动推送、全部推送和失败重试 |
| 同步状态 | 小说库列表可查看每本小说的 Reader 推送状态(未推送/待推送/推送中/已推送/有更新未推送/推送失败) |
| 推送历史 | 自动、手动、重试推送均写入 READER_SYNC 结构化历史记录,可在统一历史页面筛选查看 |
| 失败保护 | Reader 不可达不影响小说保存;同步失败指数退避重试;前端提供手动推送和重试入口 |
| 功能 | 说明 |
|---|---|
| 本地挂载 | 将本地文件系统通过 WebDAV 协议暴露 |
| 云端挂载 | 将 115 网盘通过 WebDAV 协议暴露 |
| 完整协议 | 支持 PROPFIND/GET/PUT/DELETE/MKCOL/MOVE/COPY |
| 基本认证 | 内置 Basic Auth 账号密码管理 |
| 功能 | 说明 |
|---|---|
| 重复扫描 | 扫描媒体库中的重复项目 |
| 手动刮削 | 支持实时进度显示的批量刮削 |
| 元数据刷新 | 刷新 Emby 元数据 |
| Webhook 集成 | 接收 Emby/Jellyfin 事件推送 |
| 功能 | 说明 |
|---|---|
| 云下载 | 115网盘离线下载任务管理,链接提交失败时会缓存到平台并支持手动重提 |
| qBittorrent | BT 下载集成,支持自动分类 |
| 文件监控 | 监控下载完成,自动处理 |
| 通知推送 | 下载完成自动通知 |
| 功能 | 说明 |
|---|---|
| 实时日志 | WebSocket 实时日志推送 |
| Prometheus | 指标监控 |
| Grafana | 可视化仪表盘 |
| 邮件通知 | SMTP 邮件告警 |
| 机器人通知 | Webhook 机器人通知(企业微信/钉钉/飞书) |
| 文件监控 | 实时监控文件系统变化指标 |
| 技术 | 版本 | 说明 |
|---|---|---|
| Spring Boot | 3.4.13 | 核心框架 |
| Spring Data JPA | - | 数据访问层 |
| Spring WebSocket | - | 实时通信 |
| Spring Data Redis | - | 爬虫队列、同步进度、断点传输进度和 checkpoint |
| Spring Mail | - | 邮件服务 |
| Quartz | - | 定时任务调度 |
| PostgreSQL / MySQL / H2 / SQLite | - | PostgreSQL 为迁移后的主数据库;MySQL 保留兼容期 |
| Caffeine | - | 本地缓存 |
| Micrometer | - | 指标监控 |
| MapStruct | 1.5.5.Final | 对象映射 |
| Lombok | 1.18.30 | 代码简化 |
| Elasticsearch | 8.12.0 | 日志搜索 |
| 技术 | 版本 | 说明 |
|---|---|---|
| Vue | 3.4.21 | 核心框架 |
| Vite | 5.1.21 | 构建工具 |
| Element Plus | 2.5.6 | UI 组件库 |
| Pinia | 2.1.7 | 状态管理 |
| Vue Router | 4.3.0 | 路由管理 |
| Axios | 1.6.7 | HTTP 请求 |
| ECharts | 5.5.0 | 图表库 |
| STOMP JS | 7.0.0 | WebSocket 客户端 |
| Lucide Vue | 0.575.0 | 图标库 |
| Sass | 1.71.1 | CSS 预处理器 |
- ☁️ 115网盘 (OAuth2 认证)
- ☁️ 百度网盘 (OAuth2 认证)
- ☁️ 阿里云 OSS
- ☁️ 腾讯云 COS
- ☁️ AWS S3
- ☁️ WebDAV 协议(客户端 + 服务器)
- ☁️ qBittorrent 集成(BT 下载管理)
file-sync-system/
├── backend/ # 后端项目
│ ├── pom.xml # Maven 配置
│ ├── Dockerfile # Docker 镜像
│ └── src/main/java/com/synccloud/filesync/
│ ├── FileSyncApplication.java # 应用入口
│ ├── client/ # API 客户端(115、百度、qBittorrent)
│ ├── config/ # 配置类(26个配置文件)
│ ├── controller/ # REST 控制器(40个)
│ ├── service/ # 业务逻辑服务(100+)
│ ├── entity/ # JPA 实体类(39个)
│ ├── repository/ # 数据访问层
│ ├── storage/ # 云存储适配器
│ ├── scheduler/ # 定时任务
│ └── util/ # 工具类
│
├── frontend/ # 前端项目
│ ├── package.json # Node.js 依赖
│ ├── vite.config.js # Vite 配置
│ ├── Dockerfile # Docker 镜像
│ └── src/
│ ├── api/ # API 模块(31个)
│ ├── components/ # Vue 组件
│ ├── views/ # 页面视图(13个)
│ ├── router/ # 路由配置
│ ├── stores/ # Pinia 状态管理
│ └── styles/ # SCSS 样式
│
├── windows-client/ # Tauri 2 Windows 客户端,复用前端页面并提供 Rust 本机能力
├── crawler-worker/ # Python 小说爬虫 worker
├── crawler-browser/ # 旧版长期运行的采集浏览器/noVNC/CDP
├── docker-compose.yml # 本地完整服务 Docker 编排
├── docker-compose.yaml # 服务器小说采集 worker 编排
├── prometheus.yml # 监控配置
├── grafana-dashboard.json # 仪表盘配置
└── README.md # 本文件
- Java: 17 (LTS)
- Maven: 3.9+
- Node.js: 16+
- PostgreSQL: 14+ (生产环境)
- Redis: 6+ (生产环境进度缓存和 crawler 队列)
- MySQL: 5.7+ (迁移前或回滚兼容)
# 克隆项目
git clone <repository-url>
cd file-sync-system
# 配置环境变量(可选)
export CLOUD115_CLIENT_ID=your_client_id
export CLOUD115_CLIENT_SECRET=your_client_secret
# 启动所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f backend
# 服务器仅更新小说采集 worker 时,可使用独立编排文件
docker compose -f docker-compose.yaml up -d --build novel-crawler-worker访问地址:
- 前端界面: http://localhost
- 后端 API: http://localhost:8080/api
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000 (admin/admin123)
小说采集默认通过 Docker Compose 启动 Redis、cloakbrowser-manager 与 crawler-worker。后端默认使用 Redis 保存同步进度、断点传输进度和 crawler 队列;本地无 Redis 时可设置 PROGRESS_STORE=memory 临时使用内存进度存储。
set PROGRESS_STORE=memory
set CRAWLER_REDIS_ENABLED=true
set CRAWLER_REDIS_HOST=localhost
set CRAWLER_REDIS_PORT=6379后端启动:
cd backend
# 编译运行
D:\apache-maven-3.9.11\bin\mvn spring-boot:run
# 或打包运行
D:\apache-maven-3.9.11\bin\mvn package -DskipTests
java -jar target/file-sync-system-1.0.0-SNAPSHOT.jar前端启动:
cd frontend
# 安装依赖
npm install
# 开发服务器(端口 5173)
npm run dev
# 生产构建
npm run build- 导入项目: 使用 IntelliJ IDEA 或 Eclipse 导入
backend/pom.xml - 配置数据库: 修改
backend/src/main/resources/application.yml - 运行: 启动
FileSyncApplication.java - 前端: VS Code 打开
frontend目录,运行npm run dev
支持四种数据库类型,通过 database.type 配置切换。迁移后默认使用 PostgreSQL:
database:
type: postgres # 可选: h2, sqlite, mysql, postgres
postgres:
host: ${PG_HOST:localhost}
port: ${PG_PORT:5432}
database: ${PG_DATABASE:filesync}
username: ${PG_USERNAME:filesync}
password: ${PG_PASSWORD:}
spring:
datasource:
url: jdbc:postgresql://${PG_HOST:localhost}:${PG_PORT:5432}/${PG_DATABASE:filesync}
username: ${PG_USERNAME:filesync}
password: ${PG_PASSWORD:}运行态进度默认写 Redis,不再依赖 file_transfer_progress 数据库表:
progress:
store: redis
redis:
key-prefix: filesync
sync-ttl-hours: 24
transfer-ttl-days: 7
checkpoint-ttl-days: 14cloud115:
client-id: ${CLOUD115_CLIENT_ID}
client-secret: ${CLOUD115_CLIENT_SECRET}
redirect-uri: https://open.voltmonkey.com.cn
baidu:
pan:
client-id: ${BAIDU_PAN_CLIENT_ID}
client-secret: ${BAIDU_PAN_CLIENT_SECRET}webdav:
server:
enabled: true
username: admin
password: admincrawler:
redis:
enabled: true
task-stream: crawler:tasks
consumer-group: crawler-workers
checkpoint-prefix: crawler:task
export:
directory: ./data/crawler/exports
rules:
directory: ./data/crawler/rules
reader:
sync:
stream: reader:sync:events生产环境建议通过 docker-compose.yaml 运行小说采集栈。该编排文件会启动 file-sync-redis、cloakbrowser-manager 和 novel-crawler-worker,其中 cloakbrowser-manager 默认映射到宿主机 8081 端口,worker 默认通过 Manager API 创建/复用浏览器 profile 并连接 profile CDP:
CRAWLER_BACKEND_BASE_URL=http://file-sync-system:8080/api
CRAWLER_REDIS_URL=redis://file-sync-redis:6379/0
CRAWLER_BROWSER_ENGINE=cloak-manager
CRAWLER_CLOAK_MANAGER_URL=http://cloakbrowser-manager:8080
CRAWLER_CLOAK_MANAGER_TOKEN=
CRAWLER_CLOAK_PROXY=http://<proxy-ip>:10808环境变量说明:
| 变量 | 默认值 | 说明 |
|---|---|---|
CRAWLER_CLOAK_MANAGER_PORT |
8081 |
cloakbrowser-manager 映射到宿主机的 Web UI/API 端口,容器内固定为 8080 |
CRAWLER_CLOAK_MANAGER_TOKEN |
空 | Manager 的 AUTH_TOKEN;设置后 Manager UI/API 启用鉴权,worker 会用 Authorization: Bearer <token> 调用 API |
CRAWLER_BACKEND_BASE_URL |
http://file-sync-system:8080/api |
worker 回调后端、读取规则和会话 bundle 的 API 地址 |
CRAWLER_REDIS_URL |
redis://file-sync-redis:6379/0 |
worker 消费任务流、保存 checkpoint 使用的 Redis 地址 |
CRAWLER_TASK_STREAM |
crawler:tasks |
Redis Stream 任务队列名称 |
CRAWLER_CONSUMER_GROUP |
crawler-workers |
Redis Stream consumer group 名称 |
CRAWLER_CHECKPOINT_PREFIX |
crawler:task |
worker checkpoint 在 Redis 中的 key 前缀 |
CRAWLER_PENDING_CLAIM_IDLE_MS |
1000 |
pending 消息空闲超过该毫秒数后可被当前 worker 认领 |
CRAWLER_PENDING_CLAIM_COUNT |
5 |
每次最多认领的 pending 消息数量 |
CRAWLER_STREAM_BLOCK_MS |
5000 |
worker 阻塞等待 Redis Stream 新消息的毫秒数 |
CRAWLER_MAX_CONCURRENT_TASKS |
1 |
worker 同时处理的不同 taskId 数量;同一 taskId 会通过 Redis 执行锁防重 |
CRAWLER_DETAIL_CONCURRENCY |
1 |
单个 taskId/profile 内同时抓取详情页的并发数,1 表示串行 |
CRAWLER_BROWSER_ENGINE |
cloak-manager |
浏览器引擎;Go worker 当前仅支持 CloakBrowser Manager |
CRAWLER_CLOAK_MANAGER_URL |
http://cloakbrowser-manager:8080 |
worker 访问 Manager API 的容器内地址 |
CRAWLER_CLOAK_MANAGER_PROFILE_PREFIX |
crawler |
worker 创建/复用 Manager profile 时使用的名称前缀 |
CRAWLER_CLOAK_MANAGER_LAUNCH_TIMEOUT_SECONDS |
60 |
等待 Manager profile 启动并暴露 CDP 的超时时间 |
CRAWLER_REQUIRE_CDP |
true |
远程浏览器不可用时是否直接失败;生产环境建议保持 true |
CRAWLER_CLOAK_FINGERPRINT |
空 | 手动指定 fingerprint seed;Manager 需要数字 seed,非数字会稳定哈希为数字 |
CRAWLER_CLOAK_FINGERPRINT_SCOPE |
profile |
自动 fingerprint seed 的作用域;profile 按站点+profile 稳定生成,site 按站点生成,none 不传 |
CRAWLER_CLOAK_TIMEZONE |
Asia/Shanghai |
Manager profile 时区 |
CRAWLER_CLOAK_LOCALE |
zh-CN |
Manager profile locale;未设置时可从会话 bundle 的 Accept-Language 推导 |
CRAWLER_CLOAK_PLATFORM |
windows |
Manager profile 平台,可用 windows、macos、linux |
CRAWLER_CLOAK_SCREEN_WIDTH |
1920 |
Manager profile 屏幕宽度 |
CRAWLER_CLOAK_SCREEN_HEIGHT |
1080 |
Manager profile 屏幕高度 |
CRAWLER_CLOAK_GPU_VENDOR |
空 | 可选 GPU vendor 指纹 |
CRAWLER_CLOAK_GPU_RENDERER |
空 | 可选 GPU renderer 指纹 |
CRAWLER_CLOAK_HARDWARE_CONCURRENCY |
空 | 可选 CPU 线程数指纹 |
CRAWLER_CLOAK_HEADLESS |
false |
Manager profile 是否无头启动;默认保留可视化界面 |
CRAWLER_CLOAK_PROXY |
http://<proxy-ip>:10808 |
Manager profile 和本地 fallback 浏览器使用的代理;未设置时 worker 也兼容读取 http_proxy/HTTP_PROXY |
CRAWLER_CLOAK_GEOIP |
false |
是否启用 CloakBrowser 的 geoip 代理地理信息逻辑 |
CRAWLER_REQUEST_DELAY_SECONDS |
1.5 |
采集页面之间的基础延迟 |
CRAWLER_MAX_DETAIL_PER_TASK |
0 |
单个任务最多采集详情数,0 表示不限制 |
CRAWLER_UAA_CONTENT_READ_DELAY_SECONDS |
30 |
UAA 逐章抓取正文前的基础等待秒数,0 表示关闭 |
CRAWLER_UAA_CONTENT_READ_DELAY_JITTER_SECONDS |
2 |
UAA 逐章抓取正文前等待时间的随机抖动秒数 |
CRAWLER_VERIFICATION_AUTO_ATTEMPTS |
3 |
验证页自动尝试次数 |
CRAWLER_VERIFICATION_CONTROL_WAIT_SECONDS |
12 |
等待验证控件出现或页面自行通过的秒数 |
CRAWLER_VERIFICATION_RETRY_DELAY_SECONDS |
8 |
自动验证失败后的重试间隔 |
CRAWLER_VERIFICATION_POST_CLICK_WAIT_SECONDS |
8 |
点击验证控件后等待放行的秒数 |
UAA 和 SIS001 的列表采集都支持 options.fetchAllListPages=true 与 maxPages=0 的全量分页语义。options.skipUnchangedByListUpdatedAt=true 时,worker 会用列表页显示的更新时间和本地 metadata 对比,未变化则跳过正文详情;详情重采 CRAWL_DETAIL 不会被这个策略跳过。
SIS001 已入库的旧正文不会自动重算;修复解析规则后,需要对原帖创建 CRAWL_DETAIL 任务重新采集,worker 会按 siteCode + sourceId 保存或更新同一篇小说。
采集规则通过后端保存到 crawler.rules.directory,默认首次从内置 crawler-rules/exportReplaceRule.json 和 crawler-rules/exportTxtTocRule.json 初始化。前端“小说采集 > 采集规则”可维护正文替换规则和章节目录规则,worker 领取任务时会优先从 /crawler/internal/rules/{type} 获取最新规则,后端不可用时使用镜像内置规则兜底。
后端提供统一正文替换规则服务,按启用状态、正文作用域、站点匹配和规则顺序应用 replace 规则,并返回规则版本与异常告警。当前阶段仅建立服务能力,不修改阅读接口和正文落库。
小说正文读取和导出会从章节表或 novel_content_segment 分段表组装完整正文;novel_article.content_text/content_markdown 只作为兼容预览字段,不再保存完整超大正文。
仓库提供 Tampermonkey 脚本:browser-extension/tampermonkey/novel-session-sync.user.js。用户在 uaa.com 或 sis001.com 页面中主动执行“同步小说站点会话”菜单后,会把当前页面可读取的 Cookie、User-Agent、Accept-Language 和时区同步到 /crawler/session-bundles,后端加密保存,crawler-worker 领取任务时按站点/profile 导入浏览器上下文使用。
注意:油猴脚本无法读取 HttpOnly Cookie,也不能导出浏览器网络层的完整真实请求头。如站点关键登录态在 HttpOnly Cookie 中,需要后续使用带 cookies 权限的 Chrome/Edge 扩展版本;当前实现不会自动绕过 Cloudflare、Turnstile 或验证码。
完整的 API 接口文档请参见 API.md
接口概览:
- 340+ 个 REST API 接口
- 36 个功能模块
- 统一的响应格式
- WebSocket 实时通信
- WebDAV 协议支持
- 进入系统设置 -> 115网盘 -> 获取授权
- 或访问
/auth/baidu/callback进行百度网盘授权
- 检查网络连接状态
- 查看风控状态(115网盘)
- 检查系统日志
/system-logs
- 系统日志页面:
/system-logs - WebSocket 端点:
/ws/logs
- WebDAV 本地挂载地址:
http://your-server:8080/webdav/local/ - WebDAV 115 云端挂载地址:
http://your-server:8080/webdav/cloud115/ - 默认账号:
admin/admin - 可在系统设置中修改密码和启用状态
修改 application.yml 中的文件大小限制:
spring:
servlet:
multipart:
max-file-size: 10GB
max-request-size: 10GB推送地址: http://your-server:8080/api/webhook/emby
系统暴露以下监控端点:
| 端点 | 说明 |
|---|---|
/api/actuator/health |
健康检查 |
/api/actuator/prometheus |
Prometheus 指标 |
/api/actuator/info |
应用信息 |
欢迎提交 Issue 和 Pull Request!
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
本项目采用 MIT License 开源许可证。
Made with ❤️ by SyncCloud Team