GithubHelp home page GithubHelp logo

eshxcmhk / baiducloudsync Goto Github PK

View Code? Open in Web Editor NEW

This project forked from qhgz2013/baiducloudsync

0.0 1.0 0.0 733 KB

用于同步百度网盘数据的小软件

License: GNU General Public License v3.0

C# 100.00%

baiducloudsync's Introduction

BaiduCloudSync

用于同步百度网盘数据的小软件 纠结了这么久还是开源吧……(捂脸)

依赖nuget程序包

  • Newtonsoft Json .net
  • SQLite

编译版本

  • .net Framework 4.0
  • Visual Studio 2015

功能

(黑框框功能完成了一般了,GUI重置还没开始)

  • 文件/文件夹操作
    • 复制
    • 移动
    • 创建(仅限文件夹)
    • 删除
    • 重命名
    • 属性查看
  • 文件上传/下载
    • 上传:多线程可断点(可秒传)
    • 下载:多源多线程下载,可断点
    • 不过传输列表的保存还没完成
  • 文件同步
    • 同步到网盘
    • 同步到本地
  • 文件加密
    • 动态AES密钥(由RSA加密后保存到文件中)
    • 静态AES密钥(只对数据进行加密,不保存任何密钥)
  • 分享创建
    • 公开分享
    • 私密分享(密码可自定义)
  • 黑科技(文件的动态链接)
    • 创建文件链接
    • 还原文件

黑科技列表

下载无限速

目前发现百度云服务器只对单线程限速,好像黑名单也就10kB/线程,所以参考了一下idm的下载方式,从单一url下载改进到多url下载,而且线程上线可以调到200/任务,基本可以实现几MB/s了,所以也够了吧

文件动态链接

基于网盘的秒传api实现的:只保留了api调用需要的几个必要参数,而原文件就可以根据这几个参数调用秒传api再次生成 注意:该方式只适用于热门的网盘资源,自己的照片和游戏存档什么的建议还是不要试了,不然可能会丢失数据(当然了无耻的(屁)开发者是不会承担的

文件加密

目前分成了两个加密方式,一个就是动态的AES密钥:本地保存RSA私钥,将AES的密钥和初始向量都由RSA加密后写入到文件中(放心吧,还是安全的,暴力破解的话连天河二号都会吃瘪),所以同一个文件每次上传所产生的加密数据都是完全不同的; 另一个就是静态的AES密钥:本地直接保存AES的密钥和初始向量,不会将密钥信息透露到任何公共区域,该加密方式对同一个文件都只会生成同样的加密文件,不会发生改变。 (加密文件的同步方式依旧再纠结中)

文件同步

该功能只适合同步小文件(不大于2g),因为在合成大文件的过程中,百度云返回的md5与文件的实际md5会不匹配

低调使用

bug反馈

直接开issue吧……因为太多bug了……自己没法找全(捂脸) 代码风格飘逸还真的见谅了

License and Copyright

  • GNU GPLv3
  • copyright © Zhou Xuebin

baiducloudsync's People

Contributors

qhgz2013 avatar

Watchers

 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.