node package manager

terminal-recorder

terminal-recorder Dependency Status

NPM

Terminal recorder allows you to record your bash session, and export it to html so then you can share it with your friends.

Installation

NPM

$ [sudo] npm install -g terminal-recorder

Usage

$ terminal-recorder --help
 
  Usage: terminal-recorder [options]
 
  Options:
 
    -h, --help            output usage information
    -V, --version         output the version number
    -o, --outpath [path]  Add the specified [path] to place the folder
                            that will contain the recorded html files
 
# Start recording
$ terminal-recorder
 
# recording...
[type your stuff and then hit Ctrl+c]
 
# Notice a new folder was created
 
$ tree terminal-recorder-html/ -L 1
terminal-recorder-html/
├── bower_components
├── bower.json
├── css
├── index.html
└── js
 
# Just open the index.html with your favourite browser
$ firefox terminal-recorder-html/index.html &
 
# See the magic ;)

Final output looks like this Demo Pic

Features

  • Records all keystrokes sent to stdin
  • Saves stdout in a log file logs.txt
  • Export actions to html
  • Timeline indicator
  • Rollback actions

Comming soon

  • More templates
  • Define starting cmd (Other than bash)
  • Add param for picking cancelling key (Ctrl+c, Ctrl+d)
  • Specify terminal size

Experimenting

Open a terminal:

$ tail -f logs.txt

Open a second terminal:

$ terminal-recorder

Start typing in the second console, and look how the first one is mimicking your moves.

Known issues

  • Record all keys, including passwords. So be careful with that.

Cool Stuff

Cool things that you can do:

$ filget awesomeness # Impress your friends
$ nethack # Play nethack
$ vim # Teach your friends with vim
$ htop # Show server state
$ tmux # Open the terminal multiplexor
$ cmatrix # feel like neo :)

Credits

@cortezcristian