portal-relay

This crate contains the relay application for Portal - An encrypted file transfer utility.

For the client utility go to:

Installation

sh cargo install portal-relay

When run the binary listens on TCP port 13265 to broker connections between clients.

Diagram of Key Derivation

Demo

Creating a Service on Alpine

First build a static relay binary and transfer it to the alpine system, then add a user for the service:

```sh cross build --bin portal-relay --target x86_64-unknown-linux-musl --release

upload and copy the binary to /sbin/portal-relay

chmod +x /sbin/portal-relay useradd relay -M -N --system -s /sbin/nologin ```

On alpine linux you can setup a simple service file vi /etc/init.d/relay:

```sh

!/sbin/openrc-run

command=/sbin/portal-relay command_user="relay" supervisor="supervise-daemon"

depend() { need net localmount } ```

Then add the service to the default run-level to start on boot:

sh chmod +x /etc/init.d/relay rc-update add relay

List services to verify the relay was enabled:

sh rc-status

Then start the service:

sh /etc/init.d/relay start