All Projects → sjmulder → Trickle

sjmulder / Trickle

Licence: bsd-2-clause
600 baud pipe and terminal.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Trickle

pv
Unix Pipe Viewer (pv) utility in Node.js
Stars: ✭ 20 (-73.33%)
Mutual labels:  unix, utility, pipe
Irccat
cat to IRC
Stars: ✭ 91 (+21.33%)
Mutual labels:  pipe, unix
findlargedir
find all "blackhole" directories with a huge amount of filesystem entries in a flat structure
Stars: ✭ 15 (-80%)
Mutual labels:  unix, utility
Rm Protection
A safe alternative for "rm".
Stars: ✭ 416 (+454.67%)
Mutual labels:  utility, unix
Lessmd
A small markdown viewer/converter for unix terminal.
Stars: ✭ 122 (+62.67%)
Mutual labels:  pipe, unix
Ipt
Interactive Pipe To: The Node.js cli interactive workflow
Stars: ✭ 783 (+944%)
Mutual labels:  pipe, unix
Smoldash
Smoldash, A tiny lodash alternative built for the modern web
Stars: ✭ 66 (-12%)
Mutual labels:  utility
Pipe
[READONLY] Library for implementing function call chains
Stars: ✭ 70 (-6.67%)
Mutual labels:  pipe
Jsonf
A Unix-y utility for formatting JSON in a more stream-friendly way
Stars: ✭ 65 (-13.33%)
Mutual labels:  unix
Promised Pipe
A ramda.pipe-like utility that handles promises internally with zero dependencies
Stars: ✭ 64 (-14.67%)
Mutual labels:  pipe
Karmabot
🤖 A Multipurpose Discord Bot with a Music System & Utility commands used by 160K+ users!
Stars: ✭ 73 (-2.67%)
Mutual labels:  utility
Librepcb
A powerful, innovative and intuitive EDA tool for everyone!
Stars: ✭ 1,173 (+1464%)
Mutual labels:  unix
Str metrics
Ruby gem (native extension in Rust) providing implementations of various string metrics
Stars: ✭ 68 (-9.33%)
Mutual labels:  utility
Memorycache
LRU, type-safe, thread-safe memory cache class in Swift
Stars: ✭ 66 (-12%)
Mutual labels:  utility
Cups Ipp
CUPS Implementation of IPP - PHP Client API
Stars: ✭ 70 (-6.67%)
Mutual labels:  unix
Nanvix
Educational Spinoff of Nanvix
Stars: ✭ 65 (-13.33%)
Mutual labels:  unix
Mixin Deep
Deeply mix the properties of objects into the first object, while also mixing-in child objects.
Stars: ✭ 72 (-4%)
Mutual labels:  utility
Wsend
wsend: The opposite of wget
Stars: ✭ 64 (-14.67%)
Mutual labels:  unix
Gtfonow
Automatic privilege escalation for misconfigured capabilities, sudo and suid binaries
Stars: ✭ 68 (-9.33%)
Mutual labels:  unix
Vue Coerce Props
Coerce props to whatever you want
Stars: ✭ 72 (-4%)
Mutual labels:  utility

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 ([email protected])

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].