OSDN Git Service

a1ac5447e634e074101169ed3087abd74e175bd1
[bytom/vapor.git] / vendor / github.com / multiformats / go-multiaddr-dns / README.md
1 # go-multiaddr-dns
2
3 > Resolve /dns4, /dns6, and /dnsaddr multiaddrs.
4
5 ```sh
6 > madns /dnsaddr/ipfs.io/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
7 /ip4/104.236.151.122/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
8 /ip6/2604:a880:1:20::1d9:6001/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
9 /ip6/fc3d:9a4e:3c96:2fd2:1afa:18fe:8dd2:b602/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
10 /dns4/jupiter.i.ipfs.io/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
11 /dns6/jupiter.i.ipfs.io/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
12 ```
13
14
15 In more detail:
16
17 ```sh
18 > madns /dns6/example.net
19 /ip6/2001:db8::a3
20 /ip6/2001:db8::a4
21 ...
22
23 > madns /dns4/example.net/tcp/443/wss
24 /ip4/192.0.2.1/tcp/443/wss
25 /ip4/192.0.2.2/tcp/443/wss
26
27 # No-op if it's not a dns-ish address.
28
29 > madns /ip4/127.0.0.1/tcp/8080
30 /ip4/127.0.0.1/tcp/8080
31
32 # /dnsaddr resolves by looking up TXT records.
33
34 > dig +short TXT _dnsaddr.example.net
35 "dnsaddr=/ip6/2001:db8::a3/tcp/443/wss/ipfs/Qmfoo"
36 "dnsaddr=/ip6/2001:db8::a4/tcp/443/wss/ipfs/Qmbar"
37 "dnsaddr=/ip4/192.0.2.1/tcp/443/wss/ipfs/Qmfoo"
38 "dnsaddr=/ip4/192.0.2.2/tcp/443/wss/ipfs/Qmbar"
39 ...
40
41 # /dnsaddr returns addrs which encapsulate whatever /dnsaddr encapsulates too.
42
43 > madns example.net/ipfs/Qmfoo
44 info: changing query to /dnsaddr/example.net/ipfs/Qmfoo
45 /ip6/2001:db8::a3/tcp/443/wss/ipfs/Qmfoo
46 /ip4/192.0.2.1/tcp/443/wss/ipfs/Qmfoo
47
48 # TODO -p filters by protocol stacks.
49
50 > madns -p /ip6/tcp/wss /dnsaddr/example.net
51 /ip6/2001:db8::a3/tcp/443/wss/ipfs/Qmfoo
52 /ip6/2001:db8::a4/tcp/443/wss/ipfs/Qmbar
53
54 # TOOD -c filters by CIDR
55 > madns -c /ip4/104.236.76.0/ipcidr/24 /dnsaddr/example.net
56 /ip4/192.0.2.2/tcp/443/wss/ipfs/Qmbar
57 ```