#16477: Native ipfs / ipns support
---------------------------------------+-------------------------
Reporter: kallisti5 | Owner: axeld
Type: enhancement | Status: new
Priority: low | Milestone: Unscheduled
Component: Network & Internet/Stack | Version: R1/beta2
Resolution: | Keywords:
Blocked By: | Blocking:
Platform: All |
---------------------------------------+-------------------------
Description changed by kallisti5:
Old description:
Was thinking about this, and native ipfs / ipns support in haiku would be
pretty neat. It could be implemented the same way gopher is implemented
(but instead of directly communicating with IPFS, just returning a
gateway URL)
Relevant code locations:
* src/kits/network/libnetapi/IPFSRequest.cpp
* src/apps/webpositive/BrowserWindow.cpp
We could parse ipfs URL's and translate them to a public IPFS gateway:
{{{
ipfs://Qm..../index.html
V
https://cloudflare-ipfs.com/ipfs/Qm.../index.html
}}}
The gateway should be configurable. You can use a public gateway, one on
your network, or an IPFS gateway running locally...
{{{
ipfs://Qm..../index.html
V
http://127.0.0.1:8080/ipfs/Qm.../index.html
}}}
IPNS support would give basic name resolution support:
{{{
ipns://coolsite.com/index.html
V
http://127.0.0.1:8080/ipns/coolsite.com/index.html
}}}
This is kind of a "minimum" implementation allowing handling ipfs
addresses.
More information: https://ipfs.io
Gopher mentions needing to be converted to an add-on.. I *think* this
could be implemented out of tree as an install-able add-on, but I don't
see fundamental add-on support in our network kit to do such a thing. If
this is the concensus, then this ticket should be replaced with one to
implement add-on network kit URI resolvers.