Добавлена автоматизация Basic Auth через глобальные настройки, версия 1.4.2
This commit is contained in:
parent
eabfe726d8
commit
b8786c79e9
57
rproxy
57
rproxy
|
|
@ -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.1"
|
VERSION="1.4.2"
|
||||||
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"
|
||||||
|
|
@ -523,12 +523,24 @@ do_add_interactive() {
|
||||||
case "$REPLY" in
|
case "$REPLY" in
|
||||||
д|Д|y|Y|да|yes)
|
д|Д|y|Y|да|yes)
|
||||||
use_ndm_auth="yes"
|
use_ndm_auth="yes"
|
||||||
prompt "Введите имя пользователя [admin]: "
|
local def_user="${DEFAULT_AUTH_USER:-admin}"
|
||||||
local user="${REPLY:-admin}"
|
|
||||||
prompt "Введите пароль для '$user' (можно от роутера): "
|
if [ -n "$DEFAULT_AUTH_PASS" ]; then
|
||||||
local pass="$REPLY"
|
printf " ${DIM}Будут использованы сохраненные данные: $def_user / *****${NC}\n"
|
||||||
[ -z "$pass" ] && { warn "Пароль не может быть пустым"; pause; return; }
|
prompt "Использовать их? (д/н) [д]: "
|
||||||
htpasswd_line=$(gen_htpasswd "$user" "$pass")
|
if [ "${REPLY:-д}" = "д" ] || [ "${REPLY:-д}" = "y" ]; then
|
||||||
|
htpasswd_line=$(gen_htpasswd "$def_user" "$DEFAULT_AUTH_PASS")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$htpasswd_line" ]; then
|
||||||
|
prompt "Введите имя пользователя [$def_user]: "
|
||||||
|
local user="${REPLY:-$def_user}"
|
||||||
|
prompt "Введите пароль для '$user': "
|
||||||
|
local pass="$REPLY"
|
||||||
|
[ -z "$pass" ] && { warn "Пароль не может быть пустым"; pause; return; }
|
||||||
|
htpasswd_line=$(gen_htpasswd "$user" "$pass")
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
@ -1200,6 +1212,7 @@ do_setup() {
|
||||||
draw_separator
|
draw_separator
|
||||||
printf " ${BOLD}901)${NC} ➕ Добавить новый VPS\n"
|
printf " ${BOLD}901)${NC} ➕ Добавить новый VPS\n"
|
||||||
[ "$idx" -gt 0 ] && printf " ${BOLD}902)${NC} ❌ Удалить VPS\n"
|
[ "$idx" -gt 0 ] && printf " ${BOLD}902)${NC} ❌ Удалить VPS\n"
|
||||||
|
printf " ${BOLD}903)${NC} 🔑 Пароль публикации по умолчанию\n"
|
||||||
printf " ${BOLD}0)${NC} Назад\n"
|
printf " ${BOLD}0)${NC} Назад\n"
|
||||||
|
|
||||||
prompt "Выберите действие: "
|
prompt "Выберите действие: "
|
||||||
|
|
@ -1207,6 +1220,7 @@ do_setup() {
|
||||||
0) return ;;
|
0) return ;;
|
||||||
901) do_add_vps ;;
|
901) do_add_vps ;;
|
||||||
902) [ "$idx" -gt 0 ] && do_delete_vps_interactive "$vps_list" ;;
|
902) [ "$idx" -gt 0 ] && do_delete_vps_interactive "$vps_list" ;;
|
||||||
|
903) do_change_auth_defaults ;;
|
||||||
[1-9]*)
|
[1-9]*)
|
||||||
local sel_vps=$(echo "$vps_list" | cut -d' ' -f"$REPLY")
|
local sel_vps=$(echo "$vps_list" | cut -d' ' -f"$REPLY")
|
||||||
[ -n "$sel_vps" ] && do_add_vps "$sel_vps"
|
[ -n "$sel_vps" ] && do_add_vps "$sel_vps"
|
||||||
|
|
@ -1229,6 +1243,35 @@ do_delete_vps_interactive() {
|
||||||
pause
|
pause
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_change_auth_defaults() {
|
||||||
|
draw_box "Настройки публикации (Basic Auth)"
|
||||||
|
printf "\n"
|
||||||
|
printf " Эти данные будут предлагаться при защите новых сервисов.\n"
|
||||||
|
|
||||||
|
prompt "Имя пользователя [${DEFAULT_AUTH_USER:-admin}]: "
|
||||||
|
local user="${REPLY:-${DEFAULT_AUTH_USER:-admin}}"
|
||||||
|
|
||||||
|
prompt "Пароль (оставьте пустым чтобы не менять): "
|
||||||
|
local pass="$REPLY"
|
||||||
|
|
||||||
|
if [ -z "$pass" ] && [ -n "$DEFAULT_AUTH_PASS" ]; then
|
||||||
|
pass="$DEFAULT_AUTH_PASS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$pass" ] && { warn "Пароль не может быть пустым"; pause; return; }
|
||||||
|
|
||||||
|
# Сохраняем в конфиг
|
||||||
|
sed -i "/DEFAULT_AUTH_USER=/d" "$CONF_FILE"
|
||||||
|
sed -i "/DEFAULT_AUTH_PASS=/d" "$CONF_FILE"
|
||||||
|
echo "DEFAULT_AUTH_USER=\"$user\"" >> "$CONF_FILE"
|
||||||
|
echo "DEFAULT_AUTH_PASS=\"$pass\"" >> "$CONF_FILE"
|
||||||
|
|
||||||
|
msg "Данные успешно сохранены!"
|
||||||
|
DEFAULT_AUTH_USER="$user"
|
||||||
|
DEFAULT_AUTH_PASS="$pass"
|
||||||
|
pause
|
||||||
|
}
|
||||||
|
|
||||||
do_add_vps() {
|
do_add_vps() {
|
||||||
local vps_id="${1:-}"
|
local vps_id="${1:-}"
|
||||||
local is_new=0
|
local is_new=0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue