This repository has been archived by the owner on Jan 9, 2025. It is now read-only.
Domain Scanner #27
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Domain Scanner | |
on: | |
workflow_dispatch: | |
jobs: | |
scan_domains: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v2 | |
- name: Install Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y curl unzip wget | |
curl -LO https://github.com/findomain/findomain/releases/latest/download/findomain-linux.zip | |
unzip findomain-linux.zip | |
chmod +x findomain | |
sudo mv findomain /usr/bin/findomain | |
wget https://raw.githubusercontent.com/bebasid/bebasid/master/dev/scripts/scan.py | |
echo "INSTALLATION DONE - ALL SET" | |
- name: Run Findomain | |
run: | | |
findomain -f domainlist -r -u subdomainlist --rate-limit 1 --lightweight-threads 1000 --tcp-connect-threads 1000 --exclude-sources crtsh --no-wildcards | |
- name: Sort Subdomains | |
run: | | |
python - <<EOF | |
with open("subdomainlist", "r") as file: | |
lines = file.readlines() | |
domain_dict = {} | |
for line in lines: | |
subdomain = line.strip() | |
domain = subdomain.split(".")[-2] + "." + subdomain.split(".")[-1] | |
if domain not in domain_dict: | |
domain_dict[domain] = [] | |
domain_dict[domain].append(subdomain) | |
for domain in domain_dict: | |
domain_dict[domain].sort(key=len) | |
sorted_subdomains = [] | |
for domain in sorted(domain_dict.keys()): | |
sorted_subdomains.extend(domain_dict[domain]) | |
with open("subdomainlist_sorted", "w") as file: | |
file.write("\n".join(sorted_subdomains)) | |
EOF | |
- name: Separate Domains/Subdomains | |
run: | | |
python - <<EOF | |
with open("subdomainlist_sorted", "r") as file: | |
subdomains = file.read().splitlines() | |
single_dot_subdomains = [] | |
multi_dot_subdomains = [] | |
for subdomain in subdomains: | |
if subdomain.count(".") == 1: | |
single_dot_subdomains.append(subdomain) | |
else: | |
multi_dot_subdomains.append(subdomain) | |
with open("sdsubdomains", "w") as file: | |
file.write("\n".join(single_dot_subdomains)) | |
with open("mdsubdomains", "w") as file: | |
file.write("\n".join(multi_dot_subdomains)) | |
print("Subdomain dengan satu titik telah disimpan dalam file sdsubdomains") | |
print("Subdomain dengan lebih dari satu titik telah disimpan dalam file mdsubdomains") | |
EOF | |
- name: Remove Similar Domains/Subdomains | |
run: | | |
python - <<EOF | |
def remove_similar_single_dot(single_dot, multi_dot): | |
for multi in multi_dot[:]: | |
for single in single_dot: | |
if single in multi: | |
multi_dot.remove(multi) | |
break | |
return multi_dot | |
with open("sdsubdomains", "r") as file: | |
single_dot_subdomains = file.read().splitlines() | |
with open("mdsubdomains", "r") as file: | |
multi_dot_subdomains = file.read().splitlines() | |
updated_multi_dot_subdomains = remove_similar_single_dot(single_dot_subdomains, multi_dot_subdomains) | |
with open("updated_mdsubdomains", "w") as file: | |
file.write("\n".join(updated_multi_dot_subdomains)) | |
print("Subdomain dengan satu titik yang mirip dengan subdomain dengan lebih dari satu titik telah dihapus.") | |
print("Hasil telah disimpan dalam file updated_mdsubdomains") | |
EOF | |
- name: Filter Subdomains | |
run: | | |
python - <<EOF | |
import re | |
with open("updated_mdsubdomains", "r") as file: | |
updated_multi_dot_subdomains = file.read().splitlines() | |
def extract_domain(subdomain): | |
match = re.search(r'\w+\.\w+$', subdomain) | |
if match: | |
return match.group() | |
else: | |
return subdomain | |
domains = [extract_domain(subdomain) for subdomain in updated_multi_dot_subdomains] | |
unique_domains = list(set(domains)) | |
with open("usubdomains", "w") as file: | |
file.write("\n".join(unique_domains)) | |
print("Domain telah diambil dari subdomain dan disimpan dalam file usubdomains.") | |
EOF | |
- name: Merge Subdomains | |
run: | | |
python - <<EOF | |
with open("usubdomains", "r") as file: | |
unique_domains = file.read().splitlines() | |
with open("subdomainlist_sorted", "r") as file: | |
subdomains = file.read().splitlines() | |
subdomains.extend(unique_domains) | |
with open("subdomainlist_sorted", "w") as file: | |
file.write("\n".join(subdomains)) | |
print("Domain dari usubdomains telah ditambahkan ke file subdomainlist_sorted di bagian paling bawah.") | |
EOF | |
- name: Resort Subdomains | |
run: | | |
python - <<EOF | |
with open("subdomainlist_sorted", "r") as file: | |
lines = file.readlines() | |
domain_dict = {} | |
for line in lines: | |
subdomain = line.strip() | |
domain = subdomain.split(".")[-2] + "." + subdomain.split(".")[-1] | |
if domain not in domain_dict: | |
domain_dict[domain] = [] | |
domain_dict[domain].append(subdomain) | |
for domain in domain_dict: | |
domain_dict[domain].sort(key=len) | |
sorted_subdomains = [] | |
for domain in sorted(domain_dict.keys()): | |
sorted_subdomains.extend(domain_dict[domain]) | |
with open("subdomainlist_resorted", "w") as file: | |
file.write("\n".join(sorted_subdomains)) | |
EOF | |
- name: Run Scan | |
run: | | |
python scan.py subdomainlist_resorted | |
echo | |
echo "Result Lists:" | |
cat hosts-subdomainlist_resorted | |
- name: Release hosts | |
run: | | |
mv hosts-subdomainlist_resorted hosts | |
sudo sed -i '1d' hosts | |
- name: Add Template | |
run: | | |
sudo cat > temp_hosts <<EOF | |
# BEBASID - Peduli Internet Netral | |
# Situs resmi kami: https://bebasid.com/ | |
# Hosts ditulis oleh Komunitas Internet Netral Indonesia | |
# Dengan mengunduh BEBASID dan menggunakan aplikasi ini berarti menerima dan setuju untuk terikat dan mematuhi ketentuan yang berada di dalam halaman berikut: https://github.com/bebasid/bebasid/blob/master/dev/readme/RULES.md | |
# [PEMBERITAHUAN SEBELUM MENGGUNAKAN HOSTS] | |
# Untuk Wi-Fi / Provider (ISP) yang memakai Inspeksi Paket Dalam (DPI), harap gunakan BebasIT / BebasID IT sebelum menggunakan hosts kami | |
# Ciri-ciri ISP menggunakan DPI: | |
# - "lamanlabuh.aduankonten.id": Mengeluarkan halaman yang dialihkan jika menggunakan Protokol HTTP | |
# - Sedangkan "ERR_CONNECTION_RESET / PR_CONNECT_RESET_ERROR": Mengeluarkan halaman yang dialihkan jika menggunakan Protokol HTTPS | |
# Lihat penjelasan lengkap tentang DPI sebagai berikut: https://github.com/bebasid/bebasdns/blob/main/dev/readme/learnmore.md | |
# Untuk tutorial cara melewati/bypass DPI atau Lamanlabuh, silahkan ke link https://github.com/bebasid/bebasit | |
# Sebagai info lebih lanjut, silahkan baca ke https://github.com/bebasid/kominfudge untuk memahami ISP segala sesuatu yang sudah menggunakan fitur DPI | |
# Optional | |
# Hapus '#' untuk mengaplikasikan secara manual atau gunakan ekstensi untuk mengaplikasikan secara otomatis | |
# Matikan fitur SafeSearch Google dan Youtube | |
# 142.250.4.113 google.com | |
# 74.125.68.147 www.google.com | |
# 142.250.4.113 google.co.id | |
# 74.125.68.147 www.google.co.id | |
# 172.253.118.93 www.youtube.com | |
# 127.0.0.1 forcesafesearch.google.com | |
# 127.0.0.1 restrict.youtube.com | |
# localhost | |
# [MacOS localhost] | |
# 127.0.0.1 localhost | |
# 255.255.255.255 broadcasthost | |
# ::1 localhost | |
# fe80::1%lo0 localhost | |
# [Linux localhost] | |
# 127.0.0.1 localhost SystemName | |
# ::1 localhost ip6-localhost ip6-loopback | |
# fe00::0 ip6-localnet | |
# ff00::0 ip6-mcastprefix | |
# ff02::1 ip6-allnodes | |
# ff02::2 ip6-allrouters | |
# [Android localhost] | |
# 127.0.0.1 localhost | |
# ::1 ip6-localhost | |
# [Windows localhost] | |
# DoH / DNS | |
# Blokir Pelacak | |
## Kominfo Lamanlabuh: | |
147.139.211.126 lamanlabuh.aduankonten.id | |
## ISPs: | |
### [Telkomsel/Indihome] | |
127.0.0.1 a01.uadexchange.com | |
127.0.0.1 a02.uadexchange.com | |
127.0.0.1 a03.uadexchange.com | |
127.0.0.1 a04.uadexchange.com | |
127.0.0.1 a05.uadexchange.com | |
127.0.0.1 cfs.u-ad.info | |
127.0.0.1 cfs.uzone.id | |
127.0.0.1 cfs2.uadexchange.com | |
127.0.0.1 cfs2.uzone.id | |
127.0.0.1 csf.uzone.id | |
127.0.0.1 d01.notifa.info | |
127.0.0.1 d31qbv1cthcecs.cloudfront.net | |
127.0.0.1 d5nxst8fruw4z.cloudfront.net | |
127.0.0.1 das.uadexchange.com | |
127.0.0.1 digiads.co.id | |
127.0.0.1 digilife.uzone.id | |
127.0.0.1 expose.uzone.id | |
127.0.0.1 food.uzone.id | |
127.0.0.1 js.digiads.co.id | |
127.0.0.1 kendedes.uzone.id | |
127.0.0.1 news.uzone.id | |
127.0.0.1 notifa.info | |
127.0.0.1 p01.notifa.info | |
127.0.0.1 p02.notifa.info | |
127.0.0.1 p03.notifa.info | |
127.0.0.1 p04.notifa.info | |
127.0.0.1 p05.notifa.info | |
127.0.0.1 terbaru.uzone.id | |
127.0.0.1 terpopuler.uzone.id | |
127.0.0.1 u-ad.info | |
127.0.0.1 uadexchange.com | |
127.0.0.1 upoint.id | |
127.0.0.1 usearch.co.id | |
127.0.0.1 v3.mercusuar.uzone.id | |
127.0.0.1 welcome.indihome.co.id | |
127.0.0.1 www.digiads.co.id | |
127.0.0.1 www.notifa.info | |
127.0.0.1 www.u-ad.info | |
127.0.0.1 www.uadexchange.com | |
127.0.0.1 www.upoint.id | |
127.0.0.1 www.usearch.co.id | |
127.0.0.1 www.x-tags.net | |
127.0.0.1 x-tags.net | |
127.0.0.1 ads.telkomsel.com | |
147.139.211.126 mercusuar.uzone.id | |
147.139.211.126 block.uzone.id | |
147.139.211.126 internetpositif.uzone.id | |
147.139.211.126 v3.mercusuar.uzone.id | |
147.139.211.126 36.86.63.185 | |
### [Firstmedia] | |
127.0.0.1 fm1.firstmedia.com | |
### [XL/Fiber/Liveon/Lite] | |
127.0.0.1 ibnads.xl.co.id | |
### [Indosat/Hifi] | |
127.0.0.1 ads.indosatooredoo.com | |
147.139.211.126 netsafe.indosatm2.com | |
### [MyRepublic] | |
147.139.211.126 158.140.186.3 | |
### [CBN] | |
147.139.211.126 210.210.178.70 | |
### [Biznet Home/Metronet] | |
147.139.211.126 202.169.44.80 | |
# [CCStopper] | |
# 127.0.0.1 52.22.41.97 | |
# 127.0.0.1 50.16.47.176 | |
# 127.0.0.1 23.58.223.185 | |
# 127.0.0.1 23.58.223.210 | |
# 127.0.0.1 3.211.174.17 | |
# 127.0.0.1 3.233.129.217 | |
# 127.0.0.1 192.147.130.100 | |
# 127.0.0.1 52.48.8.54 | |
# 127.0.0.1 34.193.227.236 | |
# 127.0.0.1 52.5.13.197 | |
# 127.0.0.1 52.202.204.11 | |
# 127.0.0.1 54.144.73.197 | |
# 127.0.0.1 54.227.187.23 | |
# 127.0.0.1 107.22.247.231 | |
# 127.0.0.1 34.237.241.83 | |
# 127.0.0.1 18.213.11.84 | |
# 127.0.0.1 54.224.241.105 | |
# 127.0.0.1 52.6.155.20 | |
# 127.0.0.1 3.219.243.226 | |
# 127.0.0.1 cc-api-data.adobe.io | |
# 127.0.0.1 pojvrj7ho5.adobe.io | |
# 127.0.0.1 m59b4msyph.adobe.io | |
# 127.0.0.1 7g2gzgk9g1.adobe.io | |
# 127.0.0.1 ic.adobe.io | |
# Aturan: | |
# Format penulisan satu ip dan satu domain/subdomain dalam satu baris. | |
# [IP][Spasi][Domain/Subdomain/IP] | |
# Mulai hosts bebasid | |
EOF | |
sudo cat hosts >> temp_hosts | |
sudo mv temp_hosts hosts | |
- name: Commit changes | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "zksbot" | |
git add hosts | |
git commit -m "Compile hosts" | |
- name: Push changes | |
uses: ad-m/github-push-action@master | |
with: | |
github_token: ${{ secrets.UPDATE_TOKEN }} |