multiaddr discovery

🆃🆇🆃
Fri, Jul 9, 2021 1:44 PM

The public text client [1] supports multiaddr discovery.

Multiaddr provides self-describing network addresses [2], while discovery advertises these addresses over DNS — similarly to DNS-SD [3].

3 type of transports are supported:

➊ Plain TCP
➋ TLS  [4]
➌ Noise [5][6][7]

Querying _text._tcp. TXT shows which multiaddr are available for a given host:

dig +short _text._tcp.txt.textprotocol.org TXT

"/ip4/64.225.108.16/tcp/1968/noise;1"
"/ip4/64.225.108.16/tcp/1965/tls;2"
"/ip4/64.225.108.16/tcp/1961;3"

With this information, the public client picks the appropriate transport mechanism to connect to the host — /TCP/1968/NOISE in this case.

textprint text://txt.textprotocol.org/

✂・・・・・・・・・・
ℹ /DNS/TXT.TEXTPROTOCOL.ORG
ℹ /IP4/64.225.108.16/TCP/1968/NOISE
ℹ ℅ DIGITALOCEAN, FRANKFURT AM MAIN, HESSE 60313, GERMANY
ℹ ⧗ 17ms
✂・・・・・・・・・・

Both TLS and Noise provide a level of opportunistic encryption [8].

[1] https://github.com/textprotocol/public
[2] https://multiformats.io/multiaddr/
[3] https://en.wikipedia.org/wiki/Zero-configuration_networking#DNS-SD
[4] https://en.wikipedia.org/wiki/Transport_Layer_Security
[5] http://www.noiseprotocol.org/
[6] Noise_XX_25519_ChaChaPoly_BLAKE2b specifically
[7] https://noiseexplorer.com/patterns/XX/
[8] https://en.wikipedia.org/wiki/Opportunistic_encryption


🆃🆇🆃
https://textprotocol.org
https://textprotocol.org/contact

The public text client [1] supports multiaddr discovery. Multiaddr provides self-describing network addresses [2], while discovery advertises these addresses over DNS — similarly to DNS-SD [3]. 3 type of transports are supported: ➊ Plain TCP ➋ TLS [4] ➌ Noise [5][6][7] Querying _text._tcp. TXT shows which multiaddr are available for a given host: # dig +short _text._tcp.txt.textprotocol.org TXT "/ip4/64.225.108.16/tcp/1968/noise;1" "/ip4/64.225.108.16/tcp/1965/tls;2" "/ip4/64.225.108.16/tcp/1961;3" With this information, the public client picks the appropriate transport mechanism to connect to the host — /TCP/1968/NOISE in this case. # textprint text://txt.textprotocol.org/ ✂・・・・・・・・・・ ℹ /DNS/TXT.TEXTPROTOCOL.ORG ℹ /IP4/64.225.108.16/TCP/1968/NOISE ℹ ℅ DIGITALOCEAN, FRANKFURT AM MAIN, HESSE 60313, GERMANY ℹ ⧗ 17ms ✂・・・・・・・・・・ Both TLS and Noise provide a level of opportunistic encryption [8]. [1] https://github.com/textprotocol/public [2] https://multiformats.io/multiaddr/ [3] https://en.wikipedia.org/wiki/Zero-configuration_networking#DNS-SD [4] https://en.wikipedia.org/wiki/Transport_Layer_Security [5] http://www.noiseprotocol.org/ [6] Noise_XX_25519_ChaChaPoly_BLAKE2b specifically [7] https://noiseexplorer.com/patterns/XX/ [8] https://en.wikipedia.org/wiki/Opportunistic_encryption — 🆃🆇🆃 https://textprotocol.org https://textprotocol.org/contact