All Projects → unknwon → qiniudrive

unknwon / qiniudrive

Licence: Apache-2.0 License
七牛云盘是基于七牛开放 API 构建的第三方同步程序

Programming Languages

C#
18002 projects

七牛云盘

Requirement >= .NET Framework 4.0

七牛云盘是基于七牛开放 API 构建的第三方同步程序。

软件功能(v0.1.5)

  • 更新日志
  • 自定义同步目录并进行单向上传同步。
  • 支持对每个设备单独设置前缀,避免覆盖及帮助识别。
  • 支持设置 Config/filter.txt 进行文件过滤。
    • */.git/* 表示包含过滤。
    • *.txt 表示后缀过滤。
    • look* 表示前缀过滤。
    • ok/fine.txt 表示相对于同步目录的相对路径过滤。

注意事项

  • 当前版本仅支持文件或目录的 重命名 事件捕捉,如果文件或目录发生 移动 操作,则会先删除,再上传。
  • 书写文件过滤规则时,目录分割符均为 /
  • 默认忽略所有隐藏文件、以 .tmp 结尾的文件。

已知问题

  • 如果您将旧的文件覆盖同步目录中的同名文件,会重新从云端下载旧的文件,这是由于通过只判断最后修改时间导致的。

主要原理

  • 同步周期:为节省 API 调用次数,软件根据用户指定周期(默认为 60 秒)进行文件差异判断,因此如果您在不同设备间进行同步,务必人为确保完成同步后,再修改其它设备上的文件。
  • 差异判断:通过文件最后修改时间完成差异判断,因此如果您通过其它手段非正常你不能 修改文件时间后可能会导致同步结果无法预料。
  • 文件删除:每次同步完成后会将本地文件建立缓存列表并保存至 Data/file_cache_list。因此,您对该文件的任何非法改动都可能将导致您的数据意外丢失!
    • 云端删除:判断是需要上传还是其它设备将文件删除,也是依靠本地缓存列表判断的。如果已存在缓存列表中,则说明该文件已经与云端完成同步,此时发现云端文件被删除,既表示是从其它设备进行删除操作;反之,则表示未进行过同步,需要上传。
  • 文件重命名:为节省 API 调用次数,在软件运行时采用事件捕捉机制,在同步时使用批量移动操作统一重命名。如果您在未启动软件时重命名文件或目录,则会导致软件进行先删除,再上传操作。

界面预览

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].