cat << 'EOF' > /root/kurulum.sh #!/bin/bash # ============================================================================== # TeaSpeak Ubuntu 20.04 Otomatik Kurulum Scripti (AmorfBil on query + YaTQA) # ============================================================================== # Renkler RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' CYAN='\033[0;36m' NC='\033[0m' clear echo -e "${BLUE}==================================================================${NC}" echo -e "${GREEN} TeaSpeak Kurulum Scripti (AmorfBil on query + YaTQA) ${NC}" echo -e "${BLUE}==================================================================${NC}" # 1. Root Yetkisi Kontrolü if [ "$EUID" -ne 0 ]; then echo -e "${RED}[HATA] Lütfen bu scripti root kullanıcısı olarak çalıştırın! (sudo -i)${NC}" exit 1 fi # 2. YaTQA Şifresi Belirleme echo "" echo -e "${CYAN}YaTQA (ServerAdmin Query) için bir şifre belirleyin.${NC}" read -p "Şifre (Boş bırakırsanız otomatik üretilir): " USER_PASS if [ -z "$USER_PASS" ]; then USER_PASS=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 12) fi echo -e "${YELLOW}YaTQA Şifreniz:${NC} ${GREEN}${USER_PASS}${NC}" echo "" sleep 2 # 3. Paketlerin Yüklenmesi echo -e "${YELLOW}[1/6] Gerekli sistem paketleri yükleniyor...${NC}" apt-get update -y >/dev/null 2>&1 apt-get install -y wget curl tar screen sqlite3 libnice10 python3 ca-certificates ufw >/dev/null 2>&1 # 4. Kullanıcı ve Dizin Ayarları echo -e "${YELLOW}[2/6] 'teaspeak' kullanıcısı ve dizinler hazırlanıyor...${NC}" id -u teaspeak >/dev/null 2>&1 || adduser --disabled-password --gecos "" teaspeak >/dev/null 2>&1 mkdir -p /home/teaspeak/server cd /home/teaspeak/server || exit # Eski çalışan servis varsa durdur systemctl stop teaspeak >/dev/null 2>&1 killall TeaSpeakServer >/dev/null 2>&1 # 5. Güncel TeaSpeak İndir ve Çıkar echo -e "${YELLOW}[3/6] En güncel TeaSpeak 64-bit indiriliyor...${NC}" LATEST_VER=$(curl -k -s https://repo.teaspeak.de/server/linux/amd64_stable/latest) [ -z "$LATEST_VER" ] && LATEST_VER="1.5.6" wget -q --show-progress "https://repo.teaspeak.de/server/linux/amd64_stable/TeaSpeak-${LATEST_VER}.tar.gz" -O TeaSpeak.tar.gz tar -xzf TeaSpeak.tar.gz rm -f TeaSpeak.tar.gz # 6. AmorfBil on query Yaması (Birebir 8 byte ve 5 byte - SSL sertifikası korunur) echo -e "${YELLOW}[4/6] Sürüm yaması uygulanıyor (AmorfBil on query)...${NC}" python3 -c ' path = "/home/teaspeak/server/TeaSpeakServer" with open(path, "rb") as f: data = f.read() # 1. Platform: Linux -> query (Birebir 5 byte) data = data.replace(b"build\x00Linux\x00", b"build\x00query\x00") # 2. Sürüm: TeaSpeak -> AmorfBil (Birebir 8 byte + boşluk) data = data.replace(b"TeaSpeak \x00", b"AmorfBil \x00") with open(path, "wb") as f: f.write(data) ' chmod +x /home/teaspeak/server/TeaSpeakServer chown -R teaspeak:teaspeak /home/teaspeak # 7. İlk Başlatma, Veritabanı ve YaTQA Şifresinin Tanımlanması echo -e "${YELLOW}[5/6] Veritabanı oluşturuluyor ve YaTQA şifresi kaydediliyor...${NC}" # İlk çalıştırmada veritabanını oluştur su - teaspeak -c "cd /home/teaspeak/server && ./teastart_minimal.sh & sleep 6; killall TeaSpeakServer" >/dev/null 2>&1 # YaTQA (serveradmin) şifresini konsol komutuyla kaydet su - teaspeak -c "echo -e 'passwd ${USER_PASS} ${USER_PASS}\nend' | /home/teaspeak/server/TeaSpeakServer" >/dev/null 2>&1 # Lisansı SQLite üzerinden Kâr Amacı Gütmeyen Lisans (NPL = 1) olarak ayarla DB_FILE="/home/teaspeak/server/TeaData.sqlite" if [ -f "$DB_FILE" ]; then sqlite3 "$DB_FILE" "INSERT OR REPLACE INTO properties (server_id, type, id, key, value) VALUES (1, 0, 0, 'virtualserver_license', '1');" fi # 8. Systemd Servisi Kurulumu echo -e "${YELLOW}[6/6] Arka plan servisi (systemd) ve güvenlik duvarı ayarlanıyor...${NC}" cat << 'SEOF' > /etc/systemd/system/teaspeak.service [Unit] Description=TeaSpeak Server Service After=network.target [Service] Type=forking User=teaspeak Group=teaspeak WorkingDirectory=/home/teaspeak/server ExecStart=/home/teaspeak/server/teastart.sh start ExecStop=/home/teaspeak/server/teastart.sh stop PIDFile=/home/teaspeak/server/tpid.pid Restart=always RestartSec=5 [Install] WantedBy=multi-user.target SEOF systemctl daemon-reload systemctl enable teaspeak >/dev/null 2>&1 systemctl restart teaspeak # Portları aç ufw allow 9987/udp comment "TS3 Voice" >/dev/null 2>&1 ufw allow 10101/tcp comment "TeaSpeak Query" >/dev/null 2>&1 ufw allow 30303/tcp comment "TeaSpeak File" >/dev/null 2>&1 # Sunucu IP Adresi SERVER_IP=$(curl -s ifconfig.me || hostname -I | awk '{print $1}') # Bilgileri Dosyaya Kaydet cat << YATQA_EOF > /home/teaspeak/server/YATQA_BILGILERI.txt ===================================================== AMORFBIL TEASPEAK BILGILERI ===================================================== Sunucu IP Adresi: ${SERVER_IP} Ses Portu (Voice): 9987 (UDP) --- YaTQA (ServerQuery) Giris Bilgileri --- IP Adresi: ${SERVER_IP} Query Portu: 10101 (TCP) Kullanici Adi: serveradmin Sifre: ${USER_PASS} Gorunum: Sürüm: AmorfBil on query Lisans: Kâr Amacı Gütmeyen Lisans ===================================================== YATQA_EOF chown teaspeak:teaspeak /home/teaspeak/server/YATQA_BILGILERI.txt # 9. Ekrana Bilgileri Yazdır clear echo -e "${GREEN}==================================================================${NC}" echo -e "${GREEN} KURULUM TAMAMLANDI - SUNUCUNUZ AKTIF VE BASLATILDI! ${NC}" echo -e "${GREEN}==================================================================${NC}" echo -e "${BLUE}Sunucu IP:${NC} ${YELLOW}${SERVER_IP}${NC}" echo -e "${BLUE}TeamSpeak 3 Giriş:${NC} ${YELLOW}${SERVER_IP}:9987${NC}" echo -e "${BLUE}Sürüm Görünümü:${NC} ${CYAN}AmorfBil on query${NC}" echo -e "${BLUE}Lisans Görünümü:${NC} ${CYAN}Kâr Amacı Gütmeyen Lisans${NC}" echo "" echo -e "${YELLOW}------------------- YATQA GİRİŞ BİLGİLERİ -------------------${NC}" echo -e " ${BLUE}IP Adresi:${NC} ${SERVER_IP}" echo -e " ${BLUE}Query Portu:${NC} ${GREEN}10101${NC} (Önemli: Standart 10011 yerine 10101)" echo -e " ${BLUE}Kullanıcı Adı:${NC} ${GREEN}serveradmin${NC}" echo -e " ${BLUE}Şifre:${NC} ${GREEN}${USER_PASS}${NC}" echo -e "${YELLOW}-------------------------------------------------------------${NC}" echo "" echo -e "${CYAN}Bu bilgiler ayrıca şu dosyaya kaydedildi:${NC}" echo -e "${YELLOW}/home/teaspeak/server/YATQA_BILGILERI.txt${NC}" echo -e "${GREEN}==================================================================${NC}" EOF chmod +x /root/kurulum.sh /root/kurulum.sh ---------------------------- Şifre Hattası Verirse Çözüm ---------------------------- # 1. İstediğiniz şifreyi buraya yazın (Örnek: Amorf123!): YENI_SIFRE="Amorf123!" # 2. Servisi durdur systemctl stop teaspeak # 3. Sanal terminal (PTY) açarak şifreyi TeaSpeak konsoluna işlet python3 -c " import os, pty, time pid, fd = pty.fork() if pid == 0: os.chdir('/home/teaspeak/server') os.execl('./teastart_minimal.sh', './teastart_minimal.sh') else: time.sleep(3) os.write(fd, b'passwd $YENI_SIFRE $YENI_SIFRE\n') time.sleep(1) os.write(b'end\n') time.sleep(1) os.close(fd) os.waitpid(pid, 0) print('\n[OK] YaTQA (serveradmin) şifresi başarıyla tanımlandı!') " # 4. Servisi tekrar başlat systemctl start teaspeak ---------------------- YATQA PORT DEĞİŞTİRME KODU (10011 YAPMA) # 1. Servisi durdur systemctl stop teaspeak # 2. config.yml dosyasındaki Query portunu 10101'den 10011'e çek sed -i 's/port: 10101/port: 10011/g' /home/teaspeak/server/config.yml # 3. Güvenlik duvarından (UFW) 10011 portuna izin ver ufw allow 10011/tcp >/dev/null 2>&1 # 4. Servisi tekrar başlat systemctl start teaspeak echo -e "\n\033[0;32m[TAMAMLANDI] Query portu 10011 olarak ayarlandı ve servis başlatıldı!\033[0m"