
Ways to surf some of the decentralized web - bpierre
https://medium.com/the-ethereum-name-service/all-the-ways-you-can-surf-the-decentralized-web-today-bf8e7a42fa27
======
Funes-
The "decentralized web" comprises much, much more than a project backed by a
cryptocurrency--Ethereum, in this case. The decentralized web includes
ZeroNet, .dat sites (directly accessible from the Beaker Browser), and many
more. I don't like how they seem to want to conflate the term unilaterally
with their own project.

~~~
ashleysmithgpu
Freenet, i2p, tor, hyperboria

~~~
alex_duf
I've been on i2p almost a decade ago, the level of filth and illegality of the
content there made me very quickly reconsider what network I wanted to
participate in.

Don't know if that has changed but I honestly don't want to know, I'd stay
away from it if I were you.

~~~
Funes-
I have been using it for almost a year and I haven't find a single instance of
what you're describing. I haven't been searching for it, either. It's a great
tool with great promise with regards to avoiding censorship and surveillance.
I wish more people tried it.

>I'd stay away from it if I were you.

I'd rather recommend anyone on this thread to try it and form an opinion for
themselves.

~~~
pixxel
“I wish more people tried it.”

I’d like to poke around. Any chance you bookmarked resources for getting
started?

~~~
Funes-
Sure!

[0] Official I2P Java client download:
[https://geti2p.net/en/download](https://geti2p.net/en/download). Once
started, you should check the router console, on localhost:7657. You can check
the firewall settings on localhost:7657/confignet (which TCP/UDP ports to
open, for instance).

[0a] If you want to host an eepsite (I2P's anonymous websites), you should
follow indications located on localhost:7658. You'll have to set
'[http://localhost:4444'](http://localhost:4444') as your browser's proxy to
visit eepsites (*.i2p).

[0b] I2P technical documentation:
[https://geti2p.net/en/docs/](https://geti2p.net/en/docs/).

[1a] i2pd (C++ implementation):
[https://github.com/PurpleI2P/i2pd/releases/tag/2.31.0](https://github.com/PurpleI2P/i2pd/releases/tag/2.31.0)

[1b] i2pd documentation (very useful)
[https://i2pd.readthedocs.io/en/latest/](https://i2pd.readthedocs.io/en/latest/).

[2] List of supported I2P applications (it might be outdated):
[https://geti2p.net/en/docs/applications/supported](https://geti2p.net/en/docs/applications/supported).

[3] MuWire (file sharing program): [https://muwire.com](https://muwire.com) or
muwire.i2p.

[4] Popular torrent tracker:
[http://tracker2.postman.i2p](http://tracker2.postman.i2p).

Keep in mind it can take several minutes for your router to get some speed.

~~~
pixxel
Thank you very much, appreciate it.

------
superkuh
The decentralized web isn't using non-web projects or web abstraction layers.
The decentralized web is everyone hosting their own webserver from home. It's
easy, everyone has a fast enough connection, and without the motives and
requirements of a business it's safe.

Opera, back in it's old age before dying and becoming a Chinese owned Chrome
skin approached this. It allowed anyone to easily and simply host their own
content by running a webserver in the browser. Opera handled the human-
compatible naming/look-up side but realistically even IP addresses that change
are fine.

~~~
z3t4
One problem is that many ISP's use NAT, meaning that other computers can't
connect to your computer! Unless your computer initiated the connection. Most
ISP's will give you a public IP if you ask though.

This is probably for the good though, as most software don't take security
seriously, example listening on a public port by default, with the default
password.

~~~
bscphil
> One problem is that many ISP's use NAT, meaning that other computers can't
> connect to your computer! Unless your computer initiated the connection.
> Most ISP's will give you a public IP if you ask though.

Actually, my experience has been the exact opposite on both points with every
ISP I've ever had (in the United States). I've never had a problem setting up
a dynamic DNS server to access my home network from outside. Likewise, I've
never had an ISP that will give you a static IPv4 address. Maybe it's just
luck on my part, but I was under the impression mine was the most common
experience these days (for this country).

~~~
icedchai
In most places, you need a "business" connection to get static IPs. I have
several at home.

~~~
input_sh
Assuming that an IP address is only assigned to you and not to other users
(via a NAT that you have no control over), it's easy to occasionally ping your
DNS server with your IPv4 address and assign a hostname to it.

If your DNS provider has an API, it's probably the first example in the API
documentation. If not, there's DuckDNS and similar.

~~~
icedchai
This is true, though there are still often port limitations. For example, with
residential connections here, port 25, 80, and 443 are filtered incoming, so
you can't run a web server or SMTP server on a normal port. Also servers
technically violate the AUP. Business connections have no such restrictions.

------
diggan
At least in Brave it doesn't seem like a "proper" decentralized implementation
as it simply redirects to gateway.ipfs.io which is gateways run by the IPFS
organization/Protocol Labs.

So while it works, the browser is neither natively resolving the content nor
help sharing it further.

The demonstration from the video/GIF says "Support for ENS+IPFS in Firefox via
the MetaMask extension" but it's also clearly using the public gateways
instead of fetching the content via IPFS in the browser. Seems weird that they
are using that as an example. They could have used the IPFS Companion
extension and at least it would have seemed to work in the demonstration.

So while it seems to be getting there (at least the domain resolve seems to
work via _something_), the implementation of IPFS in both Brave and MetaMask
doesn't go the full way and enable off-internet content fetching or offline
caching as a better integration would get.

~~~
k__
It seems like the IPFS companion extension allows for configuration of the
gateway.

Shouldn't this enable running a local gatway?

~~~
diggan
It does indeed, and seems to work fine. The problem is not that it's
impossible, the problem is that the author is misleading people. See
[https://news.ycombinator.com/item?id=22848023](https://news.ycombinator.com/item?id=22848023)

------
__ka
The Cliqz browser implements the Dat protocol. Here's a writeup on the
implementation: [https://www.0x65.dev/blog/2020-03-02/implementing-the-dat-
pr...](https://www.0x65.dev/blog/2020-03-02/implementing-the-dat-protocol-in-
cliqz.html)

Disclosure: I work at Cliqz.

~~~
valentin_ivan
I didn't know about Cliqz. I'm always curious about new browsers. I just
installed it, but it does not open "almonit.eth". Any idea why? Maybe I did
something wrong. Still I see the following "There are at least five browsers
with native support for ENS+IPFS websites. That means you can just type
“almonit.eth/” into the URL bar and it should work without special
extensions." on [https://medium.com/the-ethereum-name-service/all-the-ways-
yo...](https://medium.com/the-ethereum-name-service/all-the-ways-you-can-surf-
the-decentralized-web-today-bf8e7a42fa27)

~~~
macawfish
"almonit.eth" is not a Dat website, but a ENS+IPFS website. Cliqz supports
Dat. You can check out some Dat websites and apps here:
[https://hashbase.io/](https://hashbase.io/)

And check out Beaker Browser for more info! (Beaker itself doesn't work on
mobile, but it's a really cool browser.)

------
ericflo
> A decentralized website makes both parts censorship-resistant: it uses IPFS
> (a distributed file storage network) for storage

This is a bit over-prescriptive: there are other distributed file storage
networks out there. For example, Sia's Skynet. (Disclaimer: I maintain a
Skynet portal)

~~~
viraptor
Also... it's not censorship-resistant. IPFS doesn't provide secrecy. The
content can be censored by anyone offering you connection when they query your
node if it stores specific information.

------
yepthatsreality
Decentralized != peer-2-peer

Arguably the web is already decentralized but the economic incentive is filled
by large corporations and abused via logging analytics.

~~~
mindslight
The way to analyze whether something is centralized is to look at its
namespace. Federation is not decentralization. You're not a first class
speaker if your name can simply be taken away.

~~~
Nursie
You can opt out of the DNS system, there have been other systems in the past
(AlterNIC was one such, quite some time back, IIRC).

Turns out nobody cares.

~~~
mindslight
I do remember AlterNIC and other such attempts, but they aren't germane to
decentralization. Being able to switch to an alternative federation root is
still federation.

~~~
Nursie
The point is that one is free to run one's own root if need be.

Similarly to the post you replied to - centralisation of name resolution is by
market choice, not technological lock. The incentive is for everyone to
coalesce around one service though.

~~~
mindslight
Sure, just as one can keep their own /etc/hosts. But we're talking about
coordination between groups of people, and the power structures that result
therein. An alternative root just creates a new instance with the same
structure.

> _centralisation of name resolution is by market choice, not technological
> lock. The incentive is for everyone to coalesce around one service though_

The technological deficiency creates the market incentive towards
centralization. If one could easily remap (eg ycombinator.com ->
ycombinator.com.icann), DNS would have had a fighting chance. But what we
really want is the ability to reconcile-merge differing perspectives, rather
than competing all-or-nothing trees.

------
rubyn00bie
What does Ethereum have to do with surfing a decentralized Web? Or like what
is it bringing to the party? I would imagine most of this is just IPFS, right?
Aren't there other like non cryptocurrency based distributed dns systems? I'm
just confused how cryptocurrency popped up, or what am I just totally fucking
missing?

~~~
damon_c
It's using ENS (Ethereum Name Service) to locate the contents stored on IPFS.

This is done through Ethereum smart contracts.

Here's some documentation on all this: [https://docs.ens.domains/contract-api-
reference/publicresolv...](https://docs.ens.domains/contract-api-
reference/publicresolver#get-content-hash)

------
tambourine_man
Website directory is a frase I haven’t heard in a long time. Feels like the
early days of the web.

I really hope there’s a decentralized future for the internet and the web.

------
mirimir
This site maxed out 2GB RAM and 2GB swap in my VM, and I was lucky to kill
Firefox fast enough to avoid needing to reset the VM.

WTF does a site need with over 2GB RAM?

Edit: I mean, I can run Debian with a basic GUI desktop in less than 1GB RAM.

~~~
hedora
Interesting. It crashed my phone’s web browser (not firefox) on first load,
then worked fine after that. I suspect it has something to do with the
animated screen shot thing.

------
jklepatch
Shameless plug, for people who want to learn how to build decentralized
applications on ethereum / solidity smart contracts, I have hundreds of
tutorials on my youtube channel EatTheBlocks:
[https://m.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA](https://m.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA)

------
stri8ed
Just to confirm, ipfs.io is a centralized gateway, and none of these browsers
actually embeds an IPFS client. Correct?

~~~
momack2
Brave embeds IPFS Companion - which allows you to have an embedded js-ipfs
node in your browser!
[https://ipfs.io/ipfs/QmSHE8RjeP59WamMrgEmaDnDFASui2hainG7BZ3...](https://ipfs.io/ipfs/QmSHE8RjeP59WamMrgEmaDnDFASui2hainG7BZ34o6i99y?filename=js-
ipfs-in-brave.png)

------
neiman
I'm from Almonit, one of the organizations mentioned in the article. We create
a decentralized search engine for Dwebsites, almonit.eth . It also got a
(almost) complete list of existing Dwebsites.

We also got browser extensions for accessing Dwebsites:
[https://twitter.com/GoAlmonit/status/1179633247745171456](https://twitter.com/GoAlmonit/status/1179633247745171456)

The extension let you either setup your own IPFS/Ethereum nodes, or use
existing gateways.

To try to be as decentralized as possible, the extension chooses (by default)
a different random gateway in each new session (like, every time to open the
browser). We call it "decentralization by randomization". You can also edit
the gateway list if you don't like the ones we began with.

[E: typos]

------
mattkrause
...hosted on Medium.

~~~
quickthrower2
What’s wrong with that though? The target audience for persuading might be
there.

~~~
mattkrause
Not wrong per se, just amusingly ironic to have one of the bigger centralizing
forces hosting "Ways to Surf the Decentralized Web."

~~~
cdiddy2
Well if you hosted "Ways to Surf the Decentralized Web" only on the
decentralized that no one knew how to access, it wouldn't be too useful

~~~
vpEfljFL
HTTP is an open protocol and can be accessed from anywhere as IP address is
reachable.

medium.com is centralised platform, your custom domain is not.

~~~
datashaman
your custom domain is still centralized, it's just not popular.

------
rv-de
Didn't work with brave on Linux:

    
    
      This site can’t be reached
      almonit.eth’s server IP address could not be found.
    
      Try:
        Checking the connection
        Checking the proxy, firewall, and DNS configuration
        ERR_NAME_NOT_RESOLVED
    

Firefox with MetaMask works.

------
bawolff
Everyone always seems so handwavey when they talk about "decentralized" web.
It seems more like a string of buzzwords than an actual technical definition.

What are the actual properties of the "decentralized web" that make it
"decentralized"?

------
apatters
How do I create a dwebsite?

~~~
lioeters
Start here: [https://beakerbrowser.com/](https://beakerbrowser.com/)

"Beaker is an experimental browser for exploring and building the peer-to-peer
Web."

