As of now,
ipfs-go can give a list of pinned items with
ipfs ls. Depending
on the amount of pinned items, the output can be overwhelming. Even showing just
recursive items offers the file hashes with no detail on what exactly the item
is. Keeping track of pins becomes a hassle of matching up hashes with
ipm, additional management is done automatically. Any additions or
removals are all taken into account and labeled with either the original file
name or one of your choosing, and indexed within a database. Pins are also
automatically symlinked to your selected
$IPM_HOME/mounts directory through
the use of
ipfs mount (which must be set up prior to use). IPFS hashes don't
have to be remembered or kept track of manually.
cd ipm-<version>/ poetry install
Then set-up with your
IPM_HOME environmental variable pointing to the path
where you want this software's data to be located.
echo 'export IPM_HOME="</path/to/dir>"' >> ~/.profile
No external dependencies are required. Optional dependencies include
nnn for built-in file manager view,
exa for additional info instead of the default
ls, and argcomplete for shell
completion of pinned items by its given filename.
ipm <arg> -h for additional information on each command.
Adding a file or a directory works seamlessly, as does pinning an already
existing IPFS hash. The item will be pinned to your IPFS node, the listing will
be entered into your pins database, and the mount point will be symlinked to
$IPM_HOME/mounts directory with the description/name given (if none
given, defaults to the original filename or hash).
ipm add /path/to/file -d <optional description/name> ipm add Qm... -d <optional description/name>
Listing your pins will be a simple
ls -lh into your
optional usage with the
nnn filebrowser or
exa. Can also
ls a pinned
directory, with shell autocompletion (if installed) available for all items.
ipm ls ipm ls ipfs_startup_readme
Pin removal is all based on the symlink names (with shell autocompletion if enabled). The removal will unpin the item, remove the entry from the database, and delete the symlink from $IPM_HOME/mounts.
ipm rm ipfs_startup_readme
To-be-included features can be seen through the current open issues.
Issues should be directed to the project issue tracker.
This project is licensed under GPLv3.