Military-grade secure storage with steganography & Google Drive sync
npm install slasshy-secure-cli


A zero-knowledge encrypted vault that stores your sensitive data (passwords, files, documents) on Google Drive's hidden appDataFolder - completely invisible to users in Drive UI.
- AES-256-GCM Encryption - Military-grade authenticated encryption
- Argon2id Key Derivation - Memory-hard KDF resistant to brute force
- Hidden Cloud Storage - Files stored in Google Drive's invisible appDataFolder
- Auto Cloud Sync - Files automatically sync to cloud on upload
- Large File Support - Chunked uploads/downloads with parallel processing
- Progress Tracking - Real-time speed, ETA, and progress bars
- Interactive Shell - Run multiple commands without re-invoking CLI
- Zero-Knowledge - Your master password never leaves your device
- Cloud Restore - Restore your vault on any device from cloud backup
1. Your data is encrypted locally with AES-256-GCM
2. Encrypted chunks are uploaded to Google Drive's hidden appDataFolder
3. The appDataFolder is invisible in Drive UI - only your app can access it
4. Metadata is encrypted and synced for cross-device restore
5. Even Google cannot see what you're storing
``bash`
npm install -g slasshy-secure-cli
`bashClone the repository
git clone https://github.com/SlasshyOverhere/slasshy-secure-cli.git
cd slasshy-secure-cli
Quick Start
`bash
Initialize your vault
slasshy initConnect to Google Drive (required for cloud sync)
slasshy authAdd a password entry
slasshy addUpload any file (auto-syncs to cloud)
slasshy upload ./secret-document.pdfList all entries
slasshy listRetrieve a password entry
slasshy get "GitHub" --copyDownload a file
slasshy download 1 # By number
slasshy download "document" # By nameCheck vault status
slasshy statusLock vault (clears keys from memory)
slasshy lockInteractive shell mode
slasshy shell
`Commands
| Command | Alias | Description |
|---------|-------|-------------|
|
init | | Initialize a new encrypted vault |
| init --restore | | Restore vault from cloud backup |
| add | | Add a new password entry |
| upload [file] | up | Upload any file (auto-syncs to cloud) |
| get | | Retrieve a password entry |
| download [search] | dl | Download a file from vault |
| list | ls | List all entries (passwords & files) |
| delete | rm, del | Delete an entry (local + cloud) |
| auth | | Authenticate with Google Drive |
| status | | Show vault and cloud status |
| lock | | Lock vault and clear keys |
| destruct | | Permanently destroy vault (local + cloud) |
| shell | | Start interactive shell mode |$3
`bash
List only files or passwords
slasshy list --type files
slasshy list --type passwordsFilter by name
slasshy list --filter "github"Copy password to clipboard
slasshy get "GitHub" --copyShow password in output
slasshy get "GitHub" --show-passwordDelete by number
slasshy delete 1
slasshy del 3Force delete without confirmation
slasshy delete "entry" --forceUse custom OAuth server
slasshy auth --server https://your-server.comLogout from Google Drive
slasshy auth --logoutRestore vault from cloud
slasshy init --restore
`Interactive Shell Mode
Start an interactive session to run multiple commands without re-invoking the CLI:
`bash
slasshy shell
``
███████╗██╗ █████╗ ███████╗███████╗██╗ ██╗██╗ ██╗
██╔════╝██║ ██╔══██╗██╔════╝██╔════╝██║ ██║╚██╗ ██╔╝
███████╗██║ ███████║███████╗███████╗███████║ ╚████╔╝
╚════██║██║ ██╔══██║╚════██║╚════██║██╔══██║ ╚██╔╝
███████║███████╗██║ ██║███████║███████║██║ ██║ ██║
╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝slasshy> list
slasshy> upload ./file.pdf
slasshy> download 1
slasshy> exit
`Cloud Backup & Restore
Your vault metadata is automatically backed up to the cloud. Restore on any device:
`bash
On a new device, restore from cloud
slasshy init --restoreEnter your master password
Vault metadata and file index restored from cloud
Download files on-demand with: slasshy download
`File Upload Support
Upload any file type - they're encrypted and stored in hidden cloud storage:
- Video: MP4, MKV, AVI, MOV, WebM
- Audio: MP3, WAV, FLAC, OGG
- Images: JPG, PNG, GIF, WebP
- Documents: PDF, DOC, DOCX, XLS, XLSX, PPT
- Archives: ZIP, RAR, 7z, TAR, GZ
- Code: JS, TS, JSON, XML, HTML, CSS
- Any other file type
$3
Files are automatically chunked for reliable upload/download:
- Parallel processing (up to 5 concurrent chunks)
- Adaptive parallelism based on available RAM
- Resume support for interrupted transfers
- Real-time progress with speed and ETA
OAuth Server Setup
The CLI requires your own OAuth backend server for Google Drive authentication.
$3
1. Go to
server/ directory in this repo
2. Deploy to Render, Railway, Vercel, or any Node.js host
3. Set environment variables:
- GOOGLE_CLIENT_ID - From Google Cloud Console
- GOOGLE_CLIENT_SECRET - From Google Cloud Console
- SERVER_URL - Your deployed server URL (no trailing slash)4. On first
slasshy auth, you'll be prompted to enter your backend URL:
`
? Backend OAuth server URL: https://your-server.onrender.com
`5. The URL is saved and reused for future authentication.
$3
1. Go to Google Cloud Console
2. Create a new project
3. Enable Google Drive API
4. Create OAuth 2.0 credentials (Web application)
5. Add redirect URI:
https://your-server.com/oauth/callback
6. Copy Client ID and Secret to your server's environment variablesRequired OAuth Scopes:
-
https://www.googleapis.com/auth/drive.file - For visible files
- https://www.googleapis.com/auth/drive.appdata - For hidden appDataFolderSecurity
| Component | Implementation |
|-----------|----------------|
| Encryption | AES-256-GCM (NIST approved) |
| Key Derivation | Argon2id (64MB memory, 3 iterations) |
| File Chunking | 20MB chunks with per-chunk encryption |
| File Integrity | SHA-256 checksums |
| Token Storage | Encrypted with machine-derived key |
| Cloud Storage | Hidden appDataFolder (invisible to user) |
| Memory | Secure wiping after use |
Project Structure
`
slasshy-cli-secure/
├── src/
│ ├── crypto/ # Encryption, KDF, key management
│ ├── storage/
│ │ ├── vault/ # Local encrypted vault
│ │ └── drive/ # Google Drive integration
│ │ ├── driveClient.ts # Drive API wrapper
│ │ └── fileSyncService.ts # Chunked upload/download
│ └── cli/
│ ├── commands/ # CLI command handlers
│ ├── shell.ts # Interactive shell mode
│ ├── progress.ts # Progress bar utilities
│ └── ensureAuth.ts # Auto-authentication helper
├── server/ # OAuth backend server
├── .github/workflows/ # CI/CD automation
└── dist/ # Compiled JavaScript
`Development
`bash
Install dependencies
npm installRun in development mode
npm run devBuild
npm run buildRun tests
npm testLint
npm run lint
`Changelog
$3
- Auto Cloud Sync - Files automatically sync to cloud on upload
- Hidden Storage - Uses Google Drive's invisible appDataFolder
- Cloud Restore - Restore vault on any device with init --restore
- Interactive Shell - slasshy shell for multi-command sessions
- Destruct Command - Permanently wipe vault (local + cloud)
- Progress Bars - Real-time speed, ETA, and transfer progress
- Large File Support - Chunked uploads with parallel processing
- Improved Error Handling - Better error messages and recovery
- Removed manual sync` command (now automatic)MIT License - see LICENSE
This tool is for personal use. Always keep backups of your master password. If you lose it, your data cannot be recovered.
---
Made with security in mind by Slasshy