Skip to content

SaintWe/F11eSync

Repository files navigation

F11eSync

一个基于 Scripting 应用的文件同步工具,工具将监听指定目录下的文件,当文件变化时,工具会自动将文件发送给 Scripting。

🚀 快速使用

根据你的平台选择对应的程序下载

Windows

  1. 继续后续的步骤

macOS / Linux

CLI

GUI

  1. 继续后续的步骤

后续步骤

  1. iPhone 上安装 Scripting 应用
  2. 点击 导入 script.zip 到 Scripting 中
  3. 在 Scripting 的【工具】->【文件书签】中右上角加号添加目录书签,目录指向你想同步的文件夹,设置一个你喜欢的名称
  4. 点击运行【F11eSync】脚本,在脚本设置中填入你上一步创建的文件书签名称以及修改 HTTP 地址中的 IP 改为你的电脑 IP
  5. 点击连接服务器,即可开始同步,此时你在电脑端修改的文件会自动同步到手机端
  6. 修改完成后点击自定义按钮可跳转到你设定的 APP 中

开发文档

环境要求

Rust 服务端(新)

仓库内提供一个 Rust 版本服务端(目标:完全兼容现有 iOS 脚本的 Socket.IO 协议),路径:app/

构建与运行(需要本机已安装 Rust toolchain):

cd app
cargo run --release -- --cli -d ../skin

GUI 运行(默认启用 gui feature):

cd app
cargo run --release

macOS GUI 打包(arm64 / x86_64)

在 Apple 芯片机器上可以一次性构建 2 份 .app.ziparm64 / x86_64,其中 x86_64 可在 Apple 芯片上通过 Rosetta 运行):

./app/scripts/build-macos-gui-apps.sh

产物:

  • dist/f11esync-gui-darwin-arm64.zip
  • dist/f11esync-gui-darwin-x64.zip

macOS GUI 安装出现 已损坏/无法打开

A. 方法

  1. 下载发布的 F11eSync.app.zip(解压后是 F11eSync.app
  2. 双击解压得到 F11eSync.app,把它拖到 /Applications(应用程序)
  3. 第一次打开如果提示“无法打开/来自身份不明的开发者”:
    • 在 Finder 里对 F11eSync.app 右键打开
    • 再弹确认框 → 点 打开
  4. 如果提示“已损坏,无法打开”(通常是下载隔离标记导致):
    • 系统设置 → 隐私与安全性,页面底部通常会出现 仍要打开/允许,点一次再重试

B. 方法

当出现“已损坏/无法打开”或你想批量处理时:

xattr -dr com.apple.quarantine /Applications/F11eSync.app
open /Applications/F11eSync.app

说明:xattr ... com.apple.quarantine 是移除下载隔离标记;不等价于签名/公证。

Windows 打包

在 Windows 上执行(Rust CLI + Rust GUI 单文件 zip):

.\app\scripts\build-windows-rust.ps1

产物:

  • dist/f11esync-rust-windows-x64.zip
  • dist/f11esync-gui-windows-x64.zip

安装依赖

bun i

启动脚本开发同步

bun watch.ts     # 启动脚本开发同步,默认目录是 macOS 的 iCloud,Windows 你需要手动修改源码

更新日志

服务端

v1.2.1

  • 已编译二进制文件,支持 Linux、macOS、Windows-x64 (不支持 x86)
  • 二进制运行需要指定同步目录,例如:./f11esync-linux-x64 -d ./skin

v1.2.0

  • 从 WebSocket 迁移到 Socket.IO,提升连接稳定性
  • 配置项 wsUrl 改为 serverUrl,使用 HTTP 协议

v1.1.0

  • 新增分片传输,支持传输大文件,服务端与客户端需要更新

客户端

v1.1.3

  • 从 WebSocket 迁移到 Socket.IO,提升连接稳定性
  • 配置项 wsUrl 改为 serverUrl,使用 HTTP 协议

v1.1.0

  • 新增分片传输,支持传输大文件,服务端与客户端需要更新

答疑解惑

Q: Scripting 未连接服务器能否同步?

A: 不能,Scripting 需要连接服务器才能同步。

Q: 如果我在同步工具启动前修改了文件?

A: 启动同步工具后,并不会将启动前你修改的文件发送给 Scripting,你可以在 Scripting 中点击连接服务器后点击下载全部。

Q: 如果手机端存在文件 A,电脑端不存在文件 A,那么?

A: 除非你在 Scripting 中上传全部,否则电脑端不会有文件 A。

Q: 是否适用于仓输入法?

A: 可以,你甚至可以同步给手机任意文件夹。

Q: 为什么持续同步失败?

A: 在你同步的 APP 更新后目录会发生变化,请重新添加文件书签。

Q: 能否发送大文件?

A: 以使用分片传输,客户端以及服务端使用 v1.1.0 版本后可以传输大文件。

Q: 如何更新?

A: Scripting 长按脚本可以更新,服务端的话请重新下载二进制文件即可。

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published