Nightcord Storage v2.0.0
Aliyun OSS proxy with SEKAI v2 resource facade. Legacy upload paths remain; new clients should prefer /v2/upload and typed resolve URLs.
Hosts
Storage (upload + legacy)
https://storage.nightcord.de5.net
R2 facade (public media)
https://r2.nightcord.de5.net
Both hosts hit this Worker. Prefer r2.* for public SEKAI media GET; uploads may use either host.
SEKAI v2 — prefer this
PUT/v2/upload
| Headers |
X-Filename, Content-Type, Content-Lengthoptional: X-Sekai-Kind, X-Image-Width, X-Image-Height
|
|---|---|
| Body | raw file bytes |
| Response | uuid, type, size (kB), name, kind, url, optional w/h |
curl -X PUT https://r2.nightcord.de5.net/v2/upload -H "X-Filename: photo.jpg" -H "Content-Type: image/jpeg" --data-binary @photo.jpg
GET Resolve
/images/{uuid}/files/{uuid}/stickers/{uuid}/v2/meta/{uuid}— JSON metadata
Message payload (Nightcord / SEKAI markup)
<$SEKAI:Image:w=…;h=…;name=…:{uuid}>
<$SEKAI:Files:type=…;size=…;name=…:{uuid}>
<$SEKAI:Stamp:custom=true:{uuid}>
Legacy — still supported
PUT/ → { key, url, size } where key is {uid}/{fileUuid}.ext
GETDEL/{key} · chunked under /chunked/…
Use for older clients and historical messages. New Nightcord builds use v2.
Machine-readable / agents
GET /?format=json
· GET /?format=md
· /v2
Accept: application/json→ JSONAccept: text/markdown→ Markdown (Content-Type: text/markdown,x-markdown-tokens)- Default / browsers → HTML