Dokumentasi ini ditujukan bagi para pengembang (developers) dan kontributor yang ingin memahami struktur kode, mengompilasi binary Respect langsung dari source code (clean build), serta memanfaatkan pipeline automasi CI/CD.
Sebelum melakukan kompilasi, pastikan lingkungan pengembangan Windows Anda telah memenuhi syarat berikut:
PATH.internal/mb132), sehingga tidak memerlukan compiler GCC/MinGW (CGO diaktifkan/dinonaktifkan tetap berfungsi).# Clone repositori Respect
git clone https://github.com/milio48/respect.git
cd respect
scripts/build.ps1Cara termudah dan paling konsisten untuk mengompilasi seluruh varian binary adalah menggunakan skrip otomasi PowerShell yang telah disediakan di folder scripts/:
# Menampilkan bantuan parameter skrip
Get-Help .\scripts\build.ps1 -Detailed
| Perintah PowerShell | Output Executable | Mode Engine | Deskripsi |
|---|---|---|---|
.\scripts\build.ps1 -Target modern |
dist/respect/respect.exe |
Slim (Dev) | Kompilasi kilat (~2 detik); menyalin blink.dll ke samping binary. |
.\scripts\build.ps1 -Target modern -Embed |
dist/respect/respect.exe |
Standalone Single-File | Engine Chromium 132 dikompresi ZSTD (level 19) dan ditanamkan ke dalam .exe (~31 MB). |
.\scripts\build.ps1 -Target lite |
dist/respect-lite/respect-lite.exe |
Slim (Dev) | Kompilasi binary ramping tanpa embed (~19 MB). |
.\scripts\build.ps1 -Target lite -Embed |
dist/respect-lite/respect-lite.exe |
Standalone Single-File | Engine Miniblink 49 dikompresi ZSTD (level 19) dan ditanamkan ke dalam .exe (~32 MB). |
.\scripts\build.ps1 -Target lite-x86 -Embed |
dist/respect-lite/respect-lite-x86.exe |
Standalone 32-bit | Engine Miniblink 49 x86 dikompresi ZSTD (~30 MB). |
.\scripts\build.ps1 -Target all -Embed |
Semua varian di atas + Demo Apps | Full Standalone | Membangun seluruh varian + demo-stress-testing.exe & demo-stress-testing_lite.exe untuk persiapan rilis resmi. |
build.ps1-Embed: Menanamkan engine web browser yang dikompresi ZSTD ke dalam file executable (menggunakan tag Go v132,embed132 untuk Modern dan slim,embed49 untuk Lite). Wajib untuk distribusi ke pengguna akhir agar berformat single-file mandiri.-BuildDemo: Membangun aplikasi demo dist/demo-stress-testing.exe dan dist/demo-stress-testing_lite.exe dengan payload suite stress-testing/ dan icon assets/respect-stress.ico. Otomatis aktif saat -Target all -Embed.-Version <string>: Menyuntikkan string nomor versi ke respect-app/internal/version.AppVersion (contoh: -Version 1.2.0). Jika diabaikan, nomor versi dibaca dari git tag aktif atau default dev.Jika Anda lebih memilih menjalankan perintah go build secara langsung dari terminal:
go build -tags "v132,embed132" -ldflags="-s -w -H windowsgui -X respect-app/internal/version.AppVersion=1.0.0" -o respect.exe .
# Hasil binary (~3.4 MB) membutuhkan blink.dll di folder yang sama
go build -tags v132 -ldflags="-s -w -H windowsgui" -o respect.exe .
# 1. Kompresi DLL engine ke assets/ (jika belum ada)
go run scripts/compress_dll.go lite
# 2. Build single-file 64-bit
$env:GOARCH = "amd64"
go build -tags "slim,embed49" -ldflags="-s -w -H windowsgui -X respect-app/internal/version.AppVersion=1.0.0" -o respect-lite.exe .
# 3. Build single-file 32-bit (x86)
$env:GOARCH = "386"
go build -tags "slim,embed49" -ldflags="-s -w -H windowsgui -X respect-app/internal/version.AppVersion=1.0.0" -o respect-lite-x86.exe .
$env:GOARCH = "amd64"
go build -tags slim -ldflags="-s -w -H windowsgui" -o respect-lite.exe .
Penjelasan Linker Flags (
-ldflags):
-s: Membuang simbol debug (symbol table).-w: Membuang informasi debugging DWARF (menghemat ~25% ukuran binary).-H windowsgui: Mengompilasi sebagai aplikasi GUI Windows (mencegah jendela Command Prompt hitam muncul saat aplikasi dibuka oleh user).-X: Menyuntikkan string variabel versi pada saat kompilasi (compile-time injection).
respect/
âââ .github/
â âââ workflows/
â âââ release.yml # Pipeline CI/CD GitHub Actions untuk rilis biner otomatis
âââ assets/
â âââ icon-full.png # Aset grafis dokumentasi (Modern)
â âââ icon-lite.png # Aset grafis dokumentasi (Lite)
â âââ respect-full.ico # Icon Windows PE resmi untuk Respect Modern
â âââ respect-lite.ico # Icon Windows PE resmi untuk Respect Lite
â âââ respect-stress.ico # Icon Windows PE resmi untuk Demo Stress Testing
â âââ blink.dll.zst # Engine Chromium 132 terkompresi ZSTD (~23.36 MB)
â âââ miniblink_49_x64.dll.zst # Engine Miniblink 49 x64 terkompresi ZSTD (~14.23 MB)
â âââ miniblink_49_x86.dll.zst # Engine Miniblink 49 x86 terkompresi ZSTD (~12.05 MB)
â âââ rcedit.exe # Utilitas stamping resource PE Win32 (embedded)
â âââ workflow-thumbnail.jpg # Banner alur kerja Respect
âââ docs/ # Dokumentasi Markdown resmi untuk GitHub Pages
â âââ index.md # Halaman utama / daftar isi dokumentasi
â âââ 1-panduan-penggunaan.md # Panduan GUI Builder & CLI lengkap
â âââ 2-perbandingan-edisi.md # Komparasi Modern vs Lite & 88 Standar Web
â âââ 3-arsitektur-virtual-host.md # Virtual Host in-memory & enkripsi V2
â âââ 4-lifecycle.md # Siklus hidup internal, thread loop & divergence
â âââ 5-panduan-pengembang.md # Dokumen panduan kompilasi ini
â âââ 6-kompatibilitas-dan-batasan-engine.md # Standar web, media native & batasan
âââ internal/
â âââ builder/ # Subsystem GUI Builder
â â âââ builder_v132.go # Adapter GUI untuk engine Chromium 132
â â âââ builder_v49.go # Adapter GUI untuk engine Miniblink 49
â â âââ static/ # Frontend Web Builder mandiri (HTML/CSS/JS)
â â âââ index.html # UI form, dialog folder/file, dual-channel IPC
â â âââ style.css # Desain glassmorphism & responsive layout
â âââ icon/
â â âââ icon.go # Ekstraksi dan injeksi icon PE via embedded rcedit
â âââ mb132/ # Wrapper murni Go untuk engine Chromium 132
â â âââ mb132.go # Syscall DLL loader, VEH crash handler, hooks
â âââ mb49/ # Manager engine terpusat Miniblink 49
â â âââ mb49.go # Inisialisasi, AppData cache & ZSTD decompression
â âââ payload/ # Engine Trailer Binary V1 & V2
â â âââ format.go # Header, Magic trailer, serialisasi
â â âââ reader.go # Pembacaan trailer payload runtime
â â âââ writer.go # Penulisan trailer payload, injeksi metadata
â âââ runtime/ # Subsystem Runner Aplikasi Mandiri
â â âââ runtime_v132.go # In-Memory Virtual Host & hook Chromium 132
â â âââ runtime_v49.go # Runner Miniblink 49
â âââ version/ # Sentralisasi versi aplikasi & engine
â âââ version_v132.go # Metadata versi Respect Modern
â âââ version_v49.go # Metadata versi Respect Lite
âââ scripts/
â âââ build.ps1 # Skrip utama kompilasi multi-target & demo apps
â âââ compress_dll.go # Utilitas kompresi ZSTD untuk Modern & Lite DLL
â âââ verify_cookies_and_zombie.ps1 # Skrip verifikasi isolasi sandbox & process leak
âââ stress-testing/ # Suite web diagnostik & stress testing browser resmi
â âââ index.html # Dashboard lab HUD & tabbed telemetry
â âââ worker.js # Web Worker untuk multithreaded compute benchmark
â âââ css/ # Styling dark cyberpunk telemetry
â âââ js/ # Modul fingerprint, apidump, capability, media, stress
âââ go.mod # Definisi modul Go
âââ go.sum # Checksum ketergantungan modul
âââ main.go # Entry point: CLI parser, trailer check, app routing
âââ README.md # Ringkasan cepat & panduan pengguna di root
Penerbitan rilis baru dikelola sepenuhnya secara otomatis oleh GitHub Actions melalui file .github/workflows/release.yml:
v* (contoh: v1.2.0):
git tag v1.2.0
git push origin v1.2.0
respect.exe, respect-lite.exe, dan respect-lite-x86.exe)..exe dan menjalankannya seketika.Sebelum mengirimkan Pull Request atau membuat rilis:
# 1. Jalankan Go vet untuk memeriksa validitas kode
go vet ./...
# 2. Uji kompilasi kedua edisi
.\scripts\build.ps1 -Target modern
.\scripts\build.ps1 -Target lite
# 3. Jalankan skrip verifikasi sandbox dan eliminasi zombie process
powershell -ExecutionPolicy Bypass -File .\scripts\verify_cookies_and_zombie.ps1
| ⎠ïļ Sebelumnya: 4. Lifecycle & Runtime Internal | Daftar Isi ð | Selanjutnya: 6. Kompatibilitas & Batasan Engine âĄïļ |