#!/bin/bash # MontanaSign Deployment # efir.org/install set -e echo "πŸ” MontanaSign β€” Deployment" echo "===========================" # УстанавливаСм зависимости apt update apt install -y python3 python3-pip nginx certbot python3-certbot-nginx # zsign для подписи IPA if ! command -v zsign &> /dev/null; then echo "πŸ“¦ Installing zsign..." git clone https://github.com/AdenKenny/zsign.git /tmp/zsign cd /tmp/zsign g++ *.cpp common/*.cpp -lcrypto -lzip -o zsign -O3 mv zsign /usr/local/bin/ cd - fi # Python зависимости pip3 install flask flask-cors gunicorn # Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ mkdir -p /var/montana/{ipa,signed,certs} # ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ сСрвСр cp server.py /var/montana/ # Systemd service cat > /etc/systemd/system/montanasign.service << 'EOF' [Unit] Description=MontanaSign iOS Distribution After=network.target [Service] Type=simple User=root WorkingDirectory=/var/montana ExecStart=/usr/bin/gunicorn -w 4 -b 127.0.0.1:8080 server:app Restart=always RestartSec=10 [Install] WantedBy=multi-user.target EOF # Nginx config cat > /etc/nginx/sites-available/montanasign << 'EOF' server { listen 80; server_name install.efir.org; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } # IPA downloads - большиС Ρ„Π°ΠΉΠ»Ρ‹ location /api/download { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_read_timeout 300; proxy_send_timeout 300; client_max_body_size 500M; } # Π‘Ρ‚Π°Ρ‚ΠΈΠΊΠ° (ΠΈΠΊΠΎΠ½ΠΊΠΈ) location /static { alias /var/montana/static; } } EOF ln -sf /etc/nginx/sites-available/montanasign /etc/nginx/sites-enabled/ # SSL certbot --nginx -d install.efir.org --non-interactive --agree-tos -m admin@efir.org # Запуск systemctl daemon-reload systemctl enable montanasign systemctl restart montanasign systemctl restart nginx echo "" echo "βœ… MontanaSign deployed!" echo "" echo "🌐 https://install.efir.org" echo "" echo "Next steps:" echo "1. Π—Π°Π³Ρ€ΡƒΠ·ΠΈ IPA Ρ„Π°ΠΉΠ»Ρ‹ Π² /var/montana/ipa/" echo "2. Π”ΠΎΠ±Π°Π²ΡŒ сСртификат Π² /var/montana/certs/montana.p12" echo "3. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ UDID Π½ΡƒΠΆΠ΅Π½ .mobileprovision" echo "" echo "Или ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Enterprise сСртификат для всСх устройств"