Store and share files securely with self-destructing links
Files are automatically deleted after download
POST /api/v1/upload
Request Body (JSON):
{ "file": "base64_encoded_data", "filename": "example.txt", "encrypt": true, "secret_key": "your_password", "expire_days": 15, "delete_after": true }
Parameters:
file
(required) - Base64 encoded file contentfilename
(required) - Original filename with extensionencrypt
(required) - Enable encryption (true/false)secret_key
- 8+ character password (required if encrypt=true)expire_days
- Days until expiration (1-30, default: 30)delete_after
- Auto-delete after download (true/false, default: true)Success Response (201):
{ "id": "a1b2c3d4e5", "download_url": "https://files.tuxmacg1v.me/api/v1/download/a1b2c3d4e5", "original_filename": "example.txt", "expires_at": "2023-12-31T23:59:59.999999", "delete_after_download": true, "encrypted": true }
GET /api/v1/download/{file_id}
Parameters:
key
- Secret key (required for encrypted files)Example Request:
# Encrypted file curl -OJ "https://files.tuxmacg1v.me/api/v1/download/a1b2c3d4e5?key=MySecurePass123" # Public file curl -OJ "https://files.tuxmacg1v.me/api/v1/download/b2c3d4e5f6"
Response:
GET/DELETE /api/v1/files/{file_id}
Get File Info:
GET https://files.tuxmacg1v.me/api/v1/files/a1b2c3d4e5
Delete File:
DELETE https://files.tuxmacg1v.me/api/v1/files/a1b2c3d4e5?key=MySecurePass123
Response Format:
{ "id": "a1b2c3d4e5", "encrypted": true, "expires_at": "2023-12-31T23:59:59.999999", "status": "active" // or "expired" }
Common Status Codes:
400
- Invalid request/missing fields403
- Invalid secret key404
- File not found410
- File expired/deleted429
- Rate limit exceeded (100 requests/sec)Example Error Response:
{ "error": "Missing required field: filename", "code": 400 }