Files
txarli.dev/.astro/data-store.json

1 line
32 KiB
JSON

[["Map",1,2,9,10],"meta::meta",["Map",3,4,5,6,7,8],"astro-version","5.15.3","content-config-digest","f756207bb1b45114","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"site\":\"https://txarli.dev/\",\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"material-theme-darker\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[]},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false},\"legacy\":{\"collections\":false}}","posts",["Map",11,12,45,46,78,79],"pi-hole-pivpn",{"id":11,"data":13,"body":19,"filePath":20,"digest":21,"rendered":22},{"title":14,"slug":11,"description":15,"added":16,"tags":17},"Pi-Hole eta PiVPN: nabigazio segurua edonon","Nola erabili Raspberry Pi bat nabigazioa babesteko etxean eta mugikorrean.","2025-11-5",[18],"katxarreoa","Etxean, beti daukagu [Raspberry Pi](https://www.raspberrypi.com/) bat sarera konektatuta. Honekin, hamaika erreminta jarri ditut martxan: produkzioan dauzkadan webguneen babes kopiak egiten ditut, prototipoak frogatu ditut, webguneak ostatu... Urrutira joan gabe, webgune hau Raspberry Pi batean ostatuta dago.\n\nAspaldi, [Pi-Hole](https://pi-hole.net/) proiektuari buruz hitz egin zidaten. Honen xedea, DNS zerbitzaritxo bat sortuta, sare osorako tracker eta iragarkiak blokeatzea da. Interesgarria iruditu zitzaidan eta, ikasleei, honi buruzko lanketatxo bat egiteko eskatu nien DNS sistema aztertzen ari ginela. Hortxe pikatu nintzen eta frogatzeko grina etorri zitzaidan.\n\nPi-Hole proiektuak nola funtzionatzen zuen ikusita, etxean bakarrik ez, eta mugikorrean ere trafikoa nik konfiguratutako Pi-Hole horretatik pasatzea erabaki nuen. Horretarako, [PiVPN](https://www.pivpn.io/) proiektuan oinarritu nintzen.\n\nSistema hau martxan daukat eta erabiltzen ari naiz. Gehiago jakiteko, segi irakurtzen.\n\n## Pi-Hole\n\n### Instalazioa\n\nPi-Hole instalazioa nahiko erraza da. Posible da Docker edukiontzi batean jartzea edo, nahiago baduzu, sistema eragilean zuzenean instalatzea. Nik, hasiera batean sistema eragilean instalatu nuen, baina azkar damutu nintzen Raspberry Pi hau gauza gehiagorako erabiltzen dudalako. Docker edukiontzi batean instalatuta, erabilera ezberdinen uztartze hori errazten dit.\n\nBehin instalatuta, zure DHCP zerbitzarian DNS zerbitzari bezala Pi-Hole gailua konfiguratu beharko duzu. Hau egiteko, hoberena da Raspberry Pi-ak IP helbide estatikoa izatea. Guzti hau, Pi-Hole proiektuaren webguneak ongi azaltzen du, beraz, ez naiz asko luzatuko :).\n\n### Konfigurazioa: blokeo zerrendak\n\nPi-Hole instalazioan, blokeo zerrenda bat lehenetsita dator. Zerrenda honek, 100.000 DNS baino gehiago blokeatuko ditu eta, nire kasuan behintzat, aski izan zen gehien erabiltzen ditudan webguneen iragarkiak blokeatzeko. Hale ere, pixka bat haratago joatea erabaki nuen eta [Githuben \"hagezi\" erabiltzaileak sortutako zerrenda hauek konfiguratu nituen](https://github.com/hagezi/dns-blocklists). Oso eguneratuta daude eta gaika sailkatzen dira. Nik, hurrengo zerrendak sartu nituen:\n\n- [Multi PRO](https://github.com/hagezi/dns-blocklists#pro): oinarrizko DNS orokorrak.\n- [Intelligence](https://github.com/hagezi/dns-blocklists#tif): segurtasuna hobetzeko.\n- [Gambling](https://github.com/hagezi/dns-blocklists#gambling): online apostu etxeak ekiditeko.\n- [NSFW](https://github.com/hagezi/dns-blocklists#nsfw): online pornografia ekiditeko.\n\nZerrenda hauekin, milaka DNS blokeatu ditut eta ez dut inoiz sentitu nire nabigazioa oztopatzen zenik.\n\n## PiVPN\n\nPiVPN instalatzeko, hoberena da [iturrira joatea](https://www.pivpn.io/). Erabiltzeko, hurrengoa beharko duzu:\n- Raspberry Pi gailu bat.\n- Zuk kudeatzen duzun domeinu izen bat.\n- WAN aldeko IP fijoa, edo dyndns moduko bat. Nik, script bat sortu nuen hau lortzeko, baina hurrengo post batean azalduko dut.\n\nBehin webgunean azaltzen den instalazio komandoa erabilita, aski duzu pausoak jarraitzearekin. Oso oso erraza da! Hau eginda, zure mugikorra, ordenagailu eramangarria edo beste edozein gailu VPN honetara konektatzen duzunean, zure etxeko sareko zerbitzuak erabiliko dituzu, zuk kudeatutako Pi-Hole hori barne.","posts/pi-hole-pivpn.md","d6502f4661de862f",{"html":23,"metadata":24},"\u003Cp>Etxean, beti daukagu \u003Ca href=\"https://www.raspberrypi.com/\">Raspberry Pi\u003C/a> bat sarera konektatuta. Honekin, hamaika erreminta jarri ditut martxan: produkzioan dauzkadan webguneen babes kopiak egiten ditut, prototipoak frogatu ditut, webguneak ostatu… Urrutira joan gabe, webgune hau Raspberry Pi batean ostatuta dago.\u003C/p>\n\u003Cp>Aspaldi, \u003Ca href=\"https://pi-hole.net/\">Pi-Hole\u003C/a> proiektuari buruz hitz egin zidaten. Honen xedea, DNS zerbitzaritxo bat sortuta, sare osorako tracker eta iragarkiak blokeatzea da. Interesgarria iruditu zitzaidan eta, ikasleei, honi buruzko lanketatxo bat egiteko eskatu nien DNS sistema aztertzen ari ginela. Hortxe pikatu nintzen eta frogatzeko grina etorri zitzaidan.\u003C/p>\n\u003Cp>Pi-Hole proiektuak nola funtzionatzen zuen ikusita, etxean bakarrik ez, eta mugikorrean ere trafikoa nik konfiguratutako Pi-Hole horretatik pasatzea erabaki nuen. Horretarako, \u003Ca href=\"https://www.pivpn.io/\">PiVPN\u003C/a> proiektuan oinarritu nintzen.\u003C/p>\n\u003Cp>Sistema hau martxan daukat eta erabiltzen ari naiz. Gehiago jakiteko, segi irakurtzen.\u003C/p>\n\u003Ch2 id=\"pi-hole\">Pi-Hole\u003C/h2>\n\u003Ch3 id=\"instalazioa\">Instalazioa\u003C/h3>\n\u003Cp>Pi-Hole instalazioa nahiko erraza da. Posible da Docker edukiontzi batean jartzea edo, nahiago baduzu, sistema eragilean zuzenean instalatzea. Nik, hasiera batean sistema eragilean instalatu nuen, baina azkar damutu nintzen Raspberry Pi hau gauza gehiagorako erabiltzen dudalako. Docker edukiontzi batean instalatuta, erabilera ezberdinen uztartze hori errazten dit.\u003C/p>\n\u003Cp>Behin instalatuta, zure DHCP zerbitzarian DNS zerbitzari bezala Pi-Hole gailua konfiguratu beharko duzu. Hau egiteko, hoberena da Raspberry Pi-ak IP helbide estatikoa izatea. Guzti hau, Pi-Hole proiektuaren webguneak ongi azaltzen du, beraz, ez naiz asko luzatuko :).\u003C/p>\n\u003Ch3 id=\"konfigurazioa-blokeo-zerrendak\">Konfigurazioa: blokeo zerrendak\u003C/h3>\n\u003Cp>Pi-Hole instalazioan, blokeo zerrenda bat lehenetsita dator. Zerrenda honek, 100.000 DNS baino gehiago blokeatuko ditu eta, nire kasuan behintzat, aski izan zen gehien erabiltzen ditudan webguneen iragarkiak blokeatzeko. Hale ere, pixka bat haratago joatea erabaki nuen eta \u003Ca href=\"https://github.com/hagezi/dns-blocklists\">Githuben “hagezi” erabiltzaileak sortutako zerrenda hauek konfiguratu nituen\u003C/a>. Oso eguneratuta daude eta gaika sailkatzen dira. Nik, hurrengo zerrendak sartu nituen:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https://github.com/hagezi/dns-blocklists#pro\">Multi PRO\u003C/a>: oinarrizko DNS orokorrak.\u003C/li>\n\u003Cli>\u003Ca href=\"https://github.com/hagezi/dns-blocklists#tif\">Intelligence\u003C/a>: segurtasuna hobetzeko.\u003C/li>\n\u003Cli>\u003Ca href=\"https://github.com/hagezi/dns-blocklists#gambling\">Gambling\u003C/a>: online apostu etxeak ekiditeko.\u003C/li>\n\u003Cli>\u003Ca href=\"https://github.com/hagezi/dns-blocklists#nsfw\">NSFW\u003C/a>: online pornografia ekiditeko.\u003C/li>\n\u003C/ul>\n\u003Cp>Zerrenda hauekin, milaka DNS blokeatu ditut eta ez dut inoiz sentitu nire nabigazioa oztopatzen zenik.\u003C/p>\n\u003Ch2 id=\"pivpn\">PiVPN\u003C/h2>\n\u003Cp>PiVPN instalatzeko, hoberena da \u003Ca href=\"https://www.pivpn.io/\">iturrira joatea\u003C/a>. Erabiltzeko, hurrengoa beharko duzu:\u003C/p>\n\u003Cul>\n\u003Cli>Raspberry Pi gailu bat.\u003C/li>\n\u003Cli>Zuk kudeatzen duzun domeinu izen bat.\u003C/li>\n\u003Cli>WAN aldeko IP fijoa, edo dyndns moduko bat. Nik, script bat sortu nuen hau lortzeko, baina hurrengo post batean azalduko dut.\u003C/li>\n\u003C/ul>\n\u003Cp>Behin webgunean azaltzen den instalazio komandoa erabilita, aski duzu pausoak jarraitzearekin. Oso oso erraza da! Hau eginda, zure mugikorra, ordenagailu eramangarria edo beste edozein gailu VPN honetara konektatzen duzunean, zure etxeko sareko zerbitzuak erabiliko dituzu, zuk kudeatutako Pi-Hole hori barne.\u003C/p>",{"headings":25,"localImagePaths":40,"remoteImagePaths":41,"frontmatter":42,"imagePaths":44},[26,30,34,37],{"depth":27,"slug":28,"text":29},2,"pi-hole","Pi-Hole",{"depth":31,"slug":32,"text":33},3,"instalazioa","Instalazioa",{"depth":31,"slug":35,"text":36},"konfigurazioa-blokeo-zerrendak","Konfigurazioa: blokeo zerrendak",{"depth":27,"slug":38,"text":39},"pivpn","PiVPN",[],[],{"title":14,"slug":11,"description":15,"tags":43,"added":16},[18],[],"dyndns-kaxeroa",{"id":45,"data":47,"body":52,"filePath":53,"assetImports":54,"digest":56,"rendered":57},{"title":48,"slug":45,"description":49,"added":50,"tags":51},"Proiektutxoak zure etxean ostatzeko bi modu","Nola lortu, IP finkorik ez duzunean, domeinu batek zure etxeko zerbitzaritxo batera apuntatzea?.","2025-11-8",[18],"Jende guztiak ez du zerbitzari dedikatu bat kontratatuta, baina edonork izan dezake katxarreo bat egiteko grina. Batzuetan gertatzen da proiektutxo bat montatu duzula (webgunetxo bat, web aplikazio bat, zerbitzu bat...) eta etxeko saretik internet bidez lagunei, familiari, kolektibo bati, etab. erakutsi nahi diezula. Igual `.com` domeinutxo bat erosi duzu eta guzti, total, ez dira horren garestiak. Momentu horretan, arazo bat izango duzu: zure internet hornitzaileak ez dizu IP finko bat ematen eta ezinezkoa egingo zaizu munduari erakustea.\n\nEgoera hau gertatzen denean, hainbat aukera daude. Lehenengoa, internet hornitzaileak IP finkoa emateko aukerak aztertzea da. Askotan, ez dute aukera hau ematen edo kobratu egingo dizute. Ez baduzu horretan sartu nahi zure jostailutxoa erabiltzeko, horratx nik kasu hauetan erabili izan ditudan beste bi aukera.\n\n## Ngrok: tunel bat zure aplikaziora\n\n[ngrok](https://ngrok.com/) tresnak tunel seguruak sortzen ditu zure makina eta webaren artean. Esate baterako, Raspberry Pi batean web aplikazio bat jarri baduzu, aukera ematen dizu web aplikazio horretara apuntatuko duen url publiko bat lortzeko. Gaur gaurkoz, kontua irekita, ezer ordaindu gabe url bat sortzeko aukera ematen du (hori bai, ezin da zuk nahi duzuna izan, berak ausaz sortuko du `xxx-xxx.ngrok-free.ap` url bat).\n\nLehenengo hilabeteetan, Fosil.eu azpiegitura autogestionatura migratu aurretik, [laba.eus](https://laba.eus) webgunearen backend-a horrela zerbitzatzen genuen nire etxean zegoen Raspberry Pi batetik. Oso ongi funtzionatzen du gauza basikoetarako, ea ez den azkar [kakazten](https://eu.wikipedia.org/wiki/Kakazte_(Internet)). Muga nagusia, makina batean proiektu bakarra izan dezakezula da, ez baitu portu ezberdinekin jolasteko aukerarik ematen.\n\n## Behin-behineko DynDNS sistema moduko bat\n\nSistema hau xinplea da: garapenerako API bat duen erregistradore bat baliatu, zure zerbitzaritik `cron` bidez IP publikoa eguneratzen joateko. Nik _script_ bat sortu nuen eta orduro egiten dut eguneraketa hori. Modu honetan, nire hornitzaileak esleitu didan IP helbidea aldatuko balu, orria erorita egongo den eperik luzeena ordu betekoa izango da.\n\n![Konexioaren bloke diagrama. Ezkerrean zerbitzaria azaltzen da eta gezi batzuek https://api.apify.org URLra apuntatzen dute, \"IP publikoa lortu\" mezuarekin. Azpian, zerbitzaritik gezi batzuek IONOSen API-a koadrora apuntatzen dute, \"Berritu bada, IONOS eguneratu\" mezuarekin.](../assets/dyndns-kaxeroa/dyndns-kaxeroa.svg)\n\nErregistradoreari dagokionez, denetarik aurkitu dut: APIrik eskaintzen ez duten erregistradoreak, API ziztrin bat erabiltzeko extra bat kobratzen dutenak... Zin dagit ez dudala komisiorik jasoko honekin, baina nik [IONOS](https://www.ionos.es/) erabili dut domeinu izenak erregistratzeko. Arrazoia: [eskaintzen duten APIa](https://developer.hosting.ionos.es/docs/dns) doakoa dela eta ederki dokumentatuta dagoela.\n\nAutomatizatu aurretik, zure domeinuari `A` DNS erregistro bat sortu beharko diozu. Zure IP helbide publikoa sar dezakezu, edo `1.1.1.1` IP helbidea, total, aurrerago modu automatikoan jarriko diozu dagokion helbidea eta oso polita izango da funtzionatzen duela ikustea :).\n\n### IONOS-en IP helbidea modu automatikoan eguneratzeko\n\nLehen esan bezala, _script_ bat sortu dut IONOS-ekin nire IP helbide publikoa eguneratzeko. Horretarako, lehen pausoa [zure _API key_-ak eskuratzea izango da](https://developer.hosting.ionos.es/). Honek bi kode emango dizkizu: publikoa eta sekretua (sekretua ongi gorde beharko duzu).\n\nBehin _API key_ hauek lortuta, bigarren pausua eguneratuta mantendu nahi duzun erregistroaren identifikadoreak aurkitzea izango da. Horretarako, [IONOSek eskaintzen duen Swagger dokumentazioa](https://developer.hosting.ionos.es/docs/dns) baliatu dezakezu. Honen bidez, bi datu lortu beharko dituzu:\n\n1. Zure domeinuaren zonalde identifikadorea: `/v1/zones` _endpointean_. Aurrerago ikusiko duzun kodean `ZONALDE_IDENTIFIKADOREA` balio honekin aldatu.\n2. Zonalde horretan, zure erregistroak hartzen duen identifikadorea: `/v1/zones` _endpointean_. Aurrerago ikusiko duzun kodean, `ERREGISTRO_IDENTIFIKADOREA_ balio honekin aldatu.\n\nLortutako datu hauekin, hurrengo _script_ hau sortu beharko duzu zure ekipoan.\n\n```bash\n#!/bin/env bash\n\nip=$(curl -s https://api.ipify.org)\ncurrent_file=\"./current_ip\"\n\nif [ -f \"$current_file\" ]; then\n read -r old_ip \u003C \"$current_file\"\nelse\n old_ip=\"\"\nfi\n\nif [ \"$old_ip\" = \"$ip\" ]; then\n echo \"${ip} IP helbidea konfiguratuta dago\"\n exit 0\nfi\n\nprintf '%s\\n' \"$ip\" > \"$current_file\"\n\ncurl -X 'PUT' \\\n 'https://api.hosting.ionos.com/dns/v1/zones/ZONALDE-IDENTIFIKADOREA/records/ERREGISTRO_IDENTIFIKADOREA' \\\n -H 'accept: application/json' \\\n -H 'X-API-Key: KEY_PUBLIKOA.KEY_SEKRETUA' \\\n -H 'Content-Type: application/json' \\\n -d @- \u003C\u003CEOF\n{\n \"disabled\": false,\n \"content\": \"$ip\",\n \"ttl\": 3600,\n \"prio\": 0\n}\nEOF\n```\n\n_Script_ honek, hurrengo ekintzak egiten ditu:\n\n1. Zure IP helbide publikoa lortzen du.\n2. Iada helbide hori kargatu duen aztertzen du, `current_ip` fitxategia erabiliz.\n3. Fitxategian IP helbide hori ikusi badu, exekuzioa itxiko du. Bestela, IP helbidea eguneratuko du.\n\n### Segurtasunaren inguruko hainbat ohar\n\nEstrategia hau erabilitzeak, zure router-eko portuak irekitzera behartuko zaitu. Egiten ari zarena badakizu, ongi dago behin-behineko aukera bezala eta pixkatxo bat jolasteko, baina proiektua \"serioagoa\" bada edo epe luzerako martxan izan nahi baduzu, gomendagarriena ostatzeko zerbitzari dedikatu bat lortzea dela uste dut. Edonola ere, behin-behineko aukera honetan segurtasuna pixkatxo bat hobetzeko, Linux makina batean bazaude, `ufw` (firewall xinple bat) eta `fail2ban` (eraso posibleak blokeatzeko) erabiltzea gomendatuko nuke.","posts/dyndns-kaxeroa.md",[55],"../assets/dyndns-kaxeroa/dyndns-kaxeroa.svg","d9b9b7afa1e15633",{"html":58,"metadata":59},"\u003Cp>Jende guztiak ez du zerbitzari dedikatu bat kontratatuta, baina edonork izan dezake katxarreo bat egiteko grina. Batzuetan gertatzen da proiektutxo bat montatu duzula (webgunetxo bat, web aplikazio bat, zerbitzu bat…) eta etxeko saretik internet bidez lagunei, familiari, kolektibo bati, etab. erakutsi nahi diezula. Igual \u003Ccode>.com\u003C/code> domeinutxo bat erosi duzu eta guzti, total, ez dira horren garestiak. Momentu horretan, arazo bat izango duzu: zure internet hornitzaileak ez dizu IP finko bat ematen eta ezinezkoa egingo zaizu munduari erakustea.\u003C/p>\n\u003Cp>Egoera hau gertatzen denean, hainbat aukera daude. Lehenengoa, internet hornitzaileak IP finkoa emateko aukerak aztertzea da. Askotan, ez dute aukera hau ematen edo kobratu egingo dizute. Ez baduzu horretan sartu nahi zure jostailutxoa erabiltzeko, horratx nik kasu hauetan erabili izan ditudan beste bi aukera.\u003C/p>\n\u003Ch2 id=\"ngrok-tunel-bat-zure-aplikaziora\">Ngrok: tunel bat zure aplikaziora\u003C/h2>\n\u003Cp>\u003Ca href=\"https://ngrok.com/\">ngrok\u003C/a> tresnak tunel seguruak sortzen ditu zure makina eta webaren artean. Esate baterako, Raspberry Pi batean web aplikazio bat jarri baduzu, aukera ematen dizu web aplikazio horretara apuntatuko duen url publiko bat lortzeko. Gaur gaurkoz, kontua irekita, ezer ordaindu gabe url bat sortzeko aukera ematen du (hori bai, ezin da zuk nahi duzuna izan, berak ausaz sortuko du \u003Ccode>xxx-xxx.ngrok-free.ap\u003C/code> url bat).\u003C/p>\n\u003Cp>Lehenengo hilabeteetan, Fosil.eu azpiegitura autogestionatura migratu aurretik, \u003Ca href=\"https://laba.eus\">laba.eus\u003C/a> webgunearen backend-a horrela zerbitzatzen genuen nire etxean zegoen Raspberry Pi batetik. Oso ongi funtzionatzen du gauza basikoetarako, ea ez den azkar \u003Ca href=\"https://eu.wikipedia.org/wiki/Kakazte_(Internet)\">kakazten\u003C/a>. Muga nagusia, makina batean proiektu bakarra izan dezakezula da, ez baitu portu ezberdinekin jolasteko aukerarik ematen.\u003C/p>\n\u003Ch2 id=\"behin-behineko-dyndns-sistema-moduko-bat\">Behin-behineko DynDNS sistema moduko bat\u003C/h2>\n\u003Cp>Sistema hau xinplea da: garapenerako API bat duen erregistradore bat baliatu, zure zerbitzaritik \u003Ccode>cron\u003C/code> bidez IP publikoa eguneratzen joateko. Nik \u003Cem>script\u003C/em> bat sortu nuen eta orduro egiten dut eguneraketa hori. Modu honetan, nire hornitzaileak esleitu didan IP helbidea aldatuko balu, orria erorita egongo den eperik luzeena ordu betekoa izango da.\u003C/p>\n\u003Cp>\u003Cimg __ASTRO_IMAGE_=\"{"src":"../assets/dyndns-kaxeroa/dyndns-kaxeroa.svg","alt":"Konexioaren bloke diagrama. Ezkerrean zerbitzaria azaltzen da eta gezi batzuek https://api.apify.org URLra apuntatzen dute, \\"IP publikoa lortu\\" mezuarekin. Azpian, zerbitzaritik gezi batzuek IONOSen API-a koadrora apuntatzen dute, \\"Berritu bada, IONOS eguneratu\\" mezuarekin.","index":0}\">\u003C/p>\n\u003Cp>Erregistradoreari dagokionez, denetarik aurkitu dut: APIrik eskaintzen ez duten erregistradoreak, API ziztrin bat erabiltzeko extra bat kobratzen dutenak… Zin dagit ez dudala komisiorik jasoko honekin, baina nik \u003Ca href=\"https://www.ionos.es/\">IONOS\u003C/a> erabili dut domeinu izenak erregistratzeko. Arrazoia: \u003Ca href=\"https://developer.hosting.ionos.es/docs/dns\">eskaintzen duten APIa\u003C/a> doakoa dela eta ederki dokumentatuta dagoela.\u003C/p>\n\u003Cp>Automatizatu aurretik, zure domeinuari \u003Ccode>A\u003C/code> DNS erregistro bat sortu beharko diozu. Zure IP helbide publikoa sar dezakezu, edo \u003Ccode>1.1.1.1\u003C/code> IP helbidea, total, aurrerago modu automatikoan jarriko diozu dagokion helbidea eta oso polita izango da funtzionatzen duela ikustea :).\u003C/p>\n\u003Ch3 id=\"ionos-en-ip-helbidea-modu-automatikoan-eguneratzeko\">IONOS-en IP helbidea modu automatikoan eguneratzeko\u003C/h3>\n\u003Cp>Lehen esan bezala, \u003Cem>script\u003C/em> bat sortu dut IONOS-ekin nire IP helbide publikoa eguneratzeko. Horretarako, lehen pausoa \u003Ca href=\"https://developer.hosting.ionos.es/\">zure \u003Cem>API key\u003C/em>-ak eskuratzea izango da\u003C/a>. Honek bi kode emango dizkizu: publikoa eta sekretua (sekretua ongi gorde beharko duzu).\u003C/p>\n\u003Cp>Behin \u003Cem>API key\u003C/em> hauek lortuta, bigarren pausua eguneratuta mantendu nahi duzun erregistroaren identifikadoreak aurkitzea izango da. Horretarako, \u003Ca href=\"https://developer.hosting.ionos.es/docs/dns\">IONOSek eskaintzen duen Swagger dokumentazioa\u003C/a> baliatu dezakezu. Honen bidez, bi datu lortu beharko dituzu:\u003C/p>\n\u003Col>\n\u003Cli>Zure domeinuaren zonalde identifikadorea: \u003Ccode>/v1/zones\u003C/code> \u003Cem>endpointean\u003C/em>. Aurrerago ikusiko duzun kodean \u003Ccode>ZONALDE_IDENTIFIKADOREA\u003C/code> balio honekin aldatu.\u003C/li>\n\u003Cli>Zonalde horretan, zure erregistroak hartzen duen identifikadorea: \u003Ccode>/v1/zones\u003C/code> \u003Cem>endpointean\u003C/em>. Aurrerago ikusiko duzun kodean, `ERREGISTRO_IDENTIFIKADOREA_ balio honekin aldatu.\u003C/li>\n\u003C/ol>\n\u003Cp>Lortutako datu hauekin, hurrengo \u003Cem>script\u003C/em> hau sortu beharko duzu zure ekipoan.\u003C/p>\n\u003Cpre class=\"astro-code material-theme-darker\" style=\"background-color:#212121;color:#EEFFFF; overflow-x: auto;\" tabindex=\"0\" data-language=\"bash\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#545454;font-style:italic\">#!/bin/env bash\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#EEFFFF\">ip\u003C/span>\u003Cspan style=\"color:#89DDFF\">=$(\u003C/span>\u003Cspan style=\"color:#FFCB6B\">curl\u003C/span>\u003Cspan style=\"color:#C3E88D\"> -s\u003C/span>\u003Cspan style=\"color:#C3E88D\"> https://api.ipify.org\u003C/span>\u003Cspan style=\"color:#89DDFF\">)\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#EEFFFF\">current_file\u003C/span>\u003Cspan style=\"color:#89DDFF\">=\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003Cspan style=\"color:#C3E88D\">./current_ip\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#89DDFF;font-style:italic\">if\u003C/span>\u003Cspan style=\"color:#89DDFF\"> [\u003C/span>\u003Cspan style=\"color:#89DDFF\"> -f\u003C/span>\u003Cspan style=\"color:#89DDFF\"> \"\u003C/span>\u003Cspan style=\"color:#EEFFFF\">$current_file\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003Cspan style=\"color:#89DDFF\"> ];\u003C/span>\u003Cspan style=\"color:#89DDFF;font-style:italic\"> then\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#82AAFF\"> read\u003C/span>\u003Cspan style=\"color:#C3E88D\"> -r\u003C/span>\u003Cspan style=\"color:#C3E88D\"> old_ip\u003C/span>\u003Cspan style=\"color:#89DDFF\"> <\u003C/span>\u003Cspan style=\"color:#89DDFF\"> \"\u003C/span>\u003Cspan style=\"color:#EEFFFF\">$current_file\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#89DDFF;font-style:italic\">else\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#EEFFFF\"> old_ip\u003C/span>\u003Cspan style=\"color:#89DDFF\">=\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#89DDFF;font-style:italic\">fi\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#89DDFF;font-style:italic\">if\u003C/span>\u003Cspan style=\"color:#89DDFF\"> [\u003C/span>\u003Cspan style=\"color:#89DDFF\"> \"\u003C/span>\u003Cspan style=\"color:#EEFFFF\">$old_ip\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003Cspan style=\"color:#89DDFF\"> =\u003C/span>\u003Cspan style=\"color:#89DDFF\"> \"\u003C/span>\u003Cspan style=\"color:#EEFFFF\">$ip\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003Cspan style=\"color:#89DDFF\"> ];\u003C/span>\u003Cspan style=\"color:#89DDFF;font-style:italic\"> then\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#82AAFF\"> echo\u003C/span>\u003Cspan style=\"color:#89DDFF\"> \"${\u003C/span>\u003Cspan style=\"color:#EEFFFF\">ip\u003C/span>\u003Cspan style=\"color:#89DDFF\">}\u003C/span>\u003Cspan style=\"color:#C3E88D\"> IP helbidea konfiguratuta dago\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#82AAFF\"> exit\u003C/span>\u003Cspan style=\"color:#F78C6C\"> 0\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#89DDFF;font-style:italic\">fi\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#82AAFF\">printf\u003C/span>\u003Cspan style=\"color:#89DDFF\"> '\u003C/span>\u003Cspan style=\"color:#C3E88D\">%s\\n\u003C/span>\u003Cspan style=\"color:#89DDFF\">'\u003C/span>\u003Cspan style=\"color:#89DDFF\"> \"\u003C/span>\u003Cspan style=\"color:#EEFFFF\">$ip\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003Cspan style=\"color:#89DDFF\"> >\u003C/span>\u003Cspan style=\"color:#89DDFF\"> \"\u003C/span>\u003Cspan style=\"color:#EEFFFF\">$current_file\u003C/span>\u003Cspan style=\"color:#89DDFF\">\"\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FFCB6B\">curl\u003C/span>\u003Cspan style=\"color:#C3E88D\"> -X\u003C/span>\u003Cspan style=\"color:#89DDFF\"> '\u003C/span>\u003Cspan style=\"color:#C3E88D\">PUT\u003C/span>\u003Cspan style=\"color:#89DDFF\">'\u003C/span>\u003Cspan style=\"color:#EEFFFF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#89DDFF\"> '\u003C/span>\u003Cspan style=\"color:#C3E88D\">https://api.hosting.ionos.com/dns/v1/zones/ZONALDE-IDENTIFIKADOREA/records/ERREGISTRO_IDENTIFIKADOREA\u003C/span>\u003Cspan style=\"color:#89DDFF\">'\u003C/span>\u003Cspan style=\"color:#EEFFFF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\"> -H\u003C/span>\u003Cspan style=\"color:#89DDFF\"> '\u003C/span>\u003Cspan style=\"color:#C3E88D\">accept: application/json\u003C/span>\u003Cspan style=\"color:#89DDFF\">'\u003C/span>\u003Cspan style=\"color:#EEFFFF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\"> -H\u003C/span>\u003Cspan style=\"color:#89DDFF\"> '\u003C/span>\u003Cspan style=\"color:#C3E88D\">X-API-Key: KEY_PUBLIKOA.KEY_SEKRETUA\u003C/span>\u003Cspan style=\"color:#89DDFF\">'\u003C/span>\u003Cspan style=\"color:#EEFFFF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\"> -H\u003C/span>\u003Cspan style=\"color:#89DDFF\"> '\u003C/span>\u003Cspan style=\"color:#C3E88D\">Content-Type: application/json\u003C/span>\u003Cspan style=\"color:#89DDFF\">'\u003C/span>\u003Cspan style=\"color:#EEFFFF\"> \\\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\"> -d\u003C/span>\u003Cspan style=\"color:#C3E88D\"> @-\u003C/span>\u003Cspan style=\"color:#89DDFF\"> <<\u003C/span>\u003Cspan style=\"color:#89DDFF\">EOF\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\">{\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\"> \"disabled\": false,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\"> \"content\": \"\u003C/span>\u003Cspan style=\"color:#EEFFFF\">$ip\u003C/span>\u003Cspan style=\"color:#C3E88D\">\",\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\"> \"ttl\": 3600,\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\"> \"prio\": 0\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#C3E88D\">}\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#89DDFF\">EOF\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Cp>\u003Cem>Script\u003C/em> honek, hurrengo ekintzak egiten ditu:\u003C/p>\n\u003Col>\n\u003Cli>Zure IP helbide publikoa lortzen du.\u003C/li>\n\u003Cli>Iada helbide hori kargatu duen aztertzen du, \u003Ccode>current_ip\u003C/code> fitxategia erabiliz.\u003C/li>\n\u003Cli>Fitxategian IP helbide hori ikusi badu, exekuzioa itxiko du. Bestela, IP helbidea eguneratuko du.\u003C/li>\n\u003C/ol>\n\u003Ch3 id=\"segurtasunaren-inguruko-hainbat-ohar\">Segurtasunaren inguruko hainbat ohar\u003C/h3>\n\u003Cp>Estrategia hau erabilitzeak, zure router-eko portuak irekitzera behartuko zaitu. Egiten ari zarena badakizu, ongi dago behin-behineko aukera bezala eta pixkatxo bat jolasteko, baina proiektua “serioagoa” bada edo epe luzerako martxan izan nahi baduzu, gomendagarriena ostatzeko zerbitzari dedikatu bat lortzea dela uste dut. Edonola ere, behin-behineko aukera honetan segurtasuna pixkatxo bat hobetzeko, Linux makina batean bazaude, \u003Ccode>ufw\u003C/code> (firewall xinple bat) eta \u003Ccode>fail2ban\u003C/code> (eraso posibleak blokeatzeko) erabiltzea gomendatuko nuke.\u003C/p>",{"headings":60,"localImagePaths":73,"remoteImagePaths":74,"frontmatter":75,"imagePaths":77},[61,64,67,70],{"depth":27,"slug":62,"text":63},"ngrok-tunel-bat-zure-aplikaziora","Ngrok: tunel bat zure aplikaziora",{"depth":27,"slug":65,"text":66},"behin-behineko-dyndns-sistema-moduko-bat","Behin-behineko DynDNS sistema moduko bat",{"depth":31,"slug":68,"text":69},"ionos-en-ip-helbidea-modu-automatikoan-eguneratzeko","IONOS-en IP helbidea modu automatikoan eguneratzeko",{"depth":31,"slug":71,"text":72},"segurtasunaren-inguruko-hainbat-ohar","Segurtasunaren inguruko hainbat ohar",[55],[],{"title":48,"slug":45,"description":49,"tags":76,"added":50},[18],[55],"hello-world",{"id":78,"data":80,"body":87,"filePath":88,"digest":89,"rendered":90},{"title":81,"slug":78,"description":82,"added":83,"updated":84,"tags":85},"Kaixo, Mundua!","Horrela hasten dira proiektu guztiak frikion unibertsoan.","2025-11-3","2025-11-4",[86],"pertsonala","Kaixo, Mundua! Horrela hasten dira proiektu guztiak frikion unibertsoan. Nik nire proiektu hau horrela hasiko dut eta esdakitpero dut, gerora, jarraipena ematea. Nire blogarekin nator, edo nire interneteko txokoarekin, edo nire lorategi digitalarekin. Edonola ere, korporazio teknokapitalisten atzaparretatik urrun mantenduz, nire pedradak, katxarreoak, eta abar luze bat partekatzeko asmoz sortu dut blog hau.\n\nEz dakit nora joango den proiektutxo hau eta zein izango den bere etorkizuna, baina bidezkoa da nondik datorren adieraztea. Izan ere, [Cassidy Williamsen](https://cassidoo.co/) bloga ezaguna nuen eta, [Astron](https://astro.build) egina zegoela eta MIT lizentzia erabiltzen zuela ikusi nuenean, software librearen printzipioei men eginez, fork bat egin eta nire beharretara egokitu nuen. Ez dut uste hau irakurriko duzunik, Cassidy, baina eskerrik asko! 💚","posts/hello-world.md","9df26a0b44f9746c",{"html":91,"metadata":92},"\u003Cp>Kaixo, Mundua! Horrela hasten dira proiektu guztiak frikion unibertsoan. Nik nire proiektu hau horrela hasiko dut eta esdakitpero dut, gerora, jarraipena ematea. Nire blogarekin nator, edo nire interneteko txokoarekin, edo nire lorategi digitalarekin. Edonola ere, korporazio teknokapitalisten atzaparretatik urrun mantenduz, nire pedradak, katxarreoak, eta abar luze bat partekatzeko asmoz sortu dut blog hau.\u003C/p>\n\u003Cp>Ez dakit nora joango den proiektutxo hau eta zein izango den bere etorkizuna, baina bidezkoa da nondik datorren adieraztea. Izan ere, \u003Ca href=\"https://cassidoo.co/\">Cassidy Williamsen\u003C/a> bloga ezaguna nuen eta, \u003Ca href=\"https://astro.build\">Astron\u003C/a> egina zegoela eta MIT lizentzia erabiltzen zuela ikusi nuenean, software librearen printzipioei men eginez, fork bat egin eta nire beharretara egokitu nuen. Ez dut uste hau irakurriko duzunik, Cassidy, baina eskerrik asko! 💚\u003C/p>",{"headings":93,"localImagePaths":94,"remoteImagePaths":95,"frontmatter":96,"imagePaths":98},[],[],[],{"title":81,"slug":78,"description":82,"tags":97,"added":83,"updated":84},[86],[]]