Goblin Reactor Homebrew packages
Goblin Mosh and GoblinView for macOS, maintained by Adam DePrince. This is an independent third-party Homebrew tap, hosted at https://brew.goblinreactor.com/. Linux users have the Debian, Ubuntu and RPM packages.
Available packages
| Package | Version | Tested binary target |
|---|---|---|
| goblinreactor/tap/goblin-mosh | 1.4.0-goblin20260911.2 | Apple Silicon (arm64), macOS 26 Tahoe |
| goblinreactor/tap/goblin-view | 0.1.0-20260911.4 | Apple Silicon (arm64), macOS 26 Tahoe |
| goblinreactor/tap/goblin-purrfect | 0.1.0-goblin20260911.1 | Apple Silicon (arm64), macOS 26 Tahoe |
The bottles are the tested prebuilt packages. Other macOS targets can attempt a source build, but have not been verified for these releases. Do not force an ARM bottle onto an Intel Mac or an older macOS release.
goblin-mosh
A Mosh fork for bandwidth-constrained links: zstd level 22, independent upload/download pacing, idle keepalive backoff, terminal graphics, and a two-pane file-transfer menu with librsync and FEC. It includes goblin-mosh, goblin-mosh-client, goblin-mosh-server, goblin-moshcp, the dictionary compiler, five man pages and Bash completion, bundled in one formula.
goblin-view
A terminal multiplexer with overlapping windows and an Alt-tap menu, not tiled panes. Each window is a terminal of its own kept in a server process, so a session survives detaching; the mouse moves, resizes, selects and scrolls; images drawn with kitty graphics or sixel are re-emitted in whatever the terminal you attach from speaks; and programs in windows get the kitty protocol extensions per window (keyboard protocol, styled underlines, colours, pointer shapes, extra cursors, drag and drop, file transfer). It runs best in Ghostty or kitty. The formula installs goblin-view, the manual pages goblin-view(1) and goblin-view-protocols(7), and the input-method dictionaries. It has no Homebrew dependencies beyond the system zlib.
Install
Install Homebrew first if it is not already installed, then run these commands as your normal user, without sudo:
brew tap goblinreactor/tap https://brew.goblinreactor.com/homebrew-tap.git
brew install goblinreactor/tap/goblin-view
brew install goblinreactor/tap/goblin-mosh
The explicit HTTPS tap URL is important: this tap is hosted here, not in a GitHub repository inferred from its name. Homebrew downloads a matching bottle automatically and verifies the source and bottle with the SHA-256 checksums in the formula; TLS verification must remain enabled. Homebrew installs the runtime dependencies of goblin-mosh (protobuf, abseil, OpenSSL 3, zstd, librsync, WebP, PNG and ncurses); goblin-view needs none. Do not use --ignore-dependencies or --force-bottle as a workaround for an unsupported machine.
This is third-party system software. Adding a tap means trusting its maintainer and formula code, including future updates. No custom installation script or root-level background service is required.
Use
goblin-view
Run goblin-view in a terminal to attach to a session, creating it with one window if none exists. Tap Alt (Option, either side) and let go to open the menu, then a letter: O opens a window, C closes, Z zooms, R rearranges, 1-9 selects, D detaches, Q quits, ? shows help. In Ghostty on macOS set macos-option-as-alt = true in ~/.config/ghostty/config so the Option tap arrives; Ctrl-\ opens the menu on a terminal that swallows it. man goblin-view covers the command, keys, mouse and environment; man goblin-view-protocols lists what programs in windows can use.
goblin-view
goblin-view new-window -- htop
goblin-view list-windows
goblin-view kill-server
A goblin-view server keeps running across upgrades. After upgrading, close its windows and run goblin-view kill-server so the next attach starts the new version; a client refuses to attach to a server of another version and says so. A manual copy under ~/.local/bin can shadow the Homebrew one: check command -v goblin-view.
goblin-mosh
Install Goblin Mosh on both endpoints, then connect:
goblin-mosh user@server
man goblin-mosh
Open the two-pane control/file menu with Mosh's command prefix: Ctrl-^ (usually Ctrl-Shift-6), then 0. Enter starts transferring the selected file or directory without leaving the browser. SSH must reach the server for login, and its firewall must allow the selected Mosh UDP port (normally 60000–61000). The goblin-prefixed commands coexist with Homebrew's ordinary mosh formula and do not delete manually installed files; check which installation your shell selects with command -v goblin-mosh. On a remote Apple Silicon Mac whose SSH PATH excludes Homebrew, select the server explicitly: goblin-mosh --server=/opt/homebrew/bin/goblin-mosh-server user@mac.
Update, verify and remove
brew update
brew upgrade goblinreactor/tap/goblin-view goblinreactor/tap/goblin-mosh
brew info goblinreactor/tap/goblin-view
brew test goblinreactor/tap/goblin-view
The tap is a small, read-only Git repository over HTTPS; normal brew update fetches its formula changes from this server. goblin-view's installed-package test starts a detached session on a private socket, opens a window with a scripted menu key and shuts the server down. goblin-mosh's test needs its Python test dependency: brew install --only-dependencies --include-test goblinreactor/tap/goblin-mosh.
brew uninstall goblin-view
brew uninstall goblin-mosh
brew untap goblinreactor/tap
Artifacts and matching source
| Package | Artifact | SHA-256 |
|---|---|---|
| goblin-view | source archive | e0e74f330bfc7c87052511318ec708fb7e731a66a5d05dac53065bbeb57af753 |
| goblin-view | bottle (arm64_tahoe) | 1855f49e48d2255c0c2b6a58c898209bd7962b1184e03c114878418adda2ca20 |
| goblin-view | formula and verification logs | |
| goblin-mosh | source archive | 3cc684219b9c338103fd594b5b1ec824979f27f94c211ef8b344439eb301e927 |
| goblin-mosh | bottle (arm64_tahoe) | 6249b4051521f005e04d56797780648c21c6473dd5b248d811fe8b57a49ee53b |
Homebrew checks the formula's SHA-256 values automatically. The checksummed catalog lists every public file with its checksum and is signed with the Goblin Reactor archive key (signature, public key):
B7B6 1E8C B85A 9270 5303 64F2 3273 CB62 402F C793
The catalog covers every downloadable file except the HTML pages: index.html is a rendering of README.md, and the CDN in front of this site adds its analytics script to HTML in transit, so README.md and README.txt are the checksummed texts. That signature is an additional verification mechanism, not one Homebrew itself checks. Each source archive contains the complete source, build system, licenses and packaging recipes; the exact formula is in the tap and recorded inside each bottle. To compile a package yourself instead of using its bottle:
brew install --build-from-source goblinreactor/tap/goblin-view
Source builds need current Apple Command Line Tools. goblin-view's build runs its unit tests; goblin-mosh's runs 26 core tests. Each bottle was verified by installing it through the public HTTPS tap and running the formula's test.
Licenses and limits
GoblinView is licensed under the Apache License 2.0; its bundled input-method dictionaries are generated from MIT-, Apache-2.0- and Unicode-licensed data, recorded in the installed NOTICE and share/goblin-view/README.md. Goblin Mosh remains GPL-3.0-or-later with upstream notices and OpenSSL linking exceptions preserved; see its installed COPYING, copyright and THIRD_PARTY.md. Homebrew dependencies are separately maintained, dynamically linked packages.
Goblin Mosh: normal macOS sessions use Apple's CommonCrypto backend; the --fips-crypto provider mode is built using OpenSSL 3 but no validated provider is included. Source branch: https://github.com/adamdeprince/mosh/tree/low-bandwidth-mosh. GoblinView has no public repository yet; its complete source is the archive above.
Homebrew tap documentation: https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap
Goblin Purrfect
Now available: goblinreactor/tap/goblin-purrfect 0.1.0-goblin20260911.1 for Apple Silicon/macOS 26 Tahoe. Apache-2.0 terminal word processor with WordPerfect-style editing.
brew tap goblinreactor/tap https://brew.goblinreactor.com/homebrew-tap.git
brew install goblinreactor/tap/goblin-purrfectSetup, optional PDF tools, licenses and source. Goblin Mosh and all other existing packages remain available.
Goblin Mosh UDP jump relays
Release 20260911.2 carries the authenticated UDP session through one to four Goblin Mosh jump hosts. SSH bootstraps the connection; session packets then use the UDP relays, with independent hop keys, replay protection, roaming and MTU accounting. This is not arbitrary UDP port forwarding. Install this release on the client, destination and every jump host; open the configured relay UDP ports (default 60001–60999). Existing sessions keep their old processes; reconnect to use the update.
goblin-mosh -J user@jump user@destination
goblin-mosh -J user@first,user@second user@destination
The release also fixes empty AES-GCM packet accounting used by authenticated relay close messages. FIPS-provider operation is tested where the distribution supplies a usable provider; this is not a FIPS certification. All prebuilt binaries disable RaptorQ and pass the executable policy check. Reed–Solomon FEC remains available. Sources and manuals are included under GPL-3.0-or-later with existing notices preserved.
Verification includes loss on every seventh datagram, reordering, live keyboard input and four-hop recursive/delta transfers. The original 60-second per-file test deadline was too short on some runs: measured first-file completion ranged up to 141 seconds with conservative pacing and relay overhead. The affected public-install checks use a 300-second observation window without reducing loss or removing assertions. The signed catalog records the deadline and measured times; original timeout logs and the verification fixture are retained with the release. This is a transfer ramp-up limitation to improve, not a claim of high throughput under loss.