The Terminal User Interface for Go-IPFS 📠

file ui


Before starting, be sure your local IPFS node is up and running.

# clone the repo
git clone https://github.com/jamesthesken/ipfs-tui
cd ipfs-tui

# build and run
go build


Libraries used:

The structure of this project heavily follows:


Key Description
h or left Paginate to the left
or down Move down in the file tree or scroll pane down
k or up Move up in the file tree or scroll pane up
l or right Paginate to the right
G Jump to bottom of file tree or pane
g Jump to top of file tree or pane
~ Go to home directory
R Go to the root directory
. Toggle hidden files and directories
ctrl+c Exit
q Exit if command bar is not open
tab Toggle between panes
esc Blur filetree input
z Create a zip file of the currently selected directory item
u Unzip a zip file
c Create a copy of a file or directory
x Delete the currently selected file or directory
n Create a new file in the current directory
N Create a new directory in the current directory
r Rename the currently selected file or directory
m Move the currently selected file or directory
e Open in editor set in EDITOR environment variable
y Copy selected directory items path to the clipboard
/ Filter the current directory with a term
? Toggle filetree full help menu
ctrl+r Reload config


  • Add/Remove files to and from IFPS
  • Display IPFS node status (connected peers, incoming data, etc.)
  • Support local and remote pinning
  • Spawn an IPFS node directly from the TUI – similar to IPFS GUI
  • Allow user to select color themes
  • Possibly more…


Welcome! Feel free to reach out on Discord (jawmes#4960), I would love to collaborate with others on this project.


View Github