@hiverra/portal
v0.12.0
Published
Hiverra Portal CLI
Readme
Portal
Portal started as a personal way to move files from phone to computer. It is now a CLI tool designed to make file transfers effortless.
Overview
Portal (Hiverra Portal) is a local-first file transfer tool built for simple, reliable sharing across devices. Today it focuses on CLI ↔ CLI transfers. Browser flows are planned.
What Portal Does (Today)
- CLI ↔ CLI transfers over local networks
- Files and folders (recursive sends supported)
- Discovery mode with identity verification
- Direct IP mode for quick sends
- Transfer history with export and cleanup
- Optional no-compress mode (tar only)
Planned
- CLI ↔ Browser
- Browser ↔ CLI
Who It’s For
Portal is for anyone who wants a fast, local, no-fuss way to move files between devices without relying on external services. It is ideal for personal workflows and small team transfers on the same network.
Install
Release Installers (Recommended)
Shell script (Linux/macOS/Android)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Spectra010s/portal/releases/download/v0.12.0/hiverra-portal-installer.sh | shPowerShell (Windows)
powershell -ExecutionPolicy Bypass -c "irm https://github.com/Spectra010s/portal/releases/download/v0.12.0/hiverra-portal-installer.ps1 | iex"npm (prebuilt binaries)
npm install -g @hiverra/[email protected]Android / Termux
curl -LsSf https://github.com/Spectra010s/portal/releases/download/v0.12.0/hiverra-portal-installer.sh | shDirect download
- Download the release asset for your OS from GitHub Releases.
Build From Source
- Install Rust
Build From Source
Requires the Rust toolchain.
git clone https://github.com/Spectra010s/portal.git
cd portal
cargo build --release -p hiverra-portalQuick Start
- Run setup
portal config setup- Prepare to Recieve
On the destination device
portal receive- On sender
portal send path/to/fileUsage Examples
Start receiver
portal receiveSend via discovery
portal send --to <username> path/to/fileSend via direct IP
portal send --address <ip> --port <port> path/to/fileSend a folder (recursive)
portal send -r path/to/folderNo-compress
portal send --no-compress path/to/fileHistory (list + export)
portal history
portal history export --detailed --output portal_history.jsonVerbose or quiet logs
portal -v send --to <username> path/to/file
portal -q receiveSet log level from environment
PORTAL_LOG=debug portal send --to <username> path/to/file
RUST_LOG=debug portal send --to <username> path/to/fileUpdate To update Portal:
portal updateLogging and Verbosity
-v, --verbose: Use verbose output.-q, --quiet: Suppress non-error log output.- Default terminal log level is
warn. - Default log file level is
debug. - Logs are written to
~/.portal/_logs/. PORTAL_LOGis preferred overRUST_LOGwhen both are set.- For troubleshooting noisy or missing logs, see Troubleshooting.
How to Run or Use It
Portal is a command-line tool. Common commands:
Send a file Use this to send a specific file. If no file is specified, Portal will prompt you to select one.
portal send <file_path>Send with discovery (recommended) Sends to a user by username and verifies identity.
portal send --to <username> <file_path>Send via direct IP Use this when you already know the receiver’s IP and port.
portal send --address <IP_ADDRESS> --port <PORT> <file_path>Receive Puts Portal into listening mode to receive files.
portal receiveReceive on a custom port
portal receive --port <PORT>Configuration setup Interactive setup to configure username and default port.
portal config setupSet a configuration value
portal config set <key> <value>Show a configuration value
portal config show <key>List current configuration
portal config listRoadmap
- [ ] CLI ↔ Browser: Send files to a web-based receiver via a temporary link.
- [ ] Browser ↔ CLI: Drag-and-drop from a browser to a listening terminal.
- [ ] Encryption: End-to-end encrypted tunnels for remote transfers.
Documentation
Detailed guides for every workflow:
Docs source of truth:
- Canonical docs live in
apps/web/content/*.mdx. - Repository
docs/markdown files were removed to avoid duplication and drift.
Contributing and Support
Author
Github: Spectra010s Portfolio: spectra010s.vercel.app
License
This project is licensed under the MIT License. See the LICENSE file for details.
Hiverra Portal: A lightweight CLI tool to transfer files between devices locally or remotely.
