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 β€” Forces endless to use IPv4 addresses only. (v4 girlies only πŸ™ˆ)
  • -6 β€” Forces endless to use IPv6 addresses only. (v6 girlies only 🫢)
  • -d delay β€” Message milliseconds delay. Default: 10000. yes, ten thousand. we are patient. we are slow. that's the point πŸ’€
  • -f config β€” Set and load config file. By default endless looks for /etc/endlessh/config.
  • -h β€” Print the help message and exit. your little "what do i do" button, use it, it's free.
  • -l max banner length β€” Maximum banner line length (3-255). Default: 32.
  • -m max clients β€” Maximum number of clients. Default: 4096. that's a lot of besties trapped at once.
  • -p port β€” Set the listening port. By default endless listens on port 2222.
  • -s β€” Print diagnostics to syslog. By default endless prints 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 β€” Causes endless to print version information and exit.

🧚 Signals, aka the mood ring section 🧚

  • If endless receives the SIGTERM signal it will gracefully shut down the daemon, allowing it to write a complete, consistent log. so it exits politely, like a queen. πŸ‘‘
  • A SIGHUP signal requests a reload of its configuration file.
  • A SIGUSR1 signal will print connections stats to the log. stats!! numbers!! we're obsessed. πŸ“Š

πŸ“ FILES πŸ“

  • /etc/endlessh/config β€” The default endless configuration 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 πŸŽ€βœ¨