docs(readme): rename to kubo
some things like third party package names, docker image etc need to stay as go-ipfs for now
Marcin Rataj committed
Jun 19, 2022 at 23:41 UTC
5cb572660d4cc561c4054aeb2ec692bc8f8b8a69
1 file changed
+38
-42
README.md
+38
-42
@@ -1,27 +1,28 @@
1
# kubo
2
3
+> the oldest IPFS implementation, previously known as "go-ipfs"
4
+
5

6
7
[](https://protocol.ai)
6
-[](https://godoc.org/github.com/ipfs/go-ipfs)
7
-[](https://circleci.com/gh/ipfs/go-ipfs)
8
+[](https://godoc.org/github.com/ipfs/kubo)
9
+[](https://circleci.com/gh/ipfs/kubo)
10
9
-## What is "IPFS Banana"?
11
+## What is Kubo?
12
11
-This repo provides "jack of all trades, master of none" implementation of IPFS.
13
+Kubo is the oldest IPFS implementation, previously known as go-ipfs.
14
+Think of it as a "jack of all trades, master of none" implementation of IPFS.
15
16
It should be enough to get you started, if you find it lacking, see [other implementations](https://ipfs.io/#install).
17
15
-
18
## What is IPFS?
19
20
IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas from previous systems such as Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single BitTorrent swarm, exchanging git objects. IPFS provides an interface as simple as the HTTP web, but with permanence built-in. You can also mount the world at /ipfs.
21
22
For more info see: https://docs.ipfs.io/introduction/overview/
23
22
-
24
Before opening an issue, consider using one of the following locations to ensure you are opening your thread in the right place:
24
- - kubo (previously named go-ipfs) _implementation_ bugs in [this repo](https://github.com/ipfs/go-ipfs/issues).
25
+ - kubo (previously named go-ipfs) _implementation_ bugs in [this repo](https://github.com/ipfs/kubo/issues).
26
- Documentation issues in [ipfs/docs issues](https://github.com/ipfs/ipfs-docs/issues).
27
- IPFS _design_ in [ipfs/specs issues](https://github.com/ipfs/specs/issues).
28
- Exploration of new ideas in [ipfs/notes issues](https://github.com/ipfs/notes/issues).
@@ -32,19 +33,13 @@ Before opening an issue, consider using one of the following locations to ensure
33
34
## Next milestones
35
35
-[Milestones on GitHub](https://github.com/ipfs/go-ipfs/milestones)
36
+[Milestones on GitHub](https://github.com/ipfs/kubo/milestones)
37
37
-<!-- ToDo automate creation of these
38
-[](https://github.com/ipfs/go-ipfs/milestone/51)
39
-[](https://github.com/ipfs/go-ipfs/milestone/48)
40
-[](https://github.com/ipfs/go-ipfs/milestone/50)
41
-[](https://github.com/ipfs/go-ipfs/milestone/49)
42
--->
38
39
## Table of Contents
40
41
- [kubo](#kubo)
47
- - [What is "IPFS Banana"?](#what-is-ipfs-banana)
42
+ - [What is Kubo?](#what-is-kubo)
43
- [What is IPFS?](#what-is-ipfs)
44
- [Next milestones](#next-milestones)
45
- [Table of Contents](#table-of-contents)
@@ -101,18 +96,18 @@ The canonical download instructions for IPFS are over at: https://docs.ipfs.io/g
96
97
### System Requirements
98
104
-IPFS can run on most Linux, macOS, and Windows systems. We recommend running it on a machine with at least 2 GB of RAM and 2 CPU cores (go-ipfs is highly parallel). On systems with less memory, it may not be completely stable.
99
+IPFS can run on most Linux, macOS, and Windows systems. We recommend running it on a machine with at least 2 GB of RAM and 2 CPU cores (kubo is highly parallel). On systems with less memory, it may not be completely stable.
100
101
If your system is resource-constrained, we recommend:
102
108
-1. Installing OpenSSL and rebuilding go-ipfs manually with `make build GOTAGS=openssl`. See the [download and compile](#download-and-compile-ipfs) section for more information on compiling go-ipfs.
103
+1. Installing OpenSSL and rebuilding kubo manually with `make build GOTAGS=openssl`. See the [download and compile](#download-and-compile-ipfs) section for more information on compiling kubo.
104
2. Initializing your daemon with `ipfs init --profile=lowpower`
105
106
### Docker
107
108
[](https://hub.docker.com/r/ipfs/go-ipfs/)
109
115
-More info on how to run go-ipfs inside docker can be found [here](https://docs.ipfs.io/how-to/run-ipfs-inside-docker/).
110
+More info on how to run kubo inside docker can be found [here](https://docs.ipfs.io/how-to/run-ipfs-inside-docker/).
111
112
### Native Linux package managers
113
@@ -133,7 +128,7 @@ More info on how to run go-ipfs inside docker can be found [here](https://docs.i
128
129
#### <a name="nix-linux">Nix</a>
130
136
-With the purely functional package manager [Nix](https://nixos.org/nix/) you can install go-ipfs like this:
131
+With the purely functional package manager [Nix](https://nixos.org/nix/) you can install kubo (go-ipfs) like this:
132
133
```
134
$ nix-env -i ipfs
@@ -143,7 +138,7 @@ You can also install the Package by using its attribute name, which is also `ipf
138
139
#### Solus
140
146
-In solus, go-ipfs is available in the main repository as
141
+In solus, kubo (go-ipfs) is available in the main repository as
142
[go-ipfs](https://dev.getsol.us/source/go-ipfs/repository/master/).
143
144
```
@@ -183,7 +178,7 @@ The snap sets `IPFS_PATH` to `SNAP_USER_COMMON`, which is usually `~/snap/ipfs/c
178
$ sudo mount --bind ~/.ipfs ~/snap/ipfs/common
179
```
180
186
-If you want something more sophisticated to escape the snap confinement, we recommend using a different method to install `go-ipfs` so that it is not subject to snap confinement.
181
+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.
182
183
#### macOS package managers
184
@@ -193,7 +188,7 @@ If you want something more sophisticated to escape the snap confinement, we reco
188
189
#### MacPorts
190
196
-The package [ipfs](https://ports.macports.org/port/ipfs) currently points to go-ipfs and is being maintained.
191
+The package [ipfs](https://ports.macports.org/port/ipfs) currently points to kubo (go-ipfs) and is being maintained.
192
193
```
194
$ sudo port install ipfs
@@ -232,7 +227,8 @@ PS> choco install ipfs
227
228
#### Scoop
229
235
-Scoop provides `go-ipfs` in its 'extras' bucket.
230
+Scoop provides kubo as `go-ipfs` in its 'extras' bucket.
231
+
232
```Powershell
233
PS> scoop bucket add extras
234
PS> scoop install go-ipfs
@@ -240,22 +236,22 @@ PS> scoop install go-ipfs
236
237
### Install prebuilt binaries
238
243
-[](https://ipfs.io/ipns/dist.ipfs.io#go-ipfs)
239
+[](https://dweb.link/ipns/dist.ipfs.io#kubo)
240
241
From there:
246
-- Click the blue "Download go-ipfs" on the right side of the page.
242
+- Click the blue "Download kubo" on the right side of the page.
243
- Open/extract the archive.
248
-- Move `ipfs` to your path (`install.sh` can do it for you).
249
-
250
-You can also download go-ipfs from this project's GitHub releases page if you are unable to access [dist.ipfs.io](https://ipfs.io/ipns/dist.ipfs.io#go-ipfs):
244
+- Move kubo (`ipfs`) to your path (`install.sh` can do it for you).
245
252
-[GitHub releases](https://github.com/ipfs/go-ipfs/releases)
246
+If you are unable to access [dist.ipfs.io](https://dist.ipfs.io#kubo), you can also download kubo (go-ipfs) from:
247
+- this project's GitHub [releases](https://github.com/ipfs/kubo/releases/latest) page
248
+- `/ipns/dist.ipfs.io` at [dweb.link](https://dweb.link/ipns/dist.ipfs.io#kubo) gateway
249
250
### Build from Source
251
256
-
252
+
253
258
-go-ipfs's build system requires Go and some standard POSIX build tools:
254
+kubo's build system requires Go and some standard POSIX build tools:
255
256
* GNU make
257
* Git
@@ -265,7 +261,7 @@ To build without GCC, build with `CGO_ENABLED=0` (e.g., `make build CGO_ENABLED=
261
262
#### Install Go
263
268
-
264
+
265
266
If you need to update: [Download latest version of Go](https://golang.org/dl/).
267
@@ -281,7 +277,7 @@ export PATH=$PATH:$GOPATH/bin
277
#### Download and Compile IPFS
278
279
```
284
-$ git clone https://github.com/ipfs/go-ipfs.git
280
+$ git clone https://github.com/ipfs/kubo.git
281
282
$ cd go-ipfs
283
$ make install
@@ -318,10 +314,10 @@ Note: OpenSSL requires CGO support and, by default, CGO is disabled when cross-c
314
dependencies as well.
315
- _WARNING_: Older versions of OSX FUSE (for Mac OS X) can cause kernel panics when mounting!-
316
We strongly recommend you use the [latest version of OSX FUSE](http://osxfuse.github.io/).
321
- (See https://github.com/ipfs/go-ipfs/issues/177)
317
+ (See https://github.com/ipfs/kubo/issues/177)
318
- Read [docs/fuse.md](docs/fuse.md) for more details on setting up FUSE (so that you can mount the filesystem).
319
- 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
-- See the [misc folder](https://github.com/ipfs/go-ipfs/tree/master/misc) for how to connect IPFS to systemd or whatever init system your distro uses.
320
+- 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.
321
322
### Updating
323
@@ -335,7 +331,7 @@ codebase. To install `ipfs update`, [download it here](https://ipfs.io/ipns/dist
331
332
<!-- TODO: rename this section after we figure out if dist.ipfs.io sgould produce both /go-ipfs/ and /kubo/ -->
333
338
-List the available versions of "go-ipfs" implementation:
334
+List the available versions of kubo (go-ipfs) implementation:
335
336
```
337
$ ipfs cat /ipns/dist.ipfs.io/go-ipfs/versions
@@ -387,7 +383,7 @@ If you have previously installed IPFS before and you are running into problems g
383
384
Please direct general questions and help requests to our [forum](https://discuss.ipfs.io) or our IRC channel (freenode #ipfs).
385
390
-If you believe you've found a bug, check the [issues list](https://github.com/ipfs/go-ipfs/issues) and, if you don't see your problem there, either come talk to us on IRC (freenode #ipfs) or file an issue of your own!
386
+If you believe you've found a bug, check the [issues list](https://github.com/ipfs/kubo/issues) and, if you don't see your problem there, either come talk to us on [Matrix chat](https://docs.ipfs.io/community/chat/), or file an issue of your own!
387
388
## Packages
389
@@ -460,14 +456,14 @@ For brevity, we've omitted most go-libp2p, go-ipld, and go-multiformats packages
456
457
Some places to get you started on the codebase:
458
463
-- Main file: [./cmd/ipfs/main.go](https://github.com/ipfs/go-ipfs/blob/master/cmd/ipfs/main.go)
464
-- CLI Commands: [./core/commands/](https://github.com/ipfs/go-ipfs/tree/master/core/commands)
459
+- Main file: [./cmd/ipfs/main.go](https://github.com/ipfs/kubo/blob/master/cmd/ipfs/main.go)
460
+- CLI Commands: [./core/commands/](https://github.com/ipfs/kubo/tree/master/core/commands)
461
- Bitswap (the data trading engine): [go-bitswap](https://github.com/ipfs/go-bitswap)
462
- libp2p
463
- libp2p: https://github.com/libp2p/go-libp2p
464
- DHT: https://github.com/libp2p/go-libp2p-kad-dht
465
- PubSub: https://github.com/libp2p/go-libp2p-pubsub
470
-- [IPFS : The `Add` command demystified](https://github.com/ipfs/go-ipfs/tree/master/docs/add-code-flow.md)
466
+- [IPFS : The `Add` command demystified](https://github.com/ipfs/kubo/tree/master/docs/add-code-flow.md)
467
468
### Map of Implemented Subsystems
469
**WIP**: This is a high-level architecture diagram of the various sub-systems of this specific implementation. To be updated with how they interact. Anyone who has suggestions is welcome to comment [here](https://docs.google.com/drawings/d/1OVpBT2q-NtSJqlPX3buvjYhOnWfdzb85YEsM_njesME/edit) on how we can improve this!
@@ -509,5 +505,5 @@ Please reach out to us in one [chat](https://docs.ipfs.io/community/chat/) rooms
505
506
This project is dual-licensed under Apache 2.0 and MIT terms:
507
512
-- Apache License, Version 2.0, ([LICENSE-APACHE](https://github.com/ipfs/go-ipfs/blob/master/LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
513
-- MIT license ([LICENSE-MIT](https://github.com/ipfs/go-ipfs/blob/master/LICENSE-MIT) or http://opensource.org/licenses/MIT)
508
+- Apache License, Version 2.0, ([LICENSE-APACHE](https://github.com/ipfs/kubo/blob/master/LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
509
+- MIT license ([LICENSE-MIT](https://github.com/ipfs/kubo/blob/master/LICENSE-MIT) or http://opensource.org/licenses/MIT)