Skip to content

planet-nine-app/dolores

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dolores

Dolores (named for Dolores del Rio the first latin american actress to break into hollywood) is a mini-service for the uploading and streaming of short-form video.

Overview

In 2013, an app called Vine hit the iOS App Store. It allowed users the ability to create short (six second) videos that were shared timeline-style with the world. It was brilliant.

And like everything brilliant on the internet, it was purchased by a gigantocorp, Twitter in this case, filled with ads and spyware, and eventually killed after being ruined.

The legacy of Vine lives on in the current age as TikTok, Instagram Reels, and YouTube Shorts, all of which are agressive spyware serving you user created content in order to extract from you your interests and marketable demographics so as to better sell advertising and/or other things....

The conceit of all this is that the storage and serving of video content is both hard and expensive, and thus the excessive marketing is necessary. Dolores is an attempt to reduce this storage and serving to its barebones, to see if the modern web can do so in a cost-effective way.

API

Gotta keep it CRUDy on this one.

PUT /user/create Creates a new user if pubKey does not exist, and returns existing uuid if it does.
Parameters
name required data type description
pubKey true string (hex) the publicKey of the user's keypair
timestamp true string in a production system timestamps narrow window for replay attacks
signature true string (signature) the signature from sessionless for the message
Responses
http code content-type response
200 application/json USER
400 application/json {"code":"400","message":"Bad Request"}
Example cURL
 curl -X PUT -H "Content-Type: application/json" -d '{"pubKey": "key", "timestamp": "now", "signature": "sig"}' https://<placeholderURL>/user/create
GET /user/:uuid?timestamp=&signature= Returns a user by their uuid
Parameters
name required data type description
timestamp true string in a production system timestamps prevent replay attacks
signature true string (signature) the signature from sessionless for the message
Responses
http code content-type response
200 application/json USER
406 application/json {"code":"406","message":"Not acceptable"}
Example cURL
 curl -X GET -H "Content-Type: application/json" https://<placeholderURL>/<uuid>?timestamp=123&signature=signature
PUT /user/:uuid/short-form/:title/video Puts a video with the given title
Headers
name required data type description
x-pn-artifact-type true video type
x-pn-timestamp true string in a production system timestamps narrow window for replay attacks
x-pn-signature true string (signature) the signature from sessionless for the message
Parameters
name required data type description
video true video type the video to upload
Responses
http code content-type response
200 application/json USER
400 application/json {"code":"400","message":"Bad Request"}
Example cURL

TODO

GET /user/:uuid/short-form/:title/video Gets the video with the given title
Headers
name required data type description
x-pn-timestamp true string in a production system timestamps narrow window for replay attacks
x-pn-signature true string (signature) the signature from sessionless for the message
Responses
http code content-type response
200 application/json video
400 application/json {"code":"400","message":"Bad Request"}
Example cURL

TODO

DELETE /user/:uuid/short-form/:title/video Deletes the user's video with the given title
Headers
name required data type description
x-pn-artifact-type true video type
x-pn-timestamp true string in a production system timestamps narrow window for replay attacks
x-pn-signature true string (signature) the signature from sessionless for the message
Responses
http code content-type response
200 application/json USER
400 application/json {"code":"400","message":"Bad Request"}
Example cURL

TODO

About

You want short video? Dolores will give you videos

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published