Hugo Dan Argo Tunnel Dalam Termux Bawa Blogmu Dalam Saku
Posted on
Mayoritas HP android selalu online 24 jam non stop layaknya server yang online terus-menerus. Sekarang, bayangkan seandainya kamu bisa jalanin hugo server
di HP mu. Kemudian kamu jalanin cloudflare argo tunnel
untuk ekspose hugo server tersebut ke internet 24 Jam non stop, keren ya.
Apakah memungkinkan? Sangat memungkinkan, mari kita cek:
- Kita butuh Hugo, ia ada di repo termux.
- Kita butuh Cloudflared, binary utk argo tunnel, ia tidak ada di repo termux, tapi kita bisa build binary-nya dengan mudah. Mereka menyediakan Makefile untuk build binary cloudflared.
- Kita butuh termux, silakan ambil dari repo fdroid.
- Kita tidak butuh root, mantap jiwa.
Ringkasan step by step setup Hugo dan cloudflared di termux
Pertama buka termux session 1
Kedua, install app yg dibutuhkan
$ pkg update
$ pkg upgrade
$ pkg install hugo vim golang wget curl git proot resolv-conf make debianutils
selanjutnya, bikin blog Hugo
$ hugo new site konvolusi.ml
$ cd konvolusi.ml
$ hugo server
...
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
Akan muncul URL untuk akses blog yang barusan dibuat, default ada di http://localhost:1313/, bisa diakses dari browser HP.
Ketiga, aku mau ekspose ke internet, aku butuh argo tunnel, maka aku compile cloudflared, buat session baru di termux sehingga sekarang ada session 1 yg jalanin hugo server
dan session 2 untuk setup Cloudflared, pada jendela session 2 termux jalankan:
$ cd ~
$ git clone https://github.com/cloudflare/cloudflared.git --depth=1
$ cd cloudflared
$ sed -i 's/linux/android/g' Makefile
$ make cloudflared
$ install cloudflared /data/data/com.termux/files/usr/bin
Keempat, setup Cloudflared
$ cloudflared tunnel login
$ cloudflared tunnel create konvolusi
Kita akan mendapatkan argo tunnel id dan lokasi sertifikat argo tunnel, selanjutnya bikin config yg aku sebut konvolusi.yml
credentials-file: /data/data/com.termux/files/home/.cloudflared/long-id.json
tunnel: long-id
ingress:
- hostname: konvolusi.ml
service: http://127.0.0.1:1313
- service: http_status:404
Next, bikin DNS record utk konvolusi.ml
$ cloudflared tunnel route dns long-id konvolusi.ml
Saatnya expose ke internet
$ proot -b $PREFIX/etc/resolv.conf:/etc/resolv.conf cloudflared tunnel --config konvolusi.yml run
Dengan demikian maka hugo server di hp bisa aku akses dari internet lewat https://konvolusi.ml
Apa yang kita jalankan di termux akan terus berjalan selama kita tidak kill termux.
Referensi:
- https://sumarsono.com/expose-local-lxd-container-ke-internet-pakai-cloudflare-argo-tunnel/
- https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation
- https://gist.github.com/Erisa/4015ae12211434b8f2f64ac1d731b830
- https://stackoverflow.com/a/63915298