a7n-platform 0.18.0

Native desktop backends for the Apeirogon software KVM
Documentation
# apeirogon

## Install

On macOS (Apple Silicon) or Linux (x86_64), use Homebrew:

```sh
brew install puppetmaster2k/tap/apeirogon
```

Releases are unsigned. On macOS, grant Accessibility and Input Monitoring
permissions again after every update.

On Windows (x86_64), use Scoop:

```sh
scoop bucket add apeirogon https://github.com/PuppetMaster2k/scoop-bucket
scoop install apeirogon
```

On Arch Linux (x86_64), use the AUR package:

```sh
yay -S apeirogon-bin
```

Download the x86_64 `.deb` or `.rpm` package from the
[latest release](https://github.com/PuppetMaster2k/apeirogon/releases/latest).
Each package includes the daemon, CLI, GUI and a desktop launcher.

```sh
sudo apt install ./apeirogon_*.deb
# Fedora and other RPM-based distributions:
sudo dnf install ./apeirogon-*.rpm
```

Or install from crates.io with a recent stable Rust toolchain:

```sh
cargo install a7n apeirogond a7n-gui --locked
```

Start the daemon with `a7n daemon start`, then open `a7n-gui`.
Use `a7n daemon enable` to start it automatically at login.

## Files

Copy files or folders in your file manager and paste them on another paired
machine. Files download on paste into `files.receive_dir`, which defaults to
your Downloads directory under `Apeirogon` (`~/Downloads/Apeirogon` as a fallback).

To send files directly:

```sh
a7n send <peer> <path>...
a7n files accept <peer>
a7n files reject <peer>
a7n files cancel <id>
```

`<peer>` is a peer name, machine id or unique hex prefix of at least four digits.
`a7n send` follows the transfer; add `--no-wait` to return after offering it.
Use `a7n status` or the GUI to see held offers, progress and transfer ids for
cancellation. Accept or reject an offer on the receiving machine.

Per-peer `peers.<id>.files` defaults to `ask`: incoming sends need confirmation,
while a local paste counts as consent. Policies are `both`, `send`, `receive`,
`ask` and `off`. Receiving requires enough free space for the remaining download
plus a 256 MiB margin. Files are verified before publishing; existing files
are preserved by choosing a new name on collisions.