41

GitHub - stewartmcgown/uds: Unlimited Drive Storage by splitting binary files in...

 5 years ago
source link: https://github.com/stewartmcgown/uds
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

UDS : Unlimited Drive Storage

UDS is a tool to split files into base64 parts small enough to fit inside a Google Doc. Compatible with Python 3+.

Features

  • Store and list files in UDS format
  • Reassemble files to their original format

Logic

  • Size of the encoded file is always larger than the original. Base64 encodes binary data to a ratio of about 4:3.
  • A single google doc can store about a million characters. This is around 710KB of base64 encoded data.
  • Some experiments with multithreading the uploads, but there was no significant performance increase.

Authentication

  1. Head to Google's API page and enable the Drive API
  2. Download the configuration file as 'client_secret.json' to the UDS directory

Upload

> python uds.py push Ubuntu.Desktop.16.04.iso
Ubuntu.Desktop.16.04.iso will required 543 Docs to store.
Created parent folder with ID 1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms8
Successfully Uploaded Ubuntu.Desktop.16.04.iso: [██████████████████████████████] 100%

List

> python uds.py list
Name                      Size   Encoded    ID
------------------------  -----  ---------  ---------------------------------
Ubuntu.Desktop.16.04.iso  810 MB  1.1 GB     1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms8

Download

> python uds.py pull 
Downloaded Ubuntu.Desktop.16.04.iso: [██████████████████████████████] 100%

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK