Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYunheng Liu <121078488+Kookiejarz@users.noreply.github.com>2026-04-01 14:59:48 +0300
committerGitHub <noreply@github.com>2026-04-01 14:59:48 +0300
commit169b216d7eba1641f46dd8ab4b64dfb8f0a5cc2f (patch)
tree6c9a7558c2fb24453d1d5eadec2f3a6c1b96dffa /install.sh
parent7e6d80efa5de0990fc701d75230a9505289f9de0 (diff)
perf: replace /dev/urandom | tr with openssl rand to fix CPU spike (#3887)
Diffstat (limited to 'install.sh')
-rw-r--r--install.sh21
1 files changed, 11 insertions, 10 deletions
diff --git a/install.sh b/install.sh
index 9d1aeb6b..af6b8a51 100644
--- a/install.sh
+++ b/install.sh
@@ -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() {