antenka-bi /Konstantin GARSHENIN /диалог #37542428
live Metabase
← К юзеру #37542428 · 2026-04-13T20:17 → 2026-04-13T20:17 telegram 2 сообщ. · $0.0000

Konstantin GARSHENIN

@AntenkaAI_bot посмотри скрипт. Я тебе больше доверяю)) #!//bin/bash set -e echo "=== Автоматизированное развёртывание: веб‑сайт + MTProto‑прокси (TeleMT) + 3‑x‑ui ===" # Запрашиваем данные у пользователя read -p "Введите основной домен (например, example.com): " MAIN_DOMAIN read -p "Введите поддомен для веб‑сайта (по умолчанию www.$MAIN_DOMAIN): " WEB_SUBDOMAIN WEB_SUBDOMAIN=${WEB_SUBDOMAIN:-www.$MAIN_DOMAIN} read -p "Введите поддомен для Telegram‑прокси MTProto (по умолчанию tg.$MAIN_DOMAIN): " TG_SUBDOMAIN TG_SUBDOMAIN=${TG_SUBDOMAIN:-tg.$MAIN_DOMAIN} read -p "Введите поддомен для 3‑x‑ui (по умолчанию proxy.$MAIN_DOMAIN): " PROXY_SUBDOMAIN PROXY_SUBDOMAIN=${PROXY_SUBDOMAIN:-proxy.$MAIN_DOMAIN} read -p "Введите публичный IP‑адрес сервера: " SERVER_IP # Порты по умолчанию WEB_PORT=8443 TG_PORT=10443 PROXY_PORT=4443 NGINX_STREAM_PORT=443 echo "Используемые поддомены: $WEB_SUBDOMAIN, $TG_SUBDOMAIN, $PROXY_SUBDOMAIN" echo "IP‑адрес сервера: $SERVER_IP" # Функция для проверки прав root check_root() { if [[ $EUID -ne 0 ]]; then echo "Ошибка: запустите скрипт с правами root (sudo)." exit 1 fi } # Обновление системы и установка базовых пакетов install_base_packages() { apt update && apt upgrade -y apt install -y curl wget git ufw certbot nginx } # Настройка фаервола configure_firewall() { ufw allow 22/tcp ufw allow 80/tcp ufw allow $NGINX_STREAM_PORT/tcp ufw --force enable } # Получение SSL‑сертификатов Let's Encrypt obtain_certificates() { mkdir -p /var/www/html systemctl start nginx certbot certonly --webroot -w /var/www/html \ -d $WEB_SUBDOMAIN -d $TG_SUBDOMAIN -d $PROXY_SUBDOMAIN \ --agree-tos --email admin@$MAIN_DOMAIN --non-interactive } # Создание структуры для Nginx Stream setup_nginx_stream() { mkdir -p /etc/nginx/stream-available /etc/nginx/stream-enabled # Добавляем include в nginx.conf, если его нет if ! grep -q "include /etc/nginx/stream-enabled/\*.conf" /etc/nginx/nginx.conf; then sed -i '/http {/a \ include /etc/nginx/stream-enabled/*.conf;' /etc/nginx/nginx.conf fi } # Конфигурация Nginx Stream для SNI‑роутинга configure_nginx_stream() { cat > /etc/nginx/stream-available/sni_router.conf << EOF stream { map \$ssl_preread_server_name \$backend { hostnames; $WEB_SUBDOMAIN web_backend; $TG_SUBDOMAIN telegram_backend; $PROXY_SUBDOMAIN xray_backend; default web_backend; } upstream web_backend { server 127.0.0.1:$WEB_PORT; } upstream telegram_backend { server 127.0.0.1:$TG_PORT; } upstream xray_backend { server 127.0.0.1:$PROXY_PORT; } server { listen $NGINX_STREAM_PORT reuseport; listen [::]:$NGINX_STREAM_PORT reuseport; proxy_pass \$backend; ssl_preread on; } } EOF ln -sf /etc/nginx/stream-available/sni_router.conf /etc/nginx/stream-enabled/ } # Установка и настройка веб‑сайта setup_web_server() { mkdir -p /var/www/$MAIN_DOMAIN echo "<h1>Welcome to $MAIN_DOMAIN</h1>" > /var/www/$MAIN_DOMAIN/index.html cat > /etc/nginx/sites-available/$MAIN_DOMAIN << EOF server { listen 127.0.0.1:$WEB_PORT ssl http2; server_name $WEB_SUBDOMAIN; ssl_certificate /etc/letsencrypt/live/$MAIN_DOMAIN/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/$MAIN_DOMAIN/privkey.pem; root /var/www/$MAIN_DOMAIN; index index.html; location / { try_files \$uri \$uri/ =404; } } EOF ln -sf /etc/nginx/sites-available/$MAIN_DOMAIN /etc/nginx/sites-enabled/ } # Установка и настройка TeleMT для MTProto install_telemt() { wget https://github.com/telemt/telemt/releases/download/v3.0.0/telemt-linux-x86_64.tar.gz tar -xzf telemt-linux-x86_64.tar.gz mv telemt /usr/local/bin/ chmod +x /usr/local/bin/telemt mkdir -p /etc/telemt /etc/telemt/certs cp /etc/letsencrypt/live/$MAIN_DOMAIN/fullchain.pem /etc/telemt/certs/ cp /etc/letsencrypt/live/$MAIN_DOMAIN/privkey.pem /etc/telemt/certs/
20:17:49 · 📜 архив (до 23.04)
# Генерация секретного ключа MTProto MT_SECRET=$(openssl rand -hex 16) echo "Сгенерирован секретный ключ MTProto: $MT_SECRET" echo "Сохраните его для настройки клиентов!" cat > /etc/telemt/config.toml << EOF [general] use_middle_proxy = false [server] port = $TG_PORT [[server.listeners]] ip = "127.0.0.1" [general.modes] tls = true mtproto = true [censorship] tls_domain = "$TG_SUBDOMAIN" mask = false [access.users] mtproto_user = "$MT_SECRET" [server.tls] cert_file = "/etc/telemt/certs/fullchain.pem" key_file = "/etc/telemt/certs/privkey.pem" EOF cat > /etc/systemd/system/telemt.service << EOF [Unit] Description=TeleMT MTProto Telegram Proxy After=network.target [Service] Type=simple User=nobody ExecStart=/usr/local/bin/telemt -c /etc/telemt/config.toml Restart=always RestartSec=3 [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable telemt systemctl start telemt } # Установка 3‑x‑ui install_3x_ui() { bash <(curl -Ls https://raw.githubusercontent.com/begugla0/selfsniscripts/main/3x-ui/install.sh) } # Основная функция main() { check_root echo "Шаг 1: Установка базовых пакетов..." install_base_packages echo "Шаг 2: Настройка фаервола..." configure_firewall echo "Шаг 3: Получение SSL‑сертификатов..." obtain_certificates echo "Шаг 4: Настройка Nginx Stream..." setup_nginx_stream configure_nginx_stream echo "Шаг 5: Настройка веб‑сервера..." setup_web_server echo "Шаг 6: Установка и настройка TeleMT..." install_telemt echo "Шаг 7: Установка 3‑x‑ui..." install_3x_ui echo "Шаг 8: Перезагрузка сервисов..." nginx -t systemctl reload nginx echo
20:17:50 · 📜 архив (до 23.04)