plugins.md 1.01 KB
Newer Older
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
# Plugins

Since 0.4.11 go-ipfs has an experimental plugin system for various added
functionality.

When IPFS node is created, it will load plugins from `$IPFS_PATH/plugins`
directory (by default `~/.ipfs/plugins`).

### Plugin types

#### IPLD
IPLD plugins add support for additional formats to `ipfs dag` and other IPLD
related commands.

### Supported plugins

| Name | Type |
|------|------|
|  git | IPLD |

#### Installation

##### Linux

1. Build included plugins:
```bash
go-ipfs$ make build_plugins
go-ipfs$ ls plugin/plugins/*.so
```

3. Copy desired plugins to `$IPFS_PATH/plugins`
```bash
go-ipfs$ mkdir -p ~/.ipfs/plugins/
go-ipfs$ cp plugin/plugins/git.so ~/.ipfs/plugins/
go-ipfs$ chmod +x ~/.ipfs/plugins/git.so # ensure plugin is executable
```

4. Restart daemon if it is running

##### Other

Go currently only supports plugins on Linux, for other platforms you will need
to compile them into IPFS binary.

1. Uncomment plugin entries in `plugin/loader/preload_list`
2. Build ipfs
```bash
go-ipfs$ make build
```