Skip to content
IPFS backend file support for Known
PHP JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Pages
Tests
languages
templates/default/admin
.gitignore Updating .gitignore Jul 27, 2019
Gruntfile.js
IPFSFile.php
IPFSFileSystem.php
Main.php
Readme.md
composer.json
composer.lock Updating to la Aug 2, 2019
package.json
plugin.ini

Readme.md

Known IPFS Support (experimental)

This plugin adds IPFS file support to Known.

Installation

Step Zero: Install an IPFS server. This is a little bit out of scope, but I used go-ipfs during development.

Once you've done that:

  • Download the latest version of Known. I recommend that you either use the GitHub version or the Unofficial packages available from my website.
  • Create an IPFS directory in your IdnoPlugins directory, and copy these files into it.
  • Activate it from the Admin panel.

or

  • composer require mapkyca/known-ipfs

Configuration

The IPFS plugin will default to using localhost:8080. If you want to change this, you will need to modify your config.ini as follows:

[IPFS]
host = 'servername'
port = 1234
apiport = 5678

Replace the values accordingly, but make sure you keep the [IPFS] section header.

Known Issues

This software is very much experimental at the moment, but feel free to issues in github.

That said, I know about:

Don't run composer

The plugin makes use of the php-ipfs-api library.

Unfortunately, the version that is currently available via composer has a small bug that corrupts uploaded data, and so I had to fix the error in place.

I have filed an issue with the author, but the composer package is updated to what's currently on github, running a composer install will likely break the plugin.

Still to do

This plugin functionally does not change how files are actually stored - a local object is still created , although the data itself is stored elsewhere.

Could this be done more efficiently? For example, could a direct link be provided? Likely this would require some core hooks - for example a getFileURL() on file objects.

See

You can’t perform that action at this time.