HttpCat is a simple, efficient, and stable solution for file uploading and downloading. No external dependencies, easy deployment.
Everything you need for efficient file transfers
AI assistants (Claude, Cursor, CodeBuddy) can directly manage your files
Beautiful React-based management interface for a better user experience
One-click Docker deployment with docker-compose support
AK/SK HMAC-SHA256 signature authentication for scripts, CI/CD and AI integration
Upload, rename, delete images with auto thumbnail generation and gallery view
Detailed upload/download history and usage statistics tracking
UploadToken verification for secure file transfers
WeCom Webhook integration for upload notifications
Explore the HttpCat ecosystem
Core HTTP file transfer service with MCP support and modern React UI
Get started in minutes
# Quick Installation httpcat_version="v0.2.2" tar -zxvf httpcat_${httpcat_version}_linux-amd64.tar.gz cd httpcat_${httpcat_version}_linux-amd64 sudo ./install.sh # Manage service systemctl start httpcat # Start systemctl stop httpcat # Stop systemctl status httpcat # Status
# Docker Compose (Recommended) docker-compose up -d # Or Docker Run docker run -d --name httpcat \ -p 8888:8888 \ -v $(pwd)/data:/app/data \ -v $(pwd)/upload:/app/upload \ httpcat:latest
# Upload file curl -v -F "f1=@/path/to/file" \ -H "UploadToken: YOUR_TOKEN" \ http://localhost:8888/api/v1/file/upload # Download file wget -O xxx.jpg http://127.0.0.1:8888/api/v1/file/download?filename=xxx.jpg
# 1. Enable Open API in svr.yml server: http: auth: open_api_enable: true aksk: your_access_key: your_secret_key # 2. Shell script for AK/SK signature AK="your_access_key" SK="your_secret_key" TIMESTAMP=$(date +%s) BODY_HASH=$(printf '' | openssl dgst -sha256 -hex | awk '{print $NF}') # Build signature string: Method\nPath\nQuery\nAccessKey\nTimeStamp\nBodySHA256 SIGN_STR=$(printf "%s\n%s\n%s\n%s\n%s\n%s" \ "GET" "/api/v1/file/listFiles" "dir=/" \ "${AK}" "${TIMESTAMP}" "${BODY_HASH}") # Calculate HMAC-SHA256 signature SIGNATURE=$(printf '%s' "${SIGN_STR}" | \ openssl dgst -sha256 -hmac "${SK}" -hex | awk '{print $NF}') # 3. Make API request with AK/SK headers curl -s "http://localhost:8888/api/v1/file/listFiles?dir=/" \ -H "AccessKey: ${AK}" \ -H "Signature: ${SIGNATURE}" \ -H "TimeStamp: ${TIMESTAMP}"
# Install SDK pip install httpcat-sdk # Python upload example from httpcat.services.storage.uploader import upload_file file_path = '/path/to/file.txt' upload_token = 'your_token' upload_url = 'http://your-server:8888/api/v1/file/upload' response = upload_file(file_path, upload_token, upload_url) print(response.text)
# MCP Client Configuration (Claude Desktop, Cursor, CodeBuddy) { "mcpServers": { "httpcat": { "type": "sse", "url": "http://your-server:8888/mcp/sse" } } } # Available MCP Tools: # - list_files, get_file_info, upload_file # - upload_image, get_disk_usage, get_upload_history # - request_delete_file, confirm_delete_file