riffcc / orbiter

Riff.CC, implemented using IPFS + OrbitDB + Constellation
http://orbiter.riff.cc/
GNU Affero General Public License v3.0
6 stars 0 forks source link

[Future] Add support for Codex and Iroh style CIDs, autodetecting the format and figuring out how to retrieve from it. #42

Open Zorlin opened 1 month ago

Zorlin commented 1 month ago

Is your feature request related to a problem? Please describe. We'd love Riff.CC to support things other than IPFS as a backend some time. Generally speaking, our code is agnostic - anything that can be served through a HTTPS gateway could be a valid retrieval protocol.

Still, our CID validation excludes non-IPFS-compatible CIDs from being loadable due to the way it filters for valid CIDs.

I'd like to formally add support for the following:

This will have the side effect of expanding Lis support in Orbiter (thanks to Iroh support), supporting our informal partnership with Codex and wider initiatives through Pegasus et al, and create value for lots of things. It'll make Riff more flexible and also force us to build in a more modular sense.

We will also explore adding arbitrary object storage support and generalising our stack to essentially be agnostic in the same ways that Pegasus' initiatives aim to be. This may be a lightweight translation daemon (in the case of NFS, iSCSI, SMB) or directly just loading over HTTPS (S3) but speaking the S3 protocol.

Finally, we'll support retrieval from Lis, probably by adding a gateway to Lis to translate to standard HTTPS - https://github.com/n0-computer/iroh-examples/tree/main/iroh-gateway - and verify in Orbiter that it works

Additional context This forms part of a Competitive Advantage effort.