You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+84-87Lines changed: 84 additions & 87 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,3 @@
1
-
# kubo
2
-
3
-
> the oldest IPFS implementation, previously known as "go-ipfs"
4
1
5
2

6
3
@@ -10,15 +7,18 @@
10
7
11
8
## What is Kubo?
12
9
13
-
Kubo (go-ipfs) the earliest and most widely used implementation of IPFS.
10
+
Kubo was the first is the most widely used IPFS implementation today. Implementing the *Interplanetary Filesystem* - the Web3 standard and contender to replace https. Thus powered by IPLD's data models and the libp2p for network communication. Kubo is written in Go.
11
+
12
+
Featureset
13
+
- Runs an IPFS-Node as a network service
14
+
-[Command Line Interface](https://docs.ipfs.tech/reference/kubo/cli/) to IPFS-Nodes
15
+
- Local [Web2-to-Web3 HTTP Gateway functionality](https://github.com/ipfs/specs/tree/main/http-gateways#readme)
16
+
- HTTP RPC API (`/api/v0`) to access and control the daemon
17
+
- IPFS's internal Webgui can be used to manage the Kubo nodes
14
18
15
-
It includes:
16
-
- an IPFS daemon server
17
-
- extensive [command line tooling](https://docs.ipfs.tech/reference/kubo/cli/)
18
-
- an [HTTP Gateway](https://github.com/ipfs/specs/tree/main/http-gateways#readme) (`/ipfs/`, `/ipns/`) for serving content to HTTP browsers
19
-
- an HTTP RPC API (`/api/v0`) for controlling the daemon node
-[Download and Compile IPFS](#download-and-compile-ipfs)
73
75
-[Cross Compiling](#cross-compiling)
74
76
-[OpenSSL](#openssl)
75
77
-[Troubleshooting](#troubleshooting)
76
-
-[Updating](#updating)
77
-
-[Using ipfs-update](#using-ipfs-update)
78
-
-[Downloading builds using IPFS](#downloading-builds-using-ipfs)
79
78
-[Getting Started](#getting-started)
80
79
-[Usage](#usage)
81
80
-[Some things to try](#some-things-to-try)
@@ -110,19 +109,67 @@ If your system is resource-constrained, we recommend:
110
109
111
110
### Docker
112
111
113
-
[](https://hub.docker.com/r/ipfs/go-ipfs/)
114
-
<!-- TODO: replace with kubo after we have minimum set of images after kubo 0.14 (stable semver release, 'latest' and 'release' docker tags)
112
+
Official images are published at https://hub.docker.com/r/ipfs/kubo/:
113
+
115
114
[](https://hub.docker.com/r/ipfs/kubo/)
116
-
-->
117
115
118
-
More info on how to run kubo (go-ipfs) inside Docker can be found [here](https://docs.ipfs.tech/how-to/run-ipfs-inside-docker/).
116
+
More info on how to run Kubo (go-ipfs) inside Docker can be found [here](https://docs.ipfs.tech/how-to/run-ipfs-inside-docker/).
117
+
118
+
### Official prebuilt binaries
119
+
120
+
The official binaries are published at https://dist.ipfs.tech#kubo:
- Click the blue "Download Kubo" on the right side of the page.
126
+
- Open/extract the archive.
127
+
- Move kubo (`ipfs`) to your path (`install.sh` can do it for you).
128
+
129
+
If you are unable to access [dist.ipfs.tech](https://dist.ipfs.tech#kubo), you can also download kubo (go-ipfs) from:
130
+
- this project's GitHub [releases](https://github.com/ipfs/kubo/releases/latest) page
131
+
-`/ipns/dist.ipfs.tech` at [dweb.link](https://dweb.link/ipns/dist.ipfs.tech#kubo) gateway
132
+
133
+
#### Updating
134
+
135
+
##### Using ipfs-update
136
+
137
+
IPFS has an updating tool that can be accessed through `ipfs update`. The tool is
138
+
not installed alongside IPFS in order to keep that logic independent of the main
139
+
codebase. To install `ipfs-update` tool, [download it here](https://dist.ipfs.tech/#ipfs-update).
140
+
141
+
##### Downloading builds using IPFS
119
142
120
-
### Native Linux package managers
143
+
List the available versions of Kubo (go-ipfs) implementation:
144
+
145
+
```console
146
+
$ ipfs cat /ipns/dist.ipfs.tech/kubo/versions
147
+
```
148
+
149
+
Then, to view available builds for a version from the previous command (`$VERSION`):
150
+
151
+
```console
152
+
$ ipfs ls /ipns/dist.ipfs.tech/kubo/$VERSION
153
+
```
154
+
155
+
To download a given build of a version:
156
+
157
+
```console
158
+
$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_darwin-386.tar.gz # darwin 32-bit build
159
+
$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_darwin-amd64.tar.gz # darwin 64-bit build
160
+
$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_freebsd-amd64.tar.gz # freebsd 64-bit build
161
+
$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-386.tar.gz # linux 32-bit build
162
+
$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-amd64.tar.gz # linux 64-bit build
163
+
$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-arm.tar.gz # linux arm build
164
+
$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_windows-amd64.zip # windows 64-bit build
165
+
```
166
+
167
+
### Unofficial Linux packages
121
168
122
169
-[Arch Linux](#arch-linux)
123
170
-[Nix](#nix-linux)
124
171
-[Solus](#solus)
125
-
-[openSUSE](#openSUSE)
172
+
-[openSUSE](#opensuse)
126
173
127
174
#### Arch Linux
128
175
@@ -159,11 +206,6 @@ You can also install it through the Solus software center.
159
206
160
207
[Community Package for go-ipfs](https://software.opensuse.org/package/go-ipfs)
161
208
162
-
### Other package managers
163
-
164
-
-[Guix](#guix)
165
-
-[Snap](#snap)
166
-
167
209
#### Guix
168
210
169
211
GNU's functional package manager, [Guix](https://www.gnu.org/software/guix/), also provides a go-ipfs package:
@@ -174,6 +216,11 @@ $ guix package -i go-ipfs
174
216
175
217
#### Snap
176
218
219
+
> ⚠️ **SNAP USE IS DISCOURAGED**
220
+
>
221
+
> If you want something more sophisticated to escape the Snap confinement, we recommend using a different method to install Kubo so that it is not subject to snap confinement.
222
+
223
+
177
224
With snap, in any of the [supported Linux distributions](https://snapcraft.io/docs/core/install):
178
225
179
226
```
@@ -186,14 +233,6 @@ The snap sets `IPFS_PATH` to `SNAP_USER_COMMON`, which is usually `~/snap/ipfs/c
186
233
$ sudo mount --bind ~/.ipfs ~/snap/ipfs/common
187
234
```
188
235
189
-
If you want something more sophisticated to escape the snap confinement, we recommend using a different method to install kubo so that it is not subject to snap confinement.
190
-
191
-
#### macOS package managers
192
-
193
-
-[MacPorts](#macports)
194
-
-[Nix](#nix-macos)
195
-
-[Homebrew](#Homebrew)
196
-
197
236
#### MacPorts
198
237
199
238
The package [ipfs](https://ports.macports.org/port/ipfs) currently points to kubo (go-ipfs) and is being maintained.
@@ -220,7 +259,7 @@ A Homebrew formula [ipfs](https://formulae.brew.sh/formula/ipfs) is maintained t
- Click the blue "Download kubo" on the right side of the page.
251
-
- Open/extract the archive.
252
-
- Move kubo (`ipfs`) to your path (`install.sh` can do it for you).
286
+
-[MacPorts](#macports)
287
+
-[Nix](#nix-macos)
288
+
-[Homebrew](#homebrew)
253
289
254
-
If you are unable to access [dist.ipfs.tech](https://dist.ipfs.tech#kubo), you can also download kubo (go-ipfs) from:
255
-
- this project's GitHub [releases](https://github.com/ipfs/kubo/releases/latest) page
256
-
-`/ipns/dist.ipfs.tech` at [dweb.link](https://dweb.link/ipns/dist.ipfs.tech#kubo) gateway
257
290
258
291
### Build from Source
259
292
@@ -323,42 +356,6 @@ dependencies as well.
323
356
- Shell command completions can be generated with one of the `ipfs commands completion` subcommands. Read [docs/command-completion.md](docs/command-completion.md) to learn more.
324
357
- See the [misc folder](https://github.com/ipfs/kubo/tree/master/misc) for how to connect IPFS to systemd or whatever init system your distro uses.
325
358
326
-
### Updating
327
-
328
-
#### Using ipfs-update
329
-
330
-
IPFS has an updating tool that can be accessed through `ipfs update`. The tool is
331
-
not installed alongside IPFS in order to keep that logic independent of the main
332
-
codebase. To install `ipfs update`, [download it here](https://dist.ipfs.tech/#ipfs-update).
333
-
334
-
#### Downloading builds using IPFS
335
-
336
-
<!-- TODO: rename this section after we figure out if dist.ipfs.tech sgould produce both /go-ipfs/ and /kubo/ -->
337
-
338
-
List the available versions of kubo (go-ipfs) implementation:
339
-
340
-
```
341
-
$ ipfs cat /ipns/dist.ipfs.tech/go-ipfs/versions
342
-
```
343
-
344
-
Then, to view available builds for a version from the previous command ($VERSION):
345
-
346
-
```
347
-
$ ipfs ls /ipns/dist.ipfs.tech/go-ipfs/$VERSION
348
-
```
349
-
350
-
To download a given build of a version:
351
-
352
-
```
353
-
$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_darwin-386.tar.gz # darwin 32-bit build
354
-
$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_darwin-amd64.tar.gz # darwin 64-bit build
355
-
$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_freebsd-amd64.tar.gz # freebsd 64-bit build
356
-
$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-386.tar.gz # linux 32-bit build
357
-
$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-amd64.tar.gz # linux 64-bit build
358
-
$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_linux-arm.tar.gz # linux arm build
359
-
$ ipfs get /ipns/dist.ipfs.tech/go-ipfs/$VERSION/go-ipfs_$VERSION_windows-amd64.zip # windows 64-bit build
0 commit comments