Blogging over IPFS

Posted on November 7, 2020 by Fabián Heredia Montiel

Why

The internet is being capture by a few monopolistic private entities. (FAANGs) For the sake of capturing profit these entities have pushed for anti-desintermediation. 1 (Intermediation of things that got desintermediated via technological advancement) Such anti-desintermediation is not about improving either the experience or what is technically feasible by computer and network technologies and hinders technological progress in that area.

A syntom of such claim is present even in something as simple as a personal site/blog. Centralized personal sites/blogs become fragile and expensive while a decent(ralized) alternative (like what is in use here) is anti-fragile 2 and inexpensive.

  • The only costs are the domain registration and running my own computer (where the IPFS daemon takes less than 1% of my cpu usage and 200 MB of memory) and some bandwidth.

  • The more popular something is, the more peers replicate it.

    As such more bandwidth and redundant fetch locations become available that could get the content to you (the reader) at lower latencies. (It is challenging to do a hug of death / slashdotting on such sites/blogs)

Requirements

  • A static site generator (Hakyll in my case)
  • A domain name with DNSSEC
  • An IPFS Daemon / Node on your computer 3

How

  1. Generate your site and import it into your IPFS node.
  2. Copy the CID (Content Identity) of your site. (For example: QmdYBgzjWj7RXv3VzaQFxMaq76FLFtJPkopQ8SNpDfCE96)
  3. Add the CID as a DNSLink in your domain. (For example: TXT _dnslink dnslink=/ipfs/QmdYBgzjWj7RXv3VzaQFxMaq76FLFtJPkopQ8SNpDfCE96) 4
  4. Add a CNAME from your domain to cloudflare-ipfs.com as a bridge/gateway for non-IPFS users to get access. 5
  5. Enjoy. (There is some automation available to update the DNSLink)

  1. Counter-anti-desintermediation, P2P Foundation. <https://wiki.p2pfoundation.net/Counter-Anti-Disintermediation>↩︎

  2. Antifragile, Wikipedia. <https://www.wikiwand.com/en/Antifragile>↩︎

  3. IPFS Installation Guide, IPFS. <https://ipfs.io/#install>↩︎

  4. DNSLink, IPFS Docs. <https://docs.ipfs.io/concepts/dnslink/>↩︎

  5. IPFS Gateway, Cloudflare. <https://www.cloudflare.com/distributed-web-gateway/>↩︎