# rpim

> Automation library for easy setup and managing of Raspberry Pi's in the local network

Latest version **1.0.4** (published 2022-10-03) · ISC license · 0 weekly downloads

## Install

```sh
npm install rpim
pnpm add rpim
yarn add rpim
bun add rpim
```

Provides the command `rpim`.

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2022-10-03 |
| First published | 2022-09-27 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 4 |
| Unpacked size | 57.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | pm5544 |
| Keywords | raspberry, pi, configure, setup, cli, ssh, kiosk, hostname, shutdown, info, local, network |

## Links

- npm: https://www.npmjs.com/package/rpim
- Repository: https://github.com/PM5544/manage-raspberry-pi
- Homepage: https://github.com/PM5544/manage-raspberry-pi#readme
- Issues: https://github.com/PM5544/manage-raspberry-pi/issues
- npm.io page: https://npm.io/package/rpim

## Dependencies (4)

- [meow](https://npm.io/package/meow.md) ^10.1.3
- [rxjs](https://npm.io/package/rxjs.md) ^7.5.6
- [inquirer](https://npm.io/package/inquirer.md) ^9.1.1
- [progress](https://npm.io/package/progress.md) ^2.0.3

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 1.0.4 (latest) — 2022-10-03
- 1.0.3 — 2022-10-03
- 1.0.2 — 2022-09-27
- 1.0.1 — 2022-09-27
- 1.0.0 — 2022-09-27

## README

# manage-raspberry-pi
CLI tool for easy setup and managing of Raspberry Pi's in the local network. List all Raspberry pi's, easily setup the SSH connection, read out type and model, configure a Raspberry pi as a kiosk or other...

## platforms
Tested on Mac and Linux, if you find any issues please take the time to create a bug report for it on Github.

## Installing
Run `$ npm install rpim -g` to install rpim globally on your computer.
Or when you only want to use it once or test it you can use npx, like so `$ npx rpim ls`

## Sub commands
To perform a specific task you can instruct rpim to perform that sub command for you. Run `$ rpim <sub-command>` in your terminal. An example `$ rpim ls` lists all Raspberry pi's in the local network with their mac address.
The available sub commands are:
- `ls` List all Raspberry pi's found on the local network with ip - and MAC address. This info may be outdated since it reads from the local connection cache. Run ping to update.
- `shutdown` Shuts down the Raspberry pi
- `info` Show detailed information about Raspberry pi's
- `setup-ssh` Configures the local machine and Raspberry pi's so that this machine has password-less SSH access
- `ssh-config` Display the SSH configuration that is used by this machine
- `configure` Set's up a Raspberry pi with a specified intention, kiosk mode or other
- `log` Display the management log from the Raspberry pi
- `ping` Perform a mass ping to update the arp cache. This may help when Raspberry pi's can't be found
- `reset` Resets all configurations done by rpim (local SSH configurations done by rpim and remote authorized keys)
- `set-hostname` Sets the remote hostname(s)

## Flags
You can provide rpim with information by providing flags.
The available flags are:
- `verbose`, `v` Show verbose feedback and debug data
- `username`, `u` Username to use when logging in to a Raspberry pi
- `ip` Select this ip (or ip's) to perform a sub command on. If not set all found Raspberry pi's ip's are used
- `ssh-key-file` Local file name to store a generated SSH key in. File is added to the ~/.ssh directory
- `hostname` Use this in combination with the set-hostname sub command to set the remote hostname(s)
- `ssh-prefix` When generating SSH shorthand for Raspberry pi's use this prefix with the last numbers of the ip
- `default-hostname` Use this as a value when checking if a Raspberry pi's hostname is changed
- `help`, `h` Show this help text

For instance to use `my-user` as a username when logging into a Raspberry pi you can use `$ rpim info --username my-user` or `$ rpim info -u my-user`. To provide rpim with multiple ip's you can repeat the --ip flag like so `$ rpim setup-ssh --ip 192.168.0.1 --ip 192.168.0.2`

## Use
This NPM module is meant to be used as a globally installed module
```bash
$ npm i -g rpim
```

or through npx to run specific sub commands
```bash
$ npx rpim ls
```

---
_Source: https://npm.io/package/rpim · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
