Oriġinarjament, is-setup tal-blog tiegħi kien ippjanat bħala proġett IPv6 biss permezz ta' WireGuard, peress li kollox qed jaħdem fuq homeserver (indirizzi IPv6 b'xejn tista' ġġibhom minn route64.org). Biex inżid l-aċċessibbiltà, issa żidt proxy IPv4 estern (Grazzi @Larvitz).
Madankollu, kien hemm problemi tal-SSL immedjatament: Peress li oriġinarjament kemm ir-record A kif ukoll ir-record AAAA kienu għaddejjin mill-proxy, il-validazzjoni ta' Let's Encrypt fuq is-server tiegħi falliet.
Is-soluzzjoni: L-„IPv6-Hack“
Is-soluzzjoni kienet li l-entrata AAAA tiġi ppuntata b'mod espliċitu direttament lejn l-IP tal-WireGuard tas-server tiegħi, minflok ma tgħaddi wkoll mill-proxy.
- Dominju:
blog.burningboard.org
- A-Record (Proxy):
194.28.98.217
- AAAA-Record (Server):
2a11:6c7:f05:a8::2 (WireGuard)
Permezz ta' din l-entrata AAAA diretta lejn l-IP tal-WireGuard tiegħi, Let’s Encrypt xorta jilħaq is-server tiegħi direttament permezz tal-IPv6 (peress li r-record AAAA jingħata prijorità b'mod awtomatiku) u joħroġ iċ-ċertifikat SSL. It-traffiku IPv4 jiġi mgħoddi lili mill-proxy b'mod ikkriptat.
Il-konfigurazzjoni finali
Biex il-komunikazzjoni taħdem bla xkiel, kellna naġġustaw is-servers Caddy:
1. Fuq is-server tiegħi (NixOS, blog.nix)
Biex l-IPs reali tal-viżitaturi jaslu b'mod korrett u ma jiġux miktuba fuqhom bl-IP tal-proxy, dan tal-aħħar irid jiġi mmarkat bħala fdat:
services.caddy.globalConfig = ''
servers {
trusted_proxies static 2a06:9801:1c:1000::10
}
'';
2. Fuq il-proxy estern (Caddy)
Biex il-proxy jikkomunika mas-server tiegħi b'mod korrett permezz tal-HTTPS, irid jibgħat il-hostname (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
}
}
Il-blog issa huwa aċċessibbli permezz tal-IPv4 u l-IPv6, ikkriptat b'mod sigur u l-IP tad-dar tiegħi xorta jibqa' privat! 🚀
L-iktar ħaġa importanti l-ewwel: Il-fajls Markdown tas-soltu jibqgħu l-bażi – jien sempliċement dilettant kbir ta' din is-soluzzjoni sempliċi. Iżda taħt il-kappa, inbidlu ħafna affarijiet:
Għamilt xi tibdiliet fis-setup:
📂 MD-Files: L-istruttura tal-blog tibqa' sempliċi fuq bażi ta' Markdown.
🌍 Aktar globali minn qatt qabel: Il-blog tiegħi issa jappoġġja traduzzjonijiet f'43 lingwa. Iva, inkluż il-Klingon! 🖖 (Qapla'!)

Il-pjan kien traduzzjoni f'ħin reali kompletament awtomatika bbażata fuq ir-rikonoxximent tal-lingwa tal-browser. Spoiler: Ħadem biss parzjalment. Wieħed jinnota: L-IA hija impressjonanti, iżda għadha mhix eżattament "hemm" fejn nixtiequha.
Is-soluzzjoni: Issa sempliċement nittraduċi kull post minn qabel fil-lingwi kollha stabbiliti, li huwa wkoll ħafna aħjar għall-magni tat-tiftix (SEO). Jekk ir-rikonoxximent awtomatiku ma jaħdimx, tistgħu tissettjaw il-lingwa preferuta tagħkom manwalment permezz tal-ikona tal-globu, li mbagħad tiġi ffrankata b'mod sempliċi permezz ta' cookie.
It-traduzzjonijiet issa qed isiru b'Gemini 3 Flash, li qed jagħti riżultati tajbin b'mod tal-għaġeb. Madankollu, wieħed għandu joqgħod attent ħafna għall-IA: Fl-ewwel prova bl-ingrossa (bulk), it-tags ġew tradotti bi żball ukoll, li ovvjament ma kienx ippjanat hekk.
Il-kodiċi għadu disponibbli (sempliċement ibagħtuli messaġġ jekk intom interessati) 👍 Imma nnutaw li s-sistema issa teħtieġ Gemini API Key 🔑 tagħha stess.
Biddilt il-blog tiegħi minn WriteFreely għal żvilupp tiegħi stess: MD-Blog (l-MD ovvjament tfisser Markdown). Il-kausa kienet aġġornament li falla tas-sistema l-antika – iżda fl-aħħar mill-aħħar kienet l-ispinta perfetta biex nissimplifika kollox b'mod radikali u nikseb kontroll sħiħ fuq id-disinn.
Il-qalba tas-sistema huma fajls Markdown sempliċi fil-folder data/, li jinqalbu f'HTML modern waqt li s-sit ikun qed jaħdem. Ir-riżultat huwa veloċi ħafna, jaħdem mingħajr database u, grazzi għas-sistema tad-disinn tiegħi stess (inkluż id-Dark Mode), issa jidher eżattament kif immaġinajtu. Anke buttuna moderna biex taqsam fuq Mastodon issa hija inkluża direttament.
Jekk għandkom interess fil-kodiċi jew fis-setup sempliċi, ikkuntattjawni fuq Mastodon!