# taosync
**Repository Path**: dr34m/taosync
## Basic Information
- **Project Name**: taosync
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: AGPL-3.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 9
- **Forks**: 0
- **Created**: 2024-07-15
- **Last Updated**: 2025-06-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
TaoSync是一个适用于OpenList v3的自动化同步工具。
---
桃桃是我女儿的乳名,我是桃桃她爸,这也是本程序的logo。
本程序开发之初,主要是为了保存桃桃成长的照片,故名`taoSync`
**如果好用,请Star!非常感谢!** [GitHub](https://github.com/dr34m-cn/taosync) [Gitee](https://gitee.com/dr34m/taosync) [DockerHub](https://hub.docker.com/r/dr34m/tao-sync)
点击展开截图
由于更新频繁,截图仅供参考,以实际为准
#### 作业详情

#### 引擎管理

#### 引擎编辑

#### 新建作业

#### 作业列表

#### 任务详情

#### 通知配置

## 须知
> [!IMPORTANT]
> 使用本工具前你必须了解并且会使用[OpenList](https://openlist.team/zh/);本工具没有集成`OpenList`,你需要额外启动`OpenList`
> [!WARNING]
> **警告!不要在外网暴露本系统,否则后果自负!**
> 本系统已经做了一定的安全方面的工作,但仍不能保证绝对安全。如确实需要,请务必使用强密码,并使用`SSL`
## 用途举例
#### 1. 同步备份
把本地文件备份到多个网盘或FTP之类的存储,或者在多个网盘之间同步文件等;
可以定时扫描指定目录下文件差异,让目标目录与源目录相同(全同步模式);或仅新增存在于源目录,却不存在于目标目录的文件(仅新增模式)
#### 2. 定时下载
可以设置一次性任务(`cron`方式设置年月日时分秒,将在指定时间执行一次),可在闲时自动从特定网盘下载文件到本地
## 特性
* 开源免费,几乎支持所有常用平台
* windows-amd64
* windows-arm64
* darwin-amd64
* darwin-arm64
* linux-amd64
* linux-arm64
* linux-386
* linux-arm-v6
* linux-arm-v7
* linux-s390x
* linux-ppc64le
* [Github Actions](https://docs.github.com/zh/actions)自动打包与发布构建好的可执行程序,并支持Docker,下载即用
* 干净卸载,不用的时候删掉即可,无任何残留或依赖,不影响系统里其他程序
* 密码加密不可逆,永远不会泄露您的密码,敏感信息均被加密,支持重置密码
* 完全离线运行(仅连接AList),永不上传用户隐私
* 完善的错误处理,稳定可靠,逻辑自洽;可能出错,但永不崩溃(我猜的)
* 完善的日志,所有错误都会被记录
* 引擎管理,可以自由增删改查`AList`
* 作业管理,可以新增/删除/启用/禁用/编辑/手动执行作业
* 支持排除项规则,可以排除指定目录或文件不同步
* 仅新增、全同步、移动三种模式
* 定时同步支持间隔、`cron`、手动调用
* 同步进度、总体进度、同步速度、实时同步文件、预估时间等实时可视化查看
* 存储可控,合理配置任务记录与日志保留天数,可以控制本程序所占用存储在可控范围内
* 支持钉钉群机器人或server酱通知,可在任务成功或失败后发送通知
## 使用方法
### 先启动
* 可执行程序
前往[Release](https://github.com/dr34m-cn/taosync/releases)下载对应平台的可执行程序,直接执行
> [!TIP]
> 开机自启、守护进程等可以参考[AList的方式](https://alist.nn.ci/zh/guide/install/manual.html#%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B),把其中的`alist`改为`taoSync`;注意,本程序**不需要`server`参数**
* docker
```sh
docker run -d --restart=always -p 8023:8023 -v /opt/data:/app/data --name=taoSync dr34m/tao-sync:latest
```
把其中`/opt/data`替换为你实际的目录
在绿联NAS中使用可以参考这里[如何在绿联NAS中使用TaoSync同步我的文件到各个网盘](https://blog.ctftools.com/2024/07/newpost-57/),在其他支持Docker的NAS中使用大同小异
### 再使用
访问`http://127.0.0.1:8023`
如果你没有修改,默认账号为`admin`,密码请到日志中查看输出,登录后请立即前往系统设置修改密码
> [!NOTE]
> 如果没有显示这个日志,可以到同级目录的`data/log/sys_xxx.log`文件查看,通常在第一行
进入系统后先到`引擎管理`菜单创建引擎,然后前往`作业管理`创建同步作业
## 配置项
点击展开配置项
配置优先级:`data/config.ini`>`环境变量`>`默认值`;前一个存在,则后边都将被**忽略**。修改配置需重启程序或Docker。
`data/config.ini`文件示例(如该文件存在,则**优先级最高**)
```ini
[tao]
# 运行端口号
port=8023
# 登录有效期,单位天
expires=2
# 日志等级:0-DEBUG,1-INFO,2-WARNING,3-ERROR,4-CRITICAL;数值越大,产生的日志越少,推荐1或2
log_level=1
# 控制台日志等级:适用于v0.2.3及之后版本,与上同
console_level=2
# 系统日志保留天数,该天数之前的日志会自动清理,单位天,0表示不自动清理
log_save=7
# 任务记录保留天数,该天数之前的记录会自动清理,单位天,0表示不自动清理
task_save=0
# 任务执行超时时间,单位小时。一定要设置长一点,以免要备份的东西太多
task_timeout=72
```
上边的文件默认不存在,如需要,您可以手动在程序同级目录的`data`目录下创建`config.ini`,并填入上边的内容。注意,文件应使用`UTF-8`编码
| config.ini | Docker环境变量 | 描述 | 默认值 |
| ------------- | ----------------- | ------------------------------------------------------------ |---------------|
| port | TAO_PORT | 运行端口号 | 8023 |
| expires | TAO_EXPIRES | 登录有效期,单位天 | 2 |
| log_level | TAO_LOG_LEVEL | 日志等级:0-DEBUG,1-INFO,2-WARNING,3-ERROR,4-CRITICAL;数值越大,产生的日志越少,推荐1或2 | 1 |
| console_level | TAO_CONSOLE_LEVEL | 控制台日志等级:适用于v0.2.3及之后版本;与上同 | 2 |
| log_save | TAO_LOG_SAVE | 系统日志保留天数,该天数之前的日志会自动清理,单位天,0表示不自动清理 | 7 |
| task_save | TAO_TASK_SAVE | 任务记录保留天数,该天数之前的记录会自动清理,单位天,0表示不自动清理 | 0 |
| task_timeout | TAO_TASK_TIMEOUT | 任务执行超时时间,单位小时。一定要设置长一点,以免要备份的东西太多 | 72 |
| - | TZ | 时区 | Asia/Shanghai |
## 研发状态
历史记录在[这里](https://github.com/dr34m-cn/taosync/tree/main/doc/changelog);
如想体验研发中的版本(可能存在明显错误或严重bug,不建议小白尝试),可以尝试到[DockerHub](https://hub.docker.com/r/dr34m/tao-sync)或[Release](https://github.com/dr34m-cn/taosync/releases)找最新的含`dev`或`pre`的tag,例如`v0.1.0-dev-build0`
### 规划中(随时改变or因太难不做了,概不负责)
* windows版本优化(开机自启,隐藏页面,启动停止等)[#13](https://github.com/dr34m-cn/taosync/issues/13)
* OpenList支持加密同步 [#18](https://github.com/dr34m-cn/taosync/issues/18)
* 移动端适配(可能顺便开发个app?)
* 支持本地引擎(不基于`OpenList`)
* 本地引擎支持加密同步
* 保留历史N个版本(N可自定义,可无限)
* 配置导入导出
* 多语言支持
* linux一键安装、更新与卸载脚本
## Star随时间
[](https://starchart.cc/dr34m-cn/taosync)