Portal LogoPortal Docs

Installation

Installers, package managers, and first-time setup.

There are several ways to install Portal. If you just want the tool working quickly, use one of the release installers. Build from source only if you are actively developing Portal or you need full control over the binary.

Use the automated installer script:

curl -fsSL https://portal.biuld.app/install.sh | sh

Run the PowerShell script:

powershell -ExecutionPolicy Bypass -c "irm https://portal.biuld.app/install.ps1 | iex"

Run the Termux script:

curl -fsSL https://portal.biuld.app/install.sh | sh

Install globally via npm:

npm install -g @hiverra/portal@0.12.0

Build from source

Use this when you are working on the codebase itself:

git clone https://github.com/Spectra010s/portal.git
cd portal
cargo build --release -p hiverra-portal

Verify the install

After installation, confirm the binary is available:

portal --version

If that works, the next command you should care about is portal config setup.

First-time setup actually matters

Portal is usable without a giant onboarding flow, but it is not a zero-config tool. The setup command writes the defaults the rest of the CLI relies on.

What the code currently asks for:

  • Your username
  • Your default listening port
  • Your download directory for received files

What the code currently does with those answers:

  • It appends @portal to your username if you did not type it.
  • It defaults to port 7878.
  • It defaults the download location to your home Downloads folder.
  • It writes the result to ~/.portal/config.toml.
  • If config.toml already exists, it asks before overwriting it.

Step-by-Step Walkthrough

Run the setup command to begin:

Terminal
$ portal config setup
Welcome to Portal! Let's get you set up.

1. Choose Username

Choose a unique username to identify yourself during transfers:

Terminal
? What is your username? spectra

Portal automatically appends @portal if you omit it, saving it as spectra@portal.

2. Choose Listening Port

Select the port for listening to incoming TCP connections (7878 is the default):

Terminal
? Which port should Portal use? 7878

Selected ports must be above 1024 to avoid root permission conflicts.

3. Choose Download Location

Specify where Portal should save incoming files:

Terminal
? Where should Portal save downloaded files? /home/spectra/Downloads

Leaving this blank defaults to your user profile's Downloads folder.

What setup creates

After you finish answering the prompts, Portal automatically creates and writes your configuration to ~/.portal/config.toml.

A typical config file looks like this:

~/.portal/config.toml
[user]
username = "spectra@portal"

[network]
default_port = 7878

[storage]
download_dir = "/home/spectra/Downloads"

When not to rerun setup

If you only want to change one value, rerunning setup is heavier than necessary. Use the targeted config commands instead:

portal config set user.username spectra
portal config set network.default_port 9000
portal config set storage.download_dir /path/to/folder

That distinction matters because config setup is an onboarding flow, while config set is the maintenance path.

On this page