1
Ringkasan Proyek BebasID
BebasID adalah proyek hosts file: satu daftar pasangan alamat IP dan hostname yang dipasang ke hosts file sistem operasi, sehingga halaman situs yang diblokir dapat dibuka kembali tanpa mengubah konfigurasi DNS. README.md:921
Proyek ini dikelola Komunitas Internet Netral Indonesia sebagai wadah pembelajaran tentang seluk beluk jaringan, ditandai rilis tahun 2019, dan hak ciptanya dipegang komunitas tersebut dengan lisensi MIT. README.md:292 LICENSE:1-3 dev/readme/RULES.md:43
Data inti: pemetaan hostname ke IP
releases/hosts adalah sumber data tunggal proyek. Satu baris memuat satu pemetaan berbentuk IP hostname, misalnya 103.87.68.198 lamanlabuh.aduankonten.id pada kelompok Kominfo Lamanlabuh dan 127.0.0.1 a01.uadexchange.com pada kelompok ISP. releases/hosts:52-56
Kepala berkas memuat pemberitahuan sebelum pemakaian, termasuk tautan syarat dan ketentuan serta peringatan bahwa ISP pengguna DPI perlu menangani DPI lebih dulu. releases/hosts:1-4
Peta komponen
Ada dua jenis konsumen untuk berkas yang sama: CLI untuk Linux dan macOS, serta paket installer untuk Windows dan Android. Diagram berikut memetakan jalur data dari issue sampai hosts file sistem operasi.
graph TD
issue["Issue domain baru"] --> req[".github/workflows/request.yml"]
req --> dl["dev/domainlist"]
req --> scan["dev/scripts/scan.py"]
scan --> hosts["releases/hosts"]
bug[".github/workflows/bug.yml"] --> hosts
hosts --> sh["releases/bebasid.sh"]
hosts --> ps1["releases/bebasid.ps1"]
hosts --> pkg["BebasHosts Portable.zip"]
hosts --> magisk["releases/bebasid-magisk.zip"]
sh --> nix["/etc/hosts"]
ps1 --> win["Windows hosts file"]
style hosts fill:#336791,color:#fff
style nix fill:#336791,color:#fff
style win fill:#336791,color:#fff
style scan fill:#8b5cf6,color:#fff
style dl fill:#f59e0b,color:#000
style sh fill:#2d7d46,color:#fff
style ps1 fill:#2d7d46,color:#fff
style pkg fill:#2d7d46,color:#fff
style magisk fill:#2d7d46,color:#fff
style bug fill:#dc2626,color:#fff
%% fig: Peta komponen BebasID dari issue sampai hosts file
%% desc: Issue domain masuk ke workflow, discan menjadi baris di releases/hosts, lalu dipasang ke hosts file sistem oleh CLI dan paket installer; workflow bug.yml menghapus baris domain.releases/hosts menjadi satu-satunya titik temu kedua jalur. Di sisi masukan, .github/workflows/request.yml mengambil domain dari body issue, menambahkan domain itu ke dev/domainlist, menjalankan scan.py atas hasil sorting subdomain, lalu menambahkan baris hasilnya ke releases/hosts dan membuat commit. .github/workflows/request.yml:198-2244 Sebelum itu workflow memeriksa duplikat terhadap dev/domainlist dan menutup issue duplikat. .github/workflows/request.yml:23-325 Di sisi koreksi, .github/workflows/bug.yml menghapus baris domain dari releases/hosts dengan sed. .github/workflows/bug.yml:23-266
dev/domainlist sendiri berupa daftar hostname polos, satu nama per baris, tanpa alamat IP. dev/domainlist:1-3
Tabel berikut memuat komponen yang menempel pada berkas data tersebut.
| Komponen | Berkas | Peran | Rujukan |
|---|---|---|---|
| Data hosts | releases/hosts | daftar pasangan IP dan hostname yang dipasang ke sistem | releases/hosts:52-56 |
| CLI Linux dan macOS | releases/bebasid.sh | perintah menu, hosts install/update/remove, block, unblock, localhost, tunnel | releases/bebasid.sh:73-1077 |
| Installer Windows | releases/bebasid.ps1 | mengambil $hostsUrl lalu menulis ke $destPath (C:\Windows\System32\drivers\etc\hosts) | releases/bebasid.ps1:9-138 |
| Paket portabel Windows | releases/BebasHosts Portable.zip | .Host-Update.bat memasang hosts BebasID, .Host-Reset.bat mengembalikan hosts bawaan | README.md:110-1139 |
| Jalur Android | releases/bebasid-magisk.zip | pemasangan lewat Magisk; panduan resmi memakai modul bindhosts | README.md:133-13610 |
| Daftar masukan | dev/domainlist | kumpulan hostname yang diproses menjadi baris hosts | dev/domainlist:1-3 |
⚠️ Installer menulis langsung ke hosts file sistem.
bebasid.ps1menyimpan salinan ke$env:TEMPsebelum menimpa$destPath, sedangkan pemasangan manual di Linux dan macOS menimpa/etc/hostssepenuhnya, sehingga entrilocalhostbawaan perlu dipulihkan sendiri. releases/bebasid.ps1:9-138
Batas proyek
BebasID hanya menangani pemetaan lewat hosts file. Untuk ISP yang memakai DPI, README mengarahkan pembaca ke BebasIT, dan untuk versi DNS atau DoH/DoT pembaca diarahkan ke BebasDNS. README.md:158-15911 Permintaan menambahkan situs judi online ditolak karena proyek ini menyasar netralitas internet. README.md:7512 Ketentuan menyebut pemakaian proyek hanya untuk riset, pengujian, dan pengembangan. dev/readme/RULES.md:13-1413
Cara membaca dokumentasi ini
- Arsitektur Repositori memerinci peran direktori
releases,dev, dan.github. - Modul
releases: CLI dan Berkas Hosts membahas setiap berkas yang dapat dipasang. - Modul
devdan Otomasi GitHub Actions membahas skrip pemindaian dan workflow. - Cara Kerja Hosts File menjelaskan mengapa satu baris
IP hostnamemengubah hasil resolusi nama. - Instalasi di Windows, Instalasi di Linux dan macOS, serta Instalasi di Android dan Modul Magisk memuat langkah pemasangan per platform.
- Referensi Perintah CLI
bebasidmendaftar seluruh perintahbebasid.shbeserta opsinya. - Pipeline Domain dan Otomasi Issue menguraikan alur issue sampai commit hosts.
- Kontribusi dan Konvensi Commit serta FAQ, Ketentuan, dan Lisensi melengkapi aturan proyek.