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

1 line
57 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[["Map",1,2,9,10],"meta::meta",["Map",3,4,5,6,7,8],"astro-version","5.16.6","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,\"svgo\":false},\"legacy\":{\"collections\":false}}","posts",["Map",11,12,32,33,67,68,99,100,133,134,155,156],"hello-world",{"id":11,"data":13,"body":20,"filePath":21,"digest":22,"rendered":23},{"title":14,"slug":11,"description":15,"added":16,"updated":17,"tags":18},"Kaixo, Mundua!","Horrela hasten dira proiektu guztiak frikion unibertsoan.","2025-11-3","2025-11-4",[19],"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":24,"metadata":25},"\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":26,"localImagePaths":27,"remoteImagePaths":28,"frontmatter":29,"imagePaths":31},[],[],[],{"title":14,"slug":11,"description":15,"tags":30,"added":16,"updated":17},[19],[],"pi-hole-pivpn",{"id":32,"data":34,"body":41,"filePath":42,"digest":43,"rendered":44},{"title":35,"slug":32,"description":36,"added":37,"updated":38,"tags":39},"Pi-Hole eta PiVPN: nabigazio segurua edonon","Nola erabili Raspberry Pi bat nabigazioa babesteko etxean eta mugikorrean.","2025-11-5","2025-11-8",[40],"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. _Edit: [hau da agindutako post hori :)](https://txarli.dev/post/dyndns-kaxeroa/)._\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","d7ace3dab5776556",{"html":45,"metadata":46},"\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. \u003Cem>Edit: \u003Ca href=\"https://txarli.dev/post/dyndns-kaxeroa/\">hau da agindutako post hori :)\u003C/a>.\u003C/em>\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":47,"localImagePaths":62,"remoteImagePaths":63,"frontmatter":64,"imagePaths":66},[48,52,56,59],{"depth":49,"slug":50,"text":51},2,"pi-hole","Pi-Hole",{"depth":53,"slug":54,"text":55},3,"instalazioa","Instalazioa",{"depth":53,"slug":57,"text":58},"konfigurazioa-blokeo-zerrendak","Konfigurazioa: blokeo zerrendak",{"depth":49,"slug":60,"text":61},"pivpn","PiVPN",[],[],{"title":35,"slug":32,"description":36,"tags":65,"added":37,"updated":38},[40],[],"dyndns-kaxeroa",{"id":67,"data":69,"body":73,"filePath":74,"assetImports":75,"digest":77,"rendered":78},{"title":70,"slug":67,"description":71,"added":38,"tags":72},"Proiektutxoak zure etxean ostatzeko bi modu","Nola lortu, IP finkorik ez duzunean, domeinu batek zure etxeko zerbitzaritxo batera apuntatzea?",[40],"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",[76],"../assets/dyndns-kaxeroa/dyndns-kaxeroa.svg","7110039ebd2c88a6",{"html":79,"metadata":80},"\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":81,"localImagePaths":94,"remoteImagePaths":95,"frontmatter":96,"imagePaths":98},[82,85,88,91],{"depth":49,"slug":83,"text":84},"ngrok-tunel-bat-zure-aplikaziora","Ngrok: tunel bat zure aplikaziora",{"depth":49,"slug":86,"text":87},"behin-behineko-dyndns-sistema-moduko-bat","Behin-behineko DynDNS sistema moduko bat",{"depth":53,"slug":89,"text":90},"ionos-en-ip-helbidea-modu-automatikoan-eguneratzeko","IONOS-en IP helbidea modu automatikoan eguneratzeko",{"depth":53,"slug":92,"text":93},"segurtasunaren-inguruko-hainbat-ohar","Segurtasunaren inguruko hainbat ohar",[76],[],{"title":70,"slug":67,"description":71,"tags":97,"added":38},[40],[76],"musika-bilduma-streameatu",{"id":99,"data":101,"body":106,"filePath":107,"digest":108,"rendered":109},{"title":102,"slug":99,"description":103,"added":104,"tags":105},"Gure musika bilduma gure sarean streameatzeko proposamen bat","Sareetan azaltzen den #despotify mugimendua jarraitzeko modu bat, Navidrome eta Metadata Remote erabilita.","2026-1-8",[40],"Etxean, denbora daramagu musika [Qobuz](https://www.qobuz.com/es-es/discover) plataformaren bidez entzuten. Kalitate ona eskaintzen du, artistak ongi tratatzen dituela dirudi, ez du adimen artifizial generatiboak sortutako musikarik sartzen eta, batez ere, [jabeek ez dute genozidioan inbertitzen](https://www.berria.eus/kultura/euskal-herriko-162-musika-taldek-utzi-dute-spotify-musikariak-palestinarekin-egitasmoarekin-bat-eginda_2150132_102.html). Edonola ere, [#despotify](https://redesnuestras.net/2024/12/31/una-propuesta-para-convertir-en-proposito-de-ano-nuevo-despotify/) ideiarekin kutsatuta, aurrekoan etxean alternatiba propio bat montatzeko aukerak aztertzen egon nintzen. Ikasteko asmoz edo, Qobuz [kakazten denean](https://teknopata.eus/2024/02/kakaztea-enshittification-1-zer-da), prest egoteko.\n\nHau egiteko, Raspberry Pi gailu bat erabili dut eta, zerbitzari aldean erabilitako software guztiak, Docker edukiontzietan sartu ditut. Hurrengo lerroetan nik frogatutako *stack*-ean sakonduko dut, baina, laburbilduz, hauek dira erabilitako aplikazioak (guztiak *Open Source* proiektuak dira):\n\n- [Navidrone](https://www.navidrome.org/): Raspberry Pi-an dagoen musika streaming bidez zerbitzatzeko.\n- [Metadata Remote](https://github.com/wow-signal-dev/metadata-remote): Musika bilduma ordenatzeko eta disken karatulak sartzeko.\n- [Chora](https://github.com/CraftWorksMC/Chora): Musika bilduma mugikorretik gozatzeko.\n\n## Navidrome: musika zerbitzaria\n\nNavidromeren funtzio nagusia, zerbitzari batean daukagun musika bilduma web nabigatzaile baten bidez entzutea da. Honetaz gain, [Subsonic API](https://www.subsonic.org/pages/api.jsp)-a baliatuta, gure musika bilduma edozein gailutan entzuteko aukera ematen du.\n\nInstalatzeko, lehen esan bezala, [Docker edukiontziaren](https://www.navidrome.org/docs/installation/docker/) estrategia jarraitu dut. Hau horrela egin dut, nire Raspberry Pi honetan hainbat zerbitzu dauzkadalako eta, modu honetan, guztia enkapsulatuta mantendu dezakedalako. Docker bidezko instalazioa, sistema hau pixkatxo bat manejatzen baduzu, oso erraza da. Kontutan izan beharreko gauza nagusia, zure musika liburutegia non dagoen apuntatzea da. Beste guztia, Docker irudiak egingo du.\n\n## Metadata Remote: bildumaren kudeaketa\n\nTontakeri bat badirudi ere, hau izan da buruhauste gehien ekarri didana. Navidromek, [fitxategien metadatuak erabiltzen ditu kanta eta diska guztien informazioa erakusteko](https://www.navidrome.org/docs/usage/library/). Hau da, Navidromek ez du zure bilduma ordenatuta mantentzeko aukerarik ematen. Honek, fitxategien metadatuak kudeatzeko sistema bat bilatzera behartzen gaitu.\n\nHelburu hau betetzeko hainbat aplikazio interesgarri daude, baina, nik aurkitutako guztiek behintzat, lokalean dauden fitxategiekin besterik ez dute funtzionatzen. Sareetan ikusitako hainbat aukera frogatu ondoren, [Metadata Remote](https://github.com/wow-signal-dev/metadata-remote) topatu nuen. Aplikazio honek, Github errepositorioaren README-ak ongi azaltzen duen bezala, zerbitzari bateko fitxategien metadatuak web nabigatzaile baten bidez kudeatzeko aukera ematen du.\n\n## Gure musika bilduma edonora eramateko\n\nGaur egun, gure musika etxean eskuragarri izatea, ez da nahikoa. Lanera biderako autobusean, kotxean, kalean, etab. mugikorrean entzun ahal izatea ia ezinbestekoa da pertsona askorentzat. Horretarako, bi gauza lortu beharko ditugu: mugikorretik etxeko sarera konektatzea eta mugikorrean gure liburutegia entzuteko aplikazio bat izatea.\n\n### Sarerako konexioa\n\nBeste sarrera batean azaltzen nuen bezala, [nire Raspberry Pi zerbitzarian VPN bat konfiguratu nuen, PiVPN baliatuta](/post/pi-hole-pivpn). Honi esker, nire mugikorrean VPN hau aktibatzen dudanean, nire sareko zerbitzu guztiak erabili ditzaket, etxean banego bezala.\n\n### Mugikorrerako aplikazioa\n\nPosible da mugikorreko web nabigatzailetik, Navidrome zerbitzarira jotzen dugunean, gure musika mugikorretik entzutea. Hala ere, erosoagoa da beti musika entzuteko aplikazio natibo bat erabiltzea, kontrolak eskura izateko, edota mugikorra blokeatzerakoan entzuten jarraitzeko. \n\nNavidromek, bere webgunean, [bezero zerrenda bat eskaintzen du](https://www.navidrome.org/apps/). Hauetatik, Android mugikorrentzako ospetsuena [Symfonium](https://symfonium.app/) da. Onartu beharra dago, nire ustez behintzat, Symfonium dela aplikazio garbiena eta aukera gehien ematen duena, baina, bere \"arazo\" nagusia, ordaintzera behartzen duela da. Oker ez banago, 5-6 € ordaintzearekin bizitza osorako lizentzia eskuratu dezakegu, beraz, ez da oso garestia. Nire musika entzuteko modu bakarra sarrera honetan azaldutakoa balitz, dudarik gabe ordainduko nuke.\n\nEdonola ere, akaso gauza kulturala da, baina asko kostatzen zait aplikazioengatik ordaintzea. Horregatik, alternatiba batzuk aztertu nituen. Doako Open Source aplikazio interesgarri asko aurki daitezke, baina, niri gehien konbentzitu didana, [Chora](https://github.com/CraftWorksMC/Chora) da. Xinplea da, interfaze garbi batekin eta, batez ere, Play Store-an dago. Honek, asko errazten du nire bilduma gertuko edonork entzutea.","posts/musika-bilduma-streameatu.md","7e478b45c52415e5",{"html":110,"metadata":111},"\u003Cp>Etxean, denbora daramagu musika \u003Ca href=\"https://www.qobuz.com/es-es/discover\">Qobuz\u003C/a> plataformaren bidez entzuten. Kalitate ona eskaintzen du, artistak ongi tratatzen dituela dirudi, ez du adimen artifizial generatiboak sortutako musikarik sartzen eta, batez ere, \u003Ca href=\"https://www.berria.eus/kultura/euskal-herriko-162-musika-taldek-utzi-dute-spotify-musikariak-palestinarekin-egitasmoarekin-bat-eginda_2150132_102.html\">jabeek ez dute genozidioan inbertitzen\u003C/a>. Edonola ere, \u003Ca href=\"https://redesnuestras.net/2024/12/31/una-propuesta-para-convertir-en-proposito-de-ano-nuevo-despotify/\">#despotify\u003C/a> ideiarekin kutsatuta, aurrekoan etxean alternatiba propio bat montatzeko aukerak aztertzen egon nintzen. Ikasteko asmoz edo, Qobuz \u003Ca href=\"https://teknopata.eus/2024/02/kakaztea-enshittification-1-zer-da\">kakazten denean\u003C/a>, prest egoteko.\u003C/p>\n\u003Cp>Hau egiteko, Raspberry Pi gailu bat erabili dut eta, zerbitzari aldean erabilitako software guztiak, Docker edukiontzietan sartu ditut. Hurrengo lerroetan nik frogatutako \u003Cem>stack\u003C/em>-ean sakonduko dut, baina, laburbilduz, hauek dira erabilitako aplikazioak (guztiak \u003Cem>Open Source\u003C/em> proiektuak dira):\u003C/p>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https://www.navidrome.org/\">Navidrone\u003C/a>: Raspberry Pi-an dagoen musika streaming bidez zerbitzatzeko.\u003C/li>\n\u003Cli>\u003Ca href=\"https://github.com/wow-signal-dev/metadata-remote\">Metadata Remote\u003C/a>: Musika bilduma ordenatzeko eta disken karatulak sartzeko.\u003C/li>\n\u003Cli>\u003Ca href=\"https://github.com/CraftWorksMC/Chora\">Chora\u003C/a>: Musika bilduma mugikorretik gozatzeko.\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"navidrome-musika-zerbitzaria\">Navidrome: musika zerbitzaria\u003C/h2>\n\u003Cp>Navidromeren funtzio nagusia, zerbitzari batean daukagun musika bilduma web nabigatzaile baten bidez entzutea da. Honetaz gain, \u003Ca href=\"https://www.subsonic.org/pages/api.jsp\">Subsonic API\u003C/a>-a baliatuta, gure musika bilduma edozein gailutan entzuteko aukera ematen du.\u003C/p>\n\u003Cp>Instalatzeko, lehen esan bezala, \u003Ca href=\"https://www.navidrome.org/docs/installation/docker/\">Docker edukiontziaren\u003C/a> estrategia jarraitu dut. Hau horrela egin dut, nire Raspberry Pi honetan hainbat zerbitzu dauzkadalako eta, modu honetan, guztia enkapsulatuta mantendu dezakedalako. Docker bidezko instalazioa, sistema hau pixkatxo bat manejatzen baduzu, oso erraza da. Kontutan izan beharreko gauza nagusia, zure musika liburutegia non dagoen apuntatzea da. Beste guztia, Docker irudiak egingo du.\u003C/p>\n\u003Ch2 id=\"metadata-remote-bildumaren-kudeaketa\">Metadata Remote: bildumaren kudeaketa\u003C/h2>\n\u003Cp>Tontakeri bat badirudi ere, hau izan da buruhauste gehien ekarri didana. Navidromek, \u003Ca href=\"https://www.navidrome.org/docs/usage/library/\">fitxategien metadatuak erabiltzen ditu kanta eta diska guztien informazioa erakusteko\u003C/a>. Hau da, Navidromek ez du zure bilduma ordenatuta mantentzeko aukerarik ematen. Honek, fitxategien metadatuak kudeatzeko sistema bat bilatzera behartzen gaitu.\u003C/p>\n\u003Cp>Helburu hau betetzeko hainbat aplikazio interesgarri daude, baina, nik aurkitutako guztiek behintzat, lokalean dauden fitxategiekin besterik ez dute funtzionatzen. Sareetan ikusitako hainbat aukera frogatu ondoren, \u003Ca href=\"https://github.com/wow-signal-dev/metadata-remote\">Metadata Remote\u003C/a> topatu nuen. Aplikazio honek, Github errepositorioaren README-ak ongi azaltzen duen bezala, zerbitzari bateko fitxategien metadatuak web nabigatzaile baten bidez kudeatzeko aukera ematen du.\u003C/p>\n\u003Ch2 id=\"gure-musika-bilduma-edonora-eramateko\">Gure musika bilduma edonora eramateko\u003C/h2>\n\u003Cp>Gaur egun, gure musika etxean eskuragarri izatea, ez da nahikoa. Lanera biderako autobusean, kotxean, kalean, etab. mugikorrean entzun ahal izatea ia ezinbestekoa da pertsona askorentzat. Horretarako, bi gauza lortu beharko ditugu: mugikorretik etxeko sarera konektatzea eta mugikorrean gure liburutegia entzuteko aplikazio bat izatea.\u003C/p>\n\u003Ch3 id=\"sarerako-konexioa\">Sarerako konexioa\u003C/h3>\n\u003Cp>Beste sarrera batean azaltzen nuen bezala, \u003Ca href=\"/post/pi-hole-pivpn\">nire Raspberry Pi zerbitzarian VPN bat konfiguratu nuen, PiVPN baliatuta\u003C/a>. Honi esker, nire mugikorrean VPN hau aktibatzen dudanean, nire sareko zerbitzu guztiak erabili ditzaket, etxean banego bezala.\u003C/p>\n\u003Ch3 id=\"mugikorrerako-aplikazioa\">Mugikorrerako aplikazioa\u003C/h3>\n\u003Cp>Posible da mugikorreko web nabigatzailetik, Navidrome zerbitzarira jotzen dugunean, gure musika mugikorretik entzutea. Hala ere, erosoagoa da beti musika entzuteko aplikazio natibo bat erabiltzea, kontrolak eskura izateko, edota mugikorra blokeatzerakoan entzuten jarraitzeko.\u003C/p>\n\u003Cp>Navidromek, bere webgunean, \u003Ca href=\"https://www.navidrome.org/apps/\">bezero zerrenda bat eskaintzen du\u003C/a>. Hauetatik, Android mugikorrentzako ospetsuena \u003Ca href=\"https://symfonium.app/\">Symfonium\u003C/a> da. Onartu beharra dago, nire ustez behintzat, Symfonium dela aplikazio garbiena eta aukera gehien ematen duena, baina, bere “arazo” nagusia, ordaintzera behartzen duela da. Oker ez banago, 5-6 € ordaintzearekin bizitza osorako lizentzia eskuratu dezakegu, beraz, ez da oso garestia. Nire musika entzuteko modu bakarra sarrera honetan azaldutakoa balitz, dudarik gabe ordainduko nuke.\u003C/p>\n\u003Cp>Edonola ere, akaso gauza kulturala da, baina asko kostatzen zait aplikazioengatik ordaintzea. Horregatik, alternatiba batzuk aztertu nituen. Doako Open Source aplikazio interesgarri asko aurki daitezke, baina, niri gehien konbentzitu didana, \u003Ca href=\"https://github.com/CraftWorksMC/Chora\">Chora\u003C/a> da. Xinplea da, interfaze garbi batekin eta, batez ere, Play Store-an dago. Honek, asko errazten du nire bilduma gertuko edonork entzutea.\u003C/p>",{"headings":112,"localImagePaths":128,"remoteImagePaths":129,"frontmatter":130,"imagePaths":132},[113,116,119,122,125],{"depth":49,"slug":114,"text":115},"navidrome-musika-zerbitzaria","Navidrome: musika zerbitzaria",{"depth":49,"slug":117,"text":118},"metadata-remote-bildumaren-kudeaketa","Metadata Remote: bildumaren kudeaketa",{"depth":49,"slug":120,"text":121},"gure-musika-bilduma-edonora-eramateko","Gure musika bilduma edonora eramateko",{"depth":53,"slug":123,"text":124},"sarerako-konexioa","Sarerako konexioa",{"depth":53,"slug":126,"text":127},"mugikorrerako-aplikazioa","Mugikorrerako aplikazioa",[],[],{"title":102,"slug":99,"description":103,"tags":131,"added":104},[40],[],"sayagata-bueltan-da",{"id":133,"data":135,"body":140,"filePath":141,"digest":142,"rendered":143},{"title":136,"slug":133,"description":137,"added":138,"tags":139},"Bueltan da sayagata proiektua","Sayagata proiektua berriro ere martxan jarri dut.","2026-1-4",[40],"Oker ez banago, 2018ko [Pamplona Software Crafters](https://pamplonaswcraft.com/) jardunaldian izan zen. Karlos g. liberalek, sareetan [patxangas](https://mastodon.eus/@patxangas@mastodon.social) ezizena hartzen duenak, arte generatiboari buruzko saio bat antolatu zuen, non [`p5js`](https://p5js.org/) erreminta erakutsi zigun. Honek unibertso bat ireki zidan, izan ere, alor teknologikoa (zehazki, nik hainbeste maite nuen programazioa) alor artistiko eta sortzailearekin uztartzeko aukera ematen zuen.\n\nHortik aurrera, nire kabuz, `p5js` erremintarekin jolasten hasi nintzen. Hainbat froga egin ondoren, motibazio guztiarekin, [sayagata](https://github.com/Txarli/sayagata) proiektua sortu nuen. [Sayagata](https://commons.wikimedia.org/wiki/Category:Sayagata), patroiak sortzeko japoniar tradizio bat da. Patroien kontzeptua gustoko nuen eta, hitzaren sonoritateak, maitemindu ninduen. Ez nion buelta askorik eman...\n\nEdonola ere, denbora luzez Github-en lotan egon ondoren, Sayagata proiektua berriz ere altxatu dut [sayagata.txarli.dev](https://sayagata.txarli.dev) URL-an. Bertan, ausazko nabigazio baten bitartez, nik sortutako patroi batzuk ikus daitezke. Patroi hauetako batzuk, [George Nees](https://en.wikipedia.org/wiki/Georg_Nees) edo [Vera Molnár](https://en.wikipedia.org/wiki/Vera_Moln%C3%A1r) artista generatiboen obretan *\"inspiratuta\"* daude. Beste batzuk, [Genuary](https://genuary.art/) taldeko jendeak proposatutako *prompt*-etan oinarritzen dira.\n\n## Etorkizunerako ildoak\n\nBehin hau martxan jarrita, hurrengoa egitea gustatuko litzaidake:\n\n- Interfazea hobetzea, batez ere, patroi ezberdinen arteko nabigazioa ahalbidetuz.\n- Patroi gehiago egitea. Hemen da Genuary 2026, ea zeozer egiten dudan!\n- Funtzionatzen duena ukitzea maite dudanez, tripak pixka bat eguneratzea gustatuko litzaidake. [Gatsby](https://www.gatsbyjs.com/) bertsio zahar bat erabiltzen du eta [Astro](https://astro.build/)-ra migratzea gustatuko litzaidake, patroi berriak sortzea errazteko.","posts/sayagata-bueltan-da.md","df0552f2fdc887fb",{"html":144,"metadata":145},"\u003Cp>Oker ez banago, 2018ko \u003Ca href=\"https://pamplonaswcraft.com/\">Pamplona Software Crafters\u003C/a> jardunaldian izan zen. Karlos g. liberalek, sareetan \u003Ca href=\"https://mastodon.eus/@patxangas@mastodon.social\">patxangas\u003C/a> ezizena hartzen duenak, arte generatiboari buruzko saio bat antolatu zuen, non \u003Ca href=\"https://p5js.org/\">\u003Ccode>p5js\u003C/code>\u003C/a> erreminta erakutsi zigun. Honek unibertso bat ireki zidan, izan ere, alor teknologikoa (zehazki, nik hainbeste maite nuen programazioa) alor artistiko eta sortzailearekin uztartzeko aukera ematen zuen.\u003C/p>\n\u003Cp>Hortik aurrera, nire kabuz, \u003Ccode>p5js\u003C/code> erremintarekin jolasten hasi nintzen. Hainbat froga egin ondoren, motibazio guztiarekin, \u003Ca href=\"https://github.com/Txarli/sayagata\">sayagata\u003C/a> proiektua sortu nuen. \u003Ca href=\"https://commons.wikimedia.org/wiki/Category:Sayagata\">Sayagata\u003C/a>, patroiak sortzeko japoniar tradizio bat da. Patroien kontzeptua gustoko nuen eta, hitzaren sonoritateak, maitemindu ninduen. Ez nion buelta askorik eman…\u003C/p>\n\u003Cp>Edonola ere, denbora luzez Github-en lotan egon ondoren, Sayagata proiektua berriz ere altxatu dut \u003Ca href=\"https://sayagata.txarli.dev\">sayagata.txarli.dev\u003C/a> URL-an. Bertan, ausazko nabigazio baten bitartez, nik sortutako patroi batzuk ikus daitezke. Patroi hauetako batzuk, \u003Ca href=\"https://en.wikipedia.org/wiki/Georg_Nees\">George Nees\u003C/a> edo \u003Ca href=\"https://en.wikipedia.org/wiki/Vera_Moln%C3%A1r\">Vera Molnár\u003C/a> artista generatiboen obretan \u003Cem>“inspiratuta”\u003C/em> daude. Beste batzuk, \u003Ca href=\"https://genuary.art/\">Genuary\u003C/a> taldeko jendeak proposatutako \u003Cem>prompt\u003C/em>-etan oinarritzen dira.\u003C/p>\n\u003Ch2 id=\"etorkizunerako-ildoak\">Etorkizunerako ildoak\u003C/h2>\n\u003Cp>Behin hau martxan jarrita, hurrengoa egitea gustatuko litzaidake:\u003C/p>\n\u003Cul>\n\u003Cli>Interfazea hobetzea, batez ere, patroi ezberdinen arteko nabigazioa ahalbidetuz.\u003C/li>\n\u003Cli>Patroi gehiago egitea. Hemen da Genuary 2026, ea zeozer egiten dudan!\u003C/li>\n\u003Cli>Funtzionatzen duena ukitzea maite dudanez, tripak pixka bat eguneratzea gustatuko litzaidake. \u003Ca href=\"https://www.gatsbyjs.com/\">Gatsby\u003C/a> bertsio zahar bat erabiltzen du eta \u003Ca href=\"https://astro.build/\">Astro\u003C/a>-ra migratzea gustatuko litzaidake, patroi berriak sortzea errazteko.\u003C/li>\n\u003C/ul>",{"headings":146,"localImagePaths":150,"remoteImagePaths":151,"frontmatter":152,"imagePaths":154},[147],{"depth":49,"slug":148,"text":149},"etorkizunerako-ildoak","Etorkizunerako ildoak",[],[],{"title":136,"slug":133,"description":137,"tags":153,"added":138},[40],[],"oscilloscope-music",{"id":155,"data":157,"body":163,"filePath":164,"digest":165,"rendered":166},{"title":158,"slug":155,"description":159,"added":160,"tags":161},"Oscilloscope Music","Oscilloscope Music musika generoa aurkitu nuenekoa.","2026-1-21",[162],"inspirazioa","Asteazken arratsalde lasaia zen. Hurrengo egunerako bazkaria prestatu ondoren eta laneko kontu batzuk amaituta, fedibertsoan paseotxo bat eman nuen. Halako batean, hurrengo post-a topatu nuen Mastodon-en, `#genuary` mugimendua kuxkuxeatzen ari nintzela.\n\n\u003Cblockquote class=\"mastodon-embed\" data-embed-url=\"https://chaos.social/@kbob/115934481990210933/embed\" style=\"background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;\"> \u003Ca href=\"https://chaos.social/@kbob/115934481990210933\" target=\"_blank\" style=\"align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;\"> \u003Csvg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"32\" height=\"32\" viewBox=\"0 0 79 75\">\u003Cpath d=\"M63 45.3v-20c0-4.1-1-7.3-3.2-9.7-2.1-2.4-5-3.7-8.5-3.7-4.1 0-7.2 1.6-9.3 4.7l-2 3.3-2-3.3c-2-3.1-5.1-4.7-9.2-4.7-3.5 0-6.4 1.3-8.6 3.7-2.1 2.4-3.1 5.6-3.1 9.7v20h8V25.9c0-4.1 1.7-6.2 5.2-6.2 3.8 0 5.8 2.5 5.8 7.4V37.7H44V27.1c0-4.9 1.9-7.4 5.8-7.4 3.5 0 5.2 2.1 5.2 6.2V45.3h8ZM74.7 16.6c.6 6 .1 15.7.1 17.3 0 .5-.1 4.8-.1 5.3-.7 11.5-8 16-15.6 17.5-.1 0-.2 0-.3 0-4.9 1-10 1.2-14.9 1.4-1.2 0-2.4 0-3.6 0-4.8 0-9.7-.6-14.4-1.7-.1 0-.1 0-.1 0s-.1 0-.1 0 0 .1 0 .1 0 0 0 0c.1 1.6.4 3.1 1 4.5.6 1.7 2.9 5.7 11.4 5.7 5 0 9.9-.6 14.8-1.7 0 0 0 0 0 0 .1 0 .1 0 .1 0 0 .1 0 .1 0 .1.1 0 .1 0 .1.1v5.6s0 .1-.1.1c0 0 0 0 0 .1-1.6 1.1-3.7 1.7-5.6 2.3-.8.3-1.6.5-2.4.7-7.5 1.7-15.4 1.3-22.7-1.2-6.8-2.4-13.8-8.2-15.5-15.2-.9-3.8-1.6-7.6-1.9-11.5-.6-5.8-.6-11.7-.8-17.5C3.9 24.5 4 20 4.9 16 6.7 7.9 14.1 2.2 22.3 1c1.4-.2 4.1-1 16.5-1h.1C51.4 0 56.7.8 58.1 1c8.4 1.2 15.5 7.5 16.6 15.6Z\" fill=\"currentColor\"/>\u003C/svg> \u003Cdiv style=\"color: #787588; margin-top: 16px;\">Post by @kbob@chaos.social\u003C/div> \u003Cdiv style=\"font-weight: 500;\">View on Mastodon\u003C/div> \u003C/a> \u003C/blockquote> \u003Cscript data-allowed-prefixes=\"https://chaos.social/\" async src=\"https://chaos.social/embed.js\">\u003C/script>\n\nNire burua untxi-gordeleku batean ikusi nuen. Izan ere, [\"Oscilloscope Music\"](https://oscilloscopemusic.com/watch/n-spheres) genero audiobisuala topatu nuen. Ideia xinplea da: osziloskopioan irudi interesgarriak sortuko duen musika konposatzea. Aurrerago jarritako webgunean, horrela definitzen da:\n\n> Oscilloscope Music is audiovisual music, where the visuals are drawn by the sound. In order to get the closest possible correlation between image and sound, the exact same signal that is connected to the left and right speakers is also connected to an analog oscilloscope's X and Y inputs, producing complex lissajous images.\n\n_Oscilloscope Music_ webgune hartan musika estilo hau egiteko software-a, paper-ak eta erreferentziak aurkitu daitezke. Honatx adibide bat. Pentsa bideoan ikusten dena osziloskopio bat dela:\n\n\u003Ciframe width=\"100%\" height=\"400px\" src=\"https://www.youtube-nocookie.com/embed/R9jOWIhZZCE?si=cLjXRuw72D2Jmt9h\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\nHonen atzean dauden esfortzu eta sormenak txundituta utzi naute. Gainera, nire elektronika ingeniaritza garaietara eramaten naute, osziloskopioaren aurrean orduak pasatzen nituen garaietara. Bonus bezala, izugarria iruditu zait albuma 3.5\" diskete formatuan saltzen dutela ikustea.","posts/oscilloscope-music.md","832149c9c2a801d3",{"html":167,"metadata":168},"\u003Cp>Asteazken arratsalde lasaia zen. Hurrengo egunerako bazkaria prestatu ondoren eta laneko kontu batzuk amaituta, fedibertsoan paseotxo bat eman nuen. Halako batean, hurrengo post-a topatu nuen Mastodon-en, \u003Ccode>#genuary\u003C/code> mugimendua kuxkuxeatzen ari nintzela.\u003C/p>\n\u003Cblockquote class=\"mastodon-embed\" data-embed-url=\"https://chaos.social/@kbob/115934481990210933/embed\" style=\"background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;\"> \u003Ca href=\"https://chaos.social/@kbob/115934481990210933\" target=\"_blank\" style=\"align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;\"> \u003Csvg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"32\" height=\"32\" viewBox=\"0 0 79 75\">\u003Cpath d=\"M63 45.3v-20c0-4.1-1-7.3-3.2-9.7-2.1-2.4-5-3.7-8.5-3.7-4.1 0-7.2 1.6-9.3 4.7l-2 3.3-2-3.3c-2-3.1-5.1-4.7-9.2-4.7-3.5 0-6.4 1.3-8.6 3.7-2.1 2.4-3.1 5.6-3.1 9.7v20h8V25.9c0-4.1 1.7-6.2 5.2-6.2 3.8 0 5.8 2.5 5.8 7.4V37.7H44V27.1c0-4.9 1.9-7.4 5.8-7.4 3.5 0 5.2 2.1 5.2 6.2V45.3h8ZM74.7 16.6c.6 6 .1 15.7.1 17.3 0 .5-.1 4.8-.1 5.3-.7 11.5-8 16-15.6 17.5-.1 0-.2 0-.3 0-4.9 1-10 1.2-14.9 1.4-1.2 0-2.4 0-3.6 0-4.8 0-9.7-.6-14.4-1.7-.1 0-.1 0-.1 0s-.1 0-.1 0 0 .1 0 .1 0 0 0 0c.1 1.6.4 3.1 1 4.5.6 1.7 2.9 5.7 11.4 5.7 5 0 9.9-.6 14.8-1.7 0 0 0 0 0 0 .1 0 .1 0 .1 0 0 .1 0 .1 0 .1.1 0 .1 0 .1.1v5.6s0 .1-.1.1c0 0 0 0 0 .1-1.6 1.1-3.7 1.7-5.6 2.3-.8.3-1.6.5-2.4.7-7.5 1.7-15.4 1.3-22.7-1.2-6.8-2.4-13.8-8.2-15.5-15.2-.9-3.8-1.6-7.6-1.9-11.5-.6-5.8-.6-11.7-.8-17.5C3.9 24.5 4 20 4.9 16 6.7 7.9 14.1 2.2 22.3 1c1.4-.2 4.1-1 16.5-1h.1C51.4 0 56.7.8 58.1 1c8.4 1.2 15.5 7.5 16.6 15.6Z\" fill=\"currentColor\">\u003C/path>\u003C/svg> \u003Cdiv style=\"color: #787588; margin-top: 16px;\">Post by @kbob@chaos.social\u003C/div> \u003Cdiv style=\"font-weight: 500;\">View on Mastodon\u003C/div> \u003C/a> \u003C/blockquote> \u003Cscript data-allowed-prefixes=\"https://chaos.social/\" async src=\"https://chaos.social/embed.js\">\u003C/script>\n\u003Cp>Nire burua untxi-gordeleku batean ikusi nuen. Izan ere, \u003Ca href=\"https://oscilloscopemusic.com/watch/n-spheres\">“Oscilloscope Music”\u003C/a> genero audiobisuala topatu nuen. Ideia xinplea da: osziloskopioan irudi interesgarriak sortuko duen musika konposatzea. Aurrerago jarritako webgunean, horrela definitzen da:\u003C/p>\n\u003Cblockquote>\n\u003Cp>Oscilloscope Music is audiovisual music, where the visuals are drawn by the sound. In order to get the closest possible correlation between image and sound, the exact same signal that is connected to the left and right speakers is also connected to an analog oscilloscopes X and Y inputs, producing complex lissajous images.\u003C/p>\n\u003C/blockquote>\n\u003Cp>\u003Cem>Oscilloscope Music\u003C/em> webgune hartan musika estilo hau egiteko software-a, paper-ak eta erreferentziak aurkitu daitezke. Honatx adibide bat. Pentsa bideoan ikusten dena osziloskopio bat dela:\u003C/p>\n\u003Ciframe width=\"100%\" height=\"400px\" src=\"https://www.youtube-nocookie.com/embed/R9jOWIhZZCE?si=cLjXRuw72D2Jmt9h\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\u003Cp>Honen atzean dauden esfortzu eta sormenak txundituta utzi naute. Gainera, nire elektronika ingeniaritza garaietara eramaten naute, osziloskopioaren aurrean orduak pasatzen nituen garaietara. Bonus bezala, izugarria iruditu zait albuma 3.5” diskete formatuan saltzen dutela ikustea.\u003C/p>",{"headings":169,"localImagePaths":170,"remoteImagePaths":171,"frontmatter":172,"imagePaths":174},[],[],[],{"title":158,"slug":155,"description":159,"tags":173,"added":160},[162],[]]