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.
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"]'
Alternatively, just run the quick config script with:
> ./quick-config.sh
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.
> git clone https://github.com/ipfs-shipyard/ipfs-webui
> cd ipfs-webui
> npm install
# Runs server on port 3000.
> npm start
> npm run build
# The result will be in /dist
When a new version is ready, make sure to:
- bundle
- add to IPFS
- pin to the gateways
- add the new version to https://github.com/ipfs-shipyard/ipfs-webui/tree/master/versions
- update the hash at:
Make sure node.js version 6 and npm version 3+ are installed and in your path.
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.