@scramble-cloud/cli
v0.0.15
Published
Scramble CLI Client
Maintainers
Readme
Scramble CLI
Official command-line client for Scramble Cloud — end-to-end encrypted file storage.
Upload, download, and manage your encrypted files directly from the terminal. All data is encrypted client-side before it leaves your machine.
Installation
npm install -g @scramble-cloud/cliAfter installation the scramble-cli command is available system-wide.
Quick Start
# Log in to your Scramble Cloud account
scramble-cli login -u [email protected]
# List your files
scramble-cli ls
# Upload a file
scramble-cli upload ./document.pdf
# Download a file
scramble-cli download document.pdf -o ./downloaded.pdfAuthentication
Login
scramble-cli login -u <username>The password is prompted interactively and never passed as a command-line argument.
| Option | Description | Default |
|---|---|---|
| -u, --username | Username or email (required) | — |
| -k, --insecure | Allow self-signed SSL certificates | false |
If your account has 2FA enabled, you will be prompted for the code automatically after entering your password.
Logout
scramble-cli logoutSession Status
scramble-cli statusCommands
Navigation
| Command | Description | Example |
|---|---|---|
| pwd | Print current working directory | scramble-cli pwd |
| cd <path> | Change directory | scramble-cli cd Documents |
| ls [path] | List folder contents | scramble-cli ls /Photos |
cd supports relative paths (., ..) and absolute paths (/Photos/Vacation).
File Operations
Upload
scramble-cli upload ./photo.jpg
scramble-cli upload /home/user/report.pdfUploads a local file to the current remote directory.
Download
scramble-cli download photo.jpg
scramble-cli download photo.jpg -o ./local-copy.jpg| Option | Description |
|---|---|
| -o, --output <path> | Output file path (defaults to original name in current local directory) |
Copy
# Copy with new name
scramble-cli cp file.txt copy.txt
# Copy into subfolder
scramble-cli cp file.txt /Backup/
# Copy with new name into subfolder
scramble-cli cp file.txt /Backup/renamed.txt
# Copy multiple files into a folder
scramble-cli cp file1.txt file2.txt /Backup/
# Copy a remote folder (requires -r)
scramble-cli cp -r MyFolder MyFolder_Backup
# Upload/copy a local folder tree into Scramble Drive (requires -r and local: prefix)
scramble-cli cp -r local:/home/user/photos /Backup/photosMove / Rename
# Rename a file
scramble-cli mv old-name.txt new-name.txt
# Move into subfolder
scramble-cli mv file.txt /Archive/
# Move multiple files
scramble-cli mv file1.txt file2.txt /Archive/
# Move a folder (requires -r)
scramble-cli mv -r MyFolder /Archive/Delete
# Delete a file
scramble-cli rm document.pdf
# Delete multiple files
scramble-cli rm file1.txt file2.txt
# Delete a folder (requires -r)
scramble-cli rm -r OldFolder
# Delete multiple folders
scramble-cli rm -r folder1 folder2Create Folder
scramble-cli mkdir NewFolder
scramble-cli mkdir /Documents/Work/ProjectsAccount Info
scramble-cli infoShows storage usage (used / available / total) and account details.
WebDAV Server
Start a local WebDAV server to mount your Scramble Drive as a network drive or use it with any WebDAV-compatible client.
scramble-cli webdav| Option | Description | Default |
|---|---|---|
| -p, --port <port> | Port number | 1900 |
| --host <host> | Hostname to bind to | 127.0.0.1 |
| -u, --username <user> | WebDAV username | admin |
| --https | Enable HTTPS with self-signed certificate | false |
| --no-cache | Disable smart cache | — |
| --auth-mode <mode> | basic or digest | basic |
| -v, --verbose | Log request IDs, paths, byte counts, chunks, backend file IDs, and HTTP results | false |
WebDAV diagnostics
For intermittent upload problems, start the server with verbose diagnostics:
scramble-cli webdav --verboseThe terminal and ~/.scramble-cli/webdav/logs/webdav.log then include correlated request IDs, declared and received byte counts, upload stages, chunk progress, backend file IDs, and final HTTP statuses. Passwords and session keys are not logged.
WebDAV Password
The WebDAV password can be provided in three ways (checked in this order):
- Environment variable (best for automation / systemd):
SCRAMBLE_WEBDAV_PASSWORD=mypassword scramble-cli webdav- Stored password (best for desktop autostart):
scramble-cli webdav-password set # set and store password
scramble-cli webdav-password clear # remove stored password- Interactive prompt (default when no password is configured)
Autostart with systemd (Linux)
Create ~/.config/systemd/user/scramble-webdav.service:
[Unit]
Description=Scramble WebDAV Server
After=network-online.target
[Service]
ExecStart=/usr/bin/scramble-cli webdav
Restart=on-failure
RestartSec=5
EnvironmentFile=%h/.config/scramble-webdav.env
[Install]
WantedBy=default.targetCreate ~/.config/scramble-webdav.env:
SCRAMBLE_WEBDAV_PASSWORD=your_webdav_passwordThen enable and start:
chmod 600 ~/.config/scramble-webdav.env
systemctl --user enable scramble-webdav
systemctl --user start scramble-webdavExample: Mount with rclone
# Start the WebDAV server
scramble-cli webdav
# In another terminal, mount with rcloneFollow the documentation here.
Requirements
- Node.js 18 or later
- A valid Scramble Cloud account
License
Proprietary — see LICENSE for details.
Copyright (c) 2026 Scramble Cloud UG (haftungsbeschraenkt)
