UDS: Google Cloud Disk unlimited storage

A github project UDS (Unlimited Drive Storage) was fired on telegram , which can realize the unlimited capacity of personal version of network disk.

How it works?
It converts the binary encoding of the file to base64 and store it in Google Docs, and then convert from base64 to the binary encoding of the file when downloading, thereby restoring the file.

Because Google ’s current policy is that Google Docs (Google Online Docs) is free and does not limit capacity, so this can be achieved. Of course, it is not ruled out that Google added restrictions or lifted the unlimited storage policy of Google Docs after discovering that it was being padded with wool. This is something to say.

Steps to install :-
Install python3 and pip

Linux: yum install python3 pip3 apt install python3 python3-pip

macOS: brew install python3, you need to install the homebrew package manager in advance

The above can also be directly compiled and installed

Windows: Google yourself

:warning: Regarding the missing dependencies, what is missing and what to install, for example:

If an Error ModuleNotFoundError: No module named ‘googleapiclient’ is reported , enterpip3 install --upgrade google-api-python-client

Step 2. Apply for Google API

After applying, download the credentials.json file for backup.

Git clone and complete verification

The following steps are in the machine operation:

#Note that you must cd into the directory, otherwise you will get an error ‘Failed with: NoClientSecretError’
cd / path / to / uds
#Move the downloaded api file to the ups folder and rename it to client_secret.json
mv /path/to/credentials.json /path/to/uds/client_secret.json
python3 uds.py 

After completion, it will automatically jump to the browser and start the verification and login of the Google account. The URL of the jump site will also appear in the terminal:

After the deployment is complete, you can start using it. The git clone action can be done on the remote server, or directly on your own computer.

:warning:When deploying on the server , you need to manually copy the URL to the local browser to complete the verification, and a string of authentication codes will be given after the verification is completed. And use the python3 uds.py --noauth_local_webserver initial initialization step.

Instructions -

python3 uds.py push     Uploads a file from this computer [path_to_file]
python3 uds.py bunch    Uploads files from this computer [word_in_file] [path_to_file]
python3 uds.py pull     Downloads a UDS file [id]
python3 uds.py batch    Downloads UDS files [word_in_file]
python3 uds.py grab     Downloads a UDS file [name]
python3 uds.py list     Finds all UDS files [query]
python3 uds.py update   Update cached UDS data
python3 uds.py delete   Deletes a UDS file [id]
python3 uds.py erase    Deletes a UDS file [name]
python3 uds.py wipe     Deletes UDS files [word_in_file]

Analysis:- It can be seen that it took me 4 minutes to upload a video file with less than 50 megabytes using MBP, and 6 minutes to download the file. Aside from Internet speed, encoding and decoding also take a long time. Therefore, although this method can achieve unlimited capacity, but at the cost of transmission and download speed. Therefore, it is not recommended to upload large files.

The security is also very good, don’t client_secret.json want to decode and download if others can’t get you .

As you can see in the last column, there is an extra uds.pyfile after the list , which I tried to upload after the remote server was deployed. It also proves that as long as there is a client_secret.json file in hand, it can also achieve cross-device upload and download, and the standard function of the network disk.


There are still deficiencies in uds core, which are specifically reflected in:

The pure command line needs to master the basics of Linux, but many people just want an unlimited Google disk
The program is client_secret.json heavily dependent on files, so how to properly host is a problem
There are still many inconveniences in downloading and uploading files across devices (not in the case of your own computer), and cannot be solved with a one-click fool script
Without sharing function, you can’t transfer other people’s files
Internet is required, which means that domestic servers cannot be deployed directly.

There’s an web version too. Coming up… Next


Sweet Trick


It’s really unbelievable how people find a way around every limitation or restriction out there :slight_smile:

Can’t believe I haven’t thought of this myself given that I use base64 encoded data a lot lately. Awesome 'till it lasts!


Such a amazing tricks… Really appreciate @TheSpecialOne bro…


Super. Let me try this out.

1 Like

anyone please post a video step by step please


thanks bro, it worked :grin:

1 Like