-
Notifications
You must be signed in to change notification settings - Fork 3
/
domain_check_cf.sh
69 lines (53 loc) · 1.75 KB
/
domain_check_cf.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
# ANSI color codes
GREEN='\033[1;32m'
CYAN='\033[1;36m'
YELLOW='\033[1;33m'
RESET='\033[0m'
# Nama file yang berisi daftar domain
file_domain="list_domains.txt"
# Buat nama file untuk hasil
file_hasil="cf_domains.txt"
# Periksa apakah berkas output sudah ada
if [ ! -f "$file_hasil" ]; then
touch "$file_hasil"
else
rm "$file_hasil"
touch "$file_hasil"
fi
# Menghitung jumlah domain total dalam file
jumlah_domain=$(wc -l < "$file_domain")
jumlah_domain_yang_diproses=0
# Panjang progres bar
bar_length=50
# Judul
echo -e "${GREEN}=== Pencarian Domain Cloudflare ===${RESET}"
# Loop melalui setiap baris dalam file
while IFS= read -r domain; do
jumlah_domain_yang_diproses=$((jumlah_domain_yang_diproses + 1))
# Menghitung persentase sejauh mana proses telah berjalan
persentase_lengkap=$((jumlah_domain_yang_diproses * 100 / jumlah_domain))
# Menghitung panjang progres bar
bars="$(
for ((i=0; i<bar_length; i++)); do
if [[ $i -lt $((persentase_lengkap * bar_length / 100)) ]]; then
echo -n "█"
else
echo -n " "
fi
done
)"
# Gunakan perintah host untuk mencari informasi DNS tentang domain
host_output=$(host -t NS "$domain")
# Periksa apakah hasilnya mengandung "cloudflare"
if [[ $host_output == *cloudflare* ]]; then
# Jika iya, tambahkan domain ke berkas hasil
echo "$domain" >> "$file_hasil"
fi
# Membersihkan baris sebelum mencetak pesan status baru
tput cuu1
# Tampilkan pesan status dengan progres bar dan warna
echo -e "Proses: [${CYAN}$bars${RESET}] ${GREEN}$persentase_lengkap%${RESET}"
done < "$file_domain"
# Pesan penutup
echo -e "\n${YELLOW}Pencarian selesai. Hasilnya disimpan dalam $file_hasil${RESET}\n"