You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It'd be cool to have basic Titan support. Titan is a complementary protocol to gemini that allows for upload only.
It uses the same port as gemini, but URLs use the "titan://" scheme. The URLs consist of a path with parameters delimited by semicolons (;), with 3 different parameters, an optional token (kinda like a password, not used for authorization, but rather to prevent bots and spam), a requied size (in bytes) of file to be uploaded, and a required mime parameter (mimetype). After that, then there's a \r\n, followed by the data of the given size.
It also supports Client Certificates.
If the given data is of the wrong size, "59 Meta text" is sent. Otherwise, nothing is sent back, afaik (I could be wrong about this).
Even just some way to hook into Gig to just get all requests that use the titan:// scheme and do my own stuff would be useful. But, if it used some of Gig's features, like routes, that would be cool too :)
The text was updated successfully, but these errors were encountered:
Thanks for the idea. I haven't used Titan myself, though familiar with it. My initial thought would be to add to gig.Context something is IsTitan() bool and IsGemini() bool for handler to be able to distinguish the two. And perhaps a setting on gig.Gig (off by default) to enable Titan support. What do you think? Would love it if a PR was contributed to support it.
It'd be cool to have basic Titan support. Titan is a complementary protocol to gemini that allows for upload only.
It uses the same port as gemini, but URLs use the "titan://" scheme. The URLs consist of a path with parameters delimited by semicolons (
;
), with 3 different parameters, an optionaltoken
(kinda like a password, not used for authorization, but rather to prevent bots and spam), a requiedsize
(in bytes) of file to be uploaded, and a requiredmime
parameter (mimetype). After that, then there's a\r\n
, followed by the data of the given size.It also supports Client Certificates.
If the given data is of the wrong size, "59 Meta text" is sent. Otherwise, nothing is sent back, afaik (I could be wrong about this).
Here's the main page for the protocol: https://communitywiki.org/wiki/Titan
You can see a server implementation here: https://alexschroeder.ch/cgit/phoebe/tree/script/phoebe
And for the client: https://alexschroeder.ch/cgit/phoebe/tree/script/titan
Even just some way to hook into Gig to just get all requests that use the
titan://
scheme and do my own stuff would be useful. But, if it used some of Gig's features, like routes, that would be cool too :)The text was updated successfully, but these errors were encountered: