All Projects → apachecn → Cdndrive

apachecn / Cdndrive

Licence: other
☁️ CDNDrive = BiliDrive + SuperBed,支持任意文件的全速上传与下载

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Cdndrive

Dnsfs
Store your data in others DNS revolvers cache
Stars: ✭ 696 (+124.52%)
Mutual labels:  cloud, storage
Megasync
Easy automated syncing between your computers and your MEGA Cloud Drive
Stars: ✭ 975 (+214.52%)
Mutual labels:  cloud, storage
Minio
High Performance, Kubernetes Native Object Storage
Stars: ✭ 30,698 (+9802.58%)
Mutual labels:  cloud, storage
Cash
HTTP response caching for Koa. Supports Redis, in-memory store, and more!
Stars: ✭ 122 (-60.65%)
Mutual labels:  storage, cdn
Laravel Google Drive Demo
Laravel & Google Drive Storage - Demo project with Laravel 5.4
Stars: ✭ 299 (-3.55%)
Mutual labels:  cloud, storage
Cloudinary npm
Cloudinary NPM for node.js integration
Stars: ✭ 450 (+45.16%)
Mutual labels:  cloud, cdn
Azure.data.wrappers
Azure Storage Simplified
Stars: ✭ 34 (-89.03%)
Mutual labels:  cloud, storage
Fake Gcs Server
Google Cloud Storage emulator & testing library.
Stars: ✭ 316 (+1.94%)
Mutual labels:  cloud, storage
Miniflix
Miniflix - A smaller version of Netflix powered by Cloudinary
Stars: ✭ 58 (-81.29%)
Mutual labels:  cloud, storage
Hexa
Hexa: The ultimate companion for Azure. Setup and deploy in seconds
Stars: ✭ 56 (-81.94%)
Mutual labels:  cloud, storage
Awesome Scalability Toolbox
My opinionated list of products and tools used for high-scalability projects
Stars: ✭ 34 (-89.03%)
Mutual labels:  cloud, storage
Sia
Blockchain-based marketplace for file storage. Project has moved to GitLab: https://gitlab.com/NebulousLabs/Sia
Stars: ✭ 2,731 (+780.97%)
Mutual labels:  cloud, storage
Drive
☁️ A distributed cloud based lazy drive to files integrated with Dropbox, Google Drive.
Stars: ✭ 36 (-88.39%)
Mutual labels:  cloud, storage
Cloudserver
Zenko CloudServer, an open-source Node.js implementation of the Amazon S3 protocol on the front-end and backend storage capabilities to multiple clouds, including Azure and Google.
Stars: ✭ 1,167 (+276.45%)
Mutual labels:  cloud, storage
Arozos
General purposed Web Desktop Operating Platform / OS for Raspberry Pis, Now written in Go!
Stars: ✭ 252 (-18.71%)
Mutual labels:  cloud, storage
Couchdb Fauxton
Apache CouchDB
Stars: ✭ 295 (-4.84%)
Mutual labels:  cloud
Easystash
🗳Easy data persistence in Swift
Stars: ✭ 303 (-2.26%)
Mutual labels:  storage
Terraform Provider Digitalocean
Terraform DigitalOcean provider
Stars: ✭ 296 (-4.52%)
Mutual labels:  cloud
Eureka Js Client
JS implementation of a client for Eureka (https://github.com/Netflix/eureka), the Netflix OSS service registry.
Stars: ✭ 293 (-5.48%)
Mutual labels:  cloud
Cosmonaut
🌐 A supercharged Azure CosmosDB .NET SDK with ORM support
Stars: ✭ 309 (-0.32%)
Mutual labels:  storage

CDNDrive = BiliDrive + SuperBed

☁️ 废墟之上,重建辉煌! ☁️

☁️ 支持任意文件的全速上传与下载 ☁️

特色

  • 轻量:无复杂依赖,资源占用少
  • 自由:无文件格式与大小限制,无容量限制
  • 安全:上传的文件需要通过生成的 META URL 才能访问,他人无法随意查看
  • 稳定:带有分块校验与超时重试机制,在较差的网络环境中依然能确保文件的完整性
  • 快速:支持多线程传输与断点续传,同时借助各个站点的 CDN 资源,能最大化地利用网络环境进行上传与下载

使用指南

安装

通过pip(推荐):

pip install CDNDrive

从源码安装:

pip install git+https://github.com/apachecn/CDNDrive

登录

cdrive login [-h] site username password

site: 站点名称(见 -h)
username: 用户名
password: 密码

运行 cdrive 报错

$ cdrive
-bash: cdrive: command not found

解决方案: https://github.com/apachecn/CDNDrive/issues/7

设置 Cookie

cdrive cookies [-h] site cookies

site: 站点名称(见 -h)
cookies: Cookie

查看登录状态

cdrive userinfo [-h] site

site: 站点名称(见 -h)

上传

cdrive upload [-h] [-b BLOCK_SIZE] [-t THREAD] site file

site: 站点名称(见 -h)
file: 待上传的文件路径

-b BLOCK_SIZE: 分块大小(MB), 默认值为4
-t THREAD: 上传线程数, 默认值为4

上传完毕后,终端会打印一串 META URL 用于下载或分享,请妥善保管

下载

cdrive download [-h] [-f] [-t THREAD] meta [file]

meta: META URL (通常以 cdrive:// 开头)
file: 另存为新的文件名, 不指定则保存为上传时的文件名

-f: 覆盖已有文件
-t THREAD: 下载线程数, 默认值为8

下载完毕后会自动进行文件完整性校验,对于大文件该过程可能需要较长时间,若不愿等待可直接退出

查看文件元数据

cdrive info [-h] meta

meta: META URL

查看历史记录

cdrive history [-h]

交互模式

不传入任何命令行参数,直接运行程序即可进入交互模式

该模式下,程序会打印命令提示符CDNDrive >,并等待用户输入命令

技术实现

将任意文件分块编码为图片后上传至各个站点,对该操作逆序即可下载并还原文件

性能指标

测试文件

文件名:[Vmoe]Hatsune Miku「Magical Mirai 2017」[BDrip][1920x1080p][HEVC_YUV420p10_60fps_2FLAC_5.1ch&2.0ch_Chapter][Effect Subtitles].mkv

大小:14.5 GB (14918.37 MB)

分块:10 MB * 1492

META URL:bdrive://d28784bff1086450a6c331fb322accccd382228e

上传

地理位置:四川成都

运营商:教育网

上行速率:20 Mbps

用时:02:16:39

平均速度:1.82 MB/s

下载

测试点1

地理位置:福建福州

运营商:中国电信

下行速率:100 Mbps

用时:00:18:15

平均速度:13.62 MB/s

测试点2

地理位置:上海

运营商:中国电信

下行速率:1 Gbps

用时:00:02:22

平均速度:104.97 MB/s

历史记录

见这里

免责声明

  • 请自行对重要文件做好本地备份。
  • 请不要上传含有个人隐私的文件,因为无法删除。
  • 请勿使用本项目上传不符合社会主义核心价值观的文件。
  • 请合理使用本项目,避免对哔哩哔哩的存储与带宽资源造成无意义的浪费。
  • 该项目仅用于学习和技术交流,开发者不承担任何由使用者的行为带来的法律责任。

协议

本项目基于 SATA 协议发布。

您有义务为此开源项目点赞,并考虑额外给予作者适当的奖励。

致谢

本项目基于 HsuryBiliDrive,在此表示感谢。

同时感谢 goocarder 提供的思路。

赞助我们

另见

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].