ppek

setRDP

Apr 12th, 2025 (edited)
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.65 KB | None | 0 0
  1. #!/bin/bash
  2. set -e  # Keluar segera jika perintah keluar dengan status non-zero
  3.  
  4. # Mendefinisikan variabel warna
  5. MERAH='\e[31m'
  6. HIJAU='\e[32m'
  7. KUNING='\e[33m'
  8. BIRU='\e[34m'
  9. NC='\e[0m' # Tidak ada warna
  10.  
  11. # Memeriksa hak akses root
  12. if [ "$EUID" -ne 0 ]; then
  13.     echo -e "${MERAH}Skrip ini harus dijalankan sebagai root. Gunakan 'sudo' untuk mengeksekusinya.${NC}"
  14.     exit 1
  15. fi
  16.  
  17. # Fungsi untuk menampilkan informasi sistem
  18. tampilkan_informasi_sistem() {
  19.     # Menampilkan informasi sistem menggunakan perintah sistem
  20.     os=$(uname -o)
  21.     cpu=$(nproc)
  22.     ram=$(free -h | grep Mem | awk '{print $3 "/" $2}')
  23.     uptime=$(uptime -p)
  24.     date=$(date "+%a, %d %b %Y %H:%M:%S WIB")
  25.     ipv4=$(curl -s https://ipinfo.io/ip)  # Mendapatkan IP IPv4
  26.     ipv6=$(curl -s https://api64.ipify.org)  # Mendapatkan IP IPv6
  27.  
  28.     isp=$(curl -s https://ipinfo.io/org)
  29.     city=$(curl -s https://ipinfo.io/city)
  30.  
  31.     echo -e "${BIRU}**********************************************${NC}"
  32.     echo -e "${HIJAU}*              WELCOME TO AUTOSCRIPT         *${NC}"
  33.     echo -e "${BIRU}**********************************************${NC}"
  34.     echo -e "${KUNING} OS      : ${os}                             ${NC}"
  35.     echo -e "${KUNING} CPU     : ${cpu} Core(s)                    ${NC}"
  36.     echo -e "${KUNING} RAM     : ${ram}                            ${NC}"
  37.     echo -e "${KUNING} DATE    : ${date}                           ${NC}"
  38.     echo -e "${KUNING} UPTIME  : ${uptime}                        ${NC}"
  39.     echo -e "${KUNING} ISP     : ${isp}                           ${NC}"
  40.     echo -e "${KUNING} CITY    : ${city}                          ${NC}"
  41.  
  42.     if [ -n "$ipv4" ]; then
  43.         echo -e "${KUNING} IP VPS (IPv4)  : ${ipv4}                       ${NC}"
  44.     fi
  45.  
  46.     if [ -n "$ipv6" ]; then
  47.         echo -e "${KUNING} IP VPS (IPv6)  : ${ipv6}                       ${NC}"
  48.     fi
  49.  
  50.     echo -e "${BIRU}**********************************************${NC}"
  51. }
  52.  
  53. # Fungsi untuk memilih OS
  54. pilih_os() {
  55.     tampilkan_informasi_sistem
  56.  
  57.     while true; do
  58.         echo -e "${KUNING}1) Windows 2012${NC}"
  59.         echo -e "${KUNING}2) Windows 2016${NC}"
  60.         echo -e "${KUNING}3) Windows 2019${NC}"
  61.         echo -e "${KUNING}4) Windows 2022${NC}"
  62.         echo -e "${KUNING}5) Gunakan link ISO kustom${NC}"
  63.         read -p "Masukkan pilihan : " os_pilihan
  64.         if [[ "$os_pilihan" =~ ^[1-5]$ ]]; then
  65.             break
  66.         else
  67.             echo -e "${MERAH}Pilihan tidak valid. Harap masukkan nomor antara 1 dan 5.${NC}"
  68.         fi
  69.     done
  70.  
  71.     case "$os_pilihan" in
  72.         1)
  73.             img_url='https://www.dropbox.com/scl/fi/o4qtxtms0oi16pbaghlt6/w2012r2.gz?rlkey=d2dk9acg868b7mi0wzpfg30cx&st=jjxieok7&dl=1'
  74.             ;;
  75.         2)
  76.             img_url='joko/win2016.gz'
  77.             ;;
  78.         3)
  79.             img_url='joko/win2019.gz'
  80.             ;;
  81.         4)
  82.             img_url='joko/win2022.gz'
  83.             ;;
  84.         5)
  85.             while true; do
  86.                 read -p "Masukkan URL ISO kustom Anda: " custom_url
  87.                 # Validasi URL (memeriksa apakah URL dimulai dengan http atau https)
  88.                 if [[ "$custom_url" =~ ^https?:// ]]; then
  89.                     img_url=$custom_url
  90.                     break
  91.                 else
  92.                     echo -e "${MERAH}URL tidak valid. Pastikan URL dimulai dengan http:// atau https://.${NC}"
  93.                 fi
  94.             done
  95.             ;;
  96.         *)
  97.             echo -e "${MERAH}Pilihan tidak valid. Keluar.${NC}"
  98.             exit 1
  99.             ;;
  100.     esac
  101. }
  102.  
  103. # Fungsi untuk memasukkan password
  104. masukkan_password() {
  105.     default_password="Warning1@"
  106.     while true; do
  107.         echo -e "${HIJAU}Masukkan password RDP (tekan enter untuk default: ${default_password}):${NC}"
  108.         read -p "" user_password
  109.         password=${user_password:-$default_password}
  110.         break
  111.     done
  112. }
  113.  
  114. # Fungsi untuk memasukkan port RDP
  115. masukkan_port_rdp() {
  116.     default_port="6969"
  117.     while true; do
  118.         echo -e "${HIJAU}Masukkan port RDP (tekan enter untuk default: ${default_port}):${NC}"
  119.         read -p "" user_port
  120.         rdp_port=${user_port:-$default_port}
  121.  
  122.         # Validasi port (harus angka dan dalam rentang port yang valid)
  123.         if [[ "$rdp_port" =~ ^[0-9]+$ ]] && [ "$rdp_port" -ge 1024 ] && [ "$rdp_port" -le 65535 ]; then
  124.             break
  125.         else
  126.             echo -e "${MERAH}Port tidak valid. Harap masukkan nomor port antara 1024 dan 65535.${NC}"
  127.         fi
  128.     done
  129. }
  130.  
  131. # Mengunduh reinstall.sh
  132. unduh_script_reinstall() {
  133.     echo -e "${BIRU}Mengunduh reinstall.sh...${NC}"
  134.     if ! curl -# -O https://raw.githubusercontent.com/kripul/reinstall/main/reinstall.sh && ! wget --progress=bar:force -O reinstall.sh https://raw.githubusercontent.com/kripul/reinstall/main/reinstall.sh; then
  135.         echo -e "${MERAH}Gagal mengunduh reinstall.sh. Keluar.${NC}"
  136.         exit 1
  137.     fi
  138. }
  139.  
  140. # Menjalankan script reinstall
  141. jalankan_script_reinstall() {
  142.     echo -e "${HIJAU}Menjalankan script reinstall...${NC}"
  143.     bash reinstall.sh dd \
  144.          --rdp-port "$rdp_port" \
  145.          --password "$password" \
  146.          --img "$img_url"
  147. }
  148.  
  149. # Konfirmasi reboot
  150. konfirmasi_reboot() {
  151.     read -p "Apakah Anda yakin ingin reboot sekarang? (y/n): " konfirmasi_reboot
  152.     if [[ "$konfirmasi_reboot" == "y" || "$konfirmasi_reboot" == "Y" ]]; then
  153.         echo -e "${KUNING}Reboot dalam 5 detik...${NC}"
  154.         sleep 5
  155.         reboot
  156.     else
  157.         echo -e "${HIJAU}Reboot dibatalkan. Keluar.${NC}"
  158.         exit 0
  159.     fi
  160. }
  161.  
  162. # Logika utama skrip
  163. pilih_os
  164. masukkan_password
  165. masukkan_port_rdp
  166. unduh_script_reinstall
  167. jalankan_script_reinstall
  168. konfirmasi_reboot
  169.  
Add Comment
Please, Sign In to add comment