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.
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.
- 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)
- CLI ↔ Browser
- Browser ↔ CLI
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.
Release Installers (Recommended)
Shell script (Linux/macOS)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Spectra010s/portal/releases/download/v0.10.1/hiverra-portal-installer.sh | shPowerShell (Windows)
powershell -ExecutionPolicy Bypass -c "irm https://github.com/Spectra010s/portal/releases/download/v0.10.1/hiverra-portal-installer.ps1 | iex"npm (prebuilt binaries)
npm install -g @hiverra/portal@0.10.1Android / Termux
curl -LsSf https://github.com/Spectra010s/portal/releases/download/v0.10.1/hiverra-portal-android-installer.sh | shDirect download
- Download the release asset for your OS from GitHub Releases.
Build From Source
- Install Rust
Requires the Rust toolchain.
git clone https://github.com/Spectra010s/portal.git
cd portal
cargo build --release -p hiverra-portal- Run setup
portal config setup- Prepare to Recieve
On the destination device
portal receive- On sender
portal send path/to/fileStart 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.jsonUpdate To update Portal:
portal updatePortal 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 list- 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.
Detailed guides for every workflow:
Github: Spectra010s
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.