This utility is an interactive front-end for the Kubo HTTP RPC API. Run ./main.sh from the project root (ensure it is executable) and navigate the menus to invoke node, files, MFS, pins, network/swarm, repo, IPNS, or ad-hoc RPC commands.
╔══════════════════════════════════════════════╗
║ 🪐 IPFS Node Manager ║
╚══════════════════════════════════════════════╝
API: https://my.domain.net
User: host-main
1) Node info
2) Files (add / get / cat)
3) MFS (browse / cp / mv / rm)
4) Pins
5) Network / Swarm
6) Repository & GC
7) IPNS & Keys
8) Custom command
0) Exit
Option: -
Define
IPFS_API_URL,IPFS_USER, andIPFS_PASSinconfig.confsitting next tomain.sh. The script insists all three are present and non-empty. -
If
config.confis missing, the startup menu prompts for domain/user/password and automatically prependshttps://to the host unless you already include a scheme. -
Make sure the IPFS HTTP RPC endpoint is exposed with TLS+Basic Auth before pointing this tool at it.
-
You can automatically configure secure HTTP RPC on the host using the
Gatewayoption here https://github.com/AndyDevla/ipfs-manager-cli -
If you prefer to do it manually, you can check here https://docs.ipfs.tech/how-to/kubo-rpc-tls-auth/
Download the repository and automatically run main.sh
curl -sSL https://github.com/AndyDevla/ipfs-http-cli/archive/refs/heads/main.tar.gz | tar xz && cd ipfs-http-cli-main && chmod +x main.sh && ./main.shRun an standalone version of ipfs-manager-cli directly from GitHub without manual cloning:
bash <(wget -qO- https://raw.githubusercontent.com/AndyDevla/ipfs-http-cli/refs/heads/main/main-standalone.sh)bash <(curl -sSL https://raw.githubusercontent.com/AndyDevla/ipfs-http-cli/refs/heads/main/main-standalone.sh)Clone the repository for persistent access and development:
git clone https://github.com/AndyDevla/ipfs-http-cli.git
cd ipfs-http-cli
chmod +x main.sh
./main.shmain.shis the orchestrator: it loads the shared helpers, provides UI utilities, and drives the main menu.lib/holds reusable helpers (config.sh,api.sh).menus/contains each thematic menu in its own file so you can add new sections or subcommands without inflating the entrypoint.
The script is organized into functional modules to ensure a clean and scalable architecture:
├── config.conf
├── lib
│ ├── api.sh
│ └── config.sh
├── main.sh
├── menus
│ ├── menu_custom.sh
│ ├── menu_files.sh
│ ├── menu_ipns.sh
│ ├── menu_mfs.sh
│ ├── menu_network.sh
│ ├── menu_node.sh
│ ├── menu_pins.sh
│ └── menu_repo.sh
├── main-standalone.sh
└── README.md
- It is not required to have the IPFS
kubobinary installed on the computer, since all commands are sent viacurl. More info here https://docs.ipfs.tech/reference/kubo/rpc/ curl,jq,find,tar,mktemp, and standard POSIX shell utilities.jqprettifies JSON responses andcurlcalls every/api/v0/...endpoint.
- Each menu lives under
menus/, so adding a new capability simply means dropping a newmenu_<name>.shthat exposesmenu_<name>and sourcing it frommain.sh. - Shared helpers live in
lib/; any future batch command or non-interactive script can reuseload_configandapito stay consistent with authentication and encoding logic.
⚖️ License This project is licensed under the GNU General Public License v3.0. You are free to copy, modify, and distribute this software as long as the same license is maintained.
Developed by AndyDevla 🚀