Blog Saya // Arsip Digital

Pikiran, proyek, dan catatan teknis

Tampilkan entri dengan tag: #md-blog Tampilkan semua ร—

Awalnya, pengaturan blog saya direncanakan sebagai proyek IPv6 murni melalui WireGuard, karena semuanya dijalankan di server rumah (omong-omong, Anda bisa mendapatkan alamat IPv6 gratis di route64.org). Untuk meningkatkan aksesibilitas, sekarang saya telah menambahkan proxy IPv4 eksternal (Terima kasih @Larvitz).

Namun, hal ini segera menimbulkan masalah SSL: Karena awalnya baik record A maupun AAAA berjalan melalui proxy, validasi Let's Encrypt di server saya gagal.

Solusi: โ€žIPv6-Hackโ€œ

Solusinya adalah dengan mengarahkan entri AAAA secara eksplisit langsung ke IP WireGuard server saya, alih-alih melewatkannya melalui proxy juga.

  • Domain: blog.burningboard.org
  • A-Record (Proxy): 194.28.98.217
  • AAAA-Record (Server): 2a11:6c7:f05:a8::2 (WireGuard)

Melalui entri AAAA langsung ke IP WireGuard saya ini, Let's Encrypt tetap dapat menjangkau server saya secara langsung via IPv6 (karena record AAAA diprioritaskan secara default) dan menerbitkan sertifikat SSL. Lalu lintas IPv4 diteruskan dari proxy ke saya dalam keadaan terenkripsi.

Konfigurasi Akhir

Agar komunikasi berjalan lancar, kami harus menyesuaikan server Caddy:

1. Di server saya (NixOS, blog.nix)

Agar IP pengunjung yang asli sampai dengan benar dan tidak tertimpa oleh IP proxy, proxy tersebut harus ditandai sebagai tepercaya (trusted):

services.caddy.globalConfig = ''
  servers {
      trusted_proxies static 2a06:9801:1c:1000::10
  }
'';

2. Di proxy eksternal (Caddy)

Agar proxy dapat menghubungi server saya dengan benar melalui HTTPS, ia harus menyertakan nama host (SNI):

reverse_proxy [https://[2a11:6c7:f05:a8::2]:443](https://[2a11:6c7:f05:a8::2]:443) {
    header_up Host {host}
    transport http {
        tls_server_name blog.burningboard.org
    }
}

Blog sekarang dapat diakses melalui IPv4 dan IPv6, terenkripsi dengan aman, dan IP rumah saya tetap terjaga privasinya! ๐Ÿš€

Hal terpenting terlebih dahulu: File Markdown yang biasa tetap menjadi dasarnya โ€“ saya benar-benar penggemar berat solusi sederhana ini. Namun, banyak hal telah berubah di balik layar:

Saya telah melakukan beberapa perubahan pada pengaturannya:

๐Ÿ“‚ File MD: Struktur blog tetap sederhana berbasis Markdown.

๐ŸŒ Lebih global dari sebelumnya: Blog saya sekarang mendukung terjemahan dalam 43 bahasa. Ya, termasuk bahasa Klingon! ๐Ÿ–– (Qapla'!)

Rencananya adalah terjemahan waktu nyata yang sepenuhnya otomatis berdasarkan deteksi bahasa browser. Spoiler: Itu hanya berhasil sebagian. Terlihat bahwa: AI memang mengesankan, tetapi belum sepenuhnya "sampai" di titik yang kita inginkan.

Solusinya: Sekarang saya menerjemahkan setiap postingan terlebih dahulu ke dalam semua bahasa yang ditentukan, yang juga jauh lebih baik untuk mesin pencari (SEO). Jika deteksi otomatis tidak berfungsi, Anda dapat mengatur bahasa pilihan Anda secara manual melalui ikon bola dunia, yang kemudian akan disimpan dengan mudah melalui cookie.

Terjemahan sekarang dilakukan dengan Gemini 3 Flash, yang memberikan hasil yang luar biasa bagus. Namun, kita harus tetap mengawasi AI dengan cermat: Pada proses massal (bulk) pertama, tag juga ikut diterjemahkan secara keliru, yang tentu saja tidak direncanakan seperti itu.

Kode tetap tersedia (cukup kirim pesan kepada saya jika berminat) ๐Ÿ‘ Namun, harap dicatat bahwa sistem sekarang memerlukan Gemini API Key ๐Ÿ”‘ sendiri.

Saya baru saja memindahkan blog saya dari WriteFreely ke sistem buatan sendiri: MD-Blog (MD tentu saja singkatan dari Markdown). Pemicunya adalah kegagalan pembaruan pada sistem lama โ€“ namun pada akhirnya, ini menjadi dorongan sempurna untuk menyederhanakan segalanya secara radikal dan mendapatkan kendali penuh atas desain.

Inti dari sistem ini adalah file Markdown sederhana di dalam folder data/, yang diubah menjadi HTML modern saat dijalankan. Hasilnya sangat cepat, tanpa memerlukan basis data, dan berkat sistem desain buatan sendiri (termasuk Mode Gelap), tampilannya kini persis seperti yang saya bayangkan. Bahkan tombol berbagi Mastodon yang modern kini sudah tersedia langsung.

Jika Anda tertarik dengan kode atau pengaturannya yang ramping, silakan hubungi saya melalui Mastodon!