A command-line interface for interacting with shdwDrive storage.
- 📤 File uploads (supports both small and large files)
- 📁 Folder support (create, delete, and manage files in folders)
- 📥 File and folder deletion
- 📋 File listing
- 📊 Bucket usage statistics
- 🔐 Secure message signing
- 🔄 Multipart upload support for large files
You can install the CLI globally using npm:
npm install -g @shdwdrive/cli
Or use it directly from the repository:
git clone https://github.com/genesysgo/shdwdrive-v2-cli.git
cd shdwdrive-v2-cli
npm install
npm run build
npm link
The CLI uses environment variables for configuration:
SHDW_ENDPOINT
: The shdwDrive API endpoint (defaults to https://v2.shdwdrive.com)
shdw-drive upload \
--keypair ~/.config/solana/id.json \
--bucket your-bucket-identifier \
--file path/to/your/file.txt \
--folder optional/folder/path
# Delete a file from root of bucket
shdw-drive delete \
--keypair ~/.config/solana/id.json \
--bucket your-bucket-identifier \
--file filename.txt
# Delete a file from a folder
shdw-drive delete \
--keypair ~/.config/solana/id.json \
--bucket your-bucket-identifier \
--file folder/subfolder/filename.jpg
shdw-drive create-folder \
--keypair ~/.config/solana/id.json \
--bucket your-bucket-identifier \
--name my-folder/subfolder
shdw-drive list \
--keypair ~/.config/solana/id.json \
--bucket your-bucket-identifier
shdw-drive usage \
--keypair ~/.config/solana/id.json \
--bucket your-bucket-identifier
-k, --keypair
- Path to your Solana keypair file-b, --bucket
- Your bucket identifier-f, --file
- Path to the file you want to upload-F, --folder
- (Optional) Folder path within the bucket
-k, --keypair
- Path to your Solana keypair file-b, --bucket
- Your bucket identifier-f, --file
- URL or path of the file to delete
-k, --keypair
- Path to your Solana keypair file-b, --bucket
- Your bucket identifier-n, --name
- Name/path of the folder to create
-k, --keypair
- Path to your Solana keypair file-b, --bucket
- Your bucket identifier-p, --path
- Path of the folder to delete
- Clone the repository:
git clone https://github.com/genesysgo/shdwdrive-v2-cli.git
- Install dependencies:
cd shdwdrive-v2-cli
npm install
- Build the project:
npm run build
- Link the CLI locally:
npm link
See the LICENSE file for details.