mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
docs(readme): rename to kubo
some things like third party package names, docker image etc need to stay as go-ipfs for now
This commit is contained in:
parent
82467bc936
commit
5cb572660d
80
README.md
80
README.md
@ -1,27 +1,28 @@
|
||||
# kubo
|
||||
|
||||
> the oldest IPFS implementation, previously known as "go-ipfs"
|
||||
|
||||

|
||||
|
||||
[](https://protocol.ai)
|
||||
[](https://godoc.org/github.com/ipfs/go-ipfs)
|
||||
[](https://circleci.com/gh/ipfs/go-ipfs)
|
||||
[](https://godoc.org/github.com/ipfs/kubo)
|
||||
[](https://circleci.com/gh/ipfs/kubo)
|
||||
|
||||
## What is "IPFS Banana"?
|
||||
## What is Kubo?
|
||||
|
||||
This repo provides "jack of all trades, master of none" implementation of IPFS.
|
||||
Kubo is the oldest IPFS implementation, previously known as go-ipfs.
|
||||
Think of it as a "jack of all trades, master of none" implementation of IPFS.
|
||||
|
||||
It should be enough to get you started, if you find it lacking, see [other implementations](https://ipfs.io/#install).
|
||||
|
||||
|
||||
## What is IPFS?
|
||||
|
||||
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.
|
||||
|
||||
For more info see: https://docs.ipfs.io/introduction/overview/
|
||||
|
||||
|
||||
Before opening an issue, consider using one of the following locations to ensure you are opening your thread in the right place:
|
||||
- kubo (previously named go-ipfs) _implementation_ bugs in [this repo](https://github.com/ipfs/go-ipfs/issues).
|
||||
- kubo (previously named go-ipfs) _implementation_ bugs in [this repo](https://github.com/ipfs/kubo/issues).
|
||||
- Documentation issues in [ipfs/docs issues](https://github.com/ipfs/ipfs-docs/issues).
|
||||
- IPFS _design_ in [ipfs/specs issues](https://github.com/ipfs/specs/issues).
|
||||
- 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
|
||||
|
||||
## Next milestones
|
||||
|
||||
[Milestones on GitHub](https://github.com/ipfs/go-ipfs/milestones)
|
||||
[Milestones on GitHub](https://github.com/ipfs/kubo/milestones)
|
||||
|
||||
<!-- ToDo automate creation of these
|
||||
[](https://github.com/ipfs/go-ipfs/milestone/51)
|
||||
[](https://github.com/ipfs/go-ipfs/milestone/48)
|
||||
[](https://github.com/ipfs/go-ipfs/milestone/50)
|
||||
[](https://github.com/ipfs/go-ipfs/milestone/49)
|
||||
-->
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [kubo](#kubo)
|
||||
- [What is "IPFS Banana"?](#what-is-ipfs-banana)
|
||||
- [What is Kubo?](#what-is-kubo)
|
||||
- [What is IPFS?](#what-is-ipfs)
|
||||
- [Next milestones](#next-milestones)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
@ -101,18 +96,18 @@ The canonical download instructions for IPFS are over at: https://docs.ipfs.io/g
|
||||
|
||||
### System Requirements
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
If your system is resource-constrained, we recommend:
|
||||
|
||||
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.
|
||||
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.
|
||||
2. Initializing your daemon with `ipfs init --profile=lowpower`
|
||||
|
||||
### Docker
|
||||
|
||||
[](https://hub.docker.com/r/ipfs/go-ipfs/)
|
||||
|
||||
More info on how to run go-ipfs inside docker can be found [here](https://docs.ipfs.io/how-to/run-ipfs-inside-docker/).
|
||||
More info on how to run kubo inside docker can be found [here](https://docs.ipfs.io/how-to/run-ipfs-inside-docker/).
|
||||
|
||||
### Native Linux package managers
|
||||
|
||||
@ -133,7 +128,7 @@ More info on how to run go-ipfs inside docker can be found [here](https://docs.i
|
||||
|
||||
#### <a name="nix-linux">Nix</a>
|
||||
|
||||
With the purely functional package manager [Nix](https://nixos.org/nix/) you can install go-ipfs like this:
|
||||
With the purely functional package manager [Nix](https://nixos.org/nix/) you can install kubo (go-ipfs) like this:
|
||||
|
||||
```
|
||||
$ nix-env -i ipfs
|
||||
@ -143,7 +138,7 @@ You can also install the Package by using its attribute name, which is also `ipf
|
||||
|
||||
#### Solus
|
||||
|
||||
In solus, go-ipfs is available in the main repository as
|
||||
In solus, kubo (go-ipfs) is available in the main repository as
|
||||
[go-ipfs](https://dev.getsol.us/source/go-ipfs/repository/master/).
|
||||
|
||||
```
|
||||
@ -183,7 +178,7 @@ The snap sets `IPFS_PATH` to `SNAP_USER_COMMON`, which is usually `~/snap/ipfs/c
|
||||
$ sudo mount --bind ~/.ipfs ~/snap/ipfs/common
|
||||
```
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
#### macOS package managers
|
||||
|
||||
@ -193,7 +188,7 @@ If you want something more sophisticated to escape the snap confinement, we reco
|
||||
|
||||
#### MacPorts
|
||||
|
||||
The package [ipfs](https://ports.macports.org/port/ipfs) currently points to go-ipfs and is being maintained.
|
||||
The package [ipfs](https://ports.macports.org/port/ipfs) currently points to kubo (go-ipfs) and is being maintained.
|
||||
|
||||
```
|
||||
$ sudo port install ipfs
|
||||
@ -232,7 +227,8 @@ PS> choco install ipfs
|
||||
|
||||
#### Scoop
|
||||
|
||||
Scoop provides `go-ipfs` in its 'extras' bucket.
|
||||
Scoop provides kubo as `go-ipfs` in its 'extras' bucket.
|
||||
|
||||
```Powershell
|
||||
PS> scoop bucket add extras
|
||||
PS> scoop install go-ipfs
|
||||
@ -240,22 +236,22 @@ PS> scoop install go-ipfs
|
||||
|
||||
### Install prebuilt binaries
|
||||
|
||||
[](https://ipfs.io/ipns/dist.ipfs.io#go-ipfs)
|
||||
[](https://dweb.link/ipns/dist.ipfs.io#kubo)
|
||||
|
||||
From there:
|
||||
- Click the blue "Download go-ipfs" on the right side of the page.
|
||||
- Click the blue "Download kubo" on the right side of the page.
|
||||
- Open/extract the archive.
|
||||
- Move `ipfs` to your path (`install.sh` can do it for you).
|
||||
- Move kubo (`ipfs`) to your path (`install.sh` can do it for you).
|
||||
|
||||
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):
|
||||
|
||||
[GitHub releases](https://github.com/ipfs/go-ipfs/releases)
|
||||
If you are unable to access [dist.ipfs.io](https://dist.ipfs.io#kubo), you can also download kubo (go-ipfs) from:
|
||||
- this project's GitHub [releases](https://github.com/ipfs/kubo/releases/latest) page
|
||||
- `/ipns/dist.ipfs.io` at [dweb.link](https://dweb.link/ipns/dist.ipfs.io#kubo) gateway
|
||||
|
||||
### Build from Source
|
||||
|
||||

|
||||

|
||||
|
||||
go-ipfs's build system requires Go and some standard POSIX build tools:
|
||||
kubo's build system requires Go and some standard POSIX build tools:
|
||||
|
||||
* GNU make
|
||||
* Git
|
||||
@ -265,7 +261,7 @@ To build without GCC, build with `CGO_ENABLED=0` (e.g., `make build CGO_ENABLED=
|
||||
|
||||
#### Install Go
|
||||
|
||||

|
||||

|
||||
|
||||
If you need to update: [Download latest version of Go](https://golang.org/dl/).
|
||||
|
||||
@ -281,7 +277,7 @@ export PATH=$PATH:$GOPATH/bin
|
||||
#### Download and Compile IPFS
|
||||
|
||||
```
|
||||
$ git clone https://github.com/ipfs/go-ipfs.git
|
||||
$ git clone https://github.com/ipfs/kubo.git
|
||||
|
||||
$ cd go-ipfs
|
||||
$ make install
|
||||
@ -318,10 +314,10 @@ Note: OpenSSL requires CGO support and, by default, CGO is disabled when cross-c
|
||||
dependencies as well.
|
||||
- _WARNING_: Older versions of OSX FUSE (for Mac OS X) can cause kernel panics when mounting!-
|
||||
We strongly recommend you use the [latest version of OSX FUSE](http://osxfuse.github.io/).
|
||||
(See https://github.com/ipfs/go-ipfs/issues/177)
|
||||
(See https://github.com/ipfs/kubo/issues/177)
|
||||
- Read [docs/fuse.md](docs/fuse.md) for more details on setting up FUSE (so that you can mount the filesystem).
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
### Updating
|
||||
|
||||
@ -335,7 +331,7 @@ codebase. To install `ipfs update`, [download it here](https://ipfs.io/ipns/dist
|
||||
|
||||
<!-- TODO: rename this section after we figure out if dist.ipfs.io sgould produce both /go-ipfs/ and /kubo/ -->
|
||||
|
||||
List the available versions of "go-ipfs" implementation:
|
||||
List the available versions of kubo (go-ipfs) implementation:
|
||||
|
||||
```
|
||||
$ 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
|
||||
|
||||
Please direct general questions and help requests to our [forum](https://discuss.ipfs.io) or our IRC channel (freenode #ipfs).
|
||||
|
||||
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!
|
||||
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!
|
||||
|
||||
## Packages
|
||||
|
||||
@ -460,14 +456,14 @@ For brevity, we've omitted most go-libp2p, go-ipld, and go-multiformats packages
|
||||
|
||||
Some places to get you started on the codebase:
|
||||
|
||||
- Main file: [./cmd/ipfs/main.go](https://github.com/ipfs/go-ipfs/blob/master/cmd/ipfs/main.go)
|
||||
- CLI Commands: [./core/commands/](https://github.com/ipfs/go-ipfs/tree/master/core/commands)
|
||||
- Main file: [./cmd/ipfs/main.go](https://github.com/ipfs/kubo/blob/master/cmd/ipfs/main.go)
|
||||
- CLI Commands: [./core/commands/](https://github.com/ipfs/kubo/tree/master/core/commands)
|
||||
- Bitswap (the data trading engine): [go-bitswap](https://github.com/ipfs/go-bitswap)
|
||||
- libp2p
|
||||
- libp2p: https://github.com/libp2p/go-libp2p
|
||||
- DHT: https://github.com/libp2p/go-libp2p-kad-dht
|
||||
- PubSub: https://github.com/libp2p/go-libp2p-pubsub
|
||||
- [IPFS : The `Add` command demystified](https://github.com/ipfs/go-ipfs/tree/master/docs/add-code-flow.md)
|
||||
- [IPFS : The `Add` command demystified](https://github.com/ipfs/kubo/tree/master/docs/add-code-flow.md)
|
||||
|
||||
### Map of Implemented Subsystems
|
||||
**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
|
||||
|
||||
This project is dual-licensed under Apache 2.0 and MIT terms:
|
||||
|
||||
- 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)
|
||||
- MIT license ([LICENSE-MIT](https://github.com/ipfs/go-ipfs/blob/master/LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
||||
- 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)
|
||||
- MIT license ([LICENSE-MIT](https://github.com/ipfs/kubo/blob/master/LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user