ENDLESSH(1)
β¨ ENDLESSH(1) β¨
okay so bestie, you're reading the manual for endless, and honestly? it's giving iconic. the manual name is ENDLESSH and it lives in the General Commands Manual section, which is a very cute place to be. let's get into it π
π NAME π
endless β An SSH tarpit
πΈ SYNOPSIS πΈ
endless [-46chsvV] [-d delay] [-f config] [-l max banner length]
[-m max clients] [-p port]
that's the whole vibe check right there, no cap π¦
β¨ DESCRIPTION β¨
so endless is an SSH tarpit. like, it very slowly sends an endless, random SSH banner. that's the whole job. that's the assignment. and it ate. π
here's the tea: endless keeps SSH clients locked up for hours or even days at a time. not even kidding, fr fr. the whole purpose is that you put your real SSH server on another port, and then you let the script kiddies get stuck in this tarpit instead of bothering a real server. it's basically a decoy. main character energy for a daemon, honestly.
and here's the slay part: since the tarpit is in the banner before any cryptographic exchange occurs, this program doesn't depend on any cryptographic libraries. none. zero. it's a simple, single-threaded, standalone C program. it uses poll() to trap multiple clients at a time. lowkey elegant, highkey underrated. π
the options are as follows:
-4β Forcesendlessto use IPv4 addresses only. (v4 girlies only π)-6β Forcesendlessto use IPv6 addresses only. (v6 girlies only π«Ά)-ddelay β Message milliseconds delay. Default:10000. yes, ten thousand. we are patient. we are slow. that's the point π-fconfig β Set and load config file. By defaultendlesslooks for/etc/endlessh/config.-hβ Print the help message and exit. your little "what do i do" button, use it, it's free.-lmax banner length β Maximum banner line length (3-255). Default:32.-mmax clients β Maximum number of clients. Default:4096. that's a lot of besties trapped at once.-pport β Set the listening port. By defaultendlesslistens on port2222.-sβ Print diagnostics tosyslog. By defaultendlessprints them to standard output.-vβ Print diagnostics. Can be specified up to twice to increase verbosity. (double-v= double the yapping, we love that for us)-Vβ Causesendlessto print version information and exit.
π§ Signals, aka the mood ring section π§
- If
endlessreceives theSIGTERMsignal it will gracefully shut down the daemon, allowing it to write a complete, consistent log. so it exits politely, like a queen. π - A
SIGHUPsignal requests a reload of its configuration file. - A
SIGUSR1signal will print connections stats to the log. stats!! numbers!! we're obsessed. π
π FILES π
/etc/endlessh/configβ The defaultendlessconfiguration file.
and that's the whole page bestie, you're basically a tarpit expert now, periodt π
this was the Debian build of the page, dated January 29, 2020 β mwah, take care, go trap some script kiddies πβ¨
π¦ where this page comes from
- alpine 3.24: endlessh-doc 1.1-r2 Β· Unlicense
- debian bookworm: endlessh 1.1-5+b1 Β· Unlicense
- debian trixie: endlessh 1.1-5.1 Β· Unlicense
- epel 9: endlessh 1.1-12.el9 Β· Unlicense
- fedora 43: endlessh 1.1-15.fc43 Β· Unlicense
- fedora 44: endlessh 1.1-16.fc44 Β· Unlicense
- nixos 26.05: endlessh 1.1
- nixpkgs unstable: endlessh 1.1
- ubuntu jammy: endlessh 1.1-5 Β· Unlicense
- ubuntu noble: endlessh 1.1-5 Β· Unlicense
- ubuntu questing: endlessh 1.1-5.1
- ubuntu resolute: endlessh 1.1-5.1build1 Β· Unlicense
- ubuntu stonking: endlessh 1.1-5.1build1 Β· Unlicense
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms