๐Ÿ“ LunarKrystal Upload API

Fast, simple file hosting with URL mirroring

Checking...
v-
Max: - MB

๐Ÿ“ค Upload File

๐Ÿ“
Drag & drop files here
or click to browse โ€” multiple files supported

Or upload from URL

๐Ÿ–ฅ๏ธ System Info

Loading...
-

๐Ÿ“š API Documentation

Health Check

GET /status

Check if the server is running

{
  "status": 200,
  "state": "Server running",
  "version": "2.0.0",
  "uptime_seconds": 12345
}

Upload File (Multipart)

POST /upload

curl -X POST http://localhost:6227/upload \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "file=@image.png"

Upload from URL

POST /upload

curl -X POST http://localhost:6227/upload \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"url": "https://example.com/image.png"}'

Upload Multiple Files

Repeat the file field, or send a urls array. Files and URLs can be mixed.

curl -X POST http://localhost:6227/upload \
  -F "file=@a.png" -F "file=@b.jpg" -F "file=@c.pdf"

# or multiple URLs
curl -X POST http://localhost:6227/upload \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://a.com/1.jpg", "https://b.com/2.png"]}'

A batch returns { count, files: [...] }; a single upload returns the flat object below.

Mirror via GET (query string)

GET /upload?url=...

Handy for browsers and webhooks โ€” just open the link. Pass url once or repeat it for multiple files.

# Single file
http://localhost:6227/upload?url=https://example.com/image.png

# Multiple files
http://localhost:6227/upload?url=https://a.com/1.jpg&url=https://b.com/2.png

Response Format

{
  "status": 200,
  "url": "http://localhost:6227/files/abc123.png",
  "name": "abc123.png",
  "original_name": "image.png",
  "type": "image/png",
  "size": {
    "bytes": 123456,
    "kb": 120.56,
    "mb": "0.12",
    "human": "120.56 KB"
  },
  "uploaded_at": "2026-07-29T00:00:00.000Z",
  "author": "LunarKrystal"
}

Serve Files

GET /files/:filename

Access uploaded files directly

System Metrics

GET /system

Realtime host stats โ€” CPU usage %, RAM, disk, uptime. The panel above polls this every 2s while the tab is open.

Auto-Cleanup

Files not accessed for over a year are automatically deleted to save space. Every access via /files keeps a file alive, so active files are never removed.