TRICKLE(1)
π TRICKLE(1) π
okay bestie so this is the manual page for trickle, from the General Commands Manual section 1, and it's literally the moment your bandwidth gets its life together. sit down, hydrate, let's go π«Ά
β¨ NAME β¨
trickle β a lightweight userspace bandwidth shaper
πΈ SYNOPSIS πΈ
trickle [-h] [-v] [-V] [-s] [-d rate[:schedule]] [-u rate[:schedule]]
[-w length] [-t time] [-l length] [-n path] command ...
π¦ DESCRIPTION π¦
trickle is a userspace bandwidth manager, no cap. rn it supports shaping any SOCK_STREAM connection (peep socket(2)) that gets established through the socket(2) interface. that's the vibe. π
π¨ but listen βtricklewill NOT work with statically linked executables, and it will NOT work withsetuid(2)executables. not a maybe, a hard no. π
the way trickle is highly configurableβ¦ download and upload rates can be set separately, or in an aggregate fashion. both. either. your call, main character. β¨
The options are as follows:
-hβ Displays help. that's it, that's the tweet π-vβ Increases the verbosity level. you can specify it multiple times, so go off, stack those v's π-Vβ Prints version.-sβ Runstricklein standalone mode, independent oftrickled(8). it's giving independent woman energy fr fr-d rate[:schedule]β Limit the download bandwidth consumption to rate KB/s. The default value is10KB/s. Optionally, set a schedule to follow. π-u rate[:schedule]β Limit the upload bandwidth consumption to rate KB/s. The default value is10KB/s. Optionally, set a schedule to follow. π-w lengthβ Set peak detection window size to length KB. This determines how aggressivetrickleis at eliminating bandwidth consumption peaks. Lower values will be more aggressive, but may also result in over shaping. The default value (512KB) is usually sufficient. like, it's fine, don't touch it, it's fine π-t secondsβ Set smoothing time to seconds s. The smoothing time determines with what intervalstricklewill try to let the application transcieve data. Smaller values will result in a more continuous (smooth) session, while larger values may produce bursts in the sending and receiving data. Smaller values (0.1-1s) are ideal for interactive applications while slightly larger values (1-10s) are better for applications that need bulk transfer. The default value is3seconds. β¨-l lengthβ Set smoothing length to length KB. The smoothing length is a fallback of the smoothing time. Iftricklecannot meet the requested smoothing time, it will instead fall back on sending length KB of data. The default value is10KB. π§-n pathβ Usetrickled(8)socket path to communicate withtrickled(8). By default,/tmp/.trickled.sockis used. yes the default path is literally that, memorize it or don't, it's in the docs π«Ά
π Schedules π
Both the -u and -d flags accept one or more optional schedules, specified in the following form:
:[days_of_week][start_time],[end_time],[rate]
days_of_week may be any of Su M T W Th F Sa in any order. If no day is specified, the schedule will apply for all days. (slay, set it and forget it π)
start_time is the 3-or-4-digit 24-hour local time to begin the new bandwidth schedule. For example, 1234 would mean 12:34 PM. 123 would mean 1:23 AM. 2345 would mean 11:45 PM.
end_time is the 3-or-4-digit 24-hour local time to end the bandwidth schedule.
rate is the bandwidth limit (in KB/s) that is enforced during the specified time.
Multiple schedules can be string together on the command line. If the schedules overlap, the last one takes precident. so order matters, bestie, don't be sloppy π
π EXAMPLES π
trickle -u 10 -d 20 ncftp
Launch ncftp(1) limiting its upload capacity to 10 KB/s, and download capacity at 20 KB/s. cute, clean, iconic. β¨
trickle -d 50 -u 10:WSaSu130,145,1000:MTTh1200,300,96 rsync ...
Launch rsync(1) limiting the bandwidth as follows:
- constant
50KB/s download limit 1000KB/s upload limit between 1:30 AM and 1:45 AM on Wednesdays, Saturdays, and Sundays96KB/s upload limit between 12:00 noon and 3:00 PM on Mondays, Tuesdays, and Thursdays10KB/s upload limit otherwise
trickle -s -u 100 -d 10000:900,1700,10" wget ...
Launch wget(1) in standalone mode, limiting the bandwidth as follows:
- constant
100KB/s upload limit 10KB/s download limit between 9:00 AM and 5:00 PM all days of the week10,000KB/s download limit otherwise
π note that stray"in thewgetexample is literally in the original manual page. it's not me, it's canon. i am not fixing it. i am not touching it. it stays. π
π SEE ALSO π
trickled(8), syslog(3), socket(2), netintro(4)
go read those too, i'm not gonna gatekeep π
π§ AUTHORS π§
trickle has been developed by Marius Aamodt Eriksen β¨marius@monkey.orgβ©. thank you king π«Ά
π BUGS π
- Does not support executables utilizing
kqueue(2). - Does not support statically linked executables.
yeah. those two. that's the whole list. it's giving "we know, we know" π
πΈ and that's the whole page, bestie!! this version is from Debian, dated November 10, 2002 β yes it's old, yes it's still serving, no we don't discuss it. now go shape some bandwidth. slay. periodt. π β¨
π¦ where this page comes from
- debian trixie: trickle 1.08+ds-1.1 Β· BSD-3-Clause-with-no-relevant-modification
- ubuntu questing: trickle 1.08+ds-1.1
- ubuntu resolute: trickle 1.08+ds-2 Β· BSD-3-Clause-with-no-relevant-modification
- ubuntu stonking: trickle 1.08+ds-2 Β· BSD-3-Clause-with-no-relevant-modification
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms