file-upload-cli
Upload files to the litterbox.catbox.moe file sharing service and get shareable URLs (72h expiry). Use when the user wants to share a file temporarily or nee...
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
File Upload CLI Tool
A Node.js command-line tool for uploading files to the litterbox.catbox.moe file sharing service using curl.
Quick Start
Upload a file and receive a shareable URL:
node file-upload-cli.js <filePath>
Example:
node file-upload-cli.js document.pdf
Output:
Uploading...
File uploaded successfully!
URL: https://litter.catbox.moe/abc123.pdf
Note: File will be available for 72 hours.
Instructions
Step 1: Installation
Ensure Node.js v14+ and curl are installed:
Requirements:
- Node.js v14+
- curl (included in Windows 10+, macOS, and most Linux distributions)
cd file-upload-cli
npm install # No external dependencies required
Step 2: Upload a File
Run the CLI tool with a file path:
node file-upload-cli.js <filePath>
Path Types:
- Relative:
node file-upload-cli.js ./file.txt - Absolute:
node file-upload-cli.js /home/user/file.txt(Unix) ornode file-upload-cli.js C:\Users\user\file.txt(Windows) - With spaces:
node file-upload-cli.js "my file.txt"
Step 3: Use the URL
The tool outputs a shareable URL that can be:
- Shared with others
- Embedded in documents
- Used in applications
URL Format: https://0x0.st/<random-id>
Examples
Upload Different File Types
Text file:
node file-upload-cli.js notes.txt
Image:
node file-upload-cli.js photo.jpg
PDF document:
node file-upload-cli.js report.pdf
Archive:
node file-upload-cli.js backup.zip
Large Files with Progress
For files larger than 1MB, the tool displays upload progress:
node file-upload-cli.js large-video.mp4
Output:
Uploading...
File uploaded successfully!
URL: https://litter.catbox.moe/xyz789.mp4
Note: File will be available for 72 hours.
Cross-Platform Paths
Windows:
node file-upload-cli.js C:\Users\user\Documents\file.pdf
node file-upload-cli.js .\file.txt
macOS/Linux:
node file-upload-cli.js /home/user/documents/file.pdf
node file-upload-cli.js ./file.txt
Error Handling
The tool provides clear error messages for common issues:
Validation Errors (Exit Code 4)
No file path provided:
Error: No file path provided
Usage: node file-upload-cli.js <filePath>
File not found:
Error: File not found - /path/to/file.txt
Please check the file path and try again.
Path is a directory:
Error: Path is a directory - /path/to/folder
Please provide a file path, not a directory.
File too large:
Error: File too large - 1.5 GB (limit: 1 GB)
The file exceeds the litterbox.catbox.moe service limit.
Empty file:
Error: File is empty - /path/to/file.txt
Cannot upload an empty file.
Network Errors (Exit Code 2)
Connection failure:
Error: Network error - Cannot connect to litterbox.catbox.moe
Please check your internet connection and try again.
Timeout:
Error: Connection timeout
The upload request timed out. Please try again.
Service Errors (Exit Code 3)
File too large (service rejection):
Error: Service error - File too large (413)
The litterbox.catbox.moe service rejected the file. Maximum size is 1 GB.
Server error:
Error: Service error - Internal server error (500)
The litterbox.catbox.moe service encountered an error. Please try again later.
Service unavailable:
Error: Service unavailable (503)
The litterbox.catbox.moe service is temporarily unavailable. Please try again later.
Security Considerations
File Access
- The tool only reads the file you specify
- No directory traversal or unauthorized file access
- Files are not modified or deleted
- File path validation prevents malicious inputs
Network Security
- Only communicates with
https://litterbox.catbox.moe(HTTPS encrypted) - Uses system curl command for secure file transmission
- No other external services are contacted
- No authentication tokens or API keys required
- Secure TLS connection for file transmission
Data Privacy
⚠️ Important: Files are uploaded to a public file sharing service:
- URLs are publicly accessible by anyone who has the link
- Files automatically expire after 72 hours
- No authentication or access control
- Do not upload sensitive, confidential, or private files
- User is responsible for file content and compliance
Dependencies
The tool uses:
- Native Node.js modules:
child_process,fs,path,util - System curl: Pre-installed on most systems, widely trusted and security-audited
- No external npm packages required
Limitations
- Maximum file size: 1GB (litterbox.catbox.moe service limit)
- File expiry: Files are automatically deleted after 72 hours
- Upload timeout: 60 seconds
- Single file: One file per command (no batch uploads)
- No retry logic: Failed uploads must be manually retried
- Public URLs: All uploaded files are publicly accessible
- Requires curl: System must have curl installed
Technical Details
Implementation: file-upload-cli.js (Node.js script)
Exit Codes:
0: Success1: General error2: Network error3: Service error4: Validation error
Requirements:
- Node.js v14.0.0 or higher
- Internet connection
- Read access to the file being uploaded
Troubleshooting
"curl command not found"
- Install curl on your system (included in Windows 10+, macOS, most Linux distributions)
"Permission denied"
- Check file permissions:
chmod +r file.txt(Unix) - Ensure you have read access to the file
"Connection timeout"
- Check internet connection
- Try again with a smaller file
- Verify firewall allows HTTPS connections
"Service error"
- The litterbox.catbox.moe service may be temporarily down
- Wait a few minutes and try again
- Check service status at https://catbox.moe
Files
5 totalComments
Loading comments…
