This commit is contained in:
jianzhichu
2025-11-26 01:35:48 +08:00
parent 6bde9b75ff
commit def3c442a5
+59 -48
View File
@@ -1,17 +1,31 @@
# dysync.net - 抖音同步工具(抖小云)
`dysync.net` 是一款基于 **.NET Core 6.0** 和 **Vue** 开发的工具,用于同步抖音收藏夹、「我喜欢」的视频及指定博主作品,解决个人收藏视频易失效的问题。支持多账号同步,内置视频信息刮削功能,同步后的视频可直接在 Emby 或 Jellyfin 中播放。
`dysync.net` 是一款基于 **.NET Core 6.0** 和 **Vue** 开发的工具,用于同步抖音收藏夹、「我喜欢」的视频及指定博主作品,支持多账号同步,内置视频信息刮削功能,同步后的视频可直接在 Emby 或 Jellyfin 中播放。
> 🔧 问题反馈:使用中遇到任何问题,欢迎添加 QQ279225040 咨询
> 🔧 **问题反馈**:使用中遇到问题,欢迎添加 QQ:279225040 咨询,可能回复较慢,请耐心等待。
---
### 📺 Emby 播放效果预览
## 📺 Emby 播放效果预览
![Emby播放效果](docs/emby.png)
---
## 📌 1. 获取抖音关键信息(必做!同步核心凭证)
## 📋 目录
- [1. 获取抖音关键信息(必做!同步核心凭证)](#1-获取抖音关键信息必做同步核心凭证)
- [1.1 提取抖音 Cookie](#11-提取抖音-cookie)
- [1.2 提取 `sec_user_id`(个人/指定博主)](#12-提取-sec_user_id个人指定博主)
- [2. 路径映射规则(核心!错配会导致无法访问/数据丢失)](#2-路径映射规则核心错配会导致无法访问数据丢失)
- [3. 默认账号密码(首次登录用)](#3-默认账号密码首次登录用)
- [4. 运行方式(推荐 Docker Compose](#4-运行方式推荐-docker-compose)
- [镜像版本](#镜像版本)
- [构建命令示例](#构建命令示例)
- [5. 软件截图](#5-软件截图)
- [6. 功能和计划](#6-功能和计划)
---
## 1. 获取抖音关键信息(必做!同步核心凭证)
Cookie 及 `sec_user_id` 是同步功能的核心,需严格按步骤获取,避免遗漏或错误。
### 1.1 提取抖音 Cookie
@@ -29,27 +43,28 @@ Cookie 及 `sec_user_id` 是同步功能的核心,需严格按步骤获取,
进入自己的抖音主页,浏览器地址栏中 `sec_user_id=` 后的字符串即为个人 ID(如 `https://www.douyin.com/user/sec_user_id=xxx`)。
- **博主 sec_user_id**(同步指定博主作品用):
1. 进入目标博主主页;
2. 方式1:直接复制地址栏中 `user/` `?from_tab_name`中间部分内容即是博主的 `sec_user_id`
2. 方式1:直接复制地址栏中 `user/``?from_tab_name` 中间部分内容即是博主的 `sec_user_id`
3. 方式2:按 `F12` → 「Network」→ 任意请求 → 「Headers」→ 提取 `sec_user_id` 字段值。
> ⚠️ 风控提示:同步博主作品时,**慎用开启全量同步**(一次性下载过多易被抖音限制访问)。
> ⚠️ **风控提示**:同步博主作品时,**慎用开启全量同步**(一次性下载过多易被抖音限制访问)。
![提取博主sec_user_id](docs/upers-uid.png)
---
## 📁 2. 路径映射规则(核心!错配会导致无法访问/数据丢失)
## 2. 路径映射规则(核心!错配会导致无法访问/数据丢失)
为实现视频在 Emby/Jellyfin 中正常播放及数据持久化,需正确配置本地路径与容器路径的映射:
| 存储类型 | 容器内路径 | 本地路径配置要求 | 用途说明 |
|------------------|------------------|----------------------------------------------------------------------------------|------------------------------|
| 个人收藏视频 | `/app/collect` | 映射到本地目录(如 NAS`/volume1/抖音/收藏`、电脑:`D:/抖音/收藏`) | 存储同步后的收藏视频 |
| 个人喜欢视频 | `/app/favorite` | 映射到本地目录(建议与收藏视频路径区分,如 `/volume1/抖音/喜欢`) | 存储同步后的「我喜欢」视频 |
| 图文视频 | `/app/images` | 映射到本地目录(建议与收藏视频路径区分,如 `/volume1/抖音/图文视频`) | 存储同步后的「图文视频」 |
| 指定博主视频 | `/app/uper` | 映射到本地目录(如 `/volume1/抖音/博主作品`) | 存储同步后的博主视频 |
| 数据库文件 | `/app/db` | 映射到本地稳定目录(如 `/volume1/抖音/工具数据库`) | 持久化配置、同步记录(防止容器删除后数据丢失) |
| 多账号视频(可选)| `/app/user1`/`/app/user2` 等 | 为每个账号分配独立本地路径(如 `/volume1/抖音/账号A``/volume1/抖音/账号B`) | 实现多账号隔离同步 |
> ✅ 关键注意:
> **关键注意**
> 1. 本地路径需与后续后台「抖音授权」页面配置的「文件存储路径」**完全一致**;
> 2. 未配置路径映射时,文件仅存于容器内部,Emby/Jellyfin 无法访问,且容器删除后数据丢失。
@@ -57,56 +72,51 @@ Cookie 及 `sec_user_id` 是同步功能的核心,需严格按步骤获取,
---
## 🔑 3. 默认账号密码(首次登录用)
## 3. 默认账号密码(首次登录用)
首次访问后台管理页面时,使用以下默认账号密码:
- **用户名**`douyin`
- **密码**`douyin2025`
> ⚠️ 安全建议:登录后修改密码。
> ⚠️ **安全建议**:登录后修改密码。
---
## 🚀 4. 运行方式(推荐 Docker Compose
## 4. 运行方式(推荐 Docker Compose
### 镜像版本
# Dysync.net Docker 镜像版本说明
## 镜像版本
| 镜像标签 | 架构 | 功能描述 | 镜像大小 | 适用场景 |
|-----------------------------------|----------------|--------------------------------------------------------------------------|-----------|------------------------------|
| `jianzhichu/dysync.net:latest` | x86_64 (amd64) | **标准版**<br>- 包含核心功能<br>- **不含 FFmpeg**<br>- 不能下载图文视频 | ~200M | 仅需基础功能,追求轻量部署 |
| `jianzhichu/dysync.net:full_latest` | x86_64 (amd64) | **完整版**<br>- 包含全部核心功能<br>- **内置 FFmpeg**<br>- 支持图文视频下载与合成 | ~700M | 需要完整媒体处理能力的场景 |
| `jianzhichu/dysync.net:arm_latest` | ARM64 | **ARM 标准版**<br>- 核心功能(与 `latest` 一致)<br>- **适配 ARM 架构** | ~200M | ARM 设备(如树莓派)的轻量部署 |
| `jianzhichu/dysync.net:full_arm_latest` | ARM64 | **ARM 完整版**<br>- 完整功能(与 `full_latest` 一致)<br>- **适配 ARM 架构** | ~500M | ARM 设备的完整功能部署 |
| `jianzhichu/dysync.net:beta_1.0` | x86_64 (amd64) | **测试版 v1.0**<br>- 包含最新开发特性<br>- 功能可能不稳定<br>- 不含 FFmpeg | ~200M | 开发测试、尝鲜新功能 |
## 构建命令示例
以下是构建上述各版本镜像的 Docker 命令参考:
```bash
| 镜像标签 | 架构 | 功能描述 |
|-----------------------------------|----------------|--------------------------------------------------------------------------|
| `latest` | x86_64 (amd64) | **标准版**<br>- 包含核心功能<br>- **不含 FFmpeg**<br>- 不能下载图文视频 |
| `full_latest` | x86_64 (amd64) | **完整版**<br>- 包含全部核心功能<br>- **内置 FFmpeg**<br>- 支持图文视频下载与合成 |
| `arm_latest` | ARM64 | **ARM 标准版**<br>- 核心功能(与 `latest` 一致)<br>- **适配 ARM 架构** |
| `full_arm_latest` | ARM64 | **ARM 完整版**<br>- 完整功能(与 `full_latest` 一致)<br>- **适配 ARM 架构** |
| `beta_1.0` | x86_64 (amd64) | **测试版 v1.0**<br>- 测速版<br>- 不含 FFmpeg |
### 构建命令示例
将下方命令中的「本地路径」替换为你的实际路径,终端执行即可:
```bash
### 方式一:Docker 命令行
#### 方式一:Docker 命令行
```bash
docker run -d --restart=always \
-v /opt/dysync/coll:/app/collect \
-v /opt/dysync/favorite \
-v /opt/dysync/favorite:/app/favorite \
-v /opt/dysync/db:/app/db \
-v /opt/dysync/imgs:/app/images \
-v /opt/dysync/uper:/app/uper \
-p 10103:10101 \
--name dysync_arm_full \
registry.cn-hangzhou.aliyuncs.com/jianzhichu/dysync.net:latest
# 注意:-p 后面的容器端口必须为 10101(源码固定)
# 注意:-p 后面的容器端口,可以用环境变量:ASPNETCORE_URLS = http://+:10108 指定
```
### 方式二:Docker Compose 运行(推荐)
创建 docker-compose.yml 文件,复制以下内容,替换「本地路径」后执行 docker-compose up -d
```bash
version: '3.8'
services:
@@ -115,27 +125,28 @@ services:
container_name: dysync_arm_full # 容器名称
restart: always # 总是重启
ports:
- "10101:10101" # 端口映射
- "10101:10101" # 端口映射(主机端口:容器端口,容器端口固定为10101)
volumes:
- /opt/dysync/db:/app/db # 数据库目录
- /opt/dysync/coll:/app/collect # 收集目录
- /opt/dysync/favorite:/app/favorite # 收藏目录(补充了容器内路径)
- /opt/dysync/imgs:/app/images # 图片目录
- /opt/dysync/uper:/app/uper # 上传目录
# 下面是多账号路径映射示例(可选)
- /opt/dysync/coll2:/app/collect # 收集目录
- /opt/dysync/favorite2:/app/favorite # 收藏目录(补充了容器内路径)
- /opt/dysync/imgs2:/app/images # 图片目录
- /opt/dysync/uper2:/app/uper # 上传目录
# 配置DNS服务器(可选)
# 基础路径映射
- /opt/dysync/db:/app/db # 数据库目录(持久化配置和同步记录)
- /opt/dysync/coll:/app/collect # 个人收藏视频目录
- /opt/dysync/favorite:/app/favorite # 个人喜欢视频目录
- /opt/dysync/imgs:/app/images # 图文视频目录
- /opt/dysync/uper:/app/uper # 指定博主视频目录
# 多账号路径映射示例(可选,需在后台对应账号配置中指定存储路径)
# - /opt/dysync/account1/collect:/app/user1/collect
# - /opt/dysync/account1/favorite:/app/user1/favorite
# - /opt/dysync/account2/collect:/app/user2/collect
# - /opt/dysync/account2/favorite:/app/user2/favorite
network_mode: bridge
dns:
- 8.8.8.8 # Google DNS
- 114.114.114.114 # 国内DNS
- 223.5.5.5
- 8.8.8.8 # Google DNS(提升海外访问稳定性)
- 114.114.114.114 # 国内DNS(提升国内访问稳定性)
- 223.5.5.5 # 阿里云DNS(备用)
```
## 🚀 5. 软件截图
![输入图片说明](docs/homepage.png)