Show HN: Vitriol – a distributed, serverless web publishing platform
Live app: https://vitriol.co
Vitriol is an open source distributed publishing app which works in the browser without extensions or servers to set up, thanks to OrbitDB[1] and IPFS[2].
Read the intro article here: https://vitriol.co/QmccRaHCrUKZwZpjdJFiTTdgp8FG3ALFDZQexaYgi...
And try the live web app here: https://vitriol.co
Gitlab repo: https://gitlab.com/vitriolum/vitriol-web
30 comments
[ 2.7 ms ] story [ 75.5 ms ] threadSomething that allows users to post anonymously, circumvents moderation and takedown requests, and is called vitriol will make a lot of people think it is designed to promote hate speech.
Here we go again. Just another revolutionary website with same framework that display the same annoying alert about JavaScript being disabled.
Ok, enabled.
After 43 seconds of constant download (at 170-200KB/s, but I'm on wifi now with 100Mbps connection) I finally was presented with article with several paragraphs.
Don't do that. I beg you.
Recorded a video: https://dl.dropboxusercontent.com/s/03gur67c8i8gxth/2018-11-...
Regarding JavaScript: I don't think there's a good way of doing distributed web docs with HTML only. Very sorry about that.
This is on Firefox 63 and Chrome 68 on poor cafe wifi (that nevertheless seems to be able to load every other website).
Thanks for checking the site out!
Failed to load https://node0.preload.ipfs.io/api/v0/refs?r=true&arg=QmccRaH...: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://vitriol.co' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
I suggest you change "retry" to simply "try".
Sometimes the bootstrapping server seem to be overwhelmed. I suspect HN's "hug of death" could be possibly responsible. This will be resolved when js-ipfs implements DHT and relay:
> Please read this: DHT (automatic content discovery) and Circuit Relay (pierce through NATs and dial between any node in the network) are two fundamental pieces that are not finalized yet. There are multiple applications that can be built without these two services but nevertheless they are fundamental to get that magic IPFS experience. If you want to track progress or contribute, please follow:
DHT: https://github.com/ipfs/js-ipfs/pull/856 Relay: https://github.com/ipfs/js-ipfs/pull/1063
This stuff is alpha at this point, and sometimes there are still fires to extinguish. Sorry about the inconvenience, I suggest to try again later :(
This is what I get using go-ipfs:
I'm quite interested in decentralised publishing, this is an interesting first step!
---
# An introduction to Vitriol
A brief description of Vitriol and how it works.
by Vitriol
### What is Vitriol?
If you're reading this, you already understand half of what Vitriol is: a free, web-based tool to edit and publish articles like this one on the Internet. With it, you can write your articles, organised in what we call a feed, and share their URL on the Internet. Other people can click on that URL, like you did for this article, and read them. Easy.
### Why is it different?
Normally, when you publish an article using a regular web-based tool (say a micro-blogging service, or an online publishing platform), you post your articles to their servers and they will store and serve them for a fee (a material one, like a credit card monthly payment or an immaterial one, like your personal data).
With Vitriol, the model is radically different: you can write your articles on your phone or computer and publish them. Once you publish one of them and share its address, your phone or computer will directly share it to people who try to access it from their phones with the URL. While they're reading it, they will also share a copy of it it to new readers who try access it, and so on, which means that your article will be accessible even if you're offline, as long as someone is reading (sharing) it. No servers and infrastructures are needed, because the whole network will automatically replicate data to anyone who requests it. This also means that it will be impossible for third parties to limit access to your articles.
Finally, if other user decides to pin your feed, they will actively follow it, which means they will automatically sync your articles on their device and automatically share them with anyone as soon as you publish them. In exchange, they will receive automatic notifications about your new content and will be able to auto-download and instantly access it. For example, the URL for the feed of the current article is https://vitriol.co/QmccRaHCrUKZwZpjdJFiTTdgp8FG3ALFDZQexaYgi... (you can also get there by clicking on the author name at the start of this page). If you go to the feed and click the pin button, which looks like a tag, this feed will be pinned and you will be able to access it again in Vitriol's "feeds" tab.
### What's next
Vitriol is a project in alpha stage. One of the major limitations is that a Vitriol feed is currently linked to a single device; that is, there's no way to publish to the same feed on your phone and your desktop computer. There are ways to implement that, but I'd like to hear from you on what direction this software should take.
### Want to participate?
Vitriol is an open source project. Its code can be found here. Please feel free to look at the code, open a ticket or even propose a merge request.
Vitriol is based on the excellent OrbitDB project, which in turn is based on the pure JavaScript implementation of IPFS. Supporting these two project supports Vitriol, so please take a look, if you are a developer.
That was instructive and I'm glad the experience has resulted in people getting interested, questions being asked and bugs being fixed. Sorry if it didn't work perfectly, distributed stuff is hard. I don't understand the flagging but hey, HN will be HN, I guess :)
I will fix the issue in the next days and will keep on developing Vitriol. Obviously any help is appreciated. Thanks to everyone for your comments!