Skip to content
dr34m-cnPublic

About

TaoSync是一个适用于OpenList v3+的自动化同步工具/Sync for OpenList/AList

Resources

Stars

1.6k stars

Watchers

7 watching

Forks

Latest commit

 

History

296 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文

TaoSync

TaoSync是一个适用于OpenList/AList v3+的自动化同步工具。


桃桃是我女儿的乳名。

本程序开发之初,主要是为了保存桃桃成长的照片,故名taoSync

如果好用,请Star!非常感谢! GitHub Gitee DockerHub

点击展开截图

由于更新频繁,截图仅供参考,以实际为准

作业详情

作业详情

引擎管理

引擎列表

引擎编辑

引擎编辑

新建作业

新建作业

作业列表

作业列表

任务详情

任务详情

通知配置

通知配置

须知

Important

使用本工具前你必须了解并且会使用OpenList;本工具没有集成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
    • Android
  • Github Actions自动打包与发布构建好的可执行程序,过程公开透明,无投毒风险
  • 支持Docker,下载即用
  • 适配PC&移动端显示,方便易用
  • 干净卸载,不用的时候删掉即可,无任何残留或依赖,不影响系统里其他程序
  • 数据库内的登录密码以不可逆散列保存,支持重置密码;如通过配置文件或环境变量设置初始密码,请妥善保护相关配置
  • 完全离线运行(仅连接AList),永不上传用户隐私
  • 完善的错误处理,稳定可靠,逻辑自洽;可能出错,但永不崩溃(我猜的)
  • 完善的日志,所有错误都会被记录
  • 引擎管理,可以自由增删改查OpenList/AList
  • 作业管理,可以新增/删除/启用/禁用/编辑/手动执行作业
  • 支持排除项规则,可以排除指定目录或文件不同步
  • 支持按文件大小过滤,可分别设置最小和最大值
  • 仅新增、全同步、移动三种模式
  • 定时同步支持间隔、cron、手动调用
  • 同步进度、总体进度、同步速度、实时同步文件、预估时间等实时可视化查看
  • 存储可控,合理配置任务记录与日志保留天数,可以控制本程序所占用存储在可控范围内
  • 支持钉钉群机器人或server酱通知,可在任务成功或失败后发送通知

使用方法

先启动

  • 可执行程序

前往Release下载对应平台的可执行程序,直接执行

  • docker
docker run -d --restart=always -p 8023:8023 -v /opt/data:/app/data --name=taoSync dr34m/tao-sync:latest

或docker-compose

version: '3.8'

services:
  tao-sync:
    image: dr34m/tao-sync:latest
    container_name: taoSync
    restart: always
    ports:
      - "8023:8023"
    volumes:
      - /opt/data:/app/data

把其中/opt/data替换为你实际的目录,在部分NAS(如绿联NAS)中,可以使用相对目录,如./config:/app/data

与 OpenList 一起部署的 Docker Compose

使用以下 Compose 配置可以同时启动 TaoSync 和 OpenList:

services:
  openlist:
    image: openlistteam/openlist:latest
    container_name: openlist
    user: "0:0"
    restart: unless-stopped
    ports:
      - "5244:5244"
    environment:
      UMASK: "022"
      TZ: Asia/Shanghai
    volumes:
      - ./openlist-data:/opt/openlist/data

  tao-sync:
    image: dr34m/tao-sync:latest
    container_name: taoSync
    restart: unless-stopped
    depends_on:
      - openlist
    ports:
      - "8023:8023"
    volumes:
      - ./taosync-data:/app/data

启动后,可通过 http://127.0.0.1:5244 访问 OpenList,通过 http://127.0.0.1:8023 访问 TaoSync。在 TaoSync 中添加引擎时,OpenList 地址应填写 http://openlist:5244;Compose 网络内可以直接使用服务名作为主机名。

当前 OpenList 镜像已不再使用 PUID 和 PGID 环境变量。此示例使用 user: "0:0" 以获得较广泛的兼容性;如需按最小权限运行,请将其替换为用于运行 OpenList 的宿主机 UID/GID,并确保该用户对 ./openlist-data 具有写权限。详情请参阅 OpenList Docker 文档。

再使用

访问http://127.0.0.1:8023

默认账号为admin。当初始密码配置为RANDOM时,密码请到日志中查看;如果手动配置了密码,请直接使用该值登录。登录后请立即前往系统设置修改密码

Note

如果没有显示这个日志,可以到同级目录的data/log/sys_xxx.log文件查看,通常在第一行

进入系统后先到引擎管理菜单创建引擎,然后前往作业管理创建同步作业

配置项

点击展开配置项

配置优先级:data/config.ini>环境变量>默认值;前一个存在,则后边都将被忽略。修改配置需重启程序或Docker。

data/config.ini文件示例(如该文件存在,则优先级最高)

[tao]
# 初始管理员密码,仅首次创建数据库时生效;RANDOM或空值表示随机生成
password=RANDOM
# 运行端口号
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环境变量 描述 默认值
password TAO_PASSWORD 初始管理员密码,仅首次创建数据库时生效;RANDOM或空值表示随机生成;兼容旧变量TAO_PASSWD RANDOM
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

研发状态

历史记录在这里;

如想体验研发中的版本(可能存在明显错误或严重bug,不建议小白尝试),可以尝试到DockerHub或Release找最新的含dev或pre的tag,例如v0.1.0-dev-build0

规划中(随时改变or因太难不做了,概不负责)

  • windows版本优化(开机自启,隐藏页面,启动停止等)#13
  • OpenList支持加密同步 #18
  • 支持本地引擎(不基于OpenList)
  • 本地引擎支持加密同步
  • 保留历史N个版本(N可自定义,可无限)
  • 配置导入导出
  • linux一键安装、更新与卸载脚本

About

TaoSync是一个适用于OpenList v3+的自动化同步工具/Sync for OpenList/AList

Resources

Stars

1.6k stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages