-[Docker usage with VirtualBox/boot2docker (OSX and Windows)](#docker-usage-with-virtualboxboot2docker-osx-and-windows)
-[Troubleshooting](#troubleshooting)
-[Contributing](#contributing)
-[Todo](#todo)
-[License](#license)
## Security Issues
...
...
@@ -22,9 +42,9 @@ If the issue is a protocol weakness that cannot be immediately exploited or some
## Install
The canonical download instructions for IPFS are over at: http://ipfs.io/docs/install/
The canonical download instructions for IPFS are over at: http://ipfs.io/docs/install/. It is **highly suggested** you follow those instructions if you are not interested in working on IPFS development.
## Install prebuilt packages
### Install prebuilt packages
We use [gobuilder.me](https://gobuilder.me), a great service that automatically builds a release on every commit.
...
...
@@ -34,26 +54,26 @@ You can see the latest builds for your platform at these links:
-move `ipfs` to your path (`install.sh` can do it for you)
-Click "Download" on the build for your platform.
-Open/extract the archive.
-Move `ipfs` to your path (`install.sh` can do it for you),
### Build from Source
## Build from Source
#### Prerequisite: Install Go
### Prerequisite: Install Go
First, you'll need go. If you don't have it: [Download Go 1.5.2+](https://golang.org/dl/).
First, you'll need Go. If you don't have it: [Download Go 1.5.2+](https://golang.org/dl/).
You'll need to add Go's bin directories to your `$PATH` environment variable e.g., by adding these lines to your `/etc/profile` (for a system-wide installation) or `$HOME/.profile`:
```
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOPATH/bin
```
(If you run into trouble, see the [Go install instructions](https://golang.org/doc/install))
(If you run into trouble, see the [Go install instructions](https://golang.org/doc/install)).
### Download + Compile IPFS
#### Download + Compile IPFS
Then:
...
...
@@ -71,17 +91,21 @@ all dependencies.
Compilation from source is recommended.
* If you are interested in development, please install the development
dependencies as well.
**WARNING: older versions of OSX FUSE (for Mac OS X) can cause kernel panics when mounting!*
**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)
* For more details on setting up FUSE (so that you can mount the filesystem), see the docs folder
* For more details on setting up FUSE (so that you can mount the filesystem), see the docs folder.
* Shell command completion is available in `misc/completion/ipfs-completion.bash`. Read [docs/command-completion.md](docs/command-completion.md) to learn how to install it.
* See the [init examples](https://github.com/ipfs/examples/tree/master/examples/init) for how to connect IPFS to systemd or whatever init system your distro uses.
### Updating
ipfs has an updating tool that can be accessed through `ipfs update`. The tool is
not installed alongside ipfs in order to keep that logic independent of the main
codebase. To install ipfs update, either [download it here](https://gobuilder.me/github.com/ipfs/ipfs-update)
### Development Dependencies
If you make changes to the protocol buffers, you will need to install the [protoc compiler](https://github.com/google/protobuf).
## Updating
IPFS has an updating tool that can be accessed through `ipfs update`. The tool is
not installed alongside IPFS in order to keep that logic independent of the main
codebase. To install `ipfs update`, either [download it here](https://gobuilder.me/github.com/ipfs/ipfs-update)
or install it from source with `go get -u github.com/ipfs/ipfs-update`.
## Usage
...
...
@@ -96,7 +120,7 @@ USAGE:
BASIC COMMANDS
init Initialize ipfs local configuration
add <path> Add a file to ipfs
add <path> Add an object to ipfs
cat <ref> Show ipfs object data
get <ref> Download ipfs objects
ls <ref> List links from an object
...
...
@@ -143,7 +167,7 @@ USAGE:
See also: http://ipfs.io/docs/getting-started/
To start using ipfs, you must first initialize ipfs's config files on your
To start using IPFS, you must first initialize IPFS's config files on your
system, this is done with `ipfs init`. See `ipfs init --help` for information on
the optional arguments it takes. After initialization is complete, you can use
`ipfs mount`, `ipfs add` and any of the other commands to explore!
...
...
@@ -161,15 +185,15 @@ Basic proof of 'ipfs working' locally:
### Docker usage
An ipfs docker image is hosted at [hub.docker.com/r/jbenet/go-ipfs](https://hub.docker.com/r/jbenet/go-ipfs/).
An IPFS docker image is hosted at [hub.docker.com/r/jbenet/go-ipfs](https://hub.docker.com/r/jbenet/go-ipfs/).
To make files visible inside the container you need to mount a host directory
with the `-v` option to docker. Choose a directory that you want to use to
import/export files from ipfs. You should also choose a directory to store
ipfs files that will persist when you restart the container.
import/export files from IPFS. You should also choose a directory to store
IPFS files that will persist when you restart the container.