TaoSync是一个适用于AList v3的自动化同步工具。
桃桃是我女儿的乳名,我是桃桃她爸,这也是本程序的logo。
本程序开发之初,主要是为了保存桃桃成长的照片,故名taoSync
如果好用,请Star!非常感谢! GitHub Gitee DockerHub
点击展开截图
由于更新频繁,截图仅供参考,以实际为准
#### 引擎管理
![引擎列表](README/引擎列表.png)
#### 引擎编辑
![引擎编辑](README/引擎编辑.png)
#### 新建作业
![新建作业](README/新建作业.png)
#### 作业列表
![作业列表](README/作业列表.png)
#### 作业详情(任务列表)
![任务列表](README/任务列表.png)
#### 任务详情
![任务详情](README/任务详情.png)
须知
[!IMPORTANT]
使用本工具前你必须了解并且会使用AList;本工具没有集成AList
,你需要额外启动AList
[!WARNING]
警告!不要在外网暴露本系统,否则后果自负!
本系统已经做了一定的安全方面的工作,但仍不能保证绝对安全。如确实需要,请务必使用强密码,并使用SSL
用途举例
1. 同步备份
把本地文件备份到多个网盘或FTP之类的存储,或者在多个网盘之间同步文件等;
可以定时扫描指定目录下文件差异,让目标目录与源目录相同(全同步模式);或仅新增存在于源目录,却不存在于目标目录的文件(仅新增模式)
2. 定时下载
可以设置一次性任务(cron
方式设置年月日时分秒,将在指定时间执行一次),可在闲时自动从特定网盘下载文件到本地
特性
- 开源免费,几乎支持所有常用平台
- windows-amd64
- darwin-amd64
- darwin-arm64
- linux-amd64
- linux-arm64
- linux-386
- linux-arm-v6
- linux-arm-v7
- linux-s390x
- linux-ppc64le
- Github Actions自动打包与发布构建好的可执行程序,并支持Docker,下载即用
- 干净卸载,不用的时候删掉即可,无任何残留或依赖,不影响系统里其他程序
- 密码加密不可逆,永远不会泄露您的密码,敏感信息均被加密
- 完全离线运行(仅连接AList),永不上传用户隐私
- 完善的错误处理,稳定可靠,逻辑自洽;可能出错,但永不崩溃(我猜的)
- 完善的日志,所有错误都会被记录
- 引擎管理,可以自由增删改查
AList
- 作业管理,可以新增/删除/启用/禁用/编辑/手动执行作业
- 支持排除项规则,可以排除指定目录或文件不同步
- 仅新增与全同步模式
- 定时同步支持间隔、
cron
方式
- 同步进度实时可视化查看与筛选
- 存储可控,合理配置任务记录与日志保留天数,可以控制本程序所占用存储在可控范围内
使用方法
先启动
前往Release下载对应平台的可执行程序,直接执行
[!TIP]
开机自启、守护进程等可以参考AList的方式,把其中的alist
改为taoSync
;注意,本程序不需要server
参数
docker run -d --restart=always -p 8023:8023 -v /opt/data:/app/data --name=taoSync dr34m/tao-sync:latest
把其中/opt/data
替换为你实际的目录
在绿联NAS中使用可以参考这里如何在绿联NAS中使用TaoSync同步我的文件到各个网盘,在其他支持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 |
研发状态
历史记录在这里;
如想体验研发中的版本,可以尝试到DockerHub或Release找最新的含dev
或pre
的tag,例如v0.1.0-dev-build0
规划中(随时改变or因太难不做了,概不负责)
- windows版本优化(开机自启,隐藏页面,启动停止等)#13
- Alist支持加密同步 #18
- 边扫描边同步,扫描失败不中断任务 #19
- 移动端适配(可能顺便开发个app?)
- 支持本地引擎(不基于
AList
)
- 任务剩余时间预估
- 任务同步速度计算
- 本地引擎支持加密同步
- 保留历史N个版本(N可自定义,可无限)
- 配置导入导出
- 任务整体进度条展示(目前只能展示每个文件的进度条)
- 多语言支持
- linux一键安装、更新与卸载脚本
0.2.4(规划开发中,随时调整)