asciinema-rs
asciinema-rs copied to clipboard
Asciinema client written in Rust
asciinema-rs
A reimplementation of the asciinema command line program written in Rust.
Installation
Prebuilt asciinema
binaries can be downloaded from GitHub releases. There are no
dependencies and the binary can be run directly once downloaded.
(asciinema
is not available on crates.io due to https://github.com/rust-lang/cargo/issues/1565).
Usage
This program intends be a drop-in replacement for the official asciinema python client program. Accordingly, the official documentation serves as documentation for this version as well. If you find behavior differences, please file an issue.
# Record terminal and upload it to asciinema.org:
asciinema rec
# Record terminal to local file:
asciinema rec demo.cast
# Record terminal and upload it to asciinema.org, specifying title:
asciinema rec -t "My git tutorial"
# Record terminal to local file, limiting idle time to max 2.5 sec:
asciinema rec -i 2.5 demo.cast
Example
Below is an example recording where the program records itself.
Feature Parity
We are not yet at 100% parity with the official binary. This project welcomes contributors and is a great project for Rust beginners. Please contribute!
Record (asciinema rec
)
- [x] Record
stdout
- [x] Record
stdin
via--stdin
- [x] Upload to remote server
- [x] Save to local file
- [ ] Prompt for where to save after recording
- [x] Append to output via
--append
- [x] Save only raw stdout output via
--raw
- [x]
--overwrite
- [ ] Run a command via
--command
- [x] By default capture
SHELL
andTERM
environment variables - [ ] Specify environment variables to capture via
--env
- [x] Set a title via
--title
- [x] Set an idle limit via
--idle-time-limit
- [ ] Answer yes to all prompts via
--yes
- [ ] Quiet output via
--quiet
Auth (asciinema auth
)
- [x] Authenticate via an install-id
Upload (asciinema upload
)
- [x] Upload saved asciicast session
Play (asciinema play
)
- [x] Play from local file
- [x] Play from remote url
- [ ] Play from asciicast page url
- [ ] Play from
stdin
- [ ] Play from
ipfs
- [ ] Pause playback via
SPACE
- [ ] Step through a frame via
.
- [ ] Exit playback via
CTRL+C
- [x] Limit replayed terminal inactivity via
--idle-time-limit
- [x] Adjust playback speed via
--speed
Cat (asciinema cat
)
- [x] Support for local files
- [x] Support for remote files
License
asciinema
is licensed under either of the following, at your option:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
Note that the reference python implementation is licensed under GPLv3. This program is developed without looking at or using any of the code.