Swiss Army knife for the IPFS.
npm install -g peer-cli
You can easily upload file or directory to the IPFS.
With fuzzy search, you can easily find the file you want to upload to the IPFS. Also, progress bar is shown while uploading.
You can easily show/save file or directory contents from the IPFS with given CID. Also, you can save the listed contents to your local file system.
You can easily list file or directory contents in the IPFS with given CID.
- If the given CID is a file, you can either save the file, or show the file contents.
- If the given CID is a directory, you can save the contents to your local file system, or navigate to the directory.
Because files in IPFS are content-addressed and immutable, they can be complicated to edit. Mutable File System (MFS) is a tool built into IPFS that lets you treat files like you would a regular name-based filesystem — you can add, remove, move, and edit MFS files and have all the work of updating links and hashes taken care of for you (Source).
This feature lets you easily manipulate files in the IPFS MFS like you are using Unix shell! The commands are very similar, thus you will not have any difficulty using them.
Available commands are:
(...) indicates that the command can take multiple arguments. (e.g.
ls
can take multiple paths)
Command | Options | Explanation |
---|---|---|
ls | optional: [path, ...] | List directory contents |
cd | [path] | Change directory |
pwd | Output the current working directory | |
mkdir | [path, ...] | Make directory |
rm | [path, ...] | Remove file or directory |
stat | [path, ...] | Get file or directory statistics |
flush | [path, ...] | Flush a given path's data to the disk |
read | [path, ...] | Read a file |
cat | [path, ...] | Alias for read |
touch | [path, ...] | Update the mtime of a file or directory |
write | [path] | Write to an MFS path |
open | [path] | Alias for write |
cp | [path] [to] | Copy files from one location to another |
mv | [path] [to] | Move files from one location to another |
help | optional: [command, ...] | Show help |
man | optional: [command, ...] | Alias for help |
clear | Clear the screen | |
exit | Exit the MFS shell |
Peer to peer chat is a feature that lets you chat with any peer that is visible through peer-cli. You can either discover peers through the peer discovery feature, or you can connect to a peer manually if you know the peer ID.
If you managed to connect to a peer, an authorization request will be sent to the peer. If the peer accepts the request, you two will be redirected to the chat room to say hello to each other (or whatever you want to say).
The feature uses libp2p to establish a connection between peers. libp2p plugin, libp2p-webrtc-star
is used for discovering peers and establishing a connection through WebRTC. All messages are encrypted using libp2p-noise protocol. Discovery mechanism uses signalling server that we have deployed on a Heroku server. You can use your own signalling server by changing starAddr
in p2p.js
. You can find the example deployment of the signalling server here