diff options
| author | Yunheng Liu <121078488+Kookiejarz@users.noreply.github.com> | 2026-04-01 14:59:48 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-01 14:59:48 +0300 |
| commit | 169b216d7eba1641f46dd8ab4b64dfb8f0a5cc2f (patch) | |
| tree | 6c9a7558c2fb24453d1d5eadec2f3a6c1b96dffa /install.sh | |
| parent | 7e6d80efa5de0990fc701d75230a9505289f9de0 (diff) | |
perf: replace /dev/urandom | tr with openssl rand to fix CPU spike (#3887)
Diffstat (limited to 'install.sh')
| -rw-r--r-- | install.sh | 21 |
1 files changed, 11 insertions, 10 deletions
@@ -76,37 +76,38 @@ is_port_in_use() { install_base() { case "${release}" in ubuntu | debian | armbian) - apt-get update && apt-get install -y -q cron curl tar tzdata socat ca-certificates + apt-get update && apt-get install -y -q cron curl tar tzdata socat ca-certificates openssl ;; fedora | amzn | virtuozzo | rhel | almalinux | rocky | ol) - dnf -y update && dnf install -y -q curl tar tzdata socat ca-certificates + dnf -y update && dnf install -y -q curl tar tzdata socat ca-certificates openssl ;; centos) if [[ "${VERSION_ID}" =~ ^7 ]]; then - yum -y update && yum install -y curl tar tzdata socat ca-certificates + yum -y update && yum install -y curl tar tzdata socat ca-certificates openssl else - dnf -y update && dnf install -y -q curl tar tzdata socat ca-certificates + dnf -y update && dnf install -y -q curl tar tzdata socat ca-certificates openssl fi ;; arch | manjaro | parch) - pacman -Syu && pacman -Syu --noconfirm curl tar tzdata socat ca-certificates + pacman -Syu && pacman -Syu --noconfirm curl tar tzdata socat ca-certificates openssl ;; opensuse-tumbleweed | opensuse-leap) - zypper refresh && zypper -q install -y curl tar timezone socat ca-certificates + zypper refresh && zypper -q install -y curl tar timezone socat ca-certificates openssl ;; alpine) - apk update && apk add curl tar tzdata socat ca-certificates + apk update && apk add curl tar tzdata socat ca-certificates openssl ;; *) - apt-get update && apt-get install -y -q curl tar tzdata socat ca-certificates + apt-get update && apt-get install -y -q curl tar tzdata socat ca-certificates openssl ;; esac } gen_random_string() { local length="$1" - local random_string=$(LC_ALL=C tr -dc 'a-zA-Z0-9' </dev/urandom | fold -w "$length" | head -n 1) - echo "$random_string" + openssl rand -base64 $(( length * 2 )) \ + | tr -dc 'a-zA-Z0-9' \ + | head -c "$length" } install_acme() { |
