go-ipfs 0.4.23 released

go-ipfs 0.4.23 released

Highlights

  • Fixed a bug in the TLS transport that would (very rarely) cause disconnects during the handshake. You really should upgrade or you’ll see this bug more and more when TLS is enabled by default in go-ipfs 0.5.0.
  • Patched a commonly occurring bug in the websocket transport that was causing panics because of concurrent writes.
  • Fixed Resursive Resolving of dnsaddr Multiaddrs
  • Retuned Connection Manager
  • Reduced Relay Related DHT Spam
  • Better Bitswap

Assets

Download

ipfs get

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ipfs get /ipns/dist.ipfs.io/go-ipfs/v0.4.23/go-ipfs_v0.4.23_linux-amd64.tar.gz
ipfs get /ipns/dist.ipfs.io/go-ipfs/v0.4.23/go-ipfs_v0.4.23_windows-amd64.zip

ipfs get -o go-ipfs_v0.4.23_linux-amd64.tar.gz QmW58T9uBd1gd6mnat254xk9B4b63dHN55T97icWATWv1K
ipfs get -o go-ipfs_v0.4.23_windows-amd64.zip QmfKbwBdmSy6UWaYBb3o6fXzxAvJKhMGoWzJwwjpftNN2r

# ipfs get /ipns/dist.ipfs.io/go-ipfs/v0.4.23/go-ipfs_v0.4.23_linux-amd64.tar.gz
Saving file(s) to go-ipfs_v0.4.23_linux-amd64.tar.gz
19.66 MiB / 19.66 MiB [====================================================================================] 100.00% 0s

# ipfs get /ipns/dist.ipfs.io/go-ipfs/v0.4.23/go-ipfs_v0.4.23_windows-amd64.zip
Saving file(s) to go-ipfs_v0.4.23_windows-amd64.zip
16.68 MiB / 16.68 MiB [====================================================================================] 100.00% 0s

# ipfs get -o go-ipfs_v0.4.23_linux-amd64.tar.gz QmW58T9uBd1gd6mnat254xk9B4b63dHN55T97icWATWv1K
Saving file(s) to go-ipfs_v0.4.23_linux-amd64.tar.gz
19.66 MiB / 19.66 MiB [====================================================================================] 100.00% 3s

# ipfs get -o go-ipfs_v0.4.23_windows-amd64.zip QmfKbwBdmSy6UWaYBb3o6fXzxAvJKhMGoWzJwwjpftNN2r
Saving file(s) to go-ipfs_v0.4.23_windows-amd64.zip
16.68 MiB / 16.68 MiB [====================================================================================] 100.00% 1s

gateway

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# gateway.ipfs.io, ipfs.infura.io, hardbin.com, siderus.io, ipfs.io

wget -O go-ipfs_v0.4.23_linux-amd64.tar.gz https://gateway.ipfs.io/ipfs/QmW58T9uBd1gd6mnat254xk9B4b63dHN55T97icWATWv1K
wget -O go-ipfs_v0.4.23_windows-amd64.zip https://gateway.ipfs.io/ipfs/QmfKbwBdmSy6UWaYBb3o6fXzxAvJKhMGoWzJwwjpftNN2r

curl -L -o go-ipfs_v0.4.23_linux-amd64.tar.gz https://gateway.ipfs.io/ipfs/QmW58T9uBd1gd6mnat254xk9B4b63dHN55T97icWATWv1K
curl -L -o go-ipfs_v0.4.23_windows-amd64.zip https://gateway.ipfs.io/ipfs/QmfKbwBdmSy6UWaYBb3o6fXzxAvJKhMGoWzJwwjpftNN2r

# curl -L -o go-ipfs_v0.4.23_linux-amd64.tar.gz https://gateway.ipfs.io/ipfs/QmW58T9uBd1gd6mnat254xk9B4b63dHN55T97icWATWv1K
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 19.6M 100 19.6M 0 0 11.3M 0 0:00:01 0:00:01 --:--:-- 11.3M

# curl -L -o go-ipfs_v0.4.23_windows-amd64.zip https://gateway.ipfs.io/ipfs/QmfKbwBdmSy6UWaYBb3o6fXzxAvJKhMGoWzJwwjpftNN2r
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.6M 100 16.6M 0 0 11.1M 0 0:00:01 0:00:01 --:--:-- 11.1M

Systemd service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
groupadd -r ipfs && useradd -r -g ipfs ipfs

mkdir -p /var/lib/ipfs && IPFS_PATH=/var/lib/ipfs ipfs init

EDITOR=vi ipfs config edit

chown -R ipfs:ipfs /var/lib/ipfs

cat << EOF > /etc/systemd/system/ipfs.service
[Unit]
Description=ipfs
After=syslog.target network.target network-online.target remote-fs.target

[Service]
Type=simple
User=ipfs
Group=ipfs
RestartSec=5s
Restart=always

SyslogIdentifier=ipfs

Environment=IPFS_PATH=/var/lib/ipfs
#ExecStartPre=-/usr/bin/ipfs init
WorkingDirectory=/var/lib/ipfs
# WorkingDirectory=/tmp
ExecStart=/usr/bin/ipfs daemon

[Install]
WantedBy=multi-user.target
EOF

systemctl enable ipfs
systemctl stop ipfs
systemctl start ipfs
systemctl status ipfs

ipfs config show

# netstat -anp | grep ipfs | grep '*'
tcp 0 0 127.0.0.1:5001 0.0.0.0:* LISTEN 23692/ipfs
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 23692/ipfs
tcp 0 0 0.0.0.0:4001 0.0.0.0:* LISTEN 23692/ipfs
tcp6 0 0 :::8080 :::* LISTEN 23692/ipfs
tcp6 0 0 :::4001 :::* LISTEN 23692/ipfs
udp 0 0 0.0.0.0:5353 0.0.0.0:* 23692/ipfs
udp 0 0 0.0.0.0:38683 0.0.0.0:* 23692/ipfs
udp 0 0 0.0.0.0:4001 0.0.0.0:* 23692/ipfs
udp6 0 0 :::5353 :::* 23692/ipfs
udp6 0 0 :::33684 :::* 23692/ipfs
udp6 0 0 :::4001 :::* 23692/ipfs

Basic commands

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
ipfs id
ipfs bootstrap list
ipfs bootstrap rm all
ipfs bootstrap add --default
ipfs diag sys | jq .
ipfs swarm peers
ipfs swarm connect <multiaddr>

ipfs swarm peers | xargs -n 1 ipfs bootstrap add
sudo netstat -anp | grep ipfs | grep ESTABLISHED | wc -l

ipfs bootstrap add /ip4/192.168.1.139/tcp/4001/ipfs/QmaYbjkt2jifmnZU6a933fFjYEDVf5BMWkQSYCNMqvkRid
ipfs swarm connect /ip4/192.168.1.139/tcp/4001/ipfs/QmbSSqxrct6yB2xs1drDv8eCKBRdMJzSmYLVsTNnUTsDZU

while read PEER REST; do
ipfs bootstrap add "${PEER}"
ipfs swarm connect "${PEER}"
done << EOF
/ip4/149.248.32.245/tcp/4001/ipfs/QmRA4e86TZ6kkrQqja4gWY7fiSsPWFbVFmijiU6nTNMHg7
/ip4/149.248.32.245/udp/4001/quic/ipfs/QmRA4e86TZ6kkrQqja4gWY7fiSsPWFbVFmijiU6nTNMHg7
/ip6/2001:19f0:8001:1c86:5400:2ff:fe10:1f9f/tcp/4001/ipfs/QmRA4e86TZ6kkrQqja4gWY7fiSsPWFbVFmijiU6nTNMHg7
/ip6/2001:19f0:8001:1c86:5400:2ff:fe10:1f9f/udp/4001/quic/ipfs/QmRA4e86TZ6kkrQqja4gWY7fiSsPWFbVFmijiU6nTNMHg7
EOF

ipfs ls /ipns/dist.ipfs.io/go-ipfs/
ipfs cat /ipns/dist.ipfs.io/go-ipfs/versions
ipfs ls /ipns/dist.ipfs.io/go-ipfs/v0.4.23/
ipfs cat /ipns/dist.ipfs.io/go-ipfs/v0.4.23/dist.json
ipfs get /ipns/dist.ipfs.io/go-ipfs/v0.4.23/go-ipfs_v0.4.23_linux-amd64.tar.gz
ipfs get /ipns/dist.ipfs.io/go-ipfs/v0.4.23/go-ipfs_v0.4.23_windows-amd64.zip

ipfs repo version
ipfs repo stat
ipfs stats bw
ipfs stats repo
ipfs pin ls
ipfs pin verify

ipfs add --nocopy SLE-12-SP5-Server-DVD-x86_64-GM-DVD1.iso
ipfs add --only-hash SLE-12-SP5-Server-DVD-x86_64-GM-DVD1.iso

Experimental features

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ipfs config --json Experimental.FilestoreEnabled true
ipfs config --json Experimental.UrlstoreEnabled true
ipfs config --json Experimental.PreferTLS true
ipfs config --json Experimental.QUIC true

EDITOR=vi ipfs config edit

"Addresses": {
"API": "/ip4/127.0.0.1/tcp/5001",
"Gateway": [
"/ip4/0.0.0.0/tcp/8080",
"/ip6/::/tcp/8080"
],
"Swarm": [
"/ip4/0.0.0.0/tcp/4001",
"/ip4/0.0.0.0/udp/4001/quic",
"/ip6/::/tcp/4001",
"/ip6/::/udp/4001/quic"
]
}