2025.04.01 (Sel)
2025.04.02 (Rab) diperbarui

โœจ Ringkasan GPT ใ€€

Hari ketika arsitektur teknis dan desain keamanan untuk messenger berfokus keamanan bagi pembelot Korea Utara di China selesai disusun, lalu rencana pengembangan MVP berbasis Flutter Web + Node ditulis.

๐Ÿงฎ Secret Messenger

Ini adalah messenger untuk pengguna pembelot Korea Utara yang hidup di China tanpa kartu identitas resmi.

  • ๐Ÿ“ฑ Dapat diakses lewat browser tanpa instalasi
  • ๐Ÿ’ฌ Dapat menerima informasi, melakukan percakapan rahasia, dan berbagi file
  • ๐Ÿ›ก๏ธ Alat komunikasi berfokus keamanan berbasis Flutter Web

Proyek ini adalah eksperimen teknis untuk perlindungan hak asasi manusia dan dukungan bertahan hidup, bukan untuk tujuan politik. Tidak dibuat dengan asumsi distribusi publik atau pemanfaatan komersial. (๐Ÿ”’ Dikelola hanya sebagai GitHub Private Repo.)


๐Ÿ“Œ Gambaran Proyek

Item Isi
Pengguna Pembelot Korea Utara di China dengan literasi digital sangat rendah, dan ponselnya diawasi oleh aparat keamanan publik
Tujuan Berbagi informasi, chat rahasia, dan berbagi file secara aman
Bentuk Flutter Web SPA berbasis browser tanpa instalasi
Domain https://???.net (disamarkan sebagai UI kalkulator)
Strategi penyamaran UI Layar pertama terlihat seperti kalkulator โ†’ saat operasi tertentu dimasukkan, permintaan masuk dikirim ke server
Cara masuk Flutter Web mengirim entry key ke server lewat POST, lalu server menilai dan menerbitkan access token
Strategi keamanan kode Kondisi/logika sensitif tidak dimasukkan ke client; semua keputusan dibuat di sisi server
Prioritas fitur โ‘  Penerimaan informasi โ†’ โ‘ก Chat โ†’ โ‘ข Berbagi file

๐Ÿงช Proyek Eksperimen Vibe Coding

Pada saat yang sama, proyek ini adalah MVP untuk menguji kemungkinan penerapan nyata dan batas dari metode pengembangan bernama Vibe Coding.

  • Desain dan implementasi dilakukan dengan bahasa alami, dan sebagian besar pembuatan kode dibantu AI.
  • Pengguna berperan sebagai โ€œperancang/koordinatorโ€, bukan orang yang menulis kode secara langsung.
  • Tujuannya adalah menilai efisiensi dan faktor risiko pengembangan yang dipimpin AI di dunia nyata.

Melalui eksperimen ini, aku ingin menjelajahi masa depan cara pengembangan berbasis AI dan memverifikasi apakah mutunya bisa diterapkan pada proyek hak asasi manusia sungguhan.


โš™๏ธ Tech Stack

๐Ÿ”ท Frontend (Flutter Web)

  • Flutter 3.x (Web build)
  • Material 3 (optimal untuk penyamaran UI kalkulator)
  • go_router (transisi halaman dan konfigurasi jalur masuk tersembunyi)
  • Riverpod (manajemen state: UUID, sesi, dll.)
  • http (komunikasi REST API)

๐Ÿ” Strategi UI

  • Layar awal: TextField + grid tombol berbentuk kalkulator
  • Input operasi tertentu โ†’ dikirim ke server โ†’ jika valid, akses ke bagian internal diizinkan
  • Trigger atau logika masuk tidak disertakan di client

๐Ÿ”ท Backend (Node.js + Express)

  • Node.js 18+
  • Express.js (server REST API)
  • SQLite (DB lokal berbasis file)
  • Multer (upload file)
  • node-cron (scheduler penghapusan berbasis TTL)
  • Middleware keamanan seperti CORS, helmet, dan rate-limit

๐Ÿ“ API Utama

  • POST /check-trigger
    • Server memeriksa string yang dikirim
    • Jika cocok dengan kondisi trigger yang sudah didaftarkan, token sesi diterbitkan
  • GET /session/:id atau /inbox/:key
    • Hanya pengguna dengan session key yang diterbitkan server yang dapat mengakses fitur internal
  • POST /message, GET /messages
    • Menyimpan/mengambil pesan berbasis TTL
  • POST /upload, GET /file/:id
    • Mendukung upload file dan penghapusan otomatis

๐Ÿ”ท Infrastruktur / Deployment

  • Docker (menjamin konsistensi dan portabilitas lingkungan server)
  • Ubuntu 22.04 LTS (Vultr VPS)
  • Vultr VPS (region Hong Kong) โ€” untuk stabilitas akses dari China
  • Cloudflare (DNS proxy + SSL + penyamaran IP)
  • Domain: ???.net โ€” domain untuk penyamaran kalkulator

๐Ÿ” Strategi Keamanan

Item Penjelasan
Pemisahan kode Kode sensitif seperti logika masuk dan trigger hanya ada di server
Pembatasan peran Flutter Web Hanya merender UI dan mengirim input
Pemaksaan HTTPS Cloudflare + Letโ€™s Encrypt
Cloudflare proxy Menyembunyikan IP server dan membantu pertahanan DDoS
Pembatasan CORS Memblokir request dari domain di luar allowlist
Kebijakan no-cache Menerapkan header no-store pada semua respons
TTL pesan Penghapusan otomatis berdasarkan waktu pembuatan
TTL file File dihapus dalam waktu yang ditentukan setelah upload, diproses oleh node-cron
Pembatasan penyimpanan lokal Meminimalkan atau melarang penggunaan localStorage/cookie

๐Ÿ—‚๏ธ Daftar Fitur

Fitur Status Penjelasan
๐ŸงŠ UI penyamaran ๐ŸŸข Sedang diimplementasikan Disamarkan sebagai UI kalkulator, dengan kondisi masuk diterapkan lewat server
๐Ÿ“ฅ Penerimaan informasi ๐ŸŸข Sedang disiapkan Pengumuman admin (hanya baca)
๐Ÿ’ฌ Ruang chat ๐ŸŸก Direncanakan Chat grup anonim (berbasis TTL)
๐Ÿ“ Berbagi file ๐ŸŸก Direncanakan Berbagi file dengan penghapusan otomatis
๐Ÿ”ฅ Sistem penghapusan ๐ŸŸก Direncanakan Otomatisasi penghapusan TTL untuk pesan/file

๐Ÿš€ Roadmap Pengembangan

  • โš™๏ธ Mendesain struktur sistem dan model keamanan
  • ๐Ÿ“Œ Menetapkan tech stack + strategi penyamaran
  • ๐ŸŒ Membeli domain (???.net)
  • ๐Ÿ”จ Scaffold kalkulator Flutter Web
  • ๐Ÿ”จ Scaffold API Express + SQLite
  • ๐Ÿ” Membangun struktur pemrosesan entry key di server
  • ๐Ÿ“ฆ Docker + otomatisasi deployment
  • ๐ŸŒ Deployment VPS + integrasi Cloudflare
  • ๐Ÿงช Pengujian MVP
  • ๐ŸŽฏ Stabilisasi dan distribusi internal

๐Ÿ“„ Catatan

  • Jangan pernah commit kode atau informasi sensitif ke GitHub.
  • Kode Flutter untuk deployment masuk ke direktori build/, dan kode server dijalankan hanya di dalam container Docker.
  • Semua komunikasi API dienkripsi melalui HTTPS, dan data pengguna otomatis dibuang setelah pengaturan TTL.
  • Informasi sensitif seperti entry key kalkulator dan UUID pengguna tidak pernah dimasukkan ke frontend; semuanya diproses hanya berdasarkan private verification key di dalam server.
  • Pemeriksaan kondisi masuk dan identifikasi pengguna disusun sebagai logika verifikasi satu arah yang hanya dilakukan di sisi server, sehingga meski kode Flutter Web terekspos, informasi keamanan tidak terbuka ke luar.

๐Ÿ‘ค Catatan Developer

Proyek ini bukan sekadar aplikasi sederhana. Aku memulainya dengan kesadaran bahwa bagi sebagian orang, ini bisa menjadi alat bertahan hidup yang terhubung langsung dengan kehidupan.

Semoga teknologi tidak menjadi alat pengawasan, melainkan alat untuk kebebasan.


๐Ÿ’ญ Diary

Untuk apa aku hidup? Kekayaan dan kehormatan? Tidak. Hal-hal semacam itu sejak awal tidak layak menjadi tujuan. Semuanya hanya sarana.

Hidup seperti apa yang benar-benar kuinginkan? โ€ฆ Entahlah, aku belum bisa mendefinisikannya. Bagaimanapun, jelas bahwa hidup itu termasuk dalam kategori besar mengasihi Allah / mengasihi sesama.

Bagaimanapun juga, melihat proyek ini membuat jantungku berdebar dan memberiku rasa girang, rasanya hal seperti inilah yang paling ingin kulakukan sekarang.

Jadi, untuk saat ini, mulai dari ini dulu.

Tinggalkan komentar