Access Web3.0 Content / Run a Local Gateway
Diode hosts a public gateway to the Diode Network at <address>.diode.link. All the public Web3.0 content published on the Diode Network can be accessed using this gateway. However, some of the Web3.0 content is published in Private mode (only accessible to specific identities) or in Protected mode (only accessible to identities registered in the same Fleet Contract as the publisher) - this content cannot be accessed via the public gateway.
In order to access Private or Protected content, you can run the Diode Client locally as a local gateway / proxy server into the Diode Network. Once it is running, you can use a browser or other applications directly access Web3.0 content you are authorized for.
Have fun with this, and let use know in our telegram channel if you have any feature requests!
Run the Diode Client as a Proxy Server
Many applications have builtin support for socks proxy servers - we'll start the Diode Client as a socks proxy server so those applications can access Web3.0 content published on the Diode Network. See the sections below for some examples.
2. Open a terminal window and run the command
This will start a local socks proxy server - by default, it is launched on port 1080. This command authenticates your proxy server communications over the Diode Network via your Client address. Therefore, any content that is published in Private or Protected mode to your Client address will be accessible to your system at the content's corresponding address.
You can browse website content via Firefox by setting it up to use your local socks proxy server.
In Firefox, go to the network settings and select
manual proxy configuration. Set as proxy server
localhost and port
1080. Ensure it’s using
SOCKS v5 and check
Proxy DNS when using SOCKS v5.
To access a website, for example, being published by Client address 0x70114a27f3d1b549012498c69a4120ca4ea11e21, you can type
0x70114a27f3d1b549012498c69a4120ca4ea11e21.diode into Firefox's address bar.
If the particular host has configured a BNS name, you can access it at <bns-name>.diode.
SSH has no built-in support for socks but instead offers a general
ProxyCommand facility that can be used to proxy SSH through the socks proxy.
This can be enabled by adding the options
ProxyCommand=nc -X 5 -x localhost:1080 to the connection command.
-X 5 hereby means SOCKS v5 and
-x localhost:1080 is the local Diode socks proxy.
ssh -o 'ProxyCommand=nc -X 5 -x localhost:1080 %h %p' <user>@<client_address>.diode
- <user> is your username (e.g. on a Raspberry Pi it will usually be
- <client_address> is the Client address or BNS name for the SSH server
For more information, see the Remote SSH article.
The curl command line tool has built-in support for socks5 and dns proxying with the
-x short option. For example, downloading a file from a Client via the Diode Network with curl works like this:
curl -x socks5h://localhost:1080 <client_address>.diode
- <client_address> is the Client address or BNS name for the server hosting the file
VideoLAN Client (VLC)
VLC is a great tool for viewing or listening to streaming media - we can use it in conjunction with our local Diode proxy server to consume streaming content over the Diode Network.
VLC has only partial support for SOCKS v5 - it lacks support for hostname resolution through SOCKS v5, but can be tricked to accept SOCKS v5 connections through the
nc command line tool.
nc -X 5 -x localhost:1080 <client_address>.diode.link <port> | vlc -
- <client_address> is the Client address or BNS name for the server providing streaming content