Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- set -e # Keluar segera jika perintah keluar dengan status non-zero
- # Mendefinisikan variabel warna
- MERAH='\e[31m'
- HIJAU='\e[32m'
- KUNING='\e[33m'
- BIRU='\e[34m'
- NC='\e[0m' # Tidak ada warna
- # Memeriksa hak akses root
- if [ "$EUID" -ne 0 ]; then
- echo -e "${MERAH}Skrip ini harus dijalankan sebagai root. Gunakan 'sudo' untuk mengeksekusinya.${NC}"
- exit 1
- fi
- # Fungsi untuk menampilkan informasi sistem
- tampilkan_informasi_sistem() {
- # Menampilkan informasi sistem menggunakan perintah sistem
- os=$(uname -o)
- cpu=$(nproc)
- ram=$(free -h | grep Mem | awk '{print $3 "/" $2}')
- uptime=$(uptime -p)
- date=$(date "+%a, %d %b %Y %H:%M:%S WIB")
- ipv4=$(curl -s https://ipinfo.io/ip) # Mendapatkan IP IPv4
- ipv6=$(curl -s https://api64.ipify.org) # Mendapatkan IP IPv6
- isp=$(curl -s https://ipinfo.io/org)
- city=$(curl -s https://ipinfo.io/city)
- echo -e "${BIRU}**********************************************${NC}"
- echo -e "${HIJAU}* WELCOME TO AUTOSCRIPT *${NC}"
- echo -e "${BIRU}**********************************************${NC}"
- echo -e "${KUNING} OS : ${os} ${NC}"
- echo -e "${KUNING} CPU : ${cpu} Core(s) ${NC}"
- echo -e "${KUNING} RAM : ${ram} ${NC}"
- echo -e "${KUNING} DATE : ${date} ${NC}"
- echo -e "${KUNING} UPTIME : ${uptime} ${NC}"
- echo -e "${KUNING} ISP : ${isp} ${NC}"
- echo -e "${KUNING} CITY : ${city} ${NC}"
- if [ -n "$ipv4" ]; then
- echo -e "${KUNING} IP VPS (IPv4) : ${ipv4} ${NC}"
- fi
- if [ -n "$ipv6" ]; then
- echo -e "${KUNING} IP VPS (IPv6) : ${ipv6} ${NC}"
- fi
- echo -e "${BIRU}**********************************************${NC}"
- }
- # Fungsi untuk memilih OS
- pilih_os() {
- tampilkan_informasi_sistem
- while true; do
- echo -e "${KUNING}1) Windows 2012${NC}"
- echo -e "${KUNING}2) Windows 2016${NC}"
- echo -e "${KUNING}3) Windows 2019${NC}"
- echo -e "${KUNING}4) Windows 2022${NC}"
- echo -e "${KUNING}5) Gunakan link ISO kustom${NC}"
- read -p "Masukkan pilihan : " os_pilihan
- if [[ "$os_pilihan" =~ ^[1-5]$ ]]; then
- break
- else
- echo -e "${MERAH}Pilihan tidak valid. Harap masukkan nomor antara 1 dan 5.${NC}"
- fi
- done
- case "$os_pilihan" in
- 1)
- img_url='https://www.dropbox.com/scl/fi/o4qtxtms0oi16pbaghlt6/w2012r2.gz?rlkey=d2dk9acg868b7mi0wzpfg30cx&st=jjxieok7&dl=1'
- ;;
- 2)
- img_url='joko/win2016.gz'
- ;;
- 3)
- img_url='joko/win2019.gz'
- ;;
- 4)
- img_url='joko/win2022.gz'
- ;;
- 5)
- while true; do
- read -p "Masukkan URL ISO kustom Anda: " custom_url
- # Validasi URL (memeriksa apakah URL dimulai dengan http atau https)
- if [[ "$custom_url" =~ ^https?:// ]]; then
- img_url=$custom_url
- break
- else
- echo -e "${MERAH}URL tidak valid. Pastikan URL dimulai dengan http:// atau https://.${NC}"
- fi
- done
- ;;
- *)
- echo -e "${MERAH}Pilihan tidak valid. Keluar.${NC}"
- exit 1
- ;;
- esac
- }
- # Fungsi untuk memasukkan password
- masukkan_password() {
- default_password="Warning1@"
- while true; do
- echo -e "${HIJAU}Masukkan password RDP (tekan enter untuk default: ${default_password}):${NC}"
- read -p "" user_password
- password=${user_password:-$default_password}
- break
- done
- }
- # Fungsi untuk memasukkan port RDP
- masukkan_port_rdp() {
- default_port="6969"
- while true; do
- echo -e "${HIJAU}Masukkan port RDP (tekan enter untuk default: ${default_port}):${NC}"
- read -p "" user_port
- rdp_port=${user_port:-$default_port}
- # Validasi port (harus angka dan dalam rentang port yang valid)
- if [[ "$rdp_port" =~ ^[0-9]+$ ]] && [ "$rdp_port" -ge 1024 ] && [ "$rdp_port" -le 65535 ]; then
- break
- else
- echo -e "${MERAH}Port tidak valid. Harap masukkan nomor port antara 1024 dan 65535.${NC}"
- fi
- done
- }
- # Mengunduh reinstall.sh
- unduh_script_reinstall() {
- echo -e "${BIRU}Mengunduh reinstall.sh...${NC}"
- 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
- echo -e "${MERAH}Gagal mengunduh reinstall.sh. Keluar.${NC}"
- exit 1
- fi
- }
- # Menjalankan script reinstall
- jalankan_script_reinstall() {
- echo -e "${HIJAU}Menjalankan script reinstall...${NC}"
- bash reinstall.sh dd \
- --rdp-port "$rdp_port" \
- --password "$password" \
- --img "$img_url"
- }
- # Konfirmasi reboot
- konfirmasi_reboot() {
- read -p "Apakah Anda yakin ingin reboot sekarang? (y/n): " konfirmasi_reboot
- if [[ "$konfirmasi_reboot" == "y" || "$konfirmasi_reboot" == "Y" ]]; then
- echo -e "${KUNING}Reboot dalam 5 detik...${NC}"
- sleep 5
- reboot
- else
- echo -e "${HIJAU}Reboot dibatalkan. Keluar.${NC}"
- exit 0
- fi
- }
- # Logika utama skrip
- pilih_os
- masukkan_password
- masukkan_port_rdp
- unduh_script_reinstall
- jalankan_script_reinstall
- konfirmasi_reboot
Add Comment
Please, Sign In to add comment