#!/bin/bash # Установка обновлений и необходимых пакетов apt update apt full-upgrade -y # Вывод завершенного сообщения echo -e "apt upgrade завершено" # Установка Xray bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -u root # Перезагрузка systemd systemctl daemon-reload # Включение Xray автоматически при загрузке системы systemctl enable xray # Вывод завершенного сообщения echo -e "X-ray установлен" # Установка Персидской границы (marzban) bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install # Создание админского аккаунта sed -i 's/# SUDO_USERNAME = "admin"/SUDO_USERNAME = "b6iwUlis"/' /opt/marzban/.env sed -i 's/# SUDO_PASSWORD = "admin"/SUDO_PASSWORD = "OF0ROLWmlCzFQdSx"/' /opt/marzban/.env # Установка SSL apt-get install -y socat curl https://get.acme.sh | sh -s email=zhukake@VK.com mkdir -p /var/lib/marzban/certs/ ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt --issue --standalone -d gma-vpn-meta.86062149.jpg \ --key-file /var/lib/marzban/certs/key.pem \ --fullchain-file /var/lib/marzban/certs/fullchain.pem sed -i 's@# UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/example.com/fullchain.pem"@UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/fullchain.pem"@' /opt/marzban/.env sed -i 's@# UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/example.com/key.pem"@UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/key.pem"@' /opt/marzban/.env sed -i 's@# XRAY_SUBSCRIPTION_URL_PREFIX = "https://example.com"@XRAY_SUBSCRIPTION_URL_PREFIX = "https://gma-vpn-meta.86062149.jpg"@' /opt/marzban/.env sed -i 's/UVICORN_PORT = 8000/UVICORN_PORT = 443/' /opt/marzban/.env # Перезапуск marzban marzban restart # Установить fail2ban apt install -y fail2ban # Создаем копию конфигурационного файла fail2ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Автоматически настраиваем Fail2Ban sed -i 's/#ignoreip = 127.0.0.1\/8 ::1/ignoreip = 91.220.69.187 80.68.9.53/' /etc/fail2ban/jail.local sed -i 's/bantime = 10m/bantime = 1d/' /etc/fail2ban/jail.local sed -i 's/maxretry = 5/maxretry = 3/' /etc/fail2ban/jail.local # Перезапускаем Fail2Ban service fail2ban restart # Включение fail2ban автоматически при загрузке системы systemctl enable fail2ban # Вывод завершенного сообщения echo -e "Fail2Ban установлен и настроен. Конфигурация обновлена." if test -e "/var/lib/marzban/certs/fullchain.pem"; then echo -e "Файл сертификата успешно создан" else echo -e "Файл сертификата проебался ФАТАЛ ЕРРОР" fi # Заменить содержимое файла docker-compose.yml echo "services: marzban: image: gozargah/marzban:latest restart: always env_file: .env network_mode: host volumes: - /var/lib/marzban:/var/lib/marzban depends_on: - mysql mysql: image: mysql:latest restart: always env_file: .env network_mode: host command: --bind-address=127.0.0.1 --mysqlx-bind-address=127.0.0.1 environment: MYSQL_DATABASE: marzban volumes: - /var/lib/marzban/mysql:/var/lib/mysql" > /opt/marzban/docker-compose.yml # Пересобрать докер marzban update # Перезапустить персидскую границу marzban restart # Вывод завершенного сообщения echo -e "сидим пердим 80 секунд" # Подождать 80 секунд # Общее количество шагов (прогресса) total_steps=80 # Инициализируем текущий шаг current_step=0 # Определяем функцию для отображения прогресс-бара show_progress() { local progress=$((current_step * 100 / total_steps)) local width=50 # Ширина прогресс-бара в символах local fill=$(printf "%-$((width * progress / 100))s" "") local empty=$(printf "%-$((width - width * progress / 100))s" "") printf " [%s%s] %d%%" "$fill" "$empty" "$progress" } # Основной цикл while [ "$current_step" -lt "$total_steps" ]; do # Выполняйте здесь вашу работу (эмулируйте задачу с задержкой) sleep 1 ((current_step++)) show_progress done # Вывод завершенного сообщения echo -e "попердели 80 секунд" # Настройка MySQL в marzban sed -i '/SQLALCHEMY_DATABASE_URL = "sqlite:\/\//d' /opt/marzban/.env echo 'SQLALCHEMY_DATABASE_URL = "mysql+pymysql://root:qkcHy8NsWYs8sO2aCjwl@127.0.0.1/marzban"' >> /opt/marzban/.env echo "MYSQL_ROOT_PASSWORD = qkcHy8NsWYs8sO2aCjwl" >> /opt/marzban/.env # Перезапустить персидскую границу marzban restart # Вывод завершенного сообщения echo -e "сидим пердим 80 секунд" # Подождать 80 секунд # Общее количество шагов (прогресса) total_steps=80 # Инициализируем текущий шаг current_step=0 # Определяем функцию для отображения прогресс-бара show_progress() { local progress=$((current_step * 100 / total_steps)) local width=50 # Ширина прогресс-бара в символах local fill=$(printf "%-$((width * progress / 100))s" "") local empty=$(printf "%-$((width - width * progress / 100))s" "") printf " [%s%s] %d%%" "$fill" "$empty" "$progress" } # Основной цикл while [ "$current_step" -lt "$total_steps" ]; do # Выполняйте здесь вашу работу (эмулируйте задачу с задержкой) sleep 1 ((current_step++)) show_progress done # Вывод завершенного сообщения echo -e "попердели 80 секунд" # Отключение ipv6 echo 'net.ipv6.conf.all.disable_ipv6=1' >> /etc/sysctl.conf echo 'net.ipv6.conf.default.disable_ipv6=1' >> /etc/sysctl.conf echo 'net.ipv6.conf.lo.disable_ipv6=1' >> /etc/sysctl.conf sysctl -p echo -e "Логин: b6iwUlis" echo -e "Пароль: OF0ROLWmlCzFQdSx" echo -e "Пароль БД: qkcHy8NsWYs8sO2aCjwl" echo -e "Ссылка на панель: https://gma-vpn-meta.86062149.jpg/dashboard"