Исправлено повреждение хешей паролей (защита от расширения переменных), версия 1.4.7

This commit is contained in:
Petro1990 2026-03-13 22:03:55 +03:00
parent 0a42780921
commit 1c2e7bdf7a
1 changed files with 16 additions and 16 deletions

32
rproxy
View File

@ -3,7 +3,7 @@
# Публикация локальных сервисов через SSH-туннели + nginx на VPS # Публикация локальных сервисов через SSH-туннели + nginx на VPS
# http://5.104.75.50:3000/Petro1990/rProxy # http://5.104.75.50:3000/Petro1990/rProxy
VERSION="1.4.6" VERSION="1.4.7"
CONF_DIR="/opt/etc/rproxy" CONF_DIR="/opt/etc/rproxy"
CONF_FILE="$CONF_DIR/rproxy.conf" CONF_FILE="$CONF_DIR/rproxy.conf"
SERVICES_DIR="$CONF_DIR/services" SERVICES_DIR="$CONF_DIR/services"
@ -676,20 +676,20 @@ NGINXEOF
ssh_cmd "certbot --nginx -d $domain --non-interactive --agree-tos -m $CERTBOT_EMAIL" || warn "Certbot вернул ошибку" ssh_cmd "certbot --nginx -d $domain --non-interactive --agree-tos -m $CERTBOT_EMAIL" || warn "Certbot вернул ошибку"
fi fi
# Сохранение конфига сервиса # Сохранение конфига сервиса (используем printf для защиты от спецсимволов и одинарные кавычки)
cat > "$SERVICES_DIR/$name.conf" <<EOF {
SVC_NAME="$name" printf 'SVC_NAME="%s"\n' "$name"
SVC_VPS="$vps_id" printf 'SVC_VPS="%s"\n' "$vps_id"
SVC_TARGET_HOST="$t_host" printf 'SVC_TARGET_HOST="%s"\n' "$t_host"
SVC_TARGET_PORT="$t_port" printf 'SVC_TARGET_PORT="%s"\n' "$t_port"
SVC_TUNNEL_PORT="$tunnel_port" printf 'SVC_TUNNEL_PORT="%s"\n' "$tunnel_port"
SVC_EXT_PORT="$ext_port" printf 'SVC_EXT_PORT="%s"\n' "$ext_port"
SVC_DOMAIN="$domain" printf 'SVC_DOMAIN="%s"\n' "$domain"
SVC_SSL="$use_ssl" printf 'SVC_SSL="%s"\n' "$use_ssl"
SVC_NDM_AUTH="$use_ndm_auth" printf 'SVC_NDM_AUTH="%s"\n' "$use_ndm_auth"
SVC_HTPASSWD=\"$htpasswd_line\" printf "SVC_HTPASSWD='%s'\n" "$htpasswd_line"
SVC_ENABLED="yes" printf 'SVC_ENABLED="yes"\n'
EOF } > "$SERVICES_DIR/$name.conf"
msg "Сервис '$name' добавлен на VPS '$vps_id'!" msg "Сервис '$name' добавлен на VPS '$vps_id'!"
do_start_service "$name" do_start_service "$name"
@ -732,7 +732,7 @@ do_edit_interactive() {
sleep 1 sleep 1
# Обновление htpasswd на VPS если включено # Обновление htpasswd на VPS если включено
if [ "$SVC_NDM_AUTH" = "yes" ]; then if [ "$SVC_NDM_AUTH" = "yes" ]; then
ssh_cmd "echo '$SVC_HTPASSWD' > /etc/nginx/rproxy_$name.htpasswd" ssh_cmd "printf '%s\n' '$SVC_HTPASSWD' > /etc/nginx/rproxy_$name.htpasswd"
fi fi
do_start_service "$name" do_start_service "$name"
else else