Skip to content

Stream and share terminals over the web. Show off mad cli-fu, help a colleague, teach, or troubleshoot. end-to-end encrypted 🛡

License

Notifications You must be signed in to change notification settings

akshaykmr/teletype

Repository files navigation

TeleType

cli tool that allows you to share your terminal online conveniently. Check out oorja.io - show off mad cli-fu, help a colleague, teach, or troubleshoot.

Version Downloads/week Follow

Your stream can be view-only or collaboration enabled (command-line flag).

Install and stream!

  • You'll need Node 18.18.0 >. CLI is available via npm.
    You can setup node/npm from here.

  • Package does fail on some systems because of node-pty compilation failures. I'm thinking it's better to package the whole thing as a binary in future releases (i.e. not available via npm but via a script or manual install).

  • npm install -g oorja

  • teletype

  • teletype -m (for collaboration mode)

Misc: If you have issues installing on apple M1 or similar systems:

  • sudo xcode-select --install
  • CXXFLAGS="--std=c++17" npm install -g oorja

your stream is end-to-end encrypted

PRO TIP: Any participant in the room can stream their terminal(s) i.e there can be multiple streams at the same time, and you can switch between them like terminal tabs!

For options: teletype -h

Note This is the cli companion for oorja.io which is a privacy focussed collaboration tool with more features like voice, notes, and chat - privacy policy. TLDR: Nothing stored on servers. Your data is end-to-end encrypted, synced between browsers (and cli) 🍻. No prying eyes.

Like it ? follow or tweet, tell your colleagues 👩🏻‍💻

Love it ? please subscribe 🖖

Feel free to open issues for bugs, improvements, app-discussions, and anything else really.

More ways to contact.

Commands

oorja help [COMMAND]

Display help for oorja.

USAGE
  $ oorja help [COMMAND...] [-n]

ARGUMENTS
  COMMAND...  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for oorja.

See code: @oclif/plugin-help

oorja teletype [ROOM]

Launch a terminal streaming session in oorja.

USAGE
  $ oorja teletype [ROOM] [-h] [-s <value>] [-m] [-n]

FLAGS
  -h, --help           Show CLI help.
  -m, --multiplex      Allows room users to WRITE TO YOUR SHELL i.e enables collaboration mode. Make sure you trust room
                       participants. Off by default
  -n, --new_room       Create new room
  -s, --shell=<value>  [default: /usr/bin/zsh] shell to use. e.g. bash, fish

DESCRIPTION
  Launch a terminal streaming session in oorja.

ALIASES
  $ oorja tty

EXAMPLES
  $ teletype
  Will prompt to choose streaming destination - existing room or create a new one.

  $ teletype 'https://oorja.io/rooms?id=foo#key'
  Will stream to the room specified by secret link, you must have joined the room before streaming.

  $ teletype -m
  Will also allow room participants to write to your terminal!

See code: src/commands/teletype/index.ts

oorja signout

Sign-out of oorja. Clears saved auth-token

USAGE
  $ oorja signout

DESCRIPTION
  Sign-out of oorja. Clears saved auth-token

See code: src/commands/signout.ts

oorja conf [KEY] [VALUE]

manage configuration (for setting access tokens and env vars)

USAGE
  $ oorja conf [KEY] [VALUE] [-h] [-k <value>] [-v <value>] [-d] [-p <value>] [-n <value>] [-d <value>]

ARGUMENTS
  KEY    key of the config
  VALUE  value of the config

FLAGS
  -d, --cwd=<value>      config file location
  -d, --delete           delete?
  -h, --help             show CLI help
  -k, --key=<value>      key of the config
  -n, --name=<value>     config file name
  -p, --project=<value>  project name
  -v, --value=<value>    value of the config

DESCRIPTION
  manage configuration

See code: conf-cli