Command-line interface to manage Ryder prototype devices. It can be used to setup & restore, upgrade & downgrade firmware, and to export identities, app keys, and owner keys from Ryder devices.

Install

Since this is a private repository, GitHub SSH access has to be enabled on your account.

Directly:

npm install -g git+https://github.com/Light-Labs/ryder-cli-proto.git

Or from a cloned repository:

cd ryder-cli-proto
npm install -g .

Uninstall:

npm uninstall -g ryder-cli-proto
rm -rf ~/.ryder

Usage

Every command requires you to pass the Ryder serial port. You can pass it using --ryder-port /dev/ttyUSB or by setting the enviroment variable RYDER_PORT=/dev/ttyUSB where /dev/ttyUSB is the path to the Ryder serial port. The port name depends on your operating system, for Linux it is likely /dev/ttyUSB* and on macOS it is /dev/cu.usbserial-*.

Print help using ryder-cli-proto --help.

Commands:
  ryder-cli-proto erase                     Erase a Ryder.
  ryder-cli-proto export <what> <identity   Export an identity or key from a
  number> [app domain]                      Ryder.
  ryder-cli-proto firmware <action> [ver]   Manage firmware versions.
  ryder-cli-proto info                      Read Ryder device information.
  ryder-cli-proto restore                   Restore a Ryder using a mnemonic
                                            phrase. Use --mnemonic to specify
                                            the number of words.
  ryder-cli-proto setup                     Initialise a Ryder.
  ryder-cli-proto wake                      Wake up.

Options:
  --version  Show version number                                       [boolean]
  --help     Show help                                                 [boolean]

Firmware

(This does not apply to the Ryder Simulator.)

The code on the Ryder device is called firmware. You can manage different firmwares using the CLI. Firmware files are downloaded and then cached locally. The default cache directory is ~/.ryder/proto-v2/firmware. The directory can be changed by setting the RYDER_FIRMWARE_DIRECTORY environment variable.

You need esptool.py to install firmwares. Install it using pip install esptool. To be able to use pip, you need to install Python 3 on your machine.

To fetch the latest list of available firmwares use:

ryder-cli-proto firmware fetch