
Show HN: A Decentralized StatusPage on IPFS - paulogr
https://www.dstatuspage.net/
======
book_mentioned
This is such a natural use case for IPFS that commercial adoption seems
inevitable; as first mover you can offer the concierge edition and optionally
gain a ton of credibility by open sourcing some of the core bits!

It sounds like your marketing will need to explain:

1\. How updates work and how you guarantee staying universes away from
NSFW/illegal content -- answered separately because nobody wants to find out
what IPFS is infamous for as a part of discovering your service. (Both
explanations need to function at two levels: one for techies and one for their
bosses controlling the purse strings.) This may be possible​ to pull in
quickly from existing CC-licensed documentation.

2\. How users can link to content through multiple redundant WWW
gateways/other services, and how to pay (you and others) for more reliability.
Reliable reachability is absolutely key here, and should be built on multiple
existing 3rd parties that are already used as status pages. For example: pay
extra to whitelabel an auto-Twitter retweet bot.

Opportunity to be the "enterprise IPFS contact" here - explain from soup to
nuts how to push status updates from anywhere (setup and simplified through
your service but without requiring it be reachable) with any of multiple
Yubikey/hardware auth tokens.

\--

Consider a completely separate marketing push/landing page that doesn't even
mention IPFS until potential customers ask how it works. IPFS is a buzzword
here but commercial customers probably count it as a negative (analogy: ICO on
HN). Focus on the unique features IPFS offers and write up how those features
solve the status page problem!

~~~
jstanley
_Is_ IPFS infamous for illegal content?

My perception was that it's still much too easy to trace the origin of content
on IPFS and therefore not suitable for illegal things.

~~~
013a
It was used in Spain to host illegal websites organizing Catalonian
independence. But yeah, its not a great pick for illegal activities against
technically competent governments.

~~~
letlambda
There's not much point in trying to hide what your doing, if what your doing
is holding a public vote.

~~~
alexeldeib
You have it somewhat backwards -- they wanted to get the word out, and the
government had been suppressing discussion actively. They used IPFS to
circumvent that.

------
survivaletc
I love that the background image is a schematic of a centralized network. Look
at that single point of failure! ^^

[https://www.dstatuspage.net/decentralized.png](https://www.dstatuspage.net/decentralized.png)

~~~
sp332
In a tree, any node can be chosen as the "root". That means any non-leaf node
is a SPOF.

~~~
Spearchucker
I think his point is that the existence of a SPOF obviates the need for
distribution.

------
NickBusey
I'm not sure this is actually Decentralized. I have been playing with IPFS
quite a bit recently, and this looks to host the content on one node. That
node goes away, your content goes away. You need more than one nodes 'pinning'
the same content in order to actually be decentralized, and as far as I can
tell this project doesn't provide that functionality.

That has been my biggest drawback so far with IPFS, there isn't really an easy
way to get other nodes to pin the correct content, without passing around big
nasty hashes (e.g., QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG) by hand.

~~~
mtgx
I thought the devs invented Filecoin for exactly that reason - to incentivize
people to pin content. They haven't enabled Filecoin for IPFS yet?

~~~
NickBusey
Correct. Also correct.

------
paulogr
One of the main problems while I was researching about status page services
and saw many having the same doubts here was about where to deploy the status
page. Besides this market has a lot of players even the biggest one had
problem when the big S3 outage happened last year (see ref-1).

What about do not depend on a centralized infrastructure to deploy you status
page and kept always alive?

This project aims to deploy you status page on a decentralized infrastructure
IPFS (see ref-2), after installed it, you will be running a status page
service on top of a local IPFS node. So you’ll be able to to publish you
status pages on IPFS while being part of the network.

I thought this use case fits perfect on a decentralized environment.

You can deploy this service on a VPS for 1/4 of the price you pay for your
current status page service provider.

See an example of a status page deployed using D StatusPage:

[https://gw1.dstatuspage.net/ipfs/QmePTzsSVae8BK8antLHfV2xWfE...](https://gw1.dstatuspage.net/ipfs/QmePTzsSVae8BK8antLHfV2xWfEf3C8px7yQ9gUX5PY1N3/)

[http://gw2.dstatuspage.net/ipfs/QmePTzsSVae8BK8antLHfV2xWfEf...](http://gw2.dstatuspage.net/ipfs/QmePTzsSVae8BK8antLHfV2xWfEf3C8px7yQ9gUX5PY1N3/)

What are you thoughts?

[https://www.dstatuspage.net](https://www.dstatuspage.net)
[https://github.com/paulogr/dstatuspage](https://github.com/paulogr/dstatuspage)

This software is still in alpha state with basic status page service
functionalities, feel free to ask for a feature or address any issue you have:

[https://github.com/paulogr/dstatuspage/issues](https://github.com/paulogr/dstatuspage/issues)

\- ref-1: [https://blog.statuspage.io/a-birds-eye-view-of-the-
amazon-s3...](https://blog.statuspage.io/a-birds-eye-view-of-the-
amazon-s3-outage)

\- ref-2: [https://ipfs.io](https://ipfs.io)

The software will be distributed for free and open source under MIT license.

~~~
travelton
If I understand correctly, you still need a gateway VPS to proxy the ipfs site
out to the internet over http. Isn't this a single point of failure, as your
gateway server will be pegged. Or am I misunderstanding the implementation?
You could have a VPS in multiple regions, but we're back at square one.

~~~
dna_polymerase
I think you can run IPFS locally and access the IPFS network without a gateway
this way.

~~~
Kudos
Sounds like IPFS needs more ubiquity before this is something you can rely on.
I know IPFS support is coming to Firefox soon, but I suspect it's much further
off for other browsers.

~~~
icebraining
_" IPFS support is coming to Firefox soon"_

Not exactly, as far as I understand it; you still need to manually install an
addon, it's just that the addon can now handle ipfs:// links when you click on
them.

[https://news.ycombinator.com/item?id=16243530](https://news.ycombinator.com/item?id=16243530)

~~~
diggan
That's entirely correct. Before it had to be prefixed with `web+` and now just
`ipfs://` will work.

For the extension, the IPFS community have been developing one which will use
this new feature: [https://github.com/ipfs-shipyard/ipfs-
companion](https://github.com/ipfs-shipyard/ipfs-companion)

PR for tracking the protocol handler is here: [https://github.com/ipfs-
shipyard/ipfs-companion/pull/359](https://github.com/ipfs-shipyard/ipfs-
companion/pull/359)

Disclaimer: I work for Protocol Labs on IPFS

------
rhn_mk1
One thing I'm missing (or misunderstanding) about IPFS is updates.

In a centralized system, like HTTP, a site has a single address:
something.example.com. Any new entry (e.g. blog post) I create gets its own
_entry_ address, but is also referenced from the main _site_ address.

As far as I understand, IPFS contains static copies of documents, so any
document that would be the "front" page would have to be copied before
updating with new entries, and would receive a new address.

How to let readers know that a new entry is available then? Would there need
to be a centralized place referencing all existing entries?

~~~
CapacitorSet
One word: IPNS.

It's a DNS-like system, though much slower than DNS due to propagation delays.
It points to the latest version (hash) of a document, much like a git branch.

~~~
cortesoft
Being slow is kinda a deal breaker for a status page, isn’t it? The whole
point is to notify your customers of an issue, and you need to do that fast.
Most issues are only going to last a few minutes anyway, so any delay in
update makes the whole thing pretty moot.

~~~
federicobond
There's a PubSub implementation for IPFS that can provide support for dynamic
content in this case. I'm pretty sure there is another way to provide fast
updates through some indirection mechanism though.

[https://ipfs.io/blog/25-pubsub/](https://ipfs.io/blog/25-pubsub/)

------
marknadal
Big fan of IPFS here, but silly question, isn't a status page suppose to have
realtime updates of whether a service is online or not? This doesn't seem like
a good fit unless you're using some realtime CRDT adapter on top like they
list here [https://github.com/ipfs/research-
CRDT/blob/master/Readme.MD](https://github.com/ipfs/research-
CRDT/blob/master/Readme.MD) (disclaimer: I'm the author of
[https://github.com/amark/gun](https://github.com/amark/gun), which is one of
the listed options). The StatusPage link is sparse on info, anybody know how
it works underneath? Sorry if I'm confused on how status pages are supposed to
work, can it really be static if it is supposed to be reporting services
uptime liveliness (and thus requires some type of realtime monitoring)??

~~~
stevekemp
There seem to be two types of status-pages:

Really great ones show that all services are up, and often have timing
information, graphs, or metrics, etc. An example of this would be
[https://status.bitbucket.org/](https://status.bitbucket.org/)

More basic status-sites generally only show useful detail(s) if something is
currently broken, and perhaps will show you a summary of recent problems over
the past few days. An example of that would be
[https://status.github.com/messages](https://status.github.com/messages)

(I wrote a simple status-page for my own site, but I elected to go the simple
route. I do monitor availability and response-time(s) of various parts of the
service, but I only update the site when there are problems, manually. This
works for me because problems are rare, and my site is small.)

~~~
marknadal
Thank you for these links!

So... This still seems problematic though - if you manually update it, then
the hash of the page is going to change, and then you'd need to retrieve a
different IPFS item than the original status page. And so on... No? This just
seems like an odd loop.

~~~
stevekemp
When I manually update my site, that just means I add a file to the git-
repository with today's date. Once I commit and push that a Makefile rebuilds
my (static) site.

I don't personally use IPFS, but I imagine if I did then I'd have a script to
change DNS, or update the hash IPFS uses. I see from other replies that
updating the "most recent" version of a site is simple enough that it
shouldn't be a problem in practice.

~~~
snissn
ipfs works by creating a URL based on the hash of the content that you're
publishing. so ipfs.io/hash(MYSITEISDOWN) vs ipfs.io/hash(MYSITEISUP)

------
zapita
Has anyone here used both IPFS and DAT in-depth?

I am a happy IPFS user, and it seems that it has more traction than DAT. But
on the other hand, the Beaker Browser project (which is based on DAT) is very
interesting, and doesn't seem to have an equivalent in IPFS. I'm also worried
that the IPFS team might get distracted by Filecoin and not invest seriously
in the IPFS ecosystem beyond what Filecoin needs.

I'm interested to hear what others think?

------
tw1010
Naive question: if data on IPFS is permanent, meaning it's hard or impossible
to remove things from it, what mechanisms, if any, exists to prevent unlawful
content from being uploaded to it?

~~~
oblio
> What mechanisms, if any, exists to prevent unlawful content from being
> uploaded to it?

Probably the same ones used against P2P, lawsuits and pressure on national
governments to crack down against the offenders :)

~~~
tw1010
So there is a way to figure out who is downloading what on IPFS? (At least
assuming that you have assets comparable to national governments.)

~~~
wybiral
Yeah, the nodes connect via IP addresses. You could proxy it through Tor or
something though.

~~~
icebraining
As far as I understand it, proxying it is dangerous because IPFS will announce
all your IPs so that the shortest routes can be established. You probably need
to run it in a VM/container that only has access to Tor and no other network
adapter.

~~~
wybiral
Ah, good to know.

I love the idea behind IPFS but it just doesn't feel mature enough yet. The
documentation, examples, consistent APIs, etc, don't seem very solidified.

~~~
diggan
Thanks! We're hard at work making everything better, especially the
documentation and examples bit, but lots of work on the APIs as well.

If you have anything concrete to suggest or help out with, please open up a
issue in the relevant repository, this would be the entrypoint to find your
way around in our Github organization:
[https://github.com/ipfs/ipfs](https://github.com/ipfs/ipfs)

Disclaimer: I work for Protocol Labs on IPFS

~~~
snow_mac
I want to contribute, experienced senior web dev. Where do I get started?

~~~
diggan
Jump into #ipfs on freenode (IRC) and tell us what area you want to contribute
to and someone can point you in the right direction.

Otherwise, assuming you know JavaScript, [https://github.com/ipfs/js-
ipfs/issues?q=is%3Aopen+is%3Aissu...](https://github.com/ipfs/js-
ipfs/issues?q=is%3Aopen+is%3Aissue+label%3Adifficulty%3Aeasy) is a great place
to start.

If you have some Golang experience, [https://github.com/ipfs/go-
ipfs/issues?q=is%3Aopen+is%3Aissu...](https://github.com/ipfs/go-
ipfs/issues?q=is%3Aopen+is%3Aissue+label%3Adifficulty%3Aeasy) should work to
find you some beginner issues.

------
StreamBright
Decentralized is the new buzzword in the crypto community and it is used
everywhere to justify everything. I lost count how many times people were
trying to sell me ideas with "its decentralized, you get it???". I am getting
more and more resilient to take anything seriously that is solved with this.
For me S3 is a perfect storage and with Cloudfront is decentralized enough for
my use cases. As far as I am concerned a node that is not under AWS or my
control is not the definition of decentralized it just means that you have
less control over a distributed object store that has worse access patterns
than for example S3. Bandwidth is one of the problems. If a typical IPFS node
is a home computer than it has 10x upload speed compare to the download speed.
This is going to limit how somebody can access content from IPFS. And so on.
These access patterns are pretty relevant when you are hosting something other
than backups on such a system.

~~~
RainaRelanah
> Bandwidth is one of the problems. If a typical IPFS node is a home computer
> than it has 10x upload speed compare to the download speed. This is going to
> limit how somebody can access content from IPFS.

This can easily be addressed by choosing hosts which have gigabit upload links
if you are hosting high demand files. Personal computer backups may opt for
hosts with 10mbit upload that offer much cheaper storage. It may not be
possible to do so atm, but eventually the platforms will get there. It's still
very early and most distributed storage technologies are nowhere near
complete.

------
foxhop
> Powered by D StatusPage on IPFS

The URI on the footer of the status page points to here:
[https://www.statuspage.co](https://www.statuspage.co) \- but it doesn't
appear to load, is this an artifact from development?

~~~
paulogr
This is a bug from development :) I saw this and will be fixed on next
release. Thanks for reporting.

------
ComputerGuru
I mean, your status page itself may be on ipfs but since ipfs isn’t natively
supported as a browser protocol, your “decentralization” fails since you’ll
likely need to host the http <—-> ipfs gateway somewhere. Might as well stick
your status page on a couple of vps (literally just two on two different
continents) and round robin them.

~~~
federicobond
Firefox has already whitelisted the IPFS protocol so that extensions can
provide implementations. It won't be long before this can be decentralized.

[https://blog.mozilla.org/addons/2018/01/26/extensions-
firefo...](https://blog.mozilla.org/addons/2018/01/26/extensions-firefox-59/)

------
Nelkins
How timely, considering I am intermittently getting gateway timeouts on HN
right now.

~~~
TeMPOraL
Speaking of which, what's up with the Twitter frame on the status page? I keep
getting HN errors quite regularly, but the Twitter bot reports that the most
recent failure happened two years ago...

~~~
corben
Here's a status page for HN that has built-in monitoring, so it shows all
downtime: [https://hn.hund.io](https://hn.hund.io)

------
jatsign
Apologizes for blockchaining every comment, but one of the cryptocurrencies
I'm interested in, from a tech perspective, is doing something similar. It
lets you host your website on IPFS as well.

[http://www.shiftnrg.org/](http://www.shiftnrg.org/)

~~~
icebraining
I'd find your post acceptable if the site had any technical content about how
it's actually supposed to work. As it stands, it's just marketing fluff.

