Skip to content
This repository has been archived by the owner on Jan 9, 2025. It is now read-only.

Domain Scanner

Domain Scanner #27

Workflow file for this run

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 }}