/webui

A frontend for IPFS

Primary LanguageJavaScriptMIT LicenseMIT

IPFS webui

Dependency Status Circle CI Travis CI

The web interface for IPFS

IPFS Webui is a web interface for IPFS, the Interplanetary File System. With the interface, you can check on your node info, network addresses, see connections on a globe visually, see your files, look at your config and logs without needing to touch the CLI, and more. This interface uses the js-ipfs-api for all of its heavy lifting.

The webui is a work-in-progress. Follow the development processes below to check it out.

Otherwise, if you're curious about IPFS, head over to ipfs/ipfs, or to the golang or nodejs implementations. The website also has a host of resources on how to get started.

Contribute

Please contribute! The more people who work on this, the faster we'll be able to ship it. Dive in by testing it and looking at the issues.

The CONTRIBUTING file has more information relevant to this repo. To contribute to IPFS in general, just click on the image above to go to our global contributing guide.

Development

Make sure node.js version 4+ and npm version 3+ are installed and in your path.

Config

When developing the WebUI you will need an ipfs daemon running with API access on port 5001, as well as the following configuration set, otherwise you will not be able to communicate with the ipfs node.

$ ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://localhost:3000"]'
$ ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'
$ ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'

Installation and running

$ git clone https://github.com/ipfs/webui
$ cd webui
$ npm install
# Runs server on port 3000.
$ npm start

Resetting

To reset your config back to the default configuration, run the following command.

$ ipfs config --json API.HTTPHeaders {}

It might be a good idea to copy the .ipfs/config file somewhere with a useful name so you can use ipfs config replace <file> to switch between dev mode easily.

Building

$ npm run build
# The result will be in /dist

License

MIT License