Lompat ke konten
dokumentasi.id
Commit a70b2bb
v1
Star924

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:92

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:29 LICENSE:1-3 dev/readme/RULES.md:4

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.
Fig. 1: Peta komponen BebasID dari issue sampai hosts fileIssue 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-224 Sebelum itu workflow memeriksa duplikat terhadap dev/domainlist dan menutup issue duplikat. .github/workflows/request.yml:23-32 Di sisi koreksi, .github/workflows/bug.yml menghapus baris domain dari releases/hosts dengan sed. .github/workflows/bug.yml:23-26

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.

KomponenBerkasPeranRujukan
Data hostsreleases/hostsdaftar pasangan IP dan hostname yang dipasang ke sistemreleases/hosts:52-56
CLI Linux dan macOSreleases/bebasid.shperintah menu, hosts install/update/remove, block, unblock, localhost, tunnelreleases/bebasid.sh:73-107
Installer Windowsreleases/bebasid.ps1mengambil $hostsUrl lalu menulis ke $destPath (C:\Windows\System32\drivers\etc\hosts)releases/bebasid.ps1:9-13
Paket portabel Windowsreleases/BebasHosts Portable.zip.Host-Update.bat memasang hosts BebasID, .Host-Reset.bat mengembalikan hosts bawaanREADME.md:110-113
Jalur Androidreleases/bebasid-magisk.zippemasangan lewat Magisk; panduan resmi memakai modul bindhostsREADME.md:133-136
Daftar masukandev/domainlistkumpulan hostname yang diproses menjadi baris hostsdev/domainlist:1-3

⚠️ Installer menulis langsung ke hosts file sistem. bebasid.ps1 menyimpan salinan ke $env:TEMP sebelum menimpa $destPath, sedangkan pemasangan manual di Linux dan macOS menimpa /etc/hosts sepenuhnya, sehingga entri localhost bawaan perlu dipulihkan sendiri. releases/bebasid.ps1:9-13

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-159 Permintaan menambahkan situs judi online ditolak karena proyek ini menyasar netralitas internet. README.md:75 Ketentuan menyebut pemakaian proyek hanya untuk riset, pengujian, dan pengembangan. dev/readme/RULES.md:13-14

Cara membaca dokumentasi ini