Skip to content

Repository files navigation

folder-sync

XingSeq 控制台外挂子应用:监控本地目录变更,单向增量同步到目标目录。

核心行为:

  • 新增 / 修改 → 自动 rsync 增量同步(debounce 1s)
  • 源删除 → 仅日志提醒,绝不同步删除目标文件
  • Web GUI 管理多个同步任务,SSE 实时日志流

通过 XingSeq 应用商店安装(推荐)

打开 XingSeq 控制台 → 应用商店 → 安装「文件夹同步」,完成后左侧导航出现 📂 文件夹同步。

手动安装

git clone https://github.com/xingseq/folder-sync.git
cd folder-sync
npm install --omit=dev

复制到 XingSeq 子应用安装目录(macOS):

rsync -a --exclude web/node_modules --exclude .git ./ \
"$HOME/Library/Application Support/xingseq/projects/folder-sync/"

重启 XingSeq 控制台即可。

独立运行(不依赖控制台)

PORT=8020 npm start
# 浏览器打开 http://localhost:8020

系统要求

  • macOS / Linux(依赖系统 rsync
  • Node.js ≥ 18

技术说明

  • 后端零框架:node:http + chokidar 文件监控
  • 同步引擎:rsync -a不带 --delete);删除探测用 rsync -n -i --delete dry-run 匹配 *deleting 行,仅提醒
  • 任务持久化:~/.xingseq/folder-sync/tasks.json
  • 前端:React + Vite,web/dist 已预构建随仓库分发(安装免构建)

API

MethodPath说明
GET/api/health健康检查
GET/POST/api/tasks列出 / 创建任务
GET/PUT/DELETE/api/tasks/:id查看 / 更新 / 删除任务
POST/api/tasks/:id/start/stop/sync启停监控 / 手动同步
GET/api/tasks/:id/logs最近日志(?limit=200
GET/api/tasks/:id/logs/streamSSE 实时日志流

License

MIT

About

XingSeq sub-app: one-way folder sync with delete-notify-only behavior and Web GUI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages