ctt buckets
welcome to couleur's overengineered storage platform (R2 storage over WebDAV protocol)
what can be done on here?: you can store (and easily share) files you wanna share with the world
- art you come across (please credit artist in filename)
- your best render tests to share in
#🔬⠂video-discussion - scripts you find useful (no binaries, only exception I make is for my ape coreutils)
- write static websites (feel free to request endpoints if you need something special)
infinite storage glitch?: no, it's not free (matter of fact it even has a price)
- each gigabyte costs 1.5 cents every month, that could add up fast if people did not watch how inefficiently encoded their media was, but luckily it's easy to delete ;)
why makes this special:
- with a debdav mount you can transparently "move" files to it, and it will be universally available (e.g. if your username is couleur, mount is at
Z:\and you movecian.mp4to it, it will be publically accessible at https://bucket.ctt.cx/couleur/cian.mp4) - share url to a file before it finishes uploading
- modify the file you uploaded (especially useful when modifying zip contents on the fly)
- write markdown that is automatically rendered when viewed on the web (this page is a markdown file that is converted to HTML because it's mime type is implicitly set to
text/html) - a clean url
- complete control over the files you share, unlike traditional social media platforms files are left intact.
setup a webdav mount
this is the only way to interact with your folder (e.g. couleur/)
go on this pc -> mount a network drive
mount
\\https://buckets.ctt.cx\to any drive letter you wantfill in your given credentials
move in a video
profit, file is available at https://bucket.ctt.cx/couleur/cian.mp4 (before it even finishes uploading)
curl endpoints
you can use curl to upload a file, or change a file's mimetype (so browser interpret file differently
The request path is always the destination — there is no /upload prefix.
Uploads accept both PUT and POST. All of these are jailed to the caller's
own directory and require Basic auth.
upload a file (type inferred from the .mp4 extension)
curl -u foo:pass -T ./clip.mp4 https://
upload and set the type explicitly
curl -u foo:pass --data-binary @blob "https://
change the type of an EXISTING file, without re-uploading (no body)
curl -u foo:pass -X POST "https://
?type= (alias ?content-type=) takes a type/subtype[; params] string;
anything malformed returns 400. An explicit type sticks across serving and
PROPFIND; a later plain re-upload clears it and reverts to inference.
rules
the risks i have hosting your content comes before your freedom to upload here
- nsfw, or even ambiguous
- anything personal
if there's something i don't like i'm won't be willing to argue
access
this is something I manage on my free time for friends and mutuals, unless you like messing with really efficient ffmpeg video encode configurations (small renders), or want to advantage of webdav for cool hybrid local+mount wizardry, I probably have no reason to risk inviting you