IPFS integration and support

I haven’t dived very far into the write freely code, but based on the structure of the documentation it seems files are created and modified by the application. I’d like to be able to host all my files via my IPFS node.

I think the way this would work is to initialize a IPFS repo and set configurations such as that all my write freely files are saved to a directory called “writefreely” in that repo. This would allow for all the hosted files to be easily stored by other parties wanting to persist the data. Maybe it is already easy enough for a outside party to download existing files from a write freely server?

My understanding of the internals of write freely is quite limited and very high level at the moment so I’d love to hear any ideas with the added benefit (or perhaps uselessness) of integrating IPFS support

Hey @colin-axner, it is a good thought. But, WriteFreely itself is a stateless server that does not host files. All the pages and posts are actually stored in a Database. With SQLite support, the Database might be embedded thus making the server stateful, but I’d still not want to put the SQLite file on IPFS. The reason being WriteFreely stores user credentials in the database. It also supports Private/Password Protected blogs which are also stored in the Database. If by hosted files you mean Images or Attachments, then WriteFreely does have any native support for them.

Hope this helps :slightly_smiling_face:

Ah ok. That makes a lot of sense. Thanks for the clarification!

I like the idea of IPFS integrating in some way or another @colin-axner! It could work by way of storing the export of your WF posts into an IPFS node or importing txt/Markdown files from your node into WriteFreely (since WF does support imports as well). Might not be as compelling as your original idea, but like @arg said, WriteFreely doesn’t support files per se, only file imports/exports.

Hope that helps and would still love to see some implementation of peer to peer (whether IPFS or another protocol) with WriteFreely.

@cjeller1592 This is also a great idea. I like the fact that Markdown exports get the timestamp of the post itself. This means the files pushed on IPFS can then act like independent copy of the blog. Then anyone using IPFS can view the files just like in Gopher.

On the side note, support for Gopher got merged yay! I’m waiting for the release to try it out :slightly_smiling_face:.

1 Like

Has there been any discussion for swapping password usage for private/public keys? I’m interested in seeing collectively owned ActivityPub instances. To do this one primary feature addition is support for decentralized identifiers. I imagine a world in which the community can control the decentralized identifier that identifies the server the instance runs on. Collectively owned instances also means members need to be able to run full nodes of the instance. Obviously this isn’t really secure with passwords, but this would work fine with private/pubic keys and probably DID support for each user as well.

I’m not sure if this is already possible but with collectively owned WriteFreely instances, I’d like to see a gradient of admin privileges capable of being granted via priv/pub keys. Some blogs could be able to be posted by all members, certain members have admin privileges to create new blogs and sign a set of controllers and even more privileged members can grant privileges.

I also think supporting private/public keys just makes sense since I think a lot of applications will slowly move this direction in the next decade.

Just discovered this open-source file sharing platform called Slate that uses IPFS. They have an instance up right now that allows you to sign up for free.

I’ve tested it out by taking the text file export of my blog and adding some of the posts to a folder (which they call slates). What’s cool is that each post gets a unique content identifier that can be used on IPFS. Here’s an example of the same text file being hosted from Slate and the same ID below being used on IPFS’ official IPFS gateway.

https://slate.textile.io/ipfs/bafkreibfj7wpu3qckkm6i2ax7fv3cogv62qtvrtc54oacpi2c4ho7vjkuq

https://ipfs.io/ipfs/bafkreibfj7wpu3qckkm6i2ax7fv3cogv62qtvrtc54oacpi2c4ho7vjkuq

There’s plenty to add onto here (maybe adding metadata to each post would be nice) but it’s a start to some form of unofficial IPFS integration. Apparently Slate has an API too — I can imagine being able to publish a post and add it to your Slate folder, allowing you to keep that IPFS copy of your blog with you as you publish.

2 Likes