CloudChain
Single-Chain Google Drive Backup Manager A deterministic, account-chain approach to managing unlimited Google Drive backups. DO NOT USE IN AN ATTEMPT TO ABUSE TOC's.
🚀 Overview
CloudChain is a command-line backup manager designed to store files into a linked chain of Google accounts. Instead of juggling random drives, CloudChain enforces a strict naming convention and quota-based rotation so your backups are always deterministic and infinitely expandable.
• Uses sequential Gmail accounts (<base><NNN>.cloudchain@gmail.com) to extend storage when quotas are hit.
• Self-contained state: All metadata, configs, and tokens are managed inside a single local root folder.
• Deterministic rules: Naming and rotation are enforced by code, so you’ll never wonder which account is “next.”
📂 Local Directory Structure
On first run, you’ll be asked for your local backup root (LOCAL_ROOT). CloudChain will create a state directory:
<LOCAL_ROOT>/cloud_backup/
├── client_secret.json # OAuth credentials
├── accounts.yaml # Account chain state
├── <base>001.cloudchain/ # Per-account directory
│ ├── token.json
│ ├── uploads.yaml
│ └── mirrored files...
└── ...
All state lives here. Nothing is hidden elsewhere.
⸻
🔗 Account Naming
CloudChain enforces a strict naming scheme:
<basename>001.cloudchain@gmail.com
• The very first account must end in 001.cloudchain.
• Each new account increments numerically (002, 003, …).
• Base string (mybackup, familydrive, etc.) is locked at first creation.
If quota reaches ≥95%, CloudChain warns you and requires the next sequential account.
☁️ Remote Storage
All files are uploaded to:
Drive:/backup/
This is fixed and cannot be changed. Every account in the chain mirrors the same folder structure.
🔧 Usage
- Initialize
cloudchain init
• Prompts for local backup root.
• Enforces base account naming (001.cloudchain).
- Add a new account
cloudchain add
• Checks last account’s quota.
• Requires next sequential Gmail (<base>002.cloudchain@gmail.com).
- Backup files
cloudchain backup /path/to/files
- Reset all state
cloudchain reset
• Wipes local configs and exits.
• Does not touch remote accounts.
⚠️ Warnings
• Do not deviate from naming scheme. The system will reject mismatches.
• Manual Gmail creation required. You must manually create each <base><NNN>.cloudchain@gmail.com before adding it.
• Drive quota is finite. CloudChain only detects when it’s time to roll over; it cannot expand a single account.
🛠️ Philosophy
CloudChain takes the chaos out of cloud backup by enforcing discipline: • No ad-hoc accounts • No mystery folders • No hidden state
Just a clean, deterministic chain of accounts you can audit at a glance.
Release files for cloudchain-cli 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cloudchain_cli-0.1.1.tar.gz | 16.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cloudchain_cli-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.7 kB
Release files / cloudchain_cli-0.1.1.tar.gz
| Download URL | cloudchain_cli-0.1.1.tar.gz |
|---|---|
| Size | 16.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8386bfdc434f781db95f42b3ea9ae7ac5ad6f51a67d606d19406ce82ba3ad5a5
|
|
BLAKE2b-256 checksum How to use checksums |
d5d0e775ed5447ca7578ca7ce762ea6586b46f71f62382a61901b59f97b6d620
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.8
|
Release files / cloudchain_cli-0.1.1-py3-none-any.whl
| Download URL | cloudchain_cli-0.1.1-py3-none-any.whl |
|---|---|
| Size | 15.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c51b6c080f3532115316be84f957cd1bf85965e735274563120275f75ac9e6c9
|
|
BLAKE2b-256 checksum How to use checksums |
7600772f531f59a2cae1773f977294adbdab80ef2e1db29c9a91627d70d6486e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.8
|