dropbear.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/env bash
  2. set -x
  3. set -euo pipefail
  4. # shellcheck disable=SC1091
  5. . lib.sh
  6. main() {
  7. local version=2022.82
  8. install_packages \
  9. autoconf \
  10. automake \
  11. bzip2 \
  12. curl \
  13. make
  14. if_centos install_packages zlib-devel
  15. if_ubuntu install_packages zlib1g-dev
  16. local td
  17. td="$(mktemp -d)"
  18. pushd "${td}"
  19. curl --retry 3 -sSfL "https://matt.ucc.asn.au/dropbear/releases/dropbear-${version}.tar.bz2" -O
  20. tar --strip-components=1 -xjf "dropbear-${version}.tar.bz2"
  21. # Remove some unwanted message
  22. sed -i '/skipping hostkey/d' cli-kex.c
  23. sed -i '/failed to identify current user/d' cli-runopts.c
  24. ./configure \
  25. --disable-syslog \
  26. --disable-shadow \
  27. --disable-lastlog \
  28. --disable-utmp \
  29. --disable-utmpx \
  30. --disable-wtmp \
  31. --disable-wtmpx \
  32. --disable-pututline \
  33. --disable-pututxline
  34. make "-j$(nproc)" PROGRAMS=dbclient
  35. cp dbclient /usr/local/bin/
  36. purge_packages
  37. popd
  38. rm -rf "${td}"
  39. rm "${0}"
  40. }
  41. main "${@}"