Since 0.4.11 go-ipfs has an experimental plugin system that allows augmenting the daemons functionality without recompiling.
When an IPFS node is created, it will load plugins from the $IPFS_PATH/plugins
directory (by default ~/.ipfs/plugins
).
IPLD plugins add support for additional formats to ipfs dag
and other IPLD
related commands.
Name | Type |
---|---|
git | IPLD |
- Build included plugins:
go-ipfs$ make build_plugins
go-ipfs$ ls plugin/plugins/*.so
- Copy desired plugins to
$IPFS_PATH/plugins
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
- Restart daemon if it is running
Go currently only supports plugins on Linux, for other platforms you will need to compile them into IPFS binary.
- Uncomment plugin entries in
plugin/loader/preload_list
- Build ipfs
go-ipfs$ make build