# Install ipbt with Homebrew, MacPorts, Nix

Program for recording a UNIX terminal session. Version 20260527 via Homebrew; verified 2026-05-29. Also installable with nix: nix profile install nixpkgs#ipbt.

## Install

```sh
sudo av install brew:ipbt
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ipbt
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ipbt
```

  Evidence: MacPorts ports tree: sysutils/ipbt/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#ipbt
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ip/ipbt/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:ipbt
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ipbt>
- **Version:** 20260527
- **Source summary:** Program for recording a UNIX terminal session
- **Homepage:** <https://www.chiark.greenend.org.uk/~sgtatham/ipbt/>
- **Repository:** <https://git.tartarus.org/simon/ipbt.git>
- **Upstream docs:** <https://www.chiark.greenend.org.uk/~sgtatham/ipbt>
- **License:** MIT
- **Source archive:** <https://www.chiark.greenend.org.uk/~sgtatham/ipbt/ipbt-20260527.fdcd2b0.tar.gz>
- **Last updated:** 2026-05-29T14:57:37Z
- **Generated:** 2026-07-26T07:20:29+00:00

## Executables

- ipbt (cli)
- ipbt-dump (cli)
- ipbt (alias)
- ipbt-dump (alias)

## Build dependencies

- cmake

## Uses from macOS

- ncurses

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-26
- Package-manager version: 20260527
- Package-manager updated: 2026-05-29
- Local data: ok
- Upstream repository: https://www.chiark.greenend.org.uk/~sgtatham/ipbt/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

IPBT is Simon Tatham's high-tech ttyrec player for Unix. It plays terminal-session recordings with random access, solving the old ttyplay problem that forward playback is easy but rewinding terminal output is not.

### Project history

The official page explains IPBT as a player for ttyrec recordings, a format commonly used to record Unix terminal sessions and NetHack games. Instead of streaming bytes directly to a terminal, IPBT first analyzes the entire recording through an internal terminal emulator, then stores screen states so playback can move forward, backward, or to arbitrary frames.

IPBT is a derived work of PuTTY because it uses PuTTY's terminal emulator internally. That connection is historically important: Tatham reused his own mature terminal-emulation code to make random-access replay feasible rather than writing a terminal parser from scratch.

### Adoption history

IPBT occupies a small but durable niche among Unix terminal-recording tools. The official page asks for patches and describes the program as working but unpolished, while Homebrew, MacPorts, and Nix packaging keep it easy to install for people who handle ttyrec or nh-recorder files.

Its adoption is closely connected to communities that record text-mode sessions, especially roguelike and NetHack playback. The official introduction names NetHack and alt.org as examples of routine ttyrec use.

### How it is used

Users run `ipbt file` on ttyrec, nh-recorder, or raw terminal recordings. After loading, the curses interface supports pause, frame stepping, jumps, speed changes, logarithmic time compression, on-screen status, and text search through recorded frames.

The main cost is up-front analysis time. The manual notes that simpler players can begin immediately, while IPBT trades that startup cost for reverse playback and frame-level navigation.

### Why package nerds care

IPBT is significant because it is a tiny package with a deep implementation trick: it packages PuTTY's terminal model into a Unix curses replay tool. That makes it more than a wrapper around ttyrec; it is a terminal-state indexer.

For maintainers, it is also a classic Simon Tatham utility: small, MIT-licensed, hosted on chiark and git.tartarus.org, and documented with a precise standalone man page.

### Timeline

- 2000s: ttyrec became a common way to record Unix terminal sessions and NetHack games.
- IPBT project era: Tatham built IPBT around full-file analysis and PuTTY terminal emulation to enable random-access playback.
- 2026-05-27: The official site offered source archive `ipbt-20260527.fdcd2b0.tar.gz` and documented the Git repository.
- Package-manager era: Homebrew, MacPorts, and Nix packaged IPBT for repeatable Unix installation.

### Related projects

- Related projects include ttyrec, ttyplay, nh-recorder, PuTTY, ncurses, and NetHack recording sites such as alt.org.
- A third-party GitHub tree by Jonathan Amazon describes patches adding an autoplay mode, showing that IPBT's architecture invited experimentation around startup latency and streaming behavior.

### Sources

- <https://formulae.brew.sh/formula/ipbt>
- <https://git.tartarus.org/simon/ipbt.git>
- <https://github.com/jmazon/ipbt>
- <https://www.chiark.greenend.org.uk/~sgtatham/ipbt/>
- <https://www.chiark.greenend.org.uk/~sgtatham/ipbt/ipbt.html>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ipbt
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - ipbt: normalized package name match | nixpkgs package indexes: pkgs/by-name/ip/ipbt/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - ipbt: normalized package name match | MacPorts ports tree: sysutils/ipbt/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [bvi](https://www.automicvault.com/pkg/brew/bvi/) - Shares av.db curated category or tags: cli, curses, developer-tools, terminal.
- [cgdb](https://www.automicvault.com/pkg/brew/cgdb/) - Shares av.db curated category or tags: cli, curses, developer-tools, terminal.
- [ex-vi](https://www.automicvault.com/pkg/brew/ex-vi/) - Shares av.db curated category or tags: cli, developer-tools, terminal, unix.
- [fzy](https://www.automicvault.com/pkg/brew/fzy/) - Shares av.db curated category or tags: cli, developer-tools, terminal, unix.
- [lnav](https://www.automicvault.com/pkg/brew/lnav/) - Shares av.db curated category or tags: cli, curses, developer-tools, terminal.
- [teip](https://www.automicvault.com/pkg/brew/teip/) - Shares av.db curated category or tags: cli, developer-tools, terminal, unix.
- [with-readline](https://www.automicvault.com/pkg/brew/with-readline/) - Shares av.db curated category or tags: cli, developer-tools, terminal, unix.
- [aha](https://www.automicvault.com/pkg/brew/aha/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [tweak](https://www.automicvault.com/pkg/brew/tweak/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, terminal.
- [agedu](https://www.automicvault.com/pkg/brew/agedu/) - Local package facts share a topical domain. Shared terms: cli, unix.

## Combined YAML source

View the package source record on GitHub. [combined/ipbt.yml](https://github.com/automic-vault/db/blob/main/combined/ipbt.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
