sunat-trustpositif

SUNAT TRUSTPOSITIF BY HARRY DS ALSYUNDAWY

Latest Version Maintenance Status License GitHub Issues GitHub Pull Requests Donate with PayPal Sponsor with GitHub GitHub Stars GitHub Forks GitHub Contributors

πŸ”– Release Terbaru

Sunat TrustPositif Versi 3.0 β€” 03 Juni 2026

Sunat TrustPositif Release v3.0 mempertahankan engine validasi dan karakter output dari v2.9, tetapi memperbarui sumber input domain menjadi multi-source melalui array TRUSTPOSITIF_URLS. Dengan perubahan ini, script tidak hanya bergantung pada satu URL KOMINFO_URL, tetapi dapat mengunduh beberapa sumber domain aktif, menggabungkannya, memvalidasi isinya, melakukan deduplikasi, lalu menghasilkan output final dengan proses yang sama.

Sunat TrustPositif v3.0:

Semua release bisa diunduh di:

https://github.com/alsyundawy/sunat-trustpositif/releases

πŸ” Apa Itu Sunat TrustPositif?

Sunat TrustPositif adalah script Bash untuk mengolah database domain TrustPositif/Komdigi menjadi daftar domain bersih dalam format plain text yang siap digunakan sebagai DNS blacklist, RPZ database, resolver blocklist, atau sumber filtering DNS.

Script ini dirancang untuk mengambil daftar domain dari database TrustPositif, membersihkan data mentah yang masih kotor, menyaring domain tidak valid, membuang entri IP, memvalidasi TLD resmi IANA, memangkas prefix/subdomain umum, menghapus duplikat, serta menghasilkan file domain yang lebih ringan, valid, rapi, dan siap dipakai pada sistem DNS filtering.

Database TrustPositif/Komdigi digunakan sebagai rujukan daftar blokir/penapisan domain dan URL dalam ekosistem pemblokiran konten di Indonesia. Sunat TrustPositif tidak menggantikan database tersebut, melainkan mengolahnya agar lebih optimal untuk kebutuhan teknis seperti DNS resolver, DNS blacklist, RPZ, dan wildcard domain blocking.


🎯 Fungsi Utama

Sunat TrustPositif berfungsi untuk:

- Mengunduh daftar domain TrustPositif/Komdigi secara otomatis.
- Membersihkan data mentah yang masih kotor, rusak, duplikat, atau tidak konsisten.
- Membuang alamat **IPv4**, **IPv6**, baris kosong, komentar, karakter ilegal, dan format invalid.
- Memvalidasi domain berdasarkan struktur domain yang benar dan daftar **TLD resmi IANA**.
- Melakukan **sunat/pemangkasan prefix umum** seperti `www.`, `mail.`,`rtp.`, `play.`, `1.`, `0.`, dan prefix lain yang tidak diperlukan.
- Menyaring domain yang tidak valid agar output hanya berisi domain yang layak dipakai.
- Menghapus duplikat agar hasil akhir lebih ringan dan efisien.
- Membuang domain tertentu dari daftar manual blacklist/cleanup internal.
- Menghasilkan file **plain text** bersih, satu domain per baris, siap digunakan sebagai database DNS blacklist/RPZ.

βš™οΈ Alur Pemrosesan

Download daftar domain TrustPositif/Komdigi dan sumber tambahan v3.0
β†’ gabungkan semua sumber aktif ke file raw gabungan
β†’ bersihkan data kotor
β†’ buang IPv4, IPv6, komentar, karakter ilegal, dan format invalid
β†’ validasi struktur domain
β†’ validasi TLD resmi IANA
β†’ sunat/pangkas prefix umum seperti www, mail, rtp , play dan lainnya
β†’ hapus duplikat
β†’ buang domain manual blacklist/cleanup
β†’ hasilkan file plain text domain bersih
β†’ siap digunakan sebagai DNS blacklist/RPZ/blocklist

Catatan penting:


Stargazers over time

Stargazers over time


🧹 Apa Yang Dimaksud β€œSunat” Domain?

Dalam project ini, istilah sunat berarti memangkas bagian domain atau subdomain yang tidak diperlukan agar daftar domain menjadi lebih bersih, ringkas, valid, dan efektif untuk kebutuhan DNS filtering, DNS blacklist, maupun RPZ.

Sunat domain dilakukan untuk mengurangi entri berulang, membuang format yang tidak layak pakai, menyederhanakan subdomain berlebihan, dan menghasilkan daftar domain yang lebih efisien ketika digunakan oleh DNS resolver.


βœ‚οΈ Contoh Pemangkasan Prefix Umum

Beberapa domain dari database TrustPositif/Komdigi dapat memiliki prefix umum yang sebenarnya tidak perlu disimpan sebagai entri terpisah.

Contoh:

www.example.com      β†’ example.com
mail.example.com     β†’ example.com
0.example.com        β†’ example.com
1.example.com        β†’ example.com

Dengan pemangkasan ini, domain menjadi lebih sederhana dan tidak menyimpan variasi hostname yang berulang.


🌐 Penyederhanaan Subdomain Berlebihan

Selain memangkas prefix umum seperti www, rtp, play dan mail, script juga dapat menyederhanakan domain yang memiliki terlalu banyak variasi subdomain.

Apabila satu domain utama memiliki lebih dari 10 variasi subdomain, maka subdomain tersebut dapat diringkas dengan mengambil domain utama sebagai target blokir.

Contoh daftar subdomain:

a.example.com
b.example.com
login.example.com
cdn.example.com
mail.example.com
track.example.com
api.example.com
static.example.com
img.example.com
video.example.com
promo.example.com

Dapat disederhanakan menjadi:

example.com

Tujuannya adalah agar pemblokiran menjadi lebih efektif, karena satu domain utama dapat mewakili banyak subdomain turunannya.


🎯 Tujuan Sunat Domain

Sunat domain bertujuan untuk:


πŸ“„ Format Output

Output utama dari Sunat TrustPositif adalah file plain text berisi daftar domain bersih.

Contoh output:

example.com
domainlain.net
situsblokir.id
sample-domain.org

Setiap baris berisi satu domain yang sudah diproses dan siap digunakan untuk kebutuhan DNS filtering.


βœ… Karakteristik Output

Output yang dihasilkan memiliki karakteristik berikut:


πŸ›‘οΈ Penggunaan Paling Efektif: Wildcard Domain Blocking

Penggunaan paling efektif dari hasil Sunat TrustPositif adalah dengan metode wildcard domain blocking pada DNS/RPZ.

Dengan wildcard blocking, satu domain utama dapat digunakan untuk memblokir domain tersebut beserta seluruh subdomain turunannya.

Contoh:

example.com
*.example.com

Artinya:

example.com              diblokir
www.example.com          diblokir
mail.example.com         diblokir
login.example.com        diblokir
cdn.login.example.com    diblokir

Metode ini lebih efektif dibanding hanya memblokir satu hostname tertentu, karena banyak situs menggunakan banyak subdomain untuk halaman login, CDN, tracking, mirror, redirect, API, media asset, atau domain turunan lainnya.


πŸš€ Ringkasan Singkat

Sunat TrustPositif mengolah database domain TrustPositif/Komdigi menjadi file plain text DNS blacklist/RPZ dengan cara mengunduh data, membersihkan entri kotor, membuang IP dan format invalid, memvalidasi TLD resmi IANA, memangkas prefix umum seperti www, rtp, play dan mail, menyederhanakan subdomain berlebihan menjadi domain utama apabila jumlah variasinya lebih dari 10 subdomain, menghapus duplikat, lalu menghasilkan daftar domain bersih yang siap digunakan untuk pemblokiran DNS berbasis wildcard domain.


πŸ‡¬πŸ‡§ Short English Description

Sunat TrustPositif is a Bash script that processes the TrustPositif/Komdigi domain database into a clean plain-text DNS blacklist/RPZ-ready blocklist by downloading the source list, cleaning dirty records, removing IPv4/IPv6 addresses and invalid formats, validating official IANA TLDs, trimming common prefixes such as www and mail, simplifying excessive subdomain variations into the main domain when a domain has more than 10 subdomain variants, deduplicating entries, and producing a clean domain list ready for wildcard-based DNS blocking.


Waktu Proses & Eksekusi

[INFO] Waktu Mulai: 24 May 2026 - 19:54:13

[INFO] Durasi Total: 50 detik

image


Anda dapat mengunduh dan mengeksekusi skrip instalasi secara otomatis dengan menggunakan salah satu perintah di bawah ini (silakan pilih salah satu, curl atau wget).

Sebelum eksekusi script pastikan perintah parallel ada atapun terinstall (Wajib!)

Menggunakan curl (Rekomendasi): πŸ“₯

curl -fsSL https://github.com/alsyundawy/sunat-trustpositif/raw/refs/heads/main/sunat-trustpositif.sh | bash

Menggunakan wget (Alternative): πŸ“₯

wget -qO- https://github.com/alsyundawy/sunat-trustpositif/raw/refs/heads/main/sunat-trustpositif.sh | bash

DOKUMENTASI LENGKAP DAN PANDUAN PENGGUNAAN

πŸ“Œ RINGKASAN PERBAIKAN DAN OPTIMASI SCRIPT

Script ini telah mengalami perbaikan dan optimasi menyeluruh untuk meningkatkan performa, keamanan, dan maintainability.

πŸš€ OPTIMASI PERFORMA

πŸ—οΈ ARSITEKTUR PEMROSESAN

  1. Phase Unduhan: Download TLD IANA & Database Kominfo dengan bypass SSL.
  2. Phase Splitting: Membagi file domain menjadi chunk kecil berdasarkan sumber daya sistem.
  3. Phase Parallel: Memproses setiap chunk secara bersamaan menggunakan mawk (validasi RFC & TLD).
  4. Phase Merging: Menggabungkan hasil, deduplikasi (sort -u), dan pembersihan manual.
  5. Phase Reporting: Menampilkan statistik detail dan penggunaan sumber daya akhir.

πŸ”’ PENINGKATAN KEAMANAN & RELIABILITAS

🧹 PEMBERSIHAN & MANAJEMEN RESOURCE

πŸ“Š PENINGKATAN MONITORING & LOGGING

πŸ“ DOKUMENTASI & MAINTAINABILITY

βž• FITUR TAMBAHAN


⚑ CARA PENGGUNAAN SCRIPT

πŸ”§ Penggunaan Dasar

bash sunat-trustpositif.sh

πŸ“Œ Opsi Command Line

bash sunat-trustpositif.sh --help           # Tampilkan bantuan lengkap
bash sunat-trustpositif.sh --version        # Tampilkan versi script
bash sunat-trustpositif.sh --status         # Cek status script berjalan
bash sunat-trustpositif.sh --force-cleanup  # Paksa bersihkan file temporary
bash sunat-trustpositif.sh --debug          # Mode debug untuk troubleshooting

Troubleshooting Umum

  1. Script terjebak/hang

    bash sunat-trustpositif.sh --force-cleanup
    

    Kemudian jalankan kembali normal.

  2. Error: β€œScript sudah berjalan”

    bash sunat-trustpositif.sh --status
    bash sunat-trustpositif.sh --force-cleanup
    bash sunat-trustpositif.sh
    
  3. Debugging/Troubleshoot

    bash sunat-trustpositif.sh --debug
    
  4. Memori tidak cukup

    • Script otomatis menyesuaikan chunk size.
    • Tingkatkan swap atau kurangi aplikasi lain.
  5. Download gagal

    • Script retry otomatis 3x dengan delay.
    • Periksa koneksi internet/firewall.
    • Gunakan --insecure (default aktif) untuk bypass sertifikat SSL yang bermasalah.
  6. I/O Bottleneck

    • Gunakan SSD untuk TEMP_DIR jika memproses >1M domain.
    • Pastikan RAM cukup agar sistem tidak melakukan berlebihan swap.

πŸ–₯️ INFORMASI SISTEM REQUIREMENTS

Minimum System Requirements

Required Packages

Install Dependencies

Ubuntu/Debian:

sudo apt update && sudo apt install -y curl mawk parallel coreutils procps

RHEL/CentOS/Fedora:

sudo dnf install -y curl gawk parallel coreutils procps-ng

βš™οΈ KONFIGURASI PERFORMA DAN TUNING

Automatic Performance Tuning

Script otomatis menyesuaikan konfigurasi berdasarkan:

Manual Tuning

readonly CHUNK_SIZE=15000
readonly NUM_CORES=$(nproc)
readonly OUTPUT_DIR="/path/to/dir"

Untuk v3.0, override yang lebih aman dilakukan dari environment saat menjalankan script:

NUM_CORES=8 CHUNK_SIZE=28000 SORT_BUFFER=50% bash sunat-trustpositif.sh

Mode collapse subdomain agresif tetap opsional:

CUT_SUBDOMAINS=1 bash sunat-trustpositif.sh

Performance Benchmarks

Sistem referensi: 8 core, 16GB RAM, SSD

Throughput

25.000 - 35.000 domain/detik

Dataset 1.5M

Selesai dalam 1.5 - 2.5 menit

Memori

Stabil di 300-600MB (constant profiling)

CPU

95-100% utilization di semua core yang dialokasikan


πŸ“‚ STRUKTUR OUTPUT DAN FILE HASIL

Output Utama

/var/www/html/trustpositif/sunat-trustpositif.txt

File Temporary

Log Output


πŸ” KEAMANAN DAN BEST PRACTICES

Security Measures

File Permissions

chmod 755 sunat-trustpositif.sh
chmod 755 /var/www/html/trustpositif/
chown user:group /var/www/html/trustpositif/

πŸ“‘ MONITORING DAN MAINTENANCE

Monitoring Real-time

Log Analysis

bash sunat-trustpositif.sh --debug 2>&1 | tee debug.log

Maintenance Tasks

Backup Strategy


FAQ DAN TROUBLESHOOTING LANJUTAN

Q: Script lambat? A: Cek koneksi, CPU/memory (htop), run --debug.

Q: Output kosong? A: Periksa log error, source download, permissions.

Q: Script crash? A: Jalankan --status, gunakan --force-cleanup, cek /var/log/syslog.

Q: Custom domain cleanup list? A: Edit DOMAINS_TO_CLEAN di script.

Q: Multiple instances? A: Tidak disarankan (single instance protection).


πŸ“Œ Catatan Perubahan dan Riwayat Versi


VERSI 3.0 β€” 03 Juni 2026 β€” Multi-Source Domain Input, Cron-Friendly Runtime & ShellCheck Cleanup


SELAMAT ULANG TAHUN WAHAI TAURUS MEI !!! πŸ₯³πŸ₯³πŸ₯³πŸ₯³

VERSI 2.9 β€” 24 Mei 2026 β€” Output-Compatible Optimization, AWK Fallback & Runtime Hardening


VERSI 2.8 β€” 26 Desember 2025 β€” Optimasi Komprehensif & Perbaikan ShellCheck


VERSI 2.7 β€” 23 November 2025 β€” Optimization & Fixes


VERSI 2.5 ( Agustus 2025 ) Penulisan Ulang Lengkap


VERSI 2.2 ( 22 Agustus 2025 ) Penulisan Ulang Lengkap


VERSI 1.8 ( 05 Juni 2025 ) Rilis Lanjutan


VERSI 1.0 β€” 07 April 2024 β€” Rilis Awal


πŸ“œ Kontribusi dan Hak Cipta

Hak Cipta Β© 2024–2025 HARRY DERTIN SUTISNA ALSYUNDAWY Script ini disediakan β€œSEBAGAIMANA ADANYA”. Penggunaan sepenuhnya menjadi risiko pengguna.

KONTRIBUSI DAN SUPPORT

Author: Harry Dertin Sutisna Alsyundawy Email: harry@alsyundawy.com GitHub: https://github.com/alsyundawy

Kontribusi

Support


Jika Anda merasa terbantu dan ingin mendukung proyek ini, pertimbangkan untuk berdonasi melalui https://www.paypal.me/alsyundawy. Terima kasih atas dukungannya! β˜•

Jika Anda merasa terbantu dan ingin mendukung proyek ini, pertimbangkan untuk berdonasi melalui QRIS. Terima kasih atas dukungannya! β˜•

image


Anda bebas untuk mengubah, mendistribusikan script ini untuk keperluan anda πŸ“

Jangan semangat, tetaplah putus asa.
Tetap mengeluh, walau tak ada yang merasa.

Ketika yang lain bisa,
kenapa harus saya?
Ketika yang lain tidak bisa,
apalagi saya.

Tetaplah hidup, meski kontribusi tak seberapa.
Tetaplah hadir, walau cuma jadi beban suasana.

Maju tak gentar, membela yang bayar.
Kalau gratisan, nanti dulu saudara.

Yoi…
Ya begitulah hidup: kadang absurd, kadang lapar, kadang pura-pura tegar. 🀣

✨ANDA MEMANG LUAR BIASA | HARRY DS ALSYUNDAWY | KAUM REBAHAN GARIS KERAS & MILITAN✨


Copyright (c) 2023-2026
Harry Dertin Sutisna Alsyundawy

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files...

Lisensi: MIT License


Perhatian, domain list hanya bisa digunakan untuk wilcard saja

Alt