← Back to Skills Marketplace
raphacastelloes

file-upload-cli

by RaphaCastelloes · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
142
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install file-upload-cli
Description
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...
README (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 \x3CfilePath>

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 \x3CfilePath>

Path Types:

  • Relative: node file-upload-cli.js ./file.txt
  • Absolute: node file-upload-cli.js /home/user/file.txt (Unix) or node 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/\x3Crandom-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 \x3CfilePath>

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: Success
  • 1: General error
  • 2: Network error
  • 3: Service error
  • 4: 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
Usage Guidance
Things to consider before installing or running this skill: - The script requires Node.js (v14+) to run and relies on the system curl binary; the package/registry metadata did not declare these required binaries—confirm your environment meets these prerequisites. - The SKILL.md/README contain inconsistent references (0x0.st vs litterbox.catbox.moe). The actual code posts to https://litterbox.catbox.moe/resources/internals/api.php — verify that endpoint is what you expect and that the mismatch is not a sign of incomplete/incorrect documentation. - This tool uploads files to a public, unauthenticated service. Do not upload sensitive or private data. - The code uses child_process.execFile with argument arrays (safer than shell-escaped exec), but you should still inspect the script before running it and consider running it in an isolated environment if you have any doubt. - The skill author/homepage is not provided. If you intend to use this in production or grant it autonomous agent access, prefer a package from a known maintainer or request the author update registry metadata (declare curl and node requirements) and fix the documentation inconsistencies. - If you want higher assurance, run a local test with a non-sensitive file and check the returned URL and behaviour, and review the repository for any unexpected network calls or modifications.
Capability Analysis
Type: OpenClaw Skill Name: file-upload-cli Version: 1.0.0 The tool is designed to upload local files to 'litterbox.catbox.moe', an anonymous public file-sharing service, which is a high-risk capability for an AI agent as it facilitates easy data exfiltration. While the implementation in 'file-upload-cli.js' is technically sound (using 'execFile' to mitigate shell injection and performing basic file validation), the choice of an unauthenticated public hosting service is a common indicator of risk. Furthermore, 'SKILL.md' and 'README.md' contain inconsistent references to a different service ('0x0.st'), suggesting the bundle may be a poorly adapted version of another tool.
Capability Assessment
Purpose & Capability
The code and SKILL.md implement a Node.js CLI that uploads a single file to litterbox.catbox.moe using the system curl binary, which matches the stated purpose. However, the registry metadata lists no required binaries while the instructions and code clearly require Node.js and curl. Additionally the docs contain an inconsistent example URL format referencing 0x0.st (likely a copy/paste mistake) while the script posts to litterbox.catbox.moe.
Instruction Scope
The runtime instructions and the included script stay within the stated scope: they validate a single user-specified file and call curl to upload it to a single third-party endpoint. The code only accesses the file path provided on the command line and does not read other files, environment variables, or credentials.
Install Mechanism
This is instruction-only / source-included (no external install spec or remote downloads). package.json has no dependencies and there are no network downloads at install time. The risk from the install mechanism is low.
Credentials
The skill requests no environment variables or credentials. Its behavior (upload to a public service) does not require secrets. This is proportionate to the stated purpose.
Persistence & Privilege
The skill does not request persistent/always-on privileges and does not modify system or agent-wide configuration. It runs as a one-shot CLI invoked by the user/agent.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install file-upload-cli
  3. After installation, invoke the skill by name or use /file-upload-cli
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of file-upload-cli – a Node.js CLI for temporary file sharing via litterbox.catbox.moe. - Uploads files up to 1GB using curl and outputs a shareable 72h expiring URL. - Supports clear error handling for invalid inputs, network failures, and service errors. - Cross-platform path handling for Windows, macOS, and Linux. - No external dependencies; uses only native Node.js modules and system curl. - Secure, no data stored locally, and warns users about public file access. - Limitations: single file upload, no batch/automatic retry, requires curl.
Metadata
Slug file-upload-cli
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is 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... It is an AI Agent Skill for Claude Code / OpenClaw, with 142 downloads so far.

How do I install file-upload-cli?

Run "/install file-upload-cli" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is file-upload-cli free?

Yes, file-upload-cli is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does file-upload-cli support?

file-upload-cli is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created file-upload-cli?

It is built and maintained by RaphaCastelloes (@raphacastelloes); the current version is v1.0.0.

💬 Comments