## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global commit dfe44eb2c5b6fc3c48a39ed826fe0e4459cdf6ef %global gitshort %(c=%{commit}; echo ${c:0:7}) Name: endlessh Version: 1.2 Release: %{autorelease}.git%{gitshort} License: Unlicense Summary: SSH tarpit that slowly sends an endless banner URL: https://github.com/skeeto/endlessh Source0: https://github.com/skeeto/endlessh/archive/%{commit}/%{name}-%{gitshort}.tar.gz Source1: %{name}@.service Source2: %{name}.conf BuildRequires: gcc BuildRequires: systemd-rpm-macros %description Endlessh is an SSH tarpit that very slowly sends an endless, random SSH banner. It keeps SSH clients locked up for hours or even days at a time. The purpose is to put your real SSH server on another port and then let the script kiddies get stuck in this tarpit instead of bothering a real server. Since the tarpit is in the banner before any cryptographic exchange occurs, this program doesn't depend on any cryptographic libraries. It's a simple, single-threaded, standalone C program. It uses poll() to trap multiple clients at a time. %prep %autosetup -n %{name}-%{commit} # Fix systemd unit sed -i 's/\/local//g' util/%{name}.service sed -i '/InaccessiblePaths/d' util/%{name}.service sed -i '/PrivateUsers/d' util/%{name}.service %build %__cc %{optflags} -std=c99 -Wextra -Wno-missing-field-initializers %{build_ldflags} -ggdb3 -o %{name} %{name}.c %install install -d %{buildroot}%{_bindir} install -m 755 %{name} %{buildroot}%{_bindir}/ install -d %{buildroot}%{_mandir}/man1 install -m 644 %{name}.1 %{buildroot}%{_mandir}/man1/ install -d %{buildroot}%{_unitdir} install -m 644 util/%{name}.service %{buildroot}%{_unitdir}/ install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/ install -d %{buildroot}%{_sysconfdir}/%{name} install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}/config %post %systemd_post %{name}.service %systemd_post '%{name}@*' %preun %systemd_preun %{name}.service %systemd_preun '%{name}@*' %postun %systemd_postun_with_restart %{name}.service %systemd_postun_with_restart '%{name}@*' %files %license UNLICENSE %doc README.md %{_bindir}/%{name} %{_unitdir}/%{name}.service %{_unitdir}/%{name}@.service %{_mandir}/man1/%{name}.* %config(noreplace) %{_sysconfdir}/%{name}/config %changelog ## START: Generated by rpmautospec * Thu Sep 11 2025 Luca Magrone - 1.2-1 - Bump version to a fictitious one * Thu Sep 11 2025 Luca Magrone - 1.1-2 - Remove PrivateUsers= from systemd units * Wed Sep 10 2025 Luca Magrone - 1.1-1 - Initial package ## END: Generated by rpmautospec