# pirc-extension The [pi](https://github.com/earendil-works/pi) extension of [PiRC](https://pirc.dev): it puts every interactive pi session on a PiRC relay, so that you can follow and drive it from a phone or another client. You need a relay of your own; PiRC's self-hosting guide covers running one. This repository holds releases only: the extension built into one file (`index.js`). Its source is in PiRC's repository. ## Install pi installs it from this repository with `git` and `npm`. Pin it to a release: ```sh pi install git:@vX.Y.Z ``` To upgrade, upgrade your relay first, then install the newer tag the same way. `pi update` keeps a pinned install where it is. Installing without a tag follows this repository's default branch, and `pi update --extensions` then moves it whenever a release is published, possibly ahead of your relay. ## Enrol On the relay, issue a host token (`pirc-relay add-host --label `). In pi: ``` /pirc enrol wss://: ``` `/pirc status` shows the connection, and `/pirc reconnect` reconnects. The enrolment is saved in `~/.config/pirc/host.json` (or the file `PIRC_CONFIG` names), with the host's key beside it in `host.key`; every pi process on the host uses the same key. `PIRC_RELAY` overrides the relay URL, and `PIRC_TOKEN` supplies a registration token, so a host can be enrolled without the command. If the relay's certificate is self-signed or from a private CA, set `NODE_EXTRA_CA_CERTS` to the CA's PEM file in the environment pi starts in. ## Licence MIT; see `LICENSE`. The bundle includes third-party code, listed in `NOTICE`, under the licences in `third_party/`.