This commit is contained in:
2025-11-01 15:23:10 +03:00

View File

@@ -22,15 +22,15 @@ show_help() {
# Функция для вывода цветных сообщений
log_info() {
echo -e "${GREEN}[INFO]${NC} $1"
echo -e "${GREEN}[INFO]${NC} $1" >&2
}
log_warn() {
echo -e "${YELLOW}[WARN]${NC} $1"
echo -e "${YELLOW}[WARN]${NC} $1" >&2
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
echo -e "${RED}[ERROR]${NC} $1" >&2
}
# Функция проверки и установки пакетов
@@ -167,7 +167,7 @@ create_systemd_service() {
data_command="$data_command --league \"$league\""
fi
# Создаем сервисный файл
# Создаем сервисный файл в правильной директории
local data_service_file="/etc/systemd/system/rfb-data.service"
log_info "Создание файла сервиса: $data_service_file"
@@ -230,7 +230,7 @@ check_required_files() {
fi
}
# Функция определения IP и команды
# Функция определения IP и команды (исправленная)
detect_team() {
local team_arg="$1"
@@ -272,13 +272,14 @@ detect_team() {
log_info "Используется автоопределенная команда: $final_team"
else
log_error "Не удалось определить команду. Укажите явно через -t"
echo "Доступные команды:"
echo "Доступные команды:" >&2
for ip in "${!hosts[@]}"; do
echo " $ip: ${hosts[$ip]}"
echo " $ip: ${hosts[$ip]}" >&2
done
exit 1
fi
# Возвращаем только чистую строку с названием команды (без цветовых кодов)
echo "$final_team"
}
@@ -426,9 +427,15 @@ main() {
# Настройка виртуального окружения
setup_venv
# Определение команды
# Определение команды - ТЕПЕРЬ БЕЗ временного файла
final_team=$(detect_team "$team")
log_info "Финальная команда: $final_team"
log_info "Финальная команда: '$final_team'"
# Проверка что команда не пустая и не содержит спецсимволов
if [[ -z "$final_team" || "$final_team" =~ [^a-zA-Z0-9[:space:]-] ]]; then
log_error "Некорректное название команды: '$final_team'"
exit 1
fi
# Настройка firewall
setup_firewall
@@ -471,7 +478,7 @@ main() {
log_info ""
log_info "Проверка работы:"
log_info " Проверить процессы: ps aux | grep get_data.py"
log_info " Проверить логи: tail -f /root/RFB/logs/*.log"
log_info " Проверить логи: tail -f /root/RFB/logs/*.log 2>/dev/null || echo 'Директория логов не найдена'"
log_info "=================================================="
}