Projek Web senilai 2M (Makasih Mid) terbaru yang saya dapat, membutuhkan sebuah fitur kontrol akses untuk halaman web statis. Iya kamu tepat sekali, awalnya saya juga mikir “gile lu ndro”. Tapi setelah keliling google ternyata memang memungkinkan. Sayangnya saya belum menjumpai solusi gratis (dan simpel). Jangan lupa ini adalah projek non profit!
Saya pun berkelana lebih jauh dan akhirnya ketemu jalan keluar yang cukup mudah dan gratis tentunya. Yaitu dengan enkripsi html menggunakan staticrypt.
Alur prosesnya yaitu Github
- Netlify
- Hugo
- Staticrypt
secara kontinu, jadi setiap melakukan perubahan di Repo Github, web akan otomatis dibangun serta dienkripsi.
Caranya?
- Tambahkan sebuah skrip
shell
di folder repo web. Misalcrypt.sh
:
#!/usr/bin/env bash
set -e
npm install -g https://github.com/Embraser01/staticrypt
find ./public -type f -name "*.html" -exec staticrypt -i "kecapakses" {} kecapakses -o {} \;
- Kemudian atur
netlify.toml
agar memanggil skrip kita tadi selesai build halaman statis.
[build]
publish = "public"
command = "hugo && sh ./crypt.sh"
[build.environment]
HUGO_VERSION = "0.67.0"
Contoh
-
Demo : https://rahasia.ahmadiham.id
-
Catatan : Jangan simpan password di repo public seperti contoh ini ya.. (atau gunakan Netlify environment variables)