<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>~&#x2F;magostinelli - raspberrypi</title>
      <link>https://www.agostinelli.eu</link>
      <description>La casa delle mie passioni</description>
      <generator>Zola</generator>
      <language>it</language>
      <atom:link href="https://www.agostinelli.eu/tags/raspberrypi/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Thu, 21 Nov 2024 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Terminale nel 2025? Ha ancora senso?</title>
          <pubDate>Sat, 19 Oct 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/terminale-nel-2025-ha-ancora-senso/</link>
          <guid>https://www.agostinelli.eu/blog/terminale-nel-2025-ha-ancora-senso/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/terminale-nel-2025-ha-ancora-senso/">&lt;p&gt;Beh, chi mi conosce saprà già che la mia risposta è decisamente si!&lt;&#x2F;p&gt;
&lt;p&gt;Non c&#x27;è giorno in cui non lo utilizzi.
Molte operazioni sono molto &lt;strong&gt;più veloci&lt;&#x2F;strong&gt; se fatte da terminale, come ad esempio quelle che si possono effettuare su molti file in un colpo solo!
Bisogna ammettere che, iniziando da zero, la strada è in salita, c&#x27;è molto da imparare, ma una volta acquisita una certa padronanza, velocizzerete moltissimo il vostro flusso di lavoro e non solo ci sono delle operazioni che si possono effettuare solo in questo modo.. Pensate, ad esempio, alla modifica solo di alcuni file in mezzo a migliaia, oppure spostare solo quelli che rispettano alcuni criteri.&lt;&#x2F;p&gt;
&lt;p&gt;Nel mio caso terminale è sinonimo di #bash, la shell più usata in ambito #linux.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;Bash-Functions.jpg&quot; alt=&quot;Bash&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;esempi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#esempi&quot; aria-label=&quot;Anchor link for: esempi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Esempi&lt;&#x2F;h2&gt;
&lt;p&gt;Quelli che seguono sono alcuni esempi dei &lt;strong&gt;miei utilizzi più comuni&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;resize-massivo-di-immagini&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#resize-massivo-di-immagini&quot; aria-label=&quot;Anchor link for: resize-massivo-di-immagini&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Resize massivo di immagini&lt;&#x2F;h3&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;find&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; &#x2F;home&#x2F;yunohost.app&#x2F;nextcloud&#x2F;data&#x2F;__groupfolders&#x2F;3&#x2F;prove&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;type&lt;&#x2F;span&gt; f&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;iname&lt;&#x2F;span&gt; &lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;*.jpg&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;exec&lt;&#x2F;span&gt; mogrify&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;define&lt;&#x2F;span&gt; preserve-timestamp=true&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;verbose&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;resize&lt;&#x2F;span&gt; &lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;2048x2048&amp;gt;&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;quality&lt;&#x2F;span&gt; 90 &lt;span class=&quot;z-meta z-group z-expansion z-brace z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-section z-expansion z-brace z-begin z-shell&quot;&gt;{&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-expansion z-brace z-end z-shell&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt; &lt;span class=&quot;z-constant z-character z-escape z-shell&quot;&gt;\;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;resize-massivo-di-video&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#resize-massivo-di-video&quot; aria-label=&quot;Anchor link for: resize-massivo-di-video&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Resize massivo di video&lt;&#x2F;h3&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;mencoder&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; panettone.mov&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;vf&lt;&#x2F;span&gt; rotate=1&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;oac&lt;&#x2F;span&gt; pcm&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;ovc&lt;&#x2F;span&gt; lavc&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;lavcopts&lt;&#x2F;span&gt; ffmpeg&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;i&lt;&#x2F;span&gt; input.file&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;c&lt;&#x2F;span&gt;:v mpeg4&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;q&lt;&#x2F;span&gt;:v 5&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;tag&lt;&#x2F;span&gt;:v DIVX&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;vf&lt;&#x2F;span&gt; scale=w=720:h=576:force_original_aspect_ratio=decrease&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;c&lt;&#x2F;span&gt;:a libmp3lame&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;q&lt;&#x2F;span&gt;:a 3&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;ac&lt;&#x2F;span&gt; 2&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;ar&lt;&#x2F;span&gt; 44100 output.avi&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;trovare-tutti-i-link-simbolici-rotti&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#trovare-tutti-i-link-simbolici-rotti&quot; aria-label=&quot;Anchor link for: trovare-tutti-i-link-simbolici-rotti&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Trovare tutti i link simbolici &quot;rotti&quot;&lt;&#x2F;h3&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;find&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; &#x2F;opt&#x2F;mypath&#x2F;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;xtype&lt;&#x2F;span&gt; l&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;rinomina-di-massa-file&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#rinomina-di-massa-file&quot; aria-label=&quot;Anchor link for: rinomina-di-massa-file&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Rinomina di massa file&lt;&#x2F;h3&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-keyword z-control z-loop z-for z-shell&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-for z-shell&quot;&gt; i &lt;span class=&quot;z-keyword z-control z-in z-shell&quot;&gt;in&lt;&#x2F;span&gt; File&lt;span class=&quot;z-keyword z-operator z-regexp z-quantifier z-shell&quot;&gt;*&lt;&#x2F;span&gt;.txt&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-logical z-continue z-shell&quot;&gt;;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-control z-loop z-do z-shell&quot;&gt;do&lt;&#x2F;span&gt; &lt;span class=&quot;z-variable z-other z-readwrite z-assignment z-shell&quot;&gt;j&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-shell&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-meta z-group z-expansion z-command z-backticks z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-section z-group z-begin z-shell&quot;&gt;`&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-support z-function z-echo z-shell&quot;&gt;echo&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; &lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-shell&quot;&gt;i&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-operator z-logical z-pipe z-shell&quot;&gt;|&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;sed&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; &lt;span class=&quot;z-string z-quoted z-single z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;s&#x2F;questo&#x2F;quello&#x2F;g&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-group z-end z-shell&quot;&gt;`&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-logical z-continue z-shell&quot;&gt;;&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;mv&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; &lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-shell&quot;&gt;i&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt; &lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-shell&quot;&gt;j&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-logical z-continue z-shell&quot;&gt;;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-control z-loop z-end z-shell&quot;&gt;done&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;ottimizzazione-file-pdf&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#ottimizzazione-file-pdf&quot; aria-label=&quot;Anchor link for: ottimizzazione-file-pdf&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Ottimizzazione file pdf&lt;&#x2F;h3&gt;
&lt;p&gt;Se vogliamo ridurre le dimensioni di alcuni file pdf in un certo path, rinunciando alla qualità delle immmagini.&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-keyword z-control z-loop z-for z-shell&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-for z-shell&quot;&gt; file &lt;span class=&quot;z-keyword z-control z-in z-shell&quot;&gt;in&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-group z-expansion z-command z-parens z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-parens z-begin z-shell&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;ls&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; suffisso_&lt;span class=&quot;z-keyword z-operator z-regexp z-quantifier z-shell&quot;&gt;*&lt;&#x2F;span&gt;.pdf&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-parens z-end z-shell&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-logical z-continue z-shell&quot;&gt;;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-control z-loop z-do z-shell&quot;&gt;do&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;gs&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;sOutputFile&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-option z-shell&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-expansion z-parameter z-begin z-shell&quot;&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-shell&quot;&gt;resize_file&lt;span class=&quot;z-keyword z-operator z-expansion z-shell&quot;&gt;%%&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;.&lt;span class=&quot;z-keyword z-operator z-regexp z-quantifier z-shell&quot;&gt;*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-section z-expansion z-parameter z-end z-shell&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;.pdf&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;sDEVICE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-option z-shell&quot;&gt;=&lt;&#x2F;span&gt;pdfwrite&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;dBATCH&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;dNOPAUSE&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;dDownsampleColorImages&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-option z-shell&quot;&gt;=&lt;&#x2F;span&gt;true&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;dDownsampleGrayImages&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-option z-shell&quot;&gt;=&lt;&#x2F;span&gt;true &lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-shell&quot;&gt;file&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-logical z-continue z-shell&quot;&gt;;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-control z-loop z-end z-shell&quot;&gt;done&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;sincronizzazione-di-file-e-directory&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#sincronizzazione-di-file-e-directory&quot; aria-label=&quot;Anchor link for: sincronizzazione-di-file-e-directory&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
sincronizzazione di file e directory&lt;&#x2F;h3&gt;
&lt;p&gt;Questo comando si può usare sia tra due directory dello stesso computer, sia nel caso uno dei due sia remoto, l&#x27;enorme vantaggio sta nella seconda volta in cui viene lanciato, solo le differenze tra il primo e il secondo saranno trasferite, ottimizzando, quindi, i tempi del trasferimento. (saranno riportati anche i permessi dei singoli file)&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;rsync&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;auvx&lt;&#x2F;span&gt; &#x2F;orgine&#x2F; &#x2F;destinazione&#x2F;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;conversioni-di-formato-audio-video-ma-non-solo&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#conversioni-di-formato-audio-video-ma-non-solo&quot; aria-label=&quot;Anchor link for: conversioni-di-formato-audio-video-ma-non-solo&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Conversioni di formato (audio, video, ma non solo)&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;flac-diversi-metodi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#flac-diversi-metodi&quot; aria-label=&quot;Anchor link for: flac-diversi-metodi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Flac (diversi metodi)&lt;&#x2F;h4&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;sox&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; track_01.wav track_01.flac&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-keyword z-control z-loop z-for z-shell&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-for z-shell&quot;&gt; myfile &lt;span class=&quot;z-keyword z-control z-in z-shell&quot;&gt;in&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-group z-expansion z-command z-parens z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-parens z-begin z-shell&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;ls&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; &lt;span class=&quot;z-keyword z-operator z-regexp z-quantifier z-shell&quot;&gt;*&lt;&#x2F;span&gt;.wav&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-parens z-end z-shell&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-logical z-continue z-shell&quot;&gt;;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-control z-loop z-do z-shell&quot;&gt;do&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;flac&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; --&lt;&#x2F;span&gt;verify&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; --&lt;&#x2F;span&gt;replay-gain&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; --&lt;&#x2F;span&gt;best&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; --&lt;&#x2F;span&gt;delete-input-file&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-shell&quot;&gt;myfile&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-logical z-continue z-shell&quot;&gt;;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-control z-loop z-end z-shell&quot;&gt;done&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;ffmpeg&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;i&lt;&#x2F;span&gt; in.wav&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;af&lt;&#x2F;span&gt; aformat=s16:44100 out.flac&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;ssh&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#ssh&quot; aria-label=&quot;Anchor link for: ssh&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Ssh&lt;&#x2F;h2&gt;
&lt;p&gt;Spesso la shell (= riga di comando) va a braccetto con il software ssh, che permette di collegarsi su un sistema remoto.
Grazie alla combinazione dei due, è possibile amministrare server remoti (cioé diversi dal pc che stiamo usando) o headless, cioé privi dell&#x27;interfaccia grafica (che consuma solo risorse aggiuntive), come il famoso #raspberrypi.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;curl&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#curl&quot; aria-label=&quot;Anchor link for: curl&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
curl&lt;&#x2F;h2&gt;
&lt;p&gt;Come non citare &lt;a href=&quot;https:&#x2F;&#x2F;curl.se&quot;&gt;curl&lt;&#x2F;a&gt; il coltellino svizzero della riga di comando, specializzando in richieste remote via http e trasferimento di file.
Su questo strumento (#curl) farò un articolo apposito, perché è uno strumento molto potente, in continuo sviluppo e con numerosi casi d&#x27;uso.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;vim&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#vim&quot; aria-label=&quot;Anchor link for: vim&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Vim&lt;&#x2F;h2&gt;
&lt;p&gt;E&#x27; il mio editor per eccellenza, quando uso il terminale uso lui per editare i file di testo (e non solo).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;installazione-pacchetti&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#installazione-pacchetti&quot; aria-label=&quot;Anchor link for: installazione-pacchetti&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Installazione pacchetti&lt;&#x2F;h2&gt;
&lt;p&gt;Tutte le varie distribuzioni linux hanno degli appositi software (rigorosamente da riga di comando) per installare i pacchetti e le loro dipendenze, alcuni esempi:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;apt (Debian&#x2F;Ubuntu)&lt;&#x2F;li&gt;
&lt;li&gt;dnf (Fedora, redhat)&lt;&#x2F;li&gt;
&lt;li&gt;pacman (Arclinux)&lt;&#x2F;li&gt;
&lt;li&gt;apk (Alpine)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;ansible&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#ansible&quot; aria-label=&quot;Anchor link for: ansible&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Ansible&lt;&#x2F;h2&gt;
&lt;p&gt;Oltre a bash, di cui sopra abbiamo ampiamente parlato, #ansible merita una mensione d&#x27;onore (è probabile che in futuro farò un articolo dedicato a questo strumento).
Ansible è un tool (open source) di automazione, con cui effettuare il provisioning, la gestione della configurazione, il deploy delle applicazioni e moltissimi altri processi IT, in modo semplice, organizzato e automatizzato.
Il suo utilizzo è libero, e in rete è possibile trovare migliaia di playbook (script), condivisi da altri utenti che permettono di automatizzare i compiti più disparati.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;software-di-backup&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#software-di-backup&quot; aria-label=&quot;Anchor link for: software-di-backup&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Software di Backup&lt;&#x2F;h2&gt;
&lt;p&gt;Da sempre Linux (ma non solo) offre molti software per gestire il backup da riga di comando.
Alcuni esempi&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;borg&lt;&#x2F;li&gt;
&lt;li&gt;duplicity&lt;&#x2F;li&gt;
&lt;li&gt;restic&lt;&#x2F;li&gt;
&lt;li&gt;rsync&lt;&#x2F;li&gt;
&lt;li&gt;rclone&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;powershell&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#powershell&quot; aria-label=&quot;Anchor link for: powershell&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Powershell&lt;&#x2F;h2&gt;
&lt;p&gt;Infine una piccola digressione&#x2F;informazione, anche Microsoft è stata costretta ad ammettere la &lt;strong&gt;superiorità della riga di comando&lt;&#x2F;strong&gt;, infatti dopo anni in cui ha puntato esclusivamente a rendere le interfacce sempre più accattivanti, da qualche anno fornisce insieme ai suoi sistemi operativi la #powershell.
Con questo software, di fatto, non ha voluto rimanere indietro rispetto al competitor #linux. In pratica è un ammissione circa il fatto che alcune cose si fanno meglio e più velocemente con la riga di comando!
Nel corso del tempo sono nate estenzioni per questa shell, e ormai è possibile effettuare moltissime operazioni, purtroppo ha una propria sintassi, quindi sarà necessario studiare un po&#x27;.&lt;&#x2F;p&gt;
&lt;p&gt;Per motivi spazio e tempi di lettura l&#x27;articolo finisce qui, ma ci sarebbe materiale a sufficienza per scrivere libri su libri o riempire di articoli giornalieri un blog.
Spero di avervi un po&#x27; incuriosito a provare, e con che i miei &lt;em&gt;appunti&lt;&#x2F;em&gt; su qualche comando che uso vi siano di aiuto.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Retropie</title>
          <pubDate>Fri, 03 May 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/retropie/</link>
          <guid>https://www.agostinelli.eu/blog/retropie/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/retropie/">&lt;p&gt;RetroPie è un software gratuito che è possibile installare su Raspberry Pi, Odroid e sistemi x86 e permette di emulare i videogiochi del passato!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;RetroPie-Logo.svg.png&quot; alt=&quot;Retropie logo&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Si basa su retroarch, che è un frontend per vari emulatori, uno dei suoi punti di forza è la possibilità di avere una configurazione unificata per tutte le piattaforme.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;RetroArch&#x2F;Libretro&lt;&#x2F;em&gt; è un progetto di frontend e backend che si propone di creare un proprio ecosistema software che giri come codice dinamico.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;1004000479.png&quot; alt=&quot;cadillac&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;1889398773.jpg&quot; alt=&quot;mortal kombat&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;360801805.jpg&quot; alt=&quot;street fighter&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;guida-brevissima&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#guida-brevissima&quot; aria-label=&quot;Anchor link for: guida-brevissima&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Guida brevissima&lt;&#x2F;h2&gt;
&lt;p&gt;Perché una guida brevissima? Il web è pieno di guide per installare retropie, non ha senso scriverne un&#x27;altra, quindi, fate una ricerca: &lt;a href=&quot;https:&#x2F;&#x2F;librey.devol.it&#x2F;search.php?q=installare+retropie&amp;amp;p=0&amp;amp;t=0&quot;&gt;installare retropie&lt;&#x2F;a&gt;.
In breve: si scarica immagine della scheda SE, con un software come balena etcher (o dd) la si scrive sulla scheda, si copiano i giochi in nostro possesso, e, infine, si inserisce e via!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;come-si-gioca&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#come-si-gioca&quot; aria-label=&quot;Anchor link for: come-si-gioca&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Come si gioca&lt;&#x2F;h2&gt;
&lt;p&gt;E&#x27; possibile collegare joypad usb o bluetooth, o usare una tastiera (magari meccanica) per navigare tra i menù e giocare.
Date un&#x27;occhiata ai joypad della &lt;a href=&quot;https:&#x2F;&#x2F;www.8bitdo.com&quot;&gt;8bitdo&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Essendo un sistema estremamente portatile, è l&#x27;ideale da portare ad una cena tra amici e trascorrere la serata a ricordare i giochi che hanno caratterizzato la nostra adolescenza! Sarà sufficiente trovare un tv dotato di porta HDMI, una presa di alimentazione e il divertimento è assicurato.&lt;&#x2F;p&gt;
&lt;p&gt;Se emulate giochi &lt;em&gt;&quot;pesanti&quot;&lt;&#x2F;em&gt; potrebbe essere necessario montare una ventola e dei buoi dissipatori sul vostro raspberry.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;raspberry-pi-retropie.jpg&quot; alt=&quot;Raspberry e Retropie&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;configurazione&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#configurazione&quot; aria-label=&quot;Anchor link for: configurazione&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Configurazione&lt;&#x2F;h2&gt;
&lt;p&gt;Le personalizzazioni alla configurazione e il caricamento di nuovi file può essere effettuato in due modi:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Collegando direttamente la scheda sd ad un altro computer&lt;&#x2F;li&gt;
&lt;li&gt;Configurare il sistema per collegarsi alla rete (wifi, ethernet), in modo da poter accedere alle cartelle condivise (già configurate di default).&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Il secondo metodo è molto utile anche per applicare aggiornamenti o per fare lo &lt;em&gt;scraping&lt;&#x2F;em&gt; delle copertine.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;emulationstation&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#emulationstation&quot; aria-label=&quot;Anchor link for: emulationstation&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
EmulationStation&lt;&#x2F;h3&gt;
&lt;p&gt;Si tratta del frontend (menù) che ci accoglie dopo aver acceso il sistema. Da qui si fanno partire i vari giochi (e programmi), è altamente personalizzabile, sia come temi che come immagini.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;retroarch&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#retroarch&quot; aria-label=&quot;Anchor link for: retroarch&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Retroarch&lt;&#x2F;h3&gt;
&lt;p&gt;Trattandosi di un unico frontend per i vari emulatori, è possibile accedere al menu e cambiare le configurazioni (es mappatura tasti) per il singolo gioco o come globali e quindi per tutti i giochi che andremo a provare successivamente&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;retroarch_logo.png&quot; alt=&quot;Retroarch&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;sistemi-emulati&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#sistemi-emulati&quot; aria-label=&quot;Anchor link for: sistemi-emulati&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Sistemi emulati&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;3do&lt;&#x2F;li&gt;
&lt;li&gt;Amiga&lt;&#x2F;li&gt;
&lt;li&gt;Amstrad CPC&lt;&#x2F;li&gt;
&lt;li&gt;Apple II&lt;&#x2F;li&gt;
&lt;li&gt;Atari 2600&lt;&#x2F;li&gt;
&lt;li&gt;Atari 5200&lt;&#x2F;li&gt;
&lt;li&gt;Arari 7800&lt;&#x2F;li&gt;
&lt;li&gt;Atari Jaguar&lt;&#x2F;li&gt;
&lt;li&gt;Atari Lynx&lt;&#x2F;li&gt;
&lt;li&gt;Atari ST, STE, TT, Falcon&lt;&#x2F;li&gt;
&lt;li&gt;Coco&lt;&#x2F;li&gt;
&lt;li&gt;Colevovision&lt;&#x2F;li&gt;
&lt;li&gt;Commodore 64, Vic-20&lt;&#x2F;li&gt;
&lt;li&gt;Daphne&lt;&#x2F;li&gt;
&lt;li&gt;Dragon 32&lt;&#x2F;li&gt;
&lt;li&gt;Dreamcast&lt;&#x2F;li&gt;
&lt;li&gt;FinalBurn Neo&lt;&#x2F;li&gt;
&lt;li&gt;Famicon Disk System&lt;&#x2F;li&gt;
&lt;li&gt;GameCube&lt;&#x2F;li&gt;
&lt;li&gt;Game &amp;amp; Watch&lt;&#x2F;li&gt;
&lt;li&gt;Game Gear&lt;&#x2F;li&gt;
&lt;li&gt;Game Boy&lt;&#x2F;li&gt;
&lt;li&gt;Game Boy Color&lt;&#x2F;li&gt;
&lt;li&gt;Game Boy Advance&lt;&#x2F;li&gt;
&lt;li&gt;Intellivision&lt;&#x2F;li&gt;
&lt;li&gt;Macintosh&lt;&#x2F;li&gt;
&lt;li&gt;MAME&lt;&#x2F;li&gt;
&lt;li&gt;Master System&lt;&#x2F;li&gt;
&lt;li&gt;Mega-Cd&#x2F;Sega Cd&lt;&#x2F;li&gt;
&lt;li&gt;Megadrive &#x2F; Genesis&lt;&#x2F;li&gt;
&lt;li&gt;MESS&lt;&#x2F;li&gt;
&lt;li&gt;MSX&lt;&#x2F;li&gt;
&lt;li&gt;Neo Geo&lt;&#x2F;li&gt;
&lt;li&gt;Neo Geo Pocket&lt;&#x2F;li&gt;
&lt;li&gt;Neo Geo Pocket Color&lt;&#x2F;li&gt;
&lt;li&gt;Nintendo 64&lt;&#x2F;li&gt;
&lt;li&gt;Nintendo DS&lt;&#x2F;li&gt;
&lt;li&gt;Nintendo Entertainment System&lt;&#x2F;li&gt;
&lt;li&gt;Oriuc&#x2F;Armos&lt;&#x2F;li&gt;
&lt;li&gt;PC&lt;&#x2F;li&gt;
&lt;li&gt;PC-8800&lt;&#x2F;li&gt;
&lt;li&gt;PC-9800&lt;&#x2F;li&gt;
&lt;li&gt;PC Engine&lt;&#x2F;li&gt;
&lt;li&gt;PC Engine 2&lt;&#x2F;li&gt;
&lt;li&gt;Playstation 1&lt;&#x2F;li&gt;
&lt;li&gt;Playstation 2&lt;&#x2F;li&gt;
&lt;li&gt;Pokemon Mini&lt;&#x2F;li&gt;
&lt;li&gt;PSP&lt;&#x2F;li&gt;
&lt;li&gt;ResidualVM&lt;&#x2F;li&gt;
&lt;li&gt;SAM Coupé&lt;&#x2F;li&gt;
&lt;li&gt;Saturn&lt;&#x2F;li&gt;
&lt;li&gt;ScummVM&lt;&#x2F;li&gt;
&lt;li&gt;Sega 32x&lt;&#x2F;li&gt;
&lt;li&gt;Sega SG-1000&lt;&#x2F;li&gt;
&lt;li&gt;Sharp X1&lt;&#x2F;li&gt;
&lt;li&gt;Sharp X68000&lt;&#x2F;li&gt;
&lt;li&gt;Super Nintendo Entertainment System&lt;&#x2F;li&gt;
&lt;li&gt;TI-99&lt;&#x2F;li&gt;
&lt;li&gt;TRS-80&lt;&#x2F;li&gt;
&lt;li&gt;Vectrex&lt;&#x2F;li&gt;
&lt;li&gt;Videopac&lt;&#x2F;li&gt;
&lt;li&gt;Virtual Boy&lt;&#x2F;li&gt;
&lt;li&gt;Wii&lt;&#x2F;li&gt;
&lt;li&gt;WonderSwan&lt;&#x2F;li&gt;
&lt;li&gt;WonderSwan Color&lt;&#x2F;li&gt;
&lt;li&gt;ZX-81&lt;&#x2F;li&gt;
&lt;li&gt;ZX Spectrum&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;rom-e-licenze-disclaimer&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#rom-e-licenze-disclaimer&quot; aria-label=&quot;Anchor link for: rom-e-licenze-disclaimer&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Rom e licenze (disclaimer)&lt;&#x2F;h2&gt;
&lt;p&gt;Attenzione al fatto che molte delle rom anche ancora il copyright in vigore, per cui è necessario possedere una copia acquistata dei giochi che andrete a caricare sul vostro sistema.
Usare copie pirata dei giochi è un reato&lt;&#x2F;p&gt;
&lt;h2 id=&quot;approfondimenti&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#approfondimenti&quot; aria-label=&quot;Anchor link for: approfondimenti&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Approfondimenti&lt;&#x2F;h2&gt;
&lt;p&gt;Se ne volete sapere ancora di più vi lascio qualche sito:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;https:&#x2F;&#x2F;retropie.org.uk (sito ufficiale)&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;www.retropie.it (sito italiano non ufficiale)&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;t.me&#x2F;retropie_it (gruppo telegram in italiano)&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;mastodon.uno&#x2F;tags&#x2F;retropie (mastodon)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;per-veri-nerd&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#per-veri-nerd&quot; aria-label=&quot;Anchor link for: per-veri-nerd&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Per veri nerd&lt;&#x2F;h2&gt;
&lt;p&gt;Se ho incuriosito, lo avete provato, vi siete divertiti il passo successivo è quello di costruire un cabinet personalizzato!&lt;&#x2F;p&gt;
&lt;p&gt;Vi lascio a qualche immagine presa in giro sul web, giusto per farvi un&#x27;idea.
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;5li7ikzmf1w11.jpg&quot; alt=&quot;cabinet1&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;pi-inside.jpg&quot; alt=&quot;cabinet2&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;Final.jpg&quot; alt=&quot;cabinet3&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;maxresdefault.jpg&quot; alt=&quot;cabinet4&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;nes-case&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#nes-case&quot; aria-label=&quot;Anchor link for: nes-case&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Nes Case&lt;&#x2F;h3&gt;
&lt;p&gt;Io ho questo come case per il raspberry che uso con retropie. Il disco ssd si trova in quella che era la cartuccia del videogioco!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;nespi4_case.jpg&quot; alt=&quot;nespi4&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;nespi4_case_2.webp&quot; alt=&quot;nespi42&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Wireguard - VPN per tutti</title>
          <pubDate>Sun, 28 Jan 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/wireguard-vpn-per-tutti/</link>
          <guid>https://www.agostinelli.eu/blog/wireguard-vpn-per-tutti/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/wireguard-vpn-per-tutti/">&lt;h2 id=&quot;definizione&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#definizione&quot; aria-label=&quot;Anchor link for: definizione&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Definizione&lt;&#x2F;h2&gt;
&lt;p&gt;WireGuard è un programma &lt;strong&gt;open source&lt;&#x2F;strong&gt; che implementa una connessione &lt;strong&gt;VPN&lt;&#x2F;strong&gt; per creare connessioni sicure punto-punto&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;Logo_of_WireGuard.svg&quot; alt=&quot;Wireguard Logo&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-cosa-serve&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#a-cosa-serve&quot; aria-label=&quot;Anchor link for: a-cosa-serve&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
A cosa serve?&lt;&#x2F;h2&gt;
&lt;p&gt;Sicuramente avrete già sentito parlare di vpn, qualora ne siate a digiuno provo a scriverlo brevemente. Attivando questa connessione tra due dispositivi, collegati entrambi alla rete internet, permette loro, in modo &lt;strong&gt;sixuro&lt;&#x2F;strong&gt;,  di comunicare tra di loro.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;vantaggi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#vantaggi&quot; aria-label=&quot;Anchor link for: vantaggi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Vantaggi&lt;&#x2F;h2&gt;
&lt;p&gt;Wireguard si distingue da altri programmi simili per la sua leggerezza, occupa pochissime risorse, e per le prestazioni.
Se lo provate, con una buona connessione da ambo i lati, vi sembrerà davvero di essere in rete locale.
La connessione tra i due punti è cifrata e quindi sicura.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;perche-usarlo&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#perche-usarlo&quot; aria-label=&quot;Anchor link for: perche-usarlo&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Perché usarlo&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Collegarsi alla propria rete domestica da fuori casa (senza esporre pubblicamente i servizi, ma solo la porta della vpn)&lt;&#x2F;li&gt;
&lt;li&gt;Amministrare &#x2F; gestire dispositivi di: amici &#x2F; parenti &#x2F; clienti&lt;&#x2F;li&gt;
&lt;li&gt;Condividere risorse locali solo con chi si vuole&lt;&#x2F;li&gt;
&lt;li&gt;Anonimato (navigare sul web come se fisicamente si ci trovasse nella rete del server vpn)&lt;&#x2F;li&gt;
&lt;li&gt;Sicurezza: se si è connessi ad una rete pubblica il nostro traffico sarà comunque cifrato&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;blocco pubblicità su smartphone&lt;&#x2F;strong&gt; se usato in accoppiata a #pihole (seguirà articolo dedicato)&lt;&#x2F;li&gt;
&lt;li&gt;Supporto dello &lt;strong&gt;split tunnel&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;caratteristiche&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#caratteristiche&quot; aria-label=&quot;Anchor link for: caratteristiche&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Caratteristiche&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Si basa su protocollo udp, e non tcp per avere prestazioni migliori&lt;&#x2F;li&gt;
&lt;li&gt;Disponibile per svariati sistemi operativi&lt;&#x2F;li&gt;
&lt;li&gt;Funziona su tutti i dispositivi mobili&lt;&#x2F;li&gt;
&lt;li&gt;Risorse richieste quasi nulle, funziona benissimo su vecchi pc o su #raspberrypi&lt;&#x2F;li&gt;
&lt;li&gt;Configurazione facile con un &lt;strong&gt;file unico&lt;&#x2F;strong&gt; (portatile)&lt;&#x2F;li&gt;
&lt;li&gt;Configurazione tramite &lt;strong&gt;qr code&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Possibilità di avere più &lt;strong&gt;vpn attive contemporaneamente&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;wireguard-roadwarrior-splittunnel.png&quot; alt=&quot;Wireguard Connections&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;creare-una-nuova-connessione&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#creare-una-nuova-connessione&quot; aria-label=&quot;Anchor link for: creare-una-nuova-connessione&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Creare una nuova connessione&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;Installare il software&lt;&#x2F;li&gt;
&lt;li&gt;Scgliere una porta udp dedicata&lt;&#x2F;li&gt;
&lt;li&gt;Abllitare il forwarding della porta sul nostro router&lt;&#x2F;li&gt;
&lt;li&gt;Scelta di una subnet (dedicata)&lt;&#x2F;li&gt;
&lt;li&gt;Abilitare il forwarding dei pacchetti ip&lt;&#x2F;li&gt;
&lt;li&gt;Creare la configurazione&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;configurazione-manuale-da-riga-di-comando&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#configurazione-manuale-da-riga-di-comando&quot; aria-label=&quot;Anchor link for: configurazione-manuale-da-riga-di-comando&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Configurazione manuale (da riga di comando)&lt;&#x2F;h3&gt;
&lt;p&gt;Di seguito vari comandi, divisi per argomento, che permettono di attivare la nostra prima vpn.
La preshared key &lt;strong&gt;non è obbligatoria&lt;&#x2F;strong&gt; ma se la si usa si renderà la connessione ancora piuù sicura.
Negli esempi sottostanti abbiamo scelto 92.168.20.0&#x2F;24 come subnet per la nostra vpn.&lt;&#x2F;p&gt;
&lt;h4 id=&quot;installazione-debian&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#installazione-debian&quot; aria-label=&quot;Anchor link for: installazione-debian&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Installazione (debian)&lt;&#x2F;h4&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo apt update
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo apt install wireguard
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo vi &#x2F;etc&#x2F;sysctl.conf
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;	net.ipv4.ip_forward=1
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo sysctl -p
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;generazione-chiavi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#generazione-chiavi&quot; aria-label=&quot;Anchor link for: generazione-chiavi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Generazione chiavi&lt;&#x2F;h3&gt;
&lt;p&gt;Le chiavi generate vanno sia per una configurazione come server che come client&lt;&#x2F;p&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;umask 077
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;wg genkey &amp;gt; privatekey
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;wg pubkey &amp;lt; privatekey &amp;gt; publickey
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;wg genpsk &amp;gt; preshared.keys
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;esempio-di-file-conf-del-server&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#esempio-di-file-conf-del-server&quot; aria-label=&quot;Anchor link for: esempio-di-file-conf-del-server&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Esempio di file conf del server&lt;&#x2F;h4&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;&#x2F;etc&#x2F;wireguard&#x2F;wg0.conf
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;[Interface]
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PrivateKey = chiave_privata_server
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;Address = 192.168.20.1&#x2F;24
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;ListenPort = 52001
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;SaveConfig = true
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;[Peer]
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PublicKey = chiave_pub_client_1
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;AllowedIPs = 192.168.20.2&#x2F;32
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;esempio-di-file-conf-del-client&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#esempio-di-file-conf-del-client&quot; aria-label=&quot;Anchor link for: esempio-di-file-conf-del-client&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Esempio di file conf del client&lt;&#x2F;h4&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;[Interface]
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PrivateKey = chiave_priv_client1
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;Address = 192.168.20.2&#x2F;24
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;[Peer]
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PublicKey = chiave_pub_server
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PresharedKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;AllowedIPs = 0.0.0.0&#x2F;0, ::&#x2F;0
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;Endpoint = hostname_pubblico_server:52001
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;comandi-per-la-connessione&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#comandi-per-la-connessione&quot; aria-label=&quot;Anchor link for: comandi-per-la-connessione&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Comandi per la connessione&lt;&#x2F;h4&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo wg-quick up wg1
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo wg-quick down wg1
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo wh show
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;avvio-automatico-con-systemd&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#avvio-automatico-con-systemd&quot; aria-label=&quot;Anchor link for: avvio-automatico-con-systemd&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Avvio automatico con systemd&lt;&#x2F;h4&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo systemctl enable wg-quick@wg0.service
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo systemctl start wg-quick@wg0.service
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;sudo systemctl status wg-quick@wg0.service
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h4 id=&quot;generare-qr-code&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#generare-qr-code&quot; aria-label=&quot;Anchor link for: generare-qr-code&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Generare Qr code&lt;&#x2F;h4&gt;
&lt;p&gt;Installare il software qrencode&lt;&#x2F;p&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;qrencode -t ansiutf8 &amp;lt; &#x2F;etc&#x2F;wireguard&#x2F;clients&#x2F;client1.conf
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;wireguard_show.jpg&quot; alt=&quot;Wireguard Command Line&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;aggiunta-nuovi-client&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#aggiunta-nuovi-client&quot; aria-label=&quot;Anchor link for: aggiunta-nuovi-client&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Aggiunta nuovi client&lt;&#x2F;h2&gt;
&lt;p&gt;Per aggiungere un nuovo client, conviene spengere la vpn del server (wg down), aggiungere le nuove righe al file di configurazione, e riattivare la connessione (wg up)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;configurazione-guidata&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#configurazione-guidata&quot; aria-label=&quot;Anchor link for: configurazione-guidata&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Configurazione guidata&lt;&#x2F;h3&gt;
&lt;p&gt;Vedi i due frontend web  suggeriti sotto per la parte server.
Per la configurazione come client è sufficiente importare il file conf generato o in alternativa il qr code.
Per la connessione è sufficiente utilizzare un client;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Su linux è possibile usare li strumenti integrati nel desktop in uso attraverso NetworkManager (kde, gnome, ecc)&lt;&#x2F;li&gt;
&lt;li&gt;Su windows è sufficiente scaricare il client dal sito ufficiale (https:&#x2F;&#x2F;www.wireguard.com)&lt;&#x2F;li&gt;
&lt;li&gt;Android Play store: https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;apps&#x2F;details?id=com.wireguard.android&lt;&#x2F;li&gt;
&lt;li&gt;Apple store: https:&#x2F;&#x2F;apps.apple.com&#x2F;it&#x2F;app&#x2F;wireguard&#x2F;id1441195209&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;programmi-accessori-frontend&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#programmi-accessori-frontend&quot; aria-label=&quot;Anchor link for: programmi-accessori-frontend&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Programmi accessori (frontend)&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;https:&#x2F;&#x2F;github.com&#x2F;ngoduykhanh&#x2F;wireguard-ui&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;github.com&#x2F;wg-easy&#x2F;wg-easy&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;github.com&#x2F;subspacecloud&#x2F;subspace&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;www.wireguardconfig.com&#x2F;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;funzioni-avanzate&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#funzioni-avanzate&quot; aria-label=&quot;Anchor link for: funzioni-avanzate&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Funzioni avanzate&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;dns&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#dns&quot; aria-label=&quot;Anchor link for: dns&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Dns&lt;&#x2F;h3&gt;
&lt;p&gt;Nella configurazione del client è anche possibile indicare quale server dns utilizzare&lt;&#x2F;p&gt;
&lt;h3 id=&quot;firewall-per-i-client&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#firewall-per-i-client&quot; aria-label=&quot;Anchor link for: firewall-per-i-client&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Firewall per i client&lt;&#x2F;h3&gt;
&lt;p&gt;Nalle configurazione server è possibile aggiungere più righe di PostUp con &lt;strong&gt;iptables&lt;&#x2F;strong&gt;, e quindi configurare il firewall con assoluta personalizzazione: è possibile, quindi, limitare la risorse da accedere a specifici indirizzi&lt;&#x2F;p&gt;
&lt;h3 id=&quot;limitare-la-banda&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#limitare-la-banda&quot; aria-label=&quot;Anchor link for: limitare-la-banda&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Limitare la banda&lt;&#x2F;h3&gt;
&lt;p&gt;Sempre grazie ai comandi postup è possibile anche limitare, qualora si voglia, la banda passante per i client (sia in upload che ion download), ad esempio:&lt;&#x2F;p&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PostUp = tc qdisc add dev wg0 ingress; tc filter add dev wg1 protocol ip ingress prio 2 u32 match ip dst 0.0.0.0&#x2F;0 action police
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;rate 10mbit burst 10mbit; tc filter add dev wg0 protocol ip ingress prio 2 u32 match ip src 0.0.0.0&#x2F;0 action police rate 10mbit burst 10mbit
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;PostUp = tc qdisc add dev wg0 parent root handle 1: hfsc default 1; tc class add dev wg0 parent 1: classid 1:1 hfsc sc rate 10mbit ul rate 10mbit
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2024&#x2F;wireguard_network.png&quot; alt=&quot;Wireguard Network&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>moodeaudio: post su mastodon</title>
          <pubDate>Thu, 18 Jan 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/moodeaudio-post-su-mastodon/</link>
          <guid>https://www.agostinelli.eu/blog/moodeaudio-post-su-mastodon/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/moodeaudio-post-su-mastodon/">&lt;p&gt;In questo brevvisimo articolo  vedremo uno #script che preleva il &lt;strong&gt;brano&lt;&#x2F;strong&gt; attualmente in &lt;strong&gt;riproduzione&lt;&#x2F;strong&gt; su moOde e lo pubblica (come &lt;strong&gt;toot&lt;&#x2F;strong&gt;) su #mastodon.
(se non sapete cos&#x27;è #moodeaudio trovate articolo dedicato cliccando sul tag)&lt;&#x2F;p&gt;
&lt;p&gt;Io lancio lo script di seguito manualmente per non pubblicare troppi toot (ad ogni cambio brano), ma potete integrarlo facilmente in vari automatismi (ad esempio usando #homeassistant).&lt;&#x2F;p&gt;
&lt;p&gt;Dato che lei formazioni vengono recuperate via rete, potete eseguirlo da un qualsiasi pc della vostra rete casalinga.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;prerequisiti&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#prerequisiti&quot; aria-label=&quot;Anchor link for: prerequisiti&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Prerequisiti&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Curl: di solito è già installato, qualora non lo fosse potete farlo semplicemente usando l&#x27;utility di gestione del software della vostra distribuzione (apt, dnf, pacman)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ihabunek&#x2F;toot&quot;&gt;Toot&lt;&#x2F;a&gt;: client da riga di comando per mastodon (trovate tutti i dettagli e le istruzioni per installarlo sul sito qui indicato, anche se come sopra probabilmente sarà già incluso nella distribuzione che usate)&lt;&#x2F;li&gt;
&lt;li&gt;Jq: utility, da riga di comando, in grado di processare (e visualizzare) file json&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;script&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#script&quot; aria-label=&quot;Anchor link for: script&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Script&lt;&#x2F;h2&gt;
&lt;p&gt;Di seguito lo script che ho realizzato in linguaggio bash:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-comment z-line z-number-sign z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-begin z-shell&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment z-line z-number-sign z-shell&quot;&gt;!&#x2F;bin&#x2F;bash&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment z-line z-number-sign z-shell&quot;&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-assignment z-shell&quot;&gt;testo&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-shell&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-unquoted z-shell&quot;&gt;&lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;Sto ascoltando: &lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-assignment z-shell&quot;&gt;testo&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-shell&quot;&gt;+=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-unquoted z-shell&quot;&gt;&lt;span class=&quot;z-meta z-group z-expansion z-command z-parens z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-parens z-begin z-shell&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;curl&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;s&lt;&#x2F;span&gt; &lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;http:&#x2F;&#x2F;moode.local&#x2F;command&#x2F;?cmd=get_currentsong&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-operator z-logical z-pipe z-shell&quot;&gt;|&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;jq&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;r&lt;&#x2F;span&gt; &lt;span class=&quot;z-string z-quoted z-single z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;.artist + &amp;quot; - &amp;quot; + .title&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-parens z-end z-shell&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-assignment z-shell&quot;&gt;testo&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-shell&quot;&gt;+=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-unquoted z-shell&quot;&gt;&lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt; #musica #moodeaudio #hifi #raspberrypi&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;toot&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; post &lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-shell&quot;&gt;testo&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
      </item>
      <item>
          <title>Il mio impianto hifi</title>
          <pubDate>Tue, 26 Dec 2023 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/il-mio-impianto-hifi/</link>
          <guid>https://www.agostinelli.eu/blog/il-mio-impianto-hifi/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/il-mio-impianto-hifi/">&lt;p&gt;Su questo blog voglio parlare anche di &lt;strong&gt;musica&lt;&#x2F;strong&gt;, quale miglior modo per iniziare se non l&#x27; approccio Nerd che descrive ciò che ho in casa nel momento in cui scrivo?
In realtà in casa ne ho ben due: andiamo in ordine cronologico: quello secondario (che tengo in camerina), è quello storico che acquistai con il mio primo lavoro e che con pochissime modifiche è arrivato ai giorni d&#x27;oggi. Poi c&#x27;è quello primario, posizionato nel soggiorno, e che quindi considero come primario, essendo usato maggiormente.
L&#x27;impianto primario è quello più studiato, su cui mi sono concentrato negli ultimi anni. In entrambi i casi si tratta di impianti mediocri, niente dai costi proibitivi, ma io ne sono pienamente soddisfatto!
Ma scendiamo nel dettaglio e vediamo cosa ho nel momento in cui sto scrivendo. (Dicembre 2023)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;impianto-primario&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#impianto-primario&quot; aria-label=&quot;Anchor link for: impianto-primario&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Impianto Primario&lt;&#x2F;h2&gt;
&lt;p&gt;E&#x27; composto da:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;amplificatore &lt;strong&gt;classe D assemblato da me&lt;&#x2F;strong&gt; usando la scheda &lt;strong&gt;Hypex NC252MP&lt;&#x2F;strong&gt; e case in metallo Ghent Audio&lt;&#x2F;li&gt;
&lt;li&gt;Raspberrypi 4 con &lt;strong&gt;Moode Audio&lt;&#x2F;strong&gt; installato, disco usb ssd, cablaggio ethernet, con alimentatore lineare&lt;&#x2F;li&gt;
&lt;li&gt;DAC S.M.S.L SU-9&lt;&#x2F;li&gt;
&lt;li&gt;Diffusori da scaffale &lt;strong&gt;B&amp;amp;W 706 S3&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Subwoofer &lt;strong&gt;Elac DEBUT S10.2&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;case_ghent1.png&quot; alt=&quot;Case amplificatore 1&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;case_ghent2.png&quot; alt=&quot;Case amplificatore 2&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;s-l1600.jpg&quot; alt=&quot;Hypex NC252MP&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Ciascuno dei componenti ha una propria storia, e l&#x27;impianto cosi come descritto è arrivato per gradi, cioè nel tempo ho aggiornato un componente per volta.
Essendo posizionato in una stanza polifunzionale (soggiorno&#x2F;cucina), sono dovuto scendere a compromessi: quello che ritengo sia il più importante nel mio caso, è che ho dovuto, per motivi di spazio, optare per dei diffusori da scrivania con posizionamento, purtroppo, a pochi centimetri dalla parete posteriore.&lt;&#x2F;p&gt;
&lt;p&gt;Avendo dei diffusori abbastanza compatti, ho voluto aggiungere anche un subwoofer: trovo il suono decisamente più completo, per tutti i generi di musica che ascolto.
Abitando in condominio non ascolto a volumi elevati, soprattutto il subwoofer tendo ad usarlo ad un volume molto basso.
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;bw-706s3-bl_1.jpg&quot; alt=&quot;B&amp;amp;W speaker&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;IMG-1811.jpg&quot; alt=&quot;B&amp;amp;W speaker2&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;L&#x27; amplificatore Hypex è davvero molto pulito, non potevo fare scelta migliore. Ad esso è collegato, con cavi bilanciati XLR, il DAC che nel mio caso funge anche da pre: &lt;strong&gt;S.M.S.L SU-9&lt;&#x2F;strong&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;smsl-su-9-front.jpg&quot; alt=&quot;dac front&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;smsl-su-9-back.jpg&quot; alt=&quot;dac retro&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Uso il telecomando del DAC per regolare il volume, dato che il mio amplificatore, essendo un puro finale di potenza, non ha il potenziometro per il volume.&lt;&#x2F;p&gt;
&lt;p&gt;A sua volta il DAC è collegato al raspberry pi con cavo USB.&lt;&#x2F;p&gt;
&lt;p&gt;Dato che per la riproduzione audio non si consumano molte risorse, il raspberry è senza ventola, ma ha un case-dissipatore che è più che sufficiente.
Infine l&#x27;alimentatore è di tipo lineare, in modo da ridurre al massimo i rumori di fondo.
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;case_pi4.jpg&quot; alt=&quot;Pi4 case&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;power_linear_50w_1.jpg&quot; alt=&quot;Linear power 1&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;power_linear_50w_2.jpg&quot; alt=&quot;Linear power 1&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Su questo impianto, ma anche sull&#x27; altro, ascolto solo musica liquida, dalle segenti sorgenti:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Archivio locale&lt;&#x2F;strong&gt; su disco in formato &lt;strong&gt;flac&lt;&#x2F;strong&gt; o &lt;strong&gt;DSD&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Abbonamento &lt;strong&gt;Qobuz&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Riguardo la prima opzione, per la musica che mi piace tendo ad averla in archivio in formato #flac. Questo formato è senza perdita di qualità, e nel mia collezione la qualità da quella usata per il cd in su, cioé molti dei miei file hanno un formato superiore, come bit e frequenza, a quello del normale cd.
In questo modo sono sempre sicuro di poter &lt;strong&gt;godere e usufruire della musica che ho acquistato&lt;&#x2F;strong&gt;.
Il mio archivio musicale è circa 500Gb, ed è salvato in più copie (almeno 4) a giro per casa, in modo da essere al sicuro in caso di problemi&lt;&#x2F;p&gt;
&lt;p&gt;Negli ultimo tempi, ho affiancato il mio archivio con un servizio di musica in streaming, in modo da scoprire qualcosa di nuovo (nuovi gruppi) e anche per curiosare in altri generi musicali.
In particolare, uso il servizio Qobuz, perché è uno dei pochi che ha una qualità senza compromessi (formato flac, vedi spiegazione di sopra).
Il software moode installato sul raspberry è compatibile con lo streaming da Qobuz, per cui funziona molto bene, utilizzo il software Bubbleupnp sul telefono per gestire la riproduzione in streaming, aggiungere brani alla coda, scoprire le nuove uscite, ecc ecc.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;impianto-secondario&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#impianto-secondario&quot; aria-label=&quot;Anchor link for: impianto-secondario&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Impianto Secondario&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Amplificatore Yamaha ax-396&lt;&#x2F;li&gt;
&lt;li&gt;Diffusori Celestion F2&lt;&#x2F;li&gt;
&lt;li&gt;Raspberrypi 4 con &lt;strong&gt;Moode Audio&lt;&#x2F;strong&gt; installato, disco usb ssd, cablaggio ethernet, con alimentatore lineare (Allo Nirvana)&lt;&#x2F;li&gt;
&lt;li&gt;DAC HAT Allo Boss e case&lt;&#x2F;li&gt;
&lt;li&gt;subwoofer Yamaha YST-SW40&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;Yamaha_AX-396.jpg&quot; alt=&quot;Amplificatore Yamaha&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;celestion_f2.jpg&quot; alt=&quot;Diffusori celestion&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;Yamaha-YST-SW40-43117.JPG&quot; alt=&quot;Yamaha subwoofer&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Anche il secondo impianto viene usato con la musica liquida, quindi vale tutto quello che ho scritto sopra.
L&#x27;unica cosa su cui mi soffermo è il dac, in questo caso è di tipo HAT, cioé come dice la parola stessa (=cappello), è una schedina che va a posizionarsi sul connettore &lt;strong&gt;gpio&lt;&#x2F;strong&gt; del raspberry, a cui, quindi, aggiunge un&#x27;uscita rc audio analogica (la classica con i connettori bianco e rosso).
In questo modo abbiamo una soluzione super compatta, ma funzionale, da poter attaccare direttamente ad un amplificatore.
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;boss-dac.jpg&quot; alt=&quot;Allo Boss&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;acrylic-case-for-rpi-boss.jpg&quot; alt=&quot;Allo Case&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;nirvana-smps1__81339.jpg&quot; alt=&quot;Allo Nirvana&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;impianto-cuffie-casalingo&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#impianto-cuffie-casalingo&quot; aria-label=&quot;Anchor link for: impianto-cuffie-casalingo&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Impianto cuffie casalingo&lt;&#x2F;h2&gt;
&lt;p&gt;Anche questo è posizionato in camerina, per cui possiamo anche dire che si fonde con l&#x27;impianto secondario, dato che sono collegate insieme.
Veniamo alle componenti:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Dac e amplificatore FiiO K5 Pro&lt;&#x2F;li&gt;
&lt;li&gt;Cuffie HiFiMAN Sundara Magneto-planari&lt;&#x2F;li&gt;
&lt;li&gt;Computer fisso con:
&lt;ul&gt;
&lt;li&gt;collegamento al NAS con la mia libreria di file .flac in hires&lt;&#x2F;li&gt;
&lt;li&gt;software Qobuz con abbonamento per streaming hires&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;hifiman-sundara-black.jpg&quot; alt=&quot;Hifiman Sundara&quot; &#x2F;&gt;
Il dac per le cuffie è anche collegato all&#x27;amplificatore, in questo caso lavora solo come DAC inviando il segnale all&#x27;amplificatore.
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;fiio_k5pro.jpg&quot; alt=&quot;Fiio K50Pro&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;audio-in-mobilita&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#audio-in-mobilita&quot; aria-label=&quot;Anchor link for: audio-in-mobilita&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Audio in mobilità&lt;&#x2F;h2&gt;
&lt;p&gt;Per non farsi mancare niente, nel tempo ho anche acquistato dei dispositivi per ascoltare musica in mobilità, con una qualità maggiore della media diciamo. Ecco la lista:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Riproduttore portatile Hidizs AP80 PRO con scheda sd da 512MB&lt;&#x2F;li&gt;
&lt;li&gt;Cuffie sennheiser MOMENTUM 3 Wireless&lt;&#x2F;li&gt;
&lt;li&gt;FiiO BTR5 Amplificatore Portatile Bluetooth Bilanciato&lt;&#x2F;li&gt;
&lt;li&gt;Auricolari TRN BA8 16BA con cavo bilanciato TRN T3 intrecciato in argento&lt;&#x2F;li&gt;
&lt;li&gt;Auricolari TINHIFI T2&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;ap80pro.png&quot; alt=&quot;Ap80 pro&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;momentum_wireless_3.jpg&quot; alt=&quot;Momentum Wireless&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;FiiO_BTR-5.jpg&quot; alt=&quot;Fiio BTR5&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In questo articolo non ho volutamente parlato di cavi, ma anche quelli rientrerebbero nel listone, penso di aver già scritto molto così, chissà magari ne parlerò in un prossimo articolo&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>moOde audio</title>
          <pubDate>Sat, 16 Dec 2023 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/moode-audio/</link>
          <guid>https://www.agostinelli.eu/blog/moode-audio/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/moode-audio/">&lt;h2 id=&quot;cos-e&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#cos-e&quot; aria-label=&quot;Anchor link for: cos-e&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Cos&#x27;è?&lt;&#x2F;h2&gt;
&lt;p&gt;Uno streamer audio da installare su #raspberrypi (o su altri SBC).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-cosa-serve&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#a-cosa-serve&quot; aria-label=&quot;Anchor link for: a-cosa-serve&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
A cosa serve?&lt;&#x2F;h2&gt;
&lt;p&gt;Riproduzione audio di alta qualità dalla propria libreria personale (nas, disco usb). o dai servizi streaming più disparati.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cosa-puo-fare&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#cosa-puo-fare&quot; aria-label=&quot;Anchor link for: cosa-puo-fare&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Cosa può fare&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Può riprodurre tutti i più diffusi (e non) formati audio come ad esempio: flac, mp3, ape, wav, ogg, ecc.&lt;&#x2F;li&gt;
&lt;li&gt;Organizzare la propria libreria musicale (riprodurre per generi, artisti, tag, anno, ecc.)&lt;&#x2F;li&gt;
&lt;li&gt;Riprodurre da servizi streaming quali Quobuz, Tidal o Spotify&lt;&#x2F;li&gt;
&lt;li&gt;Supporto alle Web radio&lt;&#x2F;li&gt;
&lt;li&gt;Supporto Upnp&lt;&#x2F;li&gt;
&lt;li&gt;Supporto di dac esterni usb o tramite HAT&lt;&#x2F;li&gt;
&lt;li&gt;Airplay&lt;&#x2F;li&gt;
&lt;li&gt;Riproduzione via bluetooth
-Aggiornamento con un click&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;supporto-dac&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#supporto-dac&quot; aria-label=&quot;Anchor link for: supporto-dac&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Supporto dac&lt;&#x2F;h2&gt;
&lt;p&gt;Il supporto per i dac è davvero molto esteso, potete consultare il &lt;a href=&quot;https:&#x2F;&#x2F;moodeaudio.org&#x2F;forum&#x2F;&quot;&gt;forum ufficiale&lt;&#x2F;a&gt; se volete leggere l&#x27;esperienza di altri utenti, ma sono sicuro che difficilmente avrete problemi di compatibilità.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;installazione-di-moode&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#installazione-di-moode&quot; aria-label=&quot;Anchor link for: installazione-di-moode&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Installazione di moode&lt;&#x2F;h2&gt;
&lt;p&gt;Non credo sia necessaria una guida, la procedura è sempre la stessa di quando si installa qualcosa sul raspberry, sarà sufficiente procurarsi una scheda sd, l&#x27;immagine di moOde e scrivere quest&#x27;ultima sulla scheda.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;uso-con-qobuz&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#uso-con-qobuz&quot; aria-label=&quot;Anchor link for: uso-con-qobuz&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Uso con Qobuz&lt;&#x2F;h2&gt;
&lt;p&gt;In quanto possessore di abbonamento #Qobuz, uso moOde anche con questo servizio, di seguito alcuni brevi istruzioni per usarlo nella maniera, a mio avviso, migliore.
Il dispositivo mobile servirà solo come &lt;em&gt;telecomando&lt;&#x2F;em&gt;, una volta aggiunti alla coda i brani, la riproduzione proseguirà &lt;strong&gt;anche se il dispositivo si disconnette&lt;&#x2F;strong&gt; e quindi non avremo alcun impatto sulla batteria per fare transcodifiche.&lt;&#x2F;p&gt;
&lt;p&gt;Sarà necessario avere sul proprio smartphone (o tablet) l&#x27;applicazione
&lt;strong&gt;BubbleUPnP&lt;&#x2F;strong&gt; (costa pochi euro).
Impostare la configurazione come da schermate che seguono:
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;BubbleUPnP_1.jpg&quot; alt=&quot;Bubble settings1&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;BubbleUPnP_2.jpg&quot; alt=&quot;Bubble settings2&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Nelle impostazioni di moOde sarà necessario attivare Open Home, come da schermata seguente.
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;moode_1.jpg&quot; alt=&quot;moOde settings1&quot; &#x2F;&gt;
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;moode_2.jpg&quot; alt=&quot;moOde settings2&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Infine adesso aprendo BubbleUPnP, potete scegliere il vostro dispositivo moOde (icona select renderer), e nel menu troverete qobuz, a cui vi loggherete con le credenziali in vostro possesso.&lt;&#x2F;p&gt;
&lt;p&gt;Che altro aggiungere? Io lo uso con soddisfazione da anni ormai, se avete delle domande sono a vostra disposizione!&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Pi-hole</title>
          <pubDate>Sun, 10 Dec 2023 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/pi-hole/</link>
          <guid>https://www.agostinelli.eu/blog/pi-hole/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/pi-hole/">&lt;p&gt;Fa parte dei software indispensabili: vi consiglio di installarlo sul vostro #raspberrypi, sul vostro #NAS o su &lt;strong&gt;qualsiasi dispositivo&lt;&#x2F;strong&gt; (su base #linux) che terrete sempre acceso.
Il mio consiglio va in direzione del raspberry, viste i consumi e dimensioni ridotte, ma ciascuno rimane libero di fare le proprie scelte.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;Pi-hole_vector_logo.svg&quot; alt=&quot;Pi-hole Logo&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cos-e&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#cos-e&quot; aria-label=&quot;Anchor link for: cos-e&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Cos&#x27;è&lt;&#x2F;h2&gt;
&lt;p&gt;Pi-hole è un&#x27;applicazione **Linux ** pensata per bloccare la pubblicità e il tracciamento degli utenti su Internet a livello di rete locale.  Pi-hole agisce come un DNS sinkhole[ e, opzionalmente, come un server DHCP.
Fonte: https:&#x2F;&#x2F;it.wikipedia.org&#x2F;wiki&#x2F;Pi-hole&lt;&#x2F;p&gt;
&lt;h2 id=&quot;come-funziona&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#come-funziona&quot; aria-label=&quot;Anchor link for: come-funziona&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Come funziona&lt;&#x2F;h2&gt;
&lt;p&gt;Si affianca al vostro router per la connettività Internet ed è in grado di bloccare  le pubblicità e i traccianti per  tutti i dispositivi di casa. Può funzionare come server #DHCP (in questo caso dovrete disattivare quello presente sul vostro router), oppure può affiancarlo (nelle impostaziooni dhcp del router dovrete indicare là indirizzo ip di pi-hole come server dns per i client).
Una volta fatta questa configurazione non dovrete fare niente sui vostri dispositivi, che siano computer, telefoni o smarttv, facile no?&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;M0AWS-PiHole-Management-interface-768x612&quot; alt=&quot;Pi-hole Logo&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;installazione&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#installazione&quot; aria-label=&quot;Anchor link for: installazione&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Installazione&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;standalone&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#standalone&quot; aria-label=&quot;Anchor link for: standalone&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Standalone&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;curl -sSL https:&#x2F;&#x2F;install.pi-hole.net | bash&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h4 id=&quot;prerequisiti-e-sistemi-supportati&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#prerequisiti-e-sistemi-supportati&quot; aria-label=&quot;Anchor link for: prerequisiti-e-sistemi-supportati&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Prerequisiti e sistemi supportati&lt;&#x2F;h4&gt;
&lt;p&gt;Consultate la pagina ufficiale qui: https:&#x2F;&#x2F;docs.pi-hole.net&#x2F;main&#x2F;prerequisites&#x2F;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;docker&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#docker&quot; aria-label=&quot;Anchor link for: docker&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Docker&lt;&#x2F;h3&gt;
&lt;p&gt;Consiglio di usare docker-compose, di seguito una configurazione di base che potete personalizzare a voswtro piacimento
version: &quot;3&quot;&lt;&#x2F;p&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;version: &amp;quot;3&amp;quot;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;services:
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;  pihole:
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    container_name: pihole
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    image: pihole&#x2F;pihole:latest
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    # For DHCP it is recommended to remove these ports and instead add: network_mode: &amp;quot;host&amp;quot;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    ports:
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      - &amp;quot;53:53&#x2F;tcp&amp;quot;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      - &amp;quot;53:53&#x2F;udp&amp;quot;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      - &amp;quot;67:67&#x2F;udp&amp;quot; # Only required if you are using Pi-hole as your DHCP server
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      - &amp;quot;80:80&#x2F;tcp&amp;quot;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    environment:
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      TZ: &amp;#39;Europe&#x2F;Rome&amp;#39;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      # WEBPASSWORD: &amp;#39;set a secure password here or it will be random&amp;#39;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    # Volumes store your data between container upgrades
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    volumes:
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      - &amp;#39;.&#x2F;etc-pihole:&#x2F;etc&#x2F;pihole&amp;#39;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      - &amp;#39;.&#x2F;etc-dnsmasq.d:&#x2F;etc&#x2F;dnsmasq.d&amp;#39;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    #   https:&#x2F;&#x2F;github.com&#x2F;pi-hole&#x2F;docker-pi-hole#note-on-capabilities
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    cap_add:
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;      - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    restart: unless-stopped 
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;personalizzazione&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#personalizzazione&quot; aria-label=&quot;Anchor link for: personalizzazione&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Personalizzazione&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;aggiunta-di-liste-di-blocco&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#aggiunta-di-liste-di-blocco&quot; aria-label=&quot;Anchor link for: aggiunta-di-liste-di-blocco&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Aggiunta di liste di blocco&lt;&#x2F;h3&gt;
&lt;p&gt;Le liste si configurano dall&#x27;interfaccia web alla voce AdList, eccone alcune che potete aggiungere:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;https:&#x2F;&#x2F;www.github.developerdan.com&#x2F;hosts&#x2F;lists&#x2F;ads-and-tracking-extended.txt&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;s3.amazonaws.com&#x2F;lists.disconnect.me&#x2F;simple_tracking.txt&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;s3.amazonaws.com&#x2F;lists.disconnect.me&#x2F;simple_ad.txt&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;StevenBlack&#x2F;hosts&#x2F;master&#x2F;hosts&lt;&#x2F;li&gt;
&lt;li&gt;http:&#x2F;&#x2F;sysctl.org&#x2F;cameleon&#x2F;hosts&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;L&#x27; elenco non è certo esaustivo, esistono sicuramente altre liste, le potrete trovare con una semplice ricerca sul web.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;pihole-dashboard-1024x640.webp&quot; alt=&quot;Pi-hole Logo&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;utilizzo&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#utilizzo&quot; aria-label=&quot;Anchor link for: utilizzo&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Utilizzo&lt;&#x2F;h2&gt;
&lt;p&gt;Una volta che avete configurato la porta dell&#x27;&lt;strong&gt;interfaccia web&lt;&#x2F;strong&gt;, collegatevi a quest&#x27;ultima, e gestirete tutto da li.
Dal menu, in Tools -&amp;gt; Update Gravity potete &lt;strong&gt;aggiornare le liste&lt;&#x2F;strong&gt; d ei blocchi (come quelle indicate sopra).
Attraverso la voce disable blocking potete intemrrompere temporaneamente (o meno) il blocco.
Da query log vedrete tutte le varie &lt;strong&gt;richieste&lt;&#x2F;strong&gt; e se i siti richiesti sono bloccati o meno, da qui potete anche aggiungerli manualmente alla &lt;strong&gt;whitelist&lt;&#x2F;strong&gt;, come nel caso venga bloccato un sito che a voi serve.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;consiglio-importante&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#consiglio-importante&quot; aria-label=&quot;Anchor link for: consiglio-importante&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Consiglio importante&lt;&#x2F;h3&gt;
&lt;p&gt;Una volta installato funzionerà tutto in automatico e senza che ci sia bisogno di particolari interventi, proprio per questo vi consiglio di avere solo questa &lt;strong&gt;unica e semplice accortezza&lt;&#x2F;strong&gt;: Ricordatevi che lo avete installato, e nel caso abbiate qualche sito mal funzionante, tenete presente che potrebbe essere per questo che qualcosa non vi funziona!&lt;&#x2F;p&gt;
&lt;p&gt;A me personalmente è successo qualche volta, ma sono prontamente intervenuto (whitelist o disabilitazione temporanea) e ho risolto velocemente e facilmente.
I &lt;strong&gt;malfunzionamenti dipendono&lt;&#x2F;strong&gt; sempre &lt;strong&gt;dal tipo&lt;&#x2F;strong&gt; e numero di &lt;strong&gt;liste&lt;&#x2F;strong&gt; che inserite.
Alcuni esempi di malfunzionamenti che mi sono capitati:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;app amazon&lt;&#x2F;li&gt;
&lt;li&gt;rai play sulla tv&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;dns-consigliati&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#dns-consigliati&quot; aria-label=&quot;Anchor link for: dns-consigliati&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
DNS Consigliati&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;https:&#x2F;&#x2F;www.dns0.eu&#x2F;it&lt;&#x2F;li&gt;
&lt;li&gt;https:&#x2F;&#x2F;www.opendns.com&#x2F;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;companion-app&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#companion-app&quot; aria-label=&quot;Anchor link for: companion-app&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Companion app&lt;&#x2F;h2&gt;
&lt;p&gt;Per la sua gestione da pc non avrete problemi, basterà usare la sua comodissima interfaccia web (la porta dipende dal tipo di installazione&#x2F;configurazione che avete effettuato).
Per Il vostro tablet&#x2F;smartphone vi consiglio queste applicazioni:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;apps&#x2F;details?id=com.tien.piholeconnect&quot;&gt;Pi-hole Connect&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;f-droid.org&#x2F;it&#x2F;packages&#x2F;friimaind.piholedroid&#x2F;&quot;&gt;Pi-hole Droid&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;apps&#x2F;details?id=com.jgeek00.droid_hole&quot;&gt;DroidHole&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Se volete curiosare, questo è il sito ufficiale: https:&#x2F;&#x2F;pi-hole.net&#x2F;&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Home Assistant</title>
          <pubDate>Fri, 08 Dec 2023 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/home-assistant/</link>
          <guid>https://www.agostinelli.eu/blog/home-assistant/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/home-assistant/">&lt;p&gt;Quello che segue sarà il primo di una serie di articoli che troverete sul blog. Questo è quello introduttivo diciamo. Iniziamo!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cos-e-a-che-serve&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#cos-e-a-che-serve&quot; aria-label=&quot;Anchor link for: cos-e-a-che-serve&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Cos&#x27;è? A che serve?&lt;&#x2F;h2&gt;
&lt;p&gt;È un software per la &lt;strong&gt;domotica&lt;&#x2F;strong&gt; (personale). &lt;strong&gt;Ma c&#x27;è ne&#x27;era bisogno?&lt;&#x2F;strong&gt; Decisamente si!
Vedremo, nelle puntate successive, quante cose è in grado di fare!
Come descrizione generale possiamo dire che è un Hub tramite il quale comandare tutti i nostri dispostivi domotici, non solo da un unico punto di controllo, ma è possibile creare delle automazioni usando tutti gli altri nostri dispositivi.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;homeassistant.png&quot; alt=&quot;homeassistant logo&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;perche&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#perche&quot; aria-label=&quot;Anchor link for: perche&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Perché&lt;&#x2F;h2&gt;
&lt;p&gt;Se dovessi scegliere alcuni dei suoi punti di forza per convincerli a provarlo direi:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Indipendenza&lt;&#x2F;strong&gt; (il vostro impianto domotico funzionerà anche senza internet, e anche se i vari provider chiudessero i loro servizi)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Leggero&lt;&#x2F;strong&gt;: funziona (alla grande) su un piccolo SBC come #raspberrypi&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Espandibile&lt;&#x2F;strong&gt;: impossibile elencare tutte le integrazioni e plugin supportati&lt;&#x2F;li&gt;
&lt;li&gt;In &lt;strong&gt;continuo sviluppo&lt;&#x2F;strong&gt;: ogni mese escono nuove funzionalità, e i bug fixing escono con una frequenza anche maggiore.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Supporto&lt;&#x2F;strong&gt;: c&#x27;è una vastissima comunità di utilizzatori&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Facilità d&#x27;uso&lt;&#x2F;strong&gt;: la configurazione avviene tramite una semplice interfaccia web&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;App mobile&lt;&#x2F;strong&gt;: esiste sia per Android che per iPhone ed è fatta benissimo&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Backup&lt;&#x2F;strong&gt;: ha una procedura di salvataggio configurazioni automatizzata, se la salviamo altrove (lo vedremo) saremo in grado di ripristinare la configurazione con un click.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Multiutente&lt;&#x2F;strong&gt;: potete creare un account per tutta la famiglia&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Open source&lt;&#x2F;strong&gt;: distribuito con licenza apache 2.0&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;e-ora&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#e-ora&quot; aria-label=&quot;Anchor link for: e-ora&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
E ora?&lt;&#x2F;h2&gt;
&lt;p&gt;Continua a seguire gli articoli di questa serie, ne vedremo delle belle!&lt;&#x2F;p&gt;
&lt;p&gt;Clicca qui per vedere gli altri approfondimenti: #nextcloud #domotica&lt;&#x2F;p&gt;
&lt;p&gt;Vi lascio qualche immagine di esempio prese dal web.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;536249767.png&quot; alt=&quot;homeassistant1&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;556378040.jpg&quot; alt=&quot;homeassistant2&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;home-assistant-energy-management-dashboard.png&quot; alt=&quot;homeassistant3&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</description>
      </item>
    </channel>
</rss>
