Skip to content
600 baud pipe and terminal.
Branch: master
Clone or download
Latest commit 57bbf83 Dec 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Rename trtty to tritty Oct 24, 2017
.travis.yml Add Travis configuration Dec 6, 2018
CHANGELOG.md Style Dec 6, 2018
LICENSE.md Rename LICENSE to LICENSE.md Oct 27, 2017
Makefile Explicitly set permissions on install Dec 6, 2018
README.md Add link to Homebrew formula Oct 28, 2017
trickle.1 Rewrite README, now with Markdown Oct 27, 2017
trickle.c Use _BSD_SOURCE again Jul 6, 2018
trickle.h
tritty.1 Rename LICENSE to LICENSE.md Oct 27, 2017
tritty.c Use _BSD_SOURCE again Jul 6, 2018

README.md

trickle & tritty

Slow pipe and terminal.

macOS note: Homebrew users can easily install trickle and tritty with the formula at https://github.com/nickolasburr/homebrew-pfa

trickle

trickle [-b bitrate]

trickle is used as part of a shell pipeline and has very low throughput, hence the name: data trickles through the pipe. By default, it passes on 600 bits per second, but this can be configured:

-b bitrate

(For "baud", bits per second.) Must be a number in range 50-57600. A decimal separator and decimal 'k' suffix can be used.

tritty

tritty [-b bitrate] [command ...]

tritty ("trickle tty") spawns an interactive subterminal with very low throughput. It simulates the experience of using a terminal over a slow connection.

By default, it runs at 600 bits per second (full duplex) but this can be configured:

-b bitrate

(For "baud", bits per second.) Must be a number in range 50-57600. A decimal separator and decimal 'k' suffix can be used.

command

Will be executed inside the virtual terminal. It defaults to the SHELL environment variable, or /bin/sh if unset.

Note that by only limiting throughput the serial device experience is not accurately simulated. In particular, the baud rate attribute on the virtual terminal is not set. Software may use this attribute to adjust their output.

Use stty(1) from within a tritty session to adjust the baud rate attribute of the terminal as shown in the examples below. The original settings will be restored on exit.

Examples

Print README.rm to the terminal at 600 baud:

$ trickle <README.rm

List files at 2600 baud:

$ ls | trickle -b2600

List files at 57600 baud:

$ ls | trickle -b57.6k

Browse the web with a 14400 baud terminal:

$ tritty -b14.4 elinks news.ycombinator.com

Run the default shell at 2600 baud:

$ tritty -b2600   # now in the tritty session
$ man man
  ...
$ exit
exit
$                 # back to regular terminal

Run the default shell at 300 baud, also setting the terminal baud rate attribute:

$ tritty -b300
$ sty 300
   ...
$ exit

Building

Should work on most Unix-like systems, perhaps with some tweaks. Tested on FreeBSD, macOS, Linux and Linux with musl.

Edit the Makefile if desired. Then:

make

There are install and uninstall targets, too. PREFIX is set to /usr/local by default.

Author

By Sijmen J. Mulder (ik@sjmulder.nl)

You can’t perform that action at this time.