Giter Club home page Giter Club logo

qiniudrive's Introduction

七牛云盘

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 调用次数,在软件运行时采用事件捕捉机制,在同步时使用批量移动操作统一重命名。如果您在未启动软件时重命名文件或目录,则会导致软件进行先删除,再上传操作。

界面预览

qiniudrive's People

Contributors

unknwon avatar

Watchers

James Cloos avatar Thunder Cheng avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.