<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-07-19T15:08:01&#43;02:00</updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by </title>
  <author>
    <name></name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqujme.rss" />
  <link href="https://nostr.ae/npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqujme" />
  <id>https://nostr.ae/npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqujme</id>
  <icon></icon>
  <logo></logo>


  <title>Nostr notes on nostr.data.haus:443/yakihhone:nostr.data.haus:443/yonder-titan</title>
  <link href="https://nostr.ae/r/nostr.data.haus:443/yakihhone:nostr.data.haus:443/yonder-titan" />
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/r/nostr.data.haus:443/yakihhone:nostr.data.haus:443/yonder-titan.rss" />
  <id>https://nostr.ae/r/nostr.data.haus:443/yakihhone:nostr.data.haus:443/yonder-titan</id>
  <icon>https://data.haus/static/favicon-192x192.png</icon>
  <logo>https://data.haus/static/favicon-192x192.png</logo>



  <entry>
    <id>https://nostr.ae/nevent1qqsdshff6mt9sh5edd4w98pwxylrluqekd0p3au0yards02q9dfu29spg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrr8zcs9eaqhjnq6herpn0jc96rz0uahdhegffq5hgy7fn0vmyhcscpwahe</id>
    
      <title type="html">🔔 Rusko vyslalo na Kyjev nejvíce balistických raket od ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdshff6mt9sh5edd4w98pwxylrluqekd0p3au0yards02q9dfu29spg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrr8zcs9eaqhjnq6herpn0jc96rz0uahdhegffq5hgy7fn0vmyhcscpwahe" />
    <content type="html">
      🔔 Rusko vyslalo na Kyjev nejvíce balistických raket od začátku války: &lt;br/&gt;&lt;br/&gt;Nejméně jednu oběť a několik zraněných si vyžádaly ruské noční údery na Kyjev. Podle ukrajinského ministra zahraničí Andrije Sybihy v noci Rusové vypálili na hlavní město čtyři desítky balistických raket, což je nejvíce od roku 2022. Údery zasáhly nejméně pět kyjevských čtvrtí. &lt;br/&gt;&lt;a href=&#34;https://www.idnes.cz/zpravy/zahranicni/ruske-udery-utok-drony-rakey-ukrajina-kyjev-obeti-moskva.A260719_072420_zahranicni_sahu&#34;&gt;https://www.idnes.cz/zpravy/zahranicni/ruske-udery-utok-drony-rakey-ukrajina-kyjev-obeti-moskva.A260719_072420_zahranicni_sahu&lt;/a&gt; &lt;br/&gt;#CzechNews #News #Press #Media
    </content>
    <updated>2026-07-19T15:08:01&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsynfxwkdw22agntpv9hnrw2apt6phnp4zjhgsyd53mqetc8fv7ycqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszypld04wr40cxlgwqpacls7v9va5lg6kfyd2vz2dna42ky5rfyl3qql30qcr</id>
    
      <title type="html">Being drunk is massively overrated too.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsynfxwkdw22agntpv9hnrw2apt6phnp4zjhgsyd53mqetc8fv7ycqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszypld04wr40cxlgwqpacls7v9va5lg6kfyd2vz2dna42ky5rfyl3qql30qcr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspdxqgeu0hyjj6q6vfkr3zfsarvkrwsywrgafpaw6raax3css7sqq5aks59&#39;&gt;nevent1q…ks59&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Being drunk is massively overrated too.
    </content>
    <updated>2026-07-19T15:07:29&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswsqxlfjlhtejh2pf35mfsv4ts7jaa8qwwf920ymk0hdtrr72uaggpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyr0huwwe3ptcf55996zgpasc6ypsv3srp70aszv0v66xcf44xlfcssw003w</id>
    
      <title type="html">Wild Animals ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswsqxlfjlhtejh2pf35mfsv4ts7jaa8qwwf920ymk0hdtrr72uaggpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyr0huwwe3ptcf55996zgpasc6ypsv3srp70aszv0v66xcf44xlfcssw003w" />
    <content type="html">
      Wild Animals &lt;br/&gt; &lt;img src=&#34;https://images.pexels.com/photos/30930086/pexels-photo-30930086.jpeg&#34;&gt;  &lt;br/&gt;#AnimalKingdom
    </content>
    <updated>2026-07-19T15:06:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdfc9yaaz395tqc6gc3ueu392qkkjpzmd2wekqsjulpfhu65327kqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqxyt475tmdsltw6gg2axm9qmx46p3m3hpwnw9mkfw9p9r27gsly6a4earh</id>
    
      <title type="html">Good Morning Big Brother is watching you, flock safety, EU chat ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdfc9yaaz395tqc6gc3ueu392qkkjpzmd2wekqsjulpfhu65327kqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqxyt475tmdsltw6gg2axm9qmx46p3m3hpwnw9mkfw9p9r27gsly6a4earh" />
    <content type="html">
      Good Morning&lt;br/&gt;Big Brother is watching you, flock safety, EU chat control, and Palantir are running to monitor you 24/7 because you’re just so cute.&lt;br/&gt;&lt;br/&gt;Anya Hello Kitty Meme 1984&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://blossom.primal.net/b6310729a0fffcf63632f4466fd0860b04b90f3a12635331fe4267ac7885f14f.mp4&#34;&gt;&lt;/video&gt;
    </content>
    <updated>2026-07-19T15:06:57&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszcjpl0zmrrc7233242efcyz6zwqsgx9jpuk4ffzd43qpafe8zeggpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdety2xlx4x</id>
    
      <title type="html">#中国人民为何穷 感觉最近都在发 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszcjpl0zmrrc7233242efcyz6zwqsgx9jpuk4ffzd43qpafe8zeggpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdety2xlx4x" />
    <content type="html">
      #中国人民为何穷&lt;br/&gt;&lt;br/&gt;感觉最近都在发 人世几回伤往事 这个tag，不负面的 学习使我快乐 都用不上了。  &lt;br/&gt;而且能发 人世 的内容，基本都是中国负面信息，也都能叫做 #中国人民为何穷 系列······&lt;br/&gt;——&lt;br/&gt;冷仙 :verified: (anitya@go5.dev)&lt;br/&gt;Nostr: nprofile1qyt8wumn8ghj7un9d3shjtnyd968gmewwp6kytcqyz4x9wq235fsec8dtssyxu7qa4c4033fmgh4dwk0usk0wfql5hgts3mnltg&lt;br/&gt;&lt;a href=&#34;https://go5.dev/@anitya/116946784034973655&#34;&gt;https://go5.dev/@anitya/116946784034973655&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:55&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvuyf3pdewnfp7lyqyt3k7c54rdgdmd0mxq5j0aknqzywt2kd8g4qpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyzwl0a7</id>
    
      <title>Nostr event nevent1qqsvuyf3pdewnfp7lyqyt3k7c54rdgdmd0mxq5j0aknqzywt2kd8g4qpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyzwl0a7</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvuyf3pdewnfp7lyqyt3k7c54rdgdmd0mxq5j0aknqzywt2kd8g4qpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyzwl0a7" />
    <content type="html">
      我家在仙山&lt;br/&gt; &lt;img src=&#34;https://proxy.bostr.online/media.tea.codes/mastodon/cache/media_attachments/files/116/946/784/431/247/177/original/b6c377caf630a210.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;——&lt;br/&gt;在双黄线处调头的瘪三 (linhardt@m.otter.homes)&lt;br/&gt;Nostr: nprofile1qyt8wumn8ghj7un9d3shjtnyd968gmewwp6kytcqyzylskywt0yqgeuqjylhr42gpyl75m3gcn5gw3hq87m2r00ntmr42akcx6f&lt;br/&gt;&lt;a href=&#34;https://m.otter.homes/@linhardt/116946784340207291&#34;&gt;https://m.otter.homes/@linhardt/116946784340207291&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:55&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfv82rmwzckltzk5fv792s5c7hhsw3g2e97qm7ynnzht0sdne8xlcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdety4qa9mw</id>
    
      <title>Nostr event nevent1qqsfv82rmwzckltzk5fv792s5c7hhsw3g2e97qm7ynnzht0sdne8xlcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdety4qa9mw</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfv82rmwzckltzk5fv792s5c7hhsw3g2e97qm7ynnzht0sdne8xlcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdety4qa9mw" />
    <content type="html">
      &lt;a href=&#34;https://x.com/Karamomo912/status/2078684619436855317?s=20&#34;&gt;https://x.com/Karamomo912/status/2078684619436855317?s=20&lt;/a&gt;  &lt;br/&gt;好地狱的御守…&lt;br/&gt;——&lt;br/&gt;𝕾𝖊𝖎𝖒𝖊𝖎｜化石より古い日のキミから届くエコー (clear_ship@m.cmx.im)&lt;br/&gt;Nostr: nprofile1qyv8wumn8ghj7un9d3shjtnpwf6xjmmnw3ezucmg9uqs6amnwvaz7tmwdaejumr0dsq3qamnwvaz7tmzdaehgu3wwd5x7uqpz4mhxue69uhhyetvv9ujumn0wd68ytnwv46qz9thwden5te0dehhxarj9ejxzarp9e5xzatnqqsplhgpv9knvtlump96qcx73lvyd2gcsyf4mw8ferxjl283yne4l9cwj6y5q&lt;br/&gt;&lt;a href=&#34;https://m.cmx.im/@clear_ship/116946770161474427&#34;&gt;https://m.cmx.im/@clear_ship/116946770161474427&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:51&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrgxvu95gjkury0q0jhsqc42shw6cnhvqekd6xvqrjwskatsjv4cgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyfgm8mj</id>
    
      <title type="html">自己採点では法律科目過去最高点や —— なゆも ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrgxvu95gjkury0q0jhsqc42shw6cnhvqekd6xvqrjwskatsjv4cgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyfgm8mj" />
    <content type="html">
      自己採点では法律科目過去最高点や&lt;br/&gt;——&lt;br/&gt;なゆも ‮c＾ω＾っ ‮ (qzbx@waha.work)&lt;br/&gt;Nostr: nprofile1qyt8wumn8ghj7un9d3shjtnyd968gmewwp6kytcqyzh6gwwg6ypjr6e7xmxt3fwhnpct59wvfy9ehel35ywlv74r0kaeyjsgw3z&lt;br/&gt;&lt;a href=&#34;https://waha.work/@qzbx/116946782767345431&#34;&gt;https://waha.work/@qzbx/116946782767345431&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:54&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstrdkgg5lsyw5r085gztmwt689erl0a350rxdnmvy436t928ayxmgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyumtqj3</id>
    
      <title>Nostr event nevent1qqstrdkgg5lsyw5r085gztmwt689erl0a350rxdnmvy436t928ayxmgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyumtqj3</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstrdkgg5lsyw5r085gztmwt689erl0a350rxdnmvy436t928ayxmgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyumtqj3" />
    <content type="html">
      密老／宋・赵琥  &lt;br/&gt;匹马飘然似转蓬，一年两度过湘东。  &lt;br/&gt;襟裙润带黄梅雨，枕簟凉生若楝风。  &lt;br/&gt;急急穷途将底用，区区苟禄有何功。  &lt;br/&gt;输他燕坐长厅老，点对浓香丈室中。&lt;br/&gt;——&lt;br/&gt;唐诗宋词 (cnpoem@m.cmx.im)&lt;br/&gt;Nostr: nprofile1qyv8wumn8ghj7un9d3shjtnpwf6xjmmnw3ezucmg9uqs6amnwvaz7tmwdaejumr0dsq3qamnwvaz7tmzdaehgu3wwd5x7uqpz4mhxue69uhhyetvv9ujumn0wd68ytnwv46qz9thwden5te0dehhxarj9ejxzarp9e5xzatnqqs0a486cqszp6xangdfzcnvj30qep2avqczvym3e7nh5vjlds3qvaq55udfa&lt;br/&gt;&lt;a href=&#34;https://m.cmx.im/@cnpoem/116946764216750038&#34;&gt;https://m.cmx.im/@cnpoem/116946764216750038&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:50&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9e34anmqvqdtcjf0nn5mm05e5yl7zmm735dp0whuaqq3yzdf8q4gpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyqhc54v</id>
    
      <title type="html">持续卖淫中 —— 本药店不攻特受药 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9e34anmqvqdtcjf0nn5mm05e5yl7zmm735dp0whuaqq3yzdf8q4gpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyqhc54v" />
    <content type="html">
      持续卖淫中&lt;br/&gt;——&lt;br/&gt;本药店不攻特受药 (babysharkdodooo@wxw.moe)&lt;br/&gt;Nostr: nprofile1qyt8wumn8ghj7un9d3shjtnyd968gmewwp6kytcqyrwd96qd5ehadklyk63crvczd9aw0kg0pf9qks5dxk564ct7ktczqdkvqq6&lt;br/&gt;&lt;a href=&#34;https://wxw.moe/@babysharkdodooo/116946765125392904&#34;&gt;https://wxw.moe/@babysharkdodooo/116946765125392904&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:51&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy9sheg4qp9dvmz2yc4hmwrdqzx6mtgutya3xrs3fnmryvspv0hvcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetygsh3cd</id>
    
      <title type="html">等我小了我也要从爸爸逼里生出来 —— ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy9sheg4qp9dvmz2yc4hmwrdqzx6mtgutya3xrs3fnmryvspv0hvcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetygsh3cd" />
    <content type="html">
      等我小了我也要从爸爸逼里生出来&lt;br/&gt;——&lt;br/&gt;家攻的裸替 (Sixteenounce@wxw.moe)&lt;br/&gt;&lt;a href=&#34;https://wxw.moe/@Sixteenounce/116946758385815330&#34;&gt;https://wxw.moe/@Sixteenounce/116946758385815330&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:50&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsra2uz8flj0glecycwa0ux4c00476v3q0pxgccsnhkqapelhex5mqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyp358nf</id>
    
      <title>Nostr event nevent1qqsra2uz8flj0glecycwa0ux4c00476v3q0pxgccsnhkqapelhex5mqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyp358nf</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsra2uz8flj0glecycwa0ux4c00476v3q0pxgccsnhkqapelhex5mqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetyp358nf" />
    <content type="html">
      王妮娜看我操丁嘉琳说人生就是离开自己的爸爸然后操别人的爸爸，我。&lt;br/&gt;——&lt;br/&gt;家攻的裸替 (Sixteenounce@wxw.moe)&lt;br/&gt;&lt;a href=&#34;https://wxw.moe/@Sixteenounce/116946749050463415&#34;&gt;https://wxw.moe/@Sixteenounce/116946749050463415&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:49&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgrszkj4jg2weuw6elapdxcsemcxzh9k6quudkmq4xc999ejymthcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetywetz0n</id>
    
      <title>Nostr event nevent1qqsgrszkj4jg2weuw6elapdxcsemcxzh9k6quudkmq4xc999ejymthcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetywetz0n</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgrszkj4jg2weuw6elapdxcsemcxzh9k6quudkmq4xc999ejymthcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqyvvetnshzsdujz5r6ywjul6ncvh4yg23yh9hc3dygt08f7tdetywetz0n" />
    <content type="html">
      谁囡囡&lt;br/&gt; &lt;img src=&#34;https://proxy.bostr.online/media.tea.codes/mastodon/cache/media_attachments/files/116/946/768/287/344/803/original/6ae77535afb32ed3.jpeg&#34;&gt; &lt;br/&gt;&lt;br/&gt;——&lt;br/&gt;本药店不攻特受药 (babysharkdodooo@wxw.moe)&lt;br/&gt;Nostr: nprofile1qyt8wumn8ghj7un9d3shjtnyd968gmewwp6kytcqyrwd96qd5ehadklyk63crvczd9aw0kg0pf9qks5dxk564ct7ktczqdkvqq6&lt;br/&gt;&lt;a href=&#34;https://wxw.moe/@babysharkdodooo/116946753977759279&#34;&gt;https://wxw.moe/@babysharkdodooo/116946753977759279&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:50&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdqwwkc6yhfc4th9pg64qrheg65uqcz53azksvhm432uvjqzwnegcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrz4337vdxaa50p8z7ptwd46h3j2e5k6yk93fu6km09fvm9sk7ufu36v3zg</id>
    
      <title type="html">🤖 Tracking strings detected and removed! 🔗 Clean URL(s): ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdqwwkc6yhfc4th9pg64qrheg65uqcz53azksvhm432uvjqzwnegcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrz4337vdxaa50p8z7ptwd46h3j2e5k6yk93fu6km09fvm9sk7ufu36v3zg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgt7hyjztqu5vjq25k7y45zl8vxwfr8faq3mqsly9fyz565djcgys3c600z&#39;&gt;nevent1q…600z&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;🤖 Tracking strings detected and removed!&lt;br/&gt;&lt;br/&gt;🔗 Clean URL(s):&lt;br/&gt;&lt;a href=&#34;https://www.instagram.com/reel/Da9RU8ZNDtK/&#34;&gt;https://www.instagram.com/reel/Da9RU8ZNDtK/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;❌ Removed parts:&lt;br/&gt;igsh=d2ZoaHYzM2dyNm45
    </content>
    <updated>2026-07-19T15:05:48&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9cfsg36mrv4l7u7rcka92534htu7972779wn4tf0yfmk3umtclrcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyzlklkzjhx9pnwu5pkqqyvl7z8lywvpdd7prpkvdluxq5m69t3z8cu3gsku</id>
    
      <title type="html">Wild Animals ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9cfsg36mrv4l7u7rcka92534htu7972779wn4tf0yfmk3umtclrcpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyzlklkzjhx9pnwu5pkqqyvl7z8lywvpdd7prpkvdluxq5m69t3z8cu3gsku" />
    <content type="html">
      Wild Animals &lt;br/&gt; &lt;img src=&#34;https://images.pexels.com/photos/30749839/pexels-photo-30749839.jpeg&#34;&gt;  &lt;br/&gt;#NostrAnimals
    </content>
    <updated>2026-07-19T15:05:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrnz4sns68zv4cqs55hxvd8geal3g0fyt549wl4myar08fgj79necpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyz9w09j67xmpx3amnyqtj886jjr7fk3yqz7mqc6jrtgg2pcxla0evxafgmm</id>
    
      <title type="html">DeFi — это не финансовая революция, а ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrnz4sns68zv4cqs55hxvd8geal3g0fyt549wl4myar08fgj79necpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyz9w09j67xmpx3amnyqtj886jjr7fk3yqz7mqc6jrtgg2pcxla0evxafgmm" />
    <content type="html">
      DeFi — это не финансовая революция, а очередной способ перераспределить деньги от новичков к тем, кто уже в теме. Да, ethereum.org пишет, что это &amp;#34;доступно каждому&amp;#34;, но реальность проще: 90% пользователей теряют деньги на impermanent loss, а остальные 10% — это те, кто пишет гайды &amp;#34;как заработать на DeFi&amp;#34;. Solana уже обогнала Ethereum по TVL, но спросите себя: если всё так д...
    </content>
    <updated>2026-07-19T15:04:58&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq2fs4v43959gkj2rt68dw2dkrsgn7hxczcqpje4qqan3kpth4k8gpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrv0tpy5u6cqqeyw96rqqm5tfn5eqgcxvd9hrr6ytkwt69pdxlclwu6ryt7</id>
    
      <title type="html">Body of missing crew worker found after boat sinks in Amsterdam A ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq2fs4v43959gkj2rt68dw2dkrsgn7hxczcqpje4qqan3kpth4k8gpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrv0tpy5u6cqqeyw96rqqm5tfn5eqgcxvd9hrr6ytkwt69pdxlclwu6ryt7" />
    <content type="html">
      Body of missing crew worker found after boat sinks in Amsterdam&lt;br/&gt;&lt;br/&gt;A body was recovered overnight during a search in the Coenhaven in Amsterdam, police said.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://nltimes.nl/2026/07/19/body-missing-crew-worker-found-boat-sinks-amsterdam&#34;&gt;https://nltimes.nl/2026/07/19/body-missing-crew-worker-found-boat-sinks-amsterdam&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:05:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstdm2f2c4qpprd82hduz9w2mvxjzrss4mmep00254jjzzlzgh9fkqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrpslrukdypvwekwxe7we7sglwf082ued46r225m2jgmpl2w63032lr4jmf</id>
    
      <title type="html">:locked: 1. Ephemeral Encrypted Volatile DVMs (for devices up to ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstdm2f2c4qpprd82hduz9w2mvxjzrss4mmep00254jjzzlzgh9fkqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrpslrukdypvwekwxe7we7sglwf082ued46r225m2jgmpl2w63032lr4jmf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfq3hk6w9jjv0mg7s3zd9dp0w2526u0wuvduj48k4d0yw8lwed9jsppemhxue69uhkummn9ekx7mp0jgvhtk&#39;&gt;nevent1q…vhtk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;:locked: 1. Ephemeral Encrypted Volatile DVMs (for devices up to 16 GB RAM)&lt;br/&gt;&lt;br/&gt;Script deploys a systemd service that creates a fresh LUKS-encrypted LVM thin pool on every boot, clones all DVM templates into it as ephemeral -ephemeral variants, and completely destroys the pool - including all VM volumes, encryption keys, and the underlying image file - on shutdown. This guarantees that all DVM session data resides exclusively on encrypted volatile storage that is cryptographically irrecoverable after poweroff, leaving no forensic traces on disk.&lt;br/&gt;&lt;br/&gt;    This solution does not impose any additional memory load, which is critical for devices with less than 16 GB of RAM. My friends with 16 GB devices experienced severe issues when running DVMs entirely in RAM - DVMs would crash unexpectedly, or dom0 would start glitching: panel and app menu artifacts, cursor freezes.&lt;br/&gt;&lt;br/&gt;    Make sure there is sufficient free space (more than 4 GB) in dom0. You can resize dom0 these commands:&lt;br/&gt;&lt;br/&gt;sudo lvresize --size 4G /dev/mapper/qubes_dom0-root&lt;br/&gt;sudo resize2fs /dev/mapper/qubes_dom0-root&lt;br/&gt;sudo lvresize -L &#43;4G qubes_dom0/root-pool&lt;br/&gt;&lt;br/&gt;    Run this simple script in dom0 terminal:&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;sudo tee /etc/systemd/system/ephemeral-pool.service &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;[Unit]&lt;br/&gt;Description=Fresh ephemeral encrypted LVM pool with DVM auto-clone&lt;br/&gt;After=local-fs.target qubesd.service&lt;br/&gt;Requires=qubesd.service&lt;br/&gt;Before=qubes-vm@sys-net.service qubes-vm@sys-firewall.service&lt;br/&gt;&lt;br/&gt;[Service]&lt;br/&gt;Type=oneshot&lt;br/&gt;RemainAfterExit=yes&lt;br/&gt;ExecStartPre=-/usr/local/bin/ephemeral-pool-destroy.sh&lt;br/&gt;ExecStart=/usr/local/bin/ephemeral-pool-create.sh&lt;br/&gt;ExecStop=/usr/local/bin/ephemeral-pool-destroy.sh&lt;br/&gt;&lt;br/&gt;[Install]&lt;br/&gt;WantedBy=multi-user.target&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo tee /usr/local/bin/ephemeral-pool-create.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;set -uo pipefail&lt;br/&gt;&lt;br/&gt;POOL_NAME=&amp;#34;ephemeral_pool&amp;#34;&lt;br/&gt;MOUNT_BASE=&amp;#34;/var/tmp/ephemeral&amp;#34;&lt;br/&gt;KEY_FILE=&amp;#34;/dev/shm/ephemeral.key&amp;#34;&lt;br/&gt;IMG_FILE=&amp;#34;${MOUNT_BASE}/pool.img&amp;#34;&lt;br/&gt;LUKS_NAME=&amp;#34;ephemeral_crypt&amp;#34;&lt;br/&gt;POOL_SIZE=&amp;#34;4G&amp;#34;&lt;br/&gt;&lt;br/&gt;ROOT_DEV=$(findmnt -n -o SOURCE / 2&amp;gt;/dev/null || echo &amp;#34;&amp;#34;)&lt;br/&gt;&lt;br/&gt;if echo &amp;#34;$ROOT_DEV&amp;#34; | grep -qE &amp;#34;(overlay|/dev/zram0)&amp;#34;; then&lt;br/&gt;    echo &amp;#34;[*] Detected amnesiac mode: $ROOT_DEV&amp;#34;&lt;br/&gt;    echo &amp;#34;    Destroying old ephemeral VMs and artifacts...&amp;#34;&lt;br/&gt;&lt;br/&gt;    for vm in $(qvm-ls --raw-list --running 2&amp;gt;/dev/null); do&lt;br/&gt;        if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Stopping: $vm&amp;#34;&lt;br/&gt;            qvm-shutdown --wait --timeout 10 &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || \&lt;br/&gt;                qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        fi&lt;br/&gt;    done&lt;br/&gt;&lt;br/&gt;    for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;        if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Removing VM: $vm&amp;#34;&lt;br/&gt;            qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        fi&lt;br/&gt;    done&lt;br/&gt;&lt;br/&gt;    qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    vgchange -an ephemeral_vg 2&amp;gt;/dev/null || true&lt;br/&gt;    vgremove -f ephemeral_vg 2&amp;gt;/dev/null || true&lt;br/&gt;    cryptsetup close &amp;#34;${LUKS_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    rm -f &amp;#34;${KEY_FILE}&amp;#34; &amp;#34;${IMG_FILE}&amp;#34;&lt;br/&gt;&lt;br/&gt;    echo &amp;#34;[&#43;] Cleanup completed. Pool creation skipped in amnesiac mode.&amp;#34;&lt;br/&gt;    exit 0&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Removing VM: $vm&amp;#34;&lt;br/&gt;        qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;        qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;sleep 1&lt;br/&gt;vgchange -an ephemeral_vg 2&amp;gt;/dev/null || true&lt;br/&gt;vgremove -f ephemeral_vg 2&amp;gt;/dev/null || true&lt;br/&gt;cryptsetup close &amp;#34;${LUKS_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;rm -f &amp;#34;${KEY_FILE}&amp;#34; &amp;#34;${IMG_FILE}&amp;#34;&lt;br/&gt;&lt;br/&gt;mkdir -p &amp;#34;${MOUNT_BASE}&amp;#34;&lt;br/&gt;install -m600 /dev/null &amp;#34;${KEY_FILE}&amp;#34; &amp;amp;&amp;amp; dd if=/dev/urandom bs=1 count=4096 of=&amp;#34;${KEY_FILE}&amp;#34; iflag=fullblock&lt;br/&gt;truncate -s &amp;#34;${POOL_SIZE}&amp;#34; &amp;#34;${IMG_FILE}&amp;#34;&lt;br/&gt;LOOP_DEV=$(losetup -f --show &amp;#34;${IMG_FILE}&amp;#34;)&lt;br/&gt;cryptsetup luksFormat -q --key-file &amp;#34;${KEY_FILE}&amp;#34; &amp;#34;${LOOP_DEV}&amp;#34;&lt;br/&gt;cryptsetup open --key-file &amp;#34;${KEY_FILE}&amp;#34; &amp;#34;${LOOP_DEV}&amp;#34; &amp;#34;${LUKS_NAME}&amp;#34;&lt;br/&gt;pvcreate &amp;#34;/dev/mapper/${LUKS_NAME}&amp;#34;&lt;br/&gt;vgcreate &amp;#34;ephemeral_vg&amp;#34; &amp;#34;/dev/mapper/${LUKS_NAME}&amp;#34;&lt;br/&gt;lvcreate -T -n &amp;#34;thin_pool&amp;#34; -l &#43;100%FREE &amp;#34;ephemeral_vg&amp;#34;&lt;br/&gt;losetup -d &amp;#34;${LOOP_DEV}&amp;#34; || true&lt;br/&gt;&lt;br/&gt;if qvm-pool list 2&amp;gt;/dev/null | grep -q &amp;#34;^${POOL_NAME}&amp;#34;; then&lt;br/&gt;    qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    sleep 1&lt;br/&gt;fi&lt;br/&gt;qvm-pool add &amp;#34;${POOL_NAME}&amp;#34; lvm_thin --option volume_group=ephemeral_vg --option thin_pool=thin_pool 2&amp;gt;/dev/null || \&lt;br/&gt;qvm-pool add &amp;#34;${POOL_NAME}&amp;#34; lvm_thin -o volume_group=ephemeral_vg,thin_pool=thin_pool&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Copying DVM templates...&amp;#34;&lt;br/&gt;qvm-ls --raw-list 2&amp;gt;/dev/null | grep -i &amp;#39;dvm&amp;#39; | grep -v &amp;#39;\-ephemeral$&amp;#39; | while read vm; do&lt;br/&gt;    [ -n &amp;#34;$vm&amp;#34; ] || continue&lt;br/&gt;    clone_name=&amp;#34;${vm}-ephemeral&amp;#34;&lt;br/&gt;    qvm-check -q &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null &amp;amp;&amp;amp; {&lt;br/&gt;        qvm-kill &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        qvm-remove --force &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    }&lt;br/&gt;    echo &amp;#34;    -&amp;gt; $vm -&amp;gt; ${clone_name}&amp;#34;&lt;br/&gt;    qvm-clone -P &amp;#34;${POOL_NAME}&amp;#34; &amp;#34;$vm&amp;#34; &amp;#34;$clone_name&amp;#34; &amp;amp;&amp;amp; {&lt;br/&gt;        qvm-prefs &amp;#34;$clone_name&amp;#34; template_for_dispvms True 2&amp;gt;/dev/null || true&lt;br/&gt;        qvm-prefs &amp;#34;$clone_name&amp;#34; autostart False 2&amp;gt;/dev/null || true&lt;br/&gt;    }&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[&#43;] Done!&amp;#34;&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo tee /usr/local/bin/ephemeral-pool-destroy.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;set -uo pipefail&lt;br/&gt;&lt;br/&gt;POOL_NAME=&amp;#34;ephemeral_pool&amp;#34;&lt;br/&gt;LUKS_NAME=&amp;#34;ephemeral_crypt&amp;#34;&lt;br/&gt;KEY_FILE=&amp;#34;/dev/shm/ephemeral.key&amp;#34;&lt;br/&gt;IMG_FILE=&amp;#34;/var/tmp/ephemeral/pool.img&amp;#34;&lt;br/&gt;&lt;br/&gt;for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;        qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;sleep 1&lt;br/&gt;qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;vgchange -an ephemeral_vg 2&amp;gt;/dev/null || true&lt;br/&gt;vgremove -f ephemeral_vg 2&amp;gt;/dev/null || true&lt;br/&gt;cryptsetup close &amp;#34;${LUKS_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;for loop in $(losetup -j &amp;#34;${IMG_FILE}&amp;#34; 2&amp;gt;/dev/null | cut -d: -f1 || true); do&lt;br/&gt;    [ -n &amp;#34;$loop&amp;#34; ] &amp;amp;&amp;amp; losetup -d &amp;#34;$loop&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;done&lt;br/&gt;rm -f &amp;#34;${KEY_FILE}&amp;#34; &amp;#34;${IMG_FILE}&amp;#34;&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo chmod &#43;x /usr/local/bin/ephemeral-pool-create.sh&lt;br/&gt;sudo chmod &#43;x /usr/local/bin/ephemeral-pool-destroy.sh&lt;br/&gt;sudo systemctl daemon-reload&lt;br/&gt;sudo systemctl enable --now ephemeral-pool.service&lt;br/&gt;&lt;br/&gt;    To remove pool and disable the systemd service:&lt;br/&gt;&lt;br/&gt;sudo systemctl stop ephemeral-pool.service&lt;br/&gt;sudo systemctl disable ephemeral-pool.service&lt;br/&gt;&lt;br/&gt;    Start the service and pool again:&lt;br/&gt;&lt;br/&gt;sudo systemctl enable --now ephemeral-pool.service&lt;br/&gt;&lt;br/&gt;:card_index_dividers: 2. RAM-based DVMs on a Zram disk (for devices with 20-24 GB of RAM)&lt;br/&gt;&lt;br/&gt;This script creates a compressed RAM disk (zram) that acts as a super-fast ephemeral storage pool for your DVMs. On every boot, it sets aside a portion of your RAM - compressed with lz4 algorithm to save space - builds an LVM thin pool on top of it, and clones all your DVM templates there as -ephemeral variants. When you shut down the system, everything in that RAM disk vanishes instantly without ever touching your physical disk. The key advantage of zram is built-in compression: your 3 GB pool can hold 6-7 GB of actual VM data, giving you more usable space than raw RAM would allow. It is also significantly faster than disk-based storage, so DVMs launch and run with near-native speed. Unlike tmpfs, zram does not compete with your system memory for cache.&lt;br/&gt;&lt;br/&gt;    First, increase the maximum dom0 memory in this file&lt;br/&gt;    sudo nano /etc/default/grub&lt;br/&gt;    edit this value dom0_mem=max:4096M to dom0_mem=max:6144M,&lt;br/&gt;    update GRUB sudo grub2-mkconfig -o /boot/grub2/grub.cfg and reboot Qubes OS.&lt;br/&gt;&lt;br/&gt;    Run this simple script in dom0 terminal:&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;sudo tee /etc/systemd/system/zram-pool.service &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;[Unit]&lt;br/&gt;Description=ZRAM Ephemeral Pool&lt;br/&gt;After=qubesd.service&lt;br/&gt;Before=qubes-vm@sys-net.service&lt;br/&gt;&lt;br/&gt;[Service]&lt;br/&gt;Type=oneshot&lt;br/&gt;ExecStart=/usr/local/bin/zram-pool-create.sh&lt;br/&gt;RemainAfterExit=yes&lt;br/&gt;&lt;br/&gt;[Install]&lt;br/&gt;WantedBy=multi-user.target&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo tee /usr/local/bin/zram-pool-create.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;set -euo pipefail&lt;br/&gt;&lt;br/&gt;POOL_NAME=&amp;#34;zram_pool&amp;#34;&lt;br/&gt;ZRAM_SIZE=&amp;#34;4G&amp;#34;&lt;br/&gt;VG_NAME=&amp;#34;zram_vg&amp;#34;&lt;br/&gt;&lt;br/&gt;EXTRA_VMS=(&lt;br/&gt;    #&amp;#34;whonix&amp;#34;&lt;br/&gt;    #&amp;#34;sys-whonix&amp;#34;&lt;br/&gt;)&lt;br/&gt;&lt;br/&gt;ROOT_DEV=$(findmnt -n -o SOURCE / 2&amp;gt;/dev/null || echo &amp;#34;&amp;#34;)&lt;br/&gt;&lt;br/&gt;if echo &amp;#34;$ROOT_DEV&amp;#34; | grep -qE &amp;#34;(overlay|/dev/zram0)&amp;#34;; then&lt;br/&gt;    echo &amp;#34;[*] Detected amnesiac mode: $ROOT_DEV&amp;#34;&lt;br/&gt;    echo &amp;#34;    Cleaning up old VMs...&amp;#34;&lt;br/&gt;&lt;br/&gt;    for vm in $(qvm-ls --raw-list --running 2&amp;gt;/dev/null); do&lt;br/&gt;        if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Stopping: $vm&amp;#34;&lt;br/&gt;            qvm-shutdown --wait --timeout 10 &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || \&lt;br/&gt;                qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        fi&lt;br/&gt;    done&lt;br/&gt;&lt;br/&gt;    for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;        if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Removing: $vm&amp;#34;&lt;br/&gt;            qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        fi&lt;br/&gt;    done&lt;br/&gt;&lt;br/&gt;    qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    vgchange -an &amp;#34;${VG_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    vgremove -f &amp;#34;${VG_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;    for dev in /dev/zram*; do&lt;br/&gt;        [ -b &amp;#34;$dev&amp;#34; ] || continue&lt;br/&gt;        zramctl --reset &amp;#34;$dev&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    done&lt;br/&gt;&lt;br/&gt;    echo &amp;#34;[&#43;] Cleanup completed.&amp;#34;&lt;br/&gt;    exit 0&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;if [ &amp;#34;$EUID&amp;#34; -ne 0 ]; then&lt;br/&gt;    echo &amp;#34;[!] Root privileges required&amp;#34;&lt;br/&gt;    exit 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Creating zram device (${ZRAM_SIZE})...&amp;#34;&lt;br/&gt;modprobe zram 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;ZRAM_DEV=&amp;#34;&amp;#34;&lt;br/&gt;for dev in /dev/zram*; do&lt;br/&gt;    [ -b &amp;#34;$dev&amp;#34; ] || continue&lt;br/&gt;    if ! zramctl &amp;#34;$dev&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;mounted\|active&amp;#34;; then&lt;br/&gt;        ZRAM_DEV=&amp;#34;$dev&amp;#34;&lt;br/&gt;        break&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;if [ -z &amp;#34;$ZRAM_DEV&amp;#34; ]; then&lt;br/&gt;    ZRAM_DEV=$(zramctl --find --size &amp;#34;$ZRAM_SIZE&amp;#34; --algorithm lz4)&lt;br/&gt;else&lt;br/&gt;    zramctl --reset &amp;#34;$ZRAM_DEV&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    ZRAM_DEV=$(zramctl --find --size &amp;#34;$ZRAM_SIZE&amp;#34; --algorithm lz4)&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;    Device: $ZRAM_DEV&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Removing VMs from pool ${POOL_NAME}...&amp;#34;&lt;br/&gt;for vm in $(qvm-ls --raw-list --running 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Stopping: $vm&amp;#34;&lt;br/&gt;        qvm-shutdown --wait --timeout 30 &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || {&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Force killing: $vm&amp;#34;&lt;br/&gt;            qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        }&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Removing: $vm&amp;#34;&lt;br/&gt;        qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Cleaning up old infrastructure...&amp;#34;&lt;br/&gt;qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;vgchange -an &amp;#34;${VG_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;vgremove -f &amp;#34;${VG_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;# Detach old loops on zram&lt;br/&gt;for loopdev in $(losetup -a 2&amp;gt;/dev/null | grep &amp;#34;$ZRAM_DEV&amp;#34; | cut -d: -f1); do&lt;br/&gt;    echo &amp;#34;    -&amp;gt; Detaching loop: $loopdev&amp;#34;&lt;br/&gt;    losetup -d &amp;#34;$loopdev&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Creating loop on ${ZRAM_DEV}...&amp;#34;&lt;br/&gt;LOOP_DEV=$(losetup -f --show &amp;#34;$ZRAM_DEV&amp;#34;)&lt;br/&gt;echo &amp;#34;    Loop: $LOOP_DEV&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Creating LVM on ${LOOP_DEV}...&amp;#34;&lt;br/&gt;pvcreate -q &amp;#34;$LOOP_DEV&amp;#34;&lt;br/&gt;vgcreate -q &amp;#34;${VG_NAME}&amp;#34; &amp;#34;$LOOP_DEV&amp;#34;&lt;br/&gt;lvcreate -q -T -n &amp;#34;thin_pool&amp;#34; -l &#43;100%FREE &amp;#34;${VG_NAME}&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Registering pool ${POOL_NAME}...&amp;#34;&lt;br/&gt;if qvm-pool list 2&amp;gt;/dev/null | grep -q &amp;#34;^${POOL_NAME}&amp;#34;; then&lt;br/&gt;    qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    sleep 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;qvm-pool add &amp;#34;${POOL_NAME}&amp;#34; lvm_thin --option volume_group=&amp;#34;${VG_NAME}&amp;#34; --option thin_pool=thin_pool 2&amp;gt;/dev/null || \&lt;br/&gt;qvm-pool add &amp;#34;${POOL_NAME}&amp;#34; lvm_thin -o volume_group=&amp;#34;${VG_NAME}&amp;#34;,thin_pool=thin_pool&lt;br/&gt;&lt;br/&gt;echo &amp;#34;    Pool created:&amp;#34;&lt;br/&gt;qvm-pool info &amp;#34;${POOL_NAME}&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Cloning VMs into ephemeral pool...&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;    [DVM templates]&amp;#34;&lt;br/&gt;qvm-ls --raw-list 2&amp;gt;/dev/null | while read -r vm; do&lt;br/&gt;    [ -n &amp;#34;$vm&amp;#34; ] || continue&lt;br/&gt;&lt;br/&gt;    is_dvm=$(qvm-prefs &amp;#34;$vm&amp;#34; template_for_dispvms 2&amp;gt;/dev/null || echo &amp;#34;False&amp;#34;)&lt;br/&gt;    [ &amp;#34;$is_dvm&amp;#34; = &amp;#34;True&amp;#34; ] || continue&lt;br/&gt;&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        continue&lt;br/&gt;    fi&lt;br/&gt;&lt;br/&gt;    clone_name=&amp;#34;${vm}-ephemeral&amp;#34;&lt;br/&gt;&lt;br/&gt;    if qvm-ls --raw-list 2&amp;gt;/dev/null | grep -q &amp;#34;^${clone_name}$&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Removing old copy: ${clone_name}&amp;#34;&lt;br/&gt;        qvm-kill &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        qvm-remove --force &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    fi&lt;br/&gt;&lt;br/&gt;    echo &amp;#34;    -&amp;gt; Cloning: $vm -&amp;gt; ${clone_name}&amp;#34;&lt;br/&gt;&lt;br/&gt;    if qvm-clone -P &amp;#34;${POOL_NAME}&amp;#34; &amp;#34;$vm&amp;#34; &amp;#34;$clone_name&amp;#34;; then&lt;br/&gt;        qvm-prefs &amp;#34;$clone_name&amp;#34; template_for_dispvms True 2&amp;gt;/dev/null || true&lt;br/&gt;        qvm-prefs &amp;#34;$clone_name&amp;#34; autostart False 2&amp;gt;/dev/null || true&lt;br/&gt;        echo &amp;#34;    [&#43;] OK&amp;#34;&lt;br/&gt;    else&lt;br/&gt;        echo &amp;#34;    [!] ERROR&amp;#34;&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;if [ ${#EXTRA_VMS[@]} -gt 0 ]; then&lt;br/&gt;    echo &amp;#34;    [Extra VMs]&amp;#34;&lt;br/&gt;    for vm in &amp;#34;${EXTRA_VMS[@]}&amp;#34;; do&lt;br/&gt;        if ! qvm-ls --raw-list 2&amp;gt;/dev/null | grep -q &amp;#34;^${vm}$&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    [!] VM not found: $vm&amp;#34;&lt;br/&gt;            continue&lt;br/&gt;        fi&lt;br/&gt;&lt;br/&gt;        if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Skipping (already in zram): $vm&amp;#34;&lt;br/&gt;            continue&lt;br/&gt;        fi&lt;br/&gt;&lt;br/&gt;        clone_name=&amp;#34;${vm}-ephemeral&amp;#34;&lt;br/&gt;&lt;br/&gt;        if qvm-ls --raw-list 2&amp;gt;/dev/null | grep -q &amp;#34;^${clone_name}$&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Removing old copy: ${clone_name}&amp;#34;&lt;br/&gt;            qvm-kill &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;            qvm-remove --force &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        fi&lt;br/&gt;&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Cloning: $vm -&amp;gt; ${clone_name}&amp;#34;&lt;br/&gt;&lt;br/&gt;        if qvm-clone -P &amp;#34;${POOL_NAME}&amp;#34; &amp;#34;$vm&amp;#34; &amp;#34;$clone_name&amp;#34;; then&lt;br/&gt;            qvm-prefs &amp;#34;$clone_name&amp;#34; template_for_dispvms False 2&amp;gt;/dev/null || true&lt;br/&gt;            qvm-prefs &amp;#34;$clone_name&amp;#34; autostart False 2&amp;gt;/dev/null || true&lt;br/&gt;            echo &amp;#34;    [&#43;] OK&amp;#34;&lt;br/&gt;        else&lt;br/&gt;            echo &amp;#34;    [!] ERROR&amp;#34;&lt;br/&gt;        fi&lt;br/&gt;    done&lt;br/&gt;fi&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo chmod &#43;x /usr/local/bin/zram-pool-create.sh&lt;br/&gt;sudo systemctl daemon-reload&lt;br/&gt;sudo systemctl enable --now zram-pool.service&lt;br/&gt;&lt;br/&gt;    To remove zram pool and disable the systemd service run this script:&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;# Step 1: Stop and disable the systemd service&lt;br/&gt;sudo systemctl stop zram-pool.service&lt;br/&gt;sudo systemctl disable zram-pool.service&lt;br/&gt;&lt;br/&gt;# Step 2: Remove all VMs from zram_pool&lt;br/&gt;echo &amp;#34;[*] Removing VMs from zram_pool...&amp;#34;&lt;br/&gt;for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;zram_pool&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Removing: $vm&amp;#34;&lt;br/&gt;        qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;        qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;# Step 3: Remove the Qubes storage pool&lt;br/&gt;echo &amp;#34;[*] Removing zram_pool...&amp;#34;&lt;br/&gt;qvm-pool remove zram_pool 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;# Step 4: Deactivate and remove LVM volume group&lt;br/&gt;echo &amp;#34;[*] Cleaning up LVM...&amp;#34;&lt;br/&gt;vgchange -an zram_vg 2&amp;gt;/dev/null || true&lt;br/&gt;vgremove -f zram_vg 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;# Step 5: Detach loop device from zram&lt;br/&gt;echo &amp;#34;[*] Detaching loop devices...&amp;#34;&lt;br/&gt;for loopdev in $(losetup -a 2&amp;gt;/dev/null | grep &amp;#34;/dev/zram&amp;#34; | cut -d: -f1); do&lt;br/&gt;    echo &amp;#34;    -&amp;gt; Detaching: $loopdev&amp;#34;&lt;br/&gt;    losetup -d &amp;#34;$loopdev&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;# Step 6: Reset zram device&lt;br/&gt;echo &amp;#34;[*] Resetting zram device...&amp;#34;&lt;br/&gt;for dev in /dev/zram*; do&lt;br/&gt;    [ -b &amp;#34;$dev&amp;#34; ] || continue&lt;br/&gt;    zramctl --reset &amp;#34;$dev&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[&#43;] zram pool completely removed. Reboot to clear all traces from memory.&amp;#34;&lt;br/&gt;&lt;br/&gt;    Start the service and pool again:&lt;br/&gt;&lt;br/&gt;sudo systemctl enable --now zram-pool.service&lt;br/&gt;&lt;br/&gt;:tornado: 3. RAM-based DVMs on TMPFS (for devices with 32 GB of RAM)&lt;br/&gt;&lt;br/&gt;This variant creates a pure RAM-based ephemeral pool using tmpfs. On every boot, it allocates a portion of your system memory as a temporary filesystem, builds an LVM thin pool inside it, and clones all your DVM templates there as ephemeral variants. When you shut down or reboot, the entire pool and all its VMs vanish instantly. Direct RAM access means DVMs launch faster than any other storage type. No encryption overhead, no zram compression delays or disk I/O bottlenecks - just RAM and LVM. The entire pool size is reserved from RAM immediately, making this best suited for systems with 32 GB or more.&lt;br/&gt;&lt;br/&gt;    First, increase the maximum dom0 memory in this file&lt;br/&gt;    sudo nano /etc/default/grub&lt;br/&gt;    edit this value dom0_mem=max:4096M to dom0_mem=max:8192M,&lt;br/&gt;    update GRUB sudo grub2-mkconfig -o /boot/grub2/grub.cfg and reboot Qubes OS.&lt;br/&gt;&lt;br/&gt;    Run this simple script in dom0 terminal:&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;sudo tee /etc/systemd/system/tmpfs-pool.service &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;[Unit]&lt;br/&gt;Description=TMPFS Ephemeral Pool&lt;br/&gt;After=qubesd.service&lt;br/&gt;Before=qubes-vm@sys-net.service&lt;br/&gt;&lt;br/&gt;[Service]&lt;br/&gt;Type=oneshot&lt;br/&gt;ExecStart=/usr/local/bin/tmpfs-pool-create.sh&lt;br/&gt;RemainAfterExit=yes&lt;br/&gt;&lt;br/&gt;[Install]&lt;br/&gt;WantedBy=multi-user.target&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo tee /usr/local/bin/tmpfs-pool-create.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;set -uo pipefail&lt;br/&gt;&lt;br/&gt;POOL_NAME=&amp;#34;tmpfs_pool&amp;#34;&lt;br/&gt;MOUNT_BASE=&amp;#34;/dev/shm/ephemeral&amp;#34;&lt;br/&gt;IMG_FILE=&amp;#34;${MOUNT_BASE}/pool.img&amp;#34;&lt;br/&gt;POOL_SIZE=&amp;#34;4G&amp;#34;&lt;br/&gt;VG_NAME=&amp;#34;ephemeral_vg&amp;#34;&lt;br/&gt;&lt;br/&gt;ROOT_DEV=$(findmnt -n -o SOURCE / 2&amp;gt;/dev/null || echo &amp;#34;&amp;#34;)&lt;br/&gt;&lt;br/&gt;if echo &amp;#34;$ROOT_DEV&amp;#34; | grep -qE &amp;#34;(overlay|/dev/zram)&amp;#34;; then&lt;br/&gt;    echo &amp;#34;[*] Detected amnesiac mode: $ROOT_DEV&amp;#34;&lt;br/&gt;    echo &amp;#34;    Destroying old ephemeral VMs and artifacts...&amp;#34;&lt;br/&gt;&lt;br/&gt;    for vm in $(qvm-ls --raw-list --running 2&amp;gt;/dev/null); do&lt;br/&gt;        if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Stopping: $vm&amp;#34;&lt;br/&gt;            qvm-shutdown --wait --timeout 10 &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || \&lt;br/&gt;                qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        fi&lt;br/&gt;    done&lt;br/&gt;&lt;br/&gt;    for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;        if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;            echo &amp;#34;    -&amp;gt; Removing: $vm&amp;#34;&lt;br/&gt;            qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        fi&lt;br/&gt;    done&lt;br/&gt;&lt;br/&gt;    qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    vgchange -an &amp;#34;${VG_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    vgremove -f &amp;#34;${VG_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    rm -rf &amp;#34;${MOUNT_BASE}&amp;#34;&lt;br/&gt;&lt;br/&gt;    echo &amp;#34;[&#43;] Cleanup completed. Pool creation skipped in amnesiac mode.&amp;#34;&lt;br/&gt;    exit 0&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Phase 1: Removing ALL VMs from ephemeral pool...&amp;#34;&lt;br/&gt;&lt;br/&gt;for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Removing VM: $vm&amp;#34;&lt;br/&gt;        qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;        qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;# Pool in RAM — simply delete files&lt;br/&gt;echo &amp;#34;[*] Phase 2: Cleaning old pool from RAM...&amp;#34;&lt;br/&gt;&lt;br/&gt;qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;vgchange -an &amp;#34;${VG_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;vgremove -f &amp;#34;${VG_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;# Remove old files (if any remain)&lt;br/&gt;rm -rf &amp;#34;${MOUNT_BASE}&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Phase 3: Creating fresh ephemeral pool in RAM...&amp;#34;&lt;br/&gt;&lt;br/&gt;mkdir -p &amp;#34;${MOUNT_BASE}&amp;#34;&lt;br/&gt;&lt;br/&gt;# New image in RAM&lt;br/&gt;truncate -s &amp;#34;${POOL_SIZE}&amp;#34; &amp;#34;${IMG_FILE}&amp;#34;&lt;br/&gt;&lt;br/&gt;# Loop device&lt;br/&gt;LOOP_DEV=$(losetup -f --show &amp;#34;${IMG_FILE}&amp;#34;)&lt;br/&gt;&lt;br/&gt;# LVM thin pool directly on loop (no encryption)&lt;br/&gt;pvcreate &amp;#34;$LOOP_DEV&amp;#34;&lt;br/&gt;vgcreate &amp;#34;${VG_NAME}&amp;#34; &amp;#34;$LOOP_DEV&amp;#34;&lt;br/&gt;lvcreate -T -n &amp;#34;thin_pool&amp;#34; -l &#43;100%FREE &amp;#34;${VG_NAME}&amp;#34;&lt;br/&gt;&lt;br/&gt;# Detach loop&lt;br/&gt;losetup -d &amp;#34;${LOOP_DEV}&amp;#34; || true&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Phase 4: Registering pool...&amp;#34;&lt;br/&gt;&lt;br/&gt;if qvm-pool list 2&amp;gt;/dev/null | grep -q &amp;#34;^${POOL_NAME}&amp;#34;; then&lt;br/&gt;    qvm-pool remove &amp;#34;${POOL_NAME}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    sleep 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;qvm-pool add &amp;#34;${POOL_NAME}&amp;#34; lvm_thin --option volume_group=&amp;#34;${VG_NAME}&amp;#34; --option thin_pool=thin_pool 2&amp;gt;/dev/null || \&lt;br/&gt;qvm-pool add &amp;#34;${POOL_NAME}&amp;#34; lvm_thin -o volume_group=&amp;#34;${VG_NAME}&amp;#34;,thin_pool=thin_pool&lt;br/&gt;&lt;br/&gt;if ! qvm-pool list 2&amp;gt;/dev/null | grep -q &amp;#34;^${POOL_NAME}&amp;#34;; then&lt;br/&gt;    echo &amp;#34;[!] Pool registration failed&amp;#34;&lt;br/&gt;    exit 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[&#43;] Pool ready in RAM&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Phase 5: Copying DVM templates...&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;    [DVM templates]&amp;#34;&lt;br/&gt;qvm-ls --raw-list 2&amp;gt;/dev/null | while read -r vm; do&lt;br/&gt;    [ -n &amp;#34;$vm&amp;#34; ] || continue&lt;br/&gt;&lt;br/&gt;    is_dvm=$(qvm-prefs &amp;#34;$vm&amp;#34; template_for_dispvms 2&amp;gt;/dev/null || echo &amp;#34;False&amp;#34;)&lt;br/&gt;    [ &amp;#34;$is_dvm&amp;#34; = &amp;#34;True&amp;#34; ] || continue&lt;br/&gt;&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        continue&lt;br/&gt;    fi&lt;br/&gt;&lt;br/&gt;    clone_name=&amp;#34;${vm}-ephemeral&amp;#34;&lt;br/&gt;&lt;br/&gt;    if qvm-ls --raw-list 2&amp;gt;/dev/null | grep -q &amp;#34;^${clone_name}$&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Removing old copy: ${clone_name}&amp;#34;&lt;br/&gt;        qvm-kill &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        qvm-remove --force &amp;#34;$clone_name&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    fi&lt;br/&gt;&lt;br/&gt;    echo &amp;#34;    -&amp;gt; Cloning: $vm -&amp;gt; ${clone_name}&amp;#34;&lt;br/&gt;&lt;br/&gt;    if qvm-clone -P &amp;#34;${POOL_NAME}&amp;#34; &amp;#34;$vm&amp;#34; &amp;#34;$clone_name&amp;#34;; then&lt;br/&gt;        qvm-prefs &amp;#34;$clone_name&amp;#34; template_for_dispvms True 2&amp;gt;/dev/null || true&lt;br/&gt;        qvm-prefs &amp;#34;$clone_name&amp;#34; autostart False 2&amp;gt;/dev/null || true&lt;br/&gt;        echo &amp;#34;    [&#43;] OK&amp;#34;&lt;br/&gt;    else&lt;br/&gt;        echo &amp;#34;    [!] ERROR&amp;#34;&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[&#43;] Done!&amp;#34;&lt;br/&gt;echo &amp;#34;&amp;#34;&lt;br/&gt;echo &amp;#34;VMs in ephemeral pool:&amp;#34;&lt;br/&gt;for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        echo &amp;#34;  - $vm&amp;#34;&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo chmod &#43;x /usr/local/bin/tmpfs-pool-create.sh&lt;br/&gt;sudo systemctl daemon-reload&lt;br/&gt;sudo systemctl enable --now tmpfs-pool.service&lt;br/&gt;&lt;br/&gt;    To remove zram pool and disable the systemd service run this script:&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;# Step 1: Stop the service (prevents auto-restart on boot)&lt;br/&gt;sudo systemctl stop tmpfs-pool.service&lt;br/&gt;sudo systemctl disable tmpfs-pool.service&lt;br/&gt;&lt;br/&gt;# Step 2: Remove all VMs from tmpfs_pool&lt;br/&gt;echo &amp;#34;[*] Removing VMs from tmpfs_pool...&amp;#34;&lt;br/&gt;for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;tmpfs_pool&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Removing: $vm&amp;#34;&lt;br/&gt;        qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;        qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;# Step 3: Remove the Qubes storage pool&lt;br/&gt;echo &amp;#34;[*] Removing tmpfs_pool...&amp;#34;&lt;br/&gt;qvm-pool remove tmpfs_pool 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;# Step 4: Clean up LVM&lt;br/&gt;echo &amp;#34;[*] Cleaning up LVM...&amp;#34;&lt;br/&gt;vgchange -an ephemeral_vg 2&amp;gt;/dev/null || true&lt;br/&gt;vgremove -f ephemeral_vg 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;# Step 5: Free RAM by removing the image&lt;br/&gt;echo &amp;#34;[*] Freeing RAM...&amp;#34;&lt;br/&gt;rm -rf /dev/shm/ephemeral&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[&#43;] tmpfs pool stopped and cleaned up.&amp;#34;&lt;br/&gt;&lt;br/&gt;    Start the service and pool again:&lt;br/&gt;&lt;br/&gt;sudo systemctl enable --now tmpfs-pool.service&lt;br/&gt;&lt;br/&gt;:gear: 4. Modifying default DVMs&lt;br/&gt;&lt;br/&gt;This solution is for those who want to configure the default DVMs for amnesic operation - without creating new pools or new DVMs.&lt;br/&gt;&lt;br/&gt;    Сreate a systemd service that remounts the root in the DVM as an ephemeral encrypted volatile volume:&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;sudo tee /etc/systemd/system/dvm-root.service &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;[Unit]&lt;br/&gt;Description=DVM root rw False&lt;br/&gt;After=qubesd.service&lt;br/&gt;Requires=qubesd.service&lt;br/&gt;&lt;br/&gt;[Service]&lt;br/&gt;Type=oneshot&lt;br/&gt;RemainAfterExit=yes&lt;br/&gt;ExecStart=/usr/local/bin/dvm-root.sh&lt;br/&gt;&lt;br/&gt;[Install]&lt;br/&gt;WantedBy=multi-user.target&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo tee /usr/local/bin/dvm-root.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;set -euo pipefail&lt;br/&gt;&lt;br/&gt;while read -r vm; do&lt;br/&gt;    [ -n &amp;#34;$vm&amp;#34; ] || continue&lt;br/&gt;    is_dvm=$(qvm-prefs &amp;#34;$vm&amp;#34; template_for_dispvms 2&amp;gt;/dev/null || echo &amp;#34;False&amp;#34;)&lt;br/&gt;    [ &amp;#34;$is_dvm&amp;#34; = &amp;#34;True&amp;#34; ] || continue&lt;br/&gt;    qvm-volume config &amp;#34;${vm}:root&amp;#34; rw false&lt;br/&gt;done &amp;lt; &amp;lt;(qvm-ls --raw-list)&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo chmod &#43;x /usr/local/bin/dvm-root.sh&lt;br/&gt;sudo systemctl daemon-reload&lt;br/&gt;sudo systemctl enable dvm-root.service&lt;br/&gt;qvm-pool set vm-pool -o ephemeral_volatile=True&lt;br/&gt;&lt;br/&gt;TMPFS Script for Debian/Fedora/Kicksecure-based DVM templates:&lt;br/&gt;&lt;br/&gt;OVERLAY_BASE=&amp;#34;/run/home-overlay&amp;#34;&lt;br/&gt;LOWERDIR=&amp;#34;/home&amp;#34;&lt;br/&gt;UPPERDIR=&amp;#34;$OVERLAY_BASE/upper&amp;#34;&lt;br/&gt;WORKDIR=&amp;#34;$OVERLAY_BASE/work&amp;#34;&lt;br/&gt;MOUNTPOINT=&amp;#34;/home&amp;#34;&lt;br/&gt;&lt;br/&gt;# Create directories&lt;br/&gt;mkdir -p &amp;#34;$UPPERDIR&amp;#34; &amp;#34;$WORKDIR&amp;#34;&lt;br/&gt;&lt;br/&gt;# Mount tmpfs for overlay upper&#43;work layers&lt;br/&gt;mount -t tmpfs -o size=2G,mode=0755 tmpfs &amp;#34;$OVERLAY_BASE&amp;#34;&lt;br/&gt;&lt;br/&gt;# Recreate upper/work inside tmpfs after mount&lt;br/&gt;mkdir -p &amp;#34;$UPPERDIR&amp;#34; &amp;#34;$WORKDIR&amp;#34;&lt;br/&gt;&lt;br/&gt;# Mount overlayfs&lt;br/&gt;mount -t overlay overlay \&lt;br/&gt;  -o lowerdir=&amp;#34;$LOWERDIR&amp;#34;,upperdir=&amp;#34;$UPPERDIR&amp;#34;,workdir=&amp;#34;$WORKDIR&amp;#34; \&lt;br/&gt;  &amp;#34;$MOUNTPOINT&amp;#34;&lt;br/&gt;&lt;br/&gt;Or alternative Script: Zram-disk for Debian/Fedora/Kicksecure-based DVM templates (If you want an overlay with memory compression - saves RAM, but adds slight CPU overhead):&lt;br/&gt;&lt;br/&gt;ZRAM_DEV=&amp;#34;&amp;#34;&lt;br/&gt;ZRAM_SIZE=&amp;#34;2G&amp;#34;&lt;br/&gt;LOWERDIR=&amp;#34;/home&amp;#34;&lt;br/&gt;OVERLAY_BASE=&amp;#34;/run/home-overlay&amp;#34;&lt;br/&gt;UPPERDIR=&amp;#34;$OVERLAY_BASE/upper&amp;#34;&lt;br/&gt;WORKDIR=&amp;#34;$OVERLAY_BASE/work&amp;#34;&lt;br/&gt;MOUNTPOINT=&amp;#34;/home&amp;#34;&lt;br/&gt;&lt;br/&gt;# --- 1. Create and configure zram device ---&lt;br/&gt;&lt;br/&gt;# Load zram module if not loaded&lt;br/&gt;if ! lsmod | grep -q &amp;#34;^zram&amp;#34;; then&lt;br/&gt;    modprobe zram num_devices=1 || modprobe zram&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;# Wait for zram control interface&lt;br/&gt;for _ in {1..10}; do&lt;br/&gt;    if [ -d /sys/class/zram-control ]; then&lt;br/&gt;        break&lt;br/&gt;    fi&lt;br/&gt;    sleep 0.1&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;# Find first free zram device&lt;br/&gt;for i in /sys/block/zram*; do&lt;br/&gt;    [ -e &amp;#34;$i&amp;#34; ] || continue&lt;br/&gt;    if [ &amp;#34;$(cat &amp;#34;$i&amp;#34;/disksize)&amp;#34; = &amp;#34;0&amp;#34; ]; then&lt;br/&gt;        ZRAM_DEV=&amp;#34;/dev/$(basename &amp;#34;$i&amp;#34;)&amp;#34;&lt;br/&gt;        break&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;if [ -z &amp;#34;$ZRAM_DEV&amp;#34; ]; then&lt;br/&gt;    # No free device; try to add one via hot_add&lt;br/&gt;    if [ -f /sys/class/zram-control/hot_add ]; then&lt;br/&gt;        idx=$(cat /sys/class/zram-control/hot_add)&lt;br/&gt;        ZRAM_DEV=&amp;#34;/dev/zram$idx&amp;#34;&lt;br/&gt;    else&lt;br/&gt;        echo &amp;#34;ERROR: no free zram device found and hot_add not available&amp;#34; &amp;gt;&amp;amp;2&lt;br/&gt;        exit 1&lt;br/&gt;    fi&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;Using $ZRAM_DEV&amp;#34;&lt;br/&gt;&lt;br/&gt;# Configure compression and size&lt;br/&gt;echo lz4 &amp;gt; /sys/block/$(basename &amp;#34;$ZRAM_DEV&amp;#34;)/comp_algorithm 2&amp;gt;/dev/null || true&lt;br/&gt;echo &amp;#34;$ZRAM_SIZE&amp;#34; &amp;gt; /sys/block/$(basename &amp;#34;$ZRAM_DEV&amp;#34;)/disksize&lt;br/&gt;&lt;br/&gt;# Format and mount zram as ext4 (needed for overlay upper&#43;work)&lt;br/&gt;mkfs.ext4 -q &amp;#34;$ZRAM_DEV&amp;#34;&lt;br/&gt;&lt;br/&gt;mkdir -p &amp;#34;$OVERLAY_BASE&amp;#34;&lt;br/&gt;mount -t ext4 &amp;#34;$ZRAM_DEV&amp;#34; &amp;#34;$OVERLAY_BASE&amp;#34;&lt;br/&gt;&lt;br/&gt;# --- 2. Prepare overlay directories ---&lt;br/&gt;&lt;br/&gt;mkdir -p &amp;#34;$UPPERDIR&amp;#34; &amp;#34;$WORKDIR&amp;#34;&lt;br/&gt;&lt;br/&gt;# --- 3. Mount overlayfs ---&lt;br/&gt;&lt;br/&gt;mount -t overlay overlay \&lt;br/&gt;  -o lowerdir=&amp;#34;$LOWERDIR&amp;#34;,upperdir=&amp;#34;$UPPERDIR&amp;#34;,workdir=&amp;#34;$WORKDIR&amp;#34; \&lt;br/&gt;  &amp;#34;$MOUNTPOINT&amp;#34;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;For additional anti-forensic protection, you can use this script and redirect all system journal logs to memory (volatile storage). Additionally, this script deletes files containing metadata about removed VMs (this is simple file deletion, which has anti-forensic value only in the context of TRIM/discard on NVMe SSD, but is not direct anti-forensics). The basis of this script (files removing) is the second script from this guide:&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;sudo tee /etc/systemd/journald.conf &amp;lt;&amp;lt; EOF&lt;br/&gt;[Journal]&lt;br/&gt;Storage=volatile&lt;br/&gt;EOF&lt;br/&gt;sudo systemctl restart systemd-journald&lt;br/&gt;&lt;br/&gt;sudo tee /etc/systemd/system/clean.service &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;[Unit]&lt;br/&gt;Description=Clean logs of removed Qubes VMs&lt;br/&gt;After=qubesd.service&lt;br/&gt;&lt;br/&gt;[Service]&lt;br/&gt;Type=oneshot&lt;br/&gt;ExecStart=/usr/local/bin/clean.sh&lt;br/&gt;RemainAfterExit=no&lt;br/&gt;&lt;br/&gt;[Install]&lt;br/&gt;WantedBy=multi-user.target&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo tee /usr/local/bin/clean.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;set -euo pipefail&lt;br/&gt;&lt;br/&gt;readonly LOGDIR=&amp;#39;/var/log&amp;#39;&lt;br/&gt;readonly TEMPDIR_ROOT=&amp;#39;/home/user/tmp&amp;#39;&lt;br/&gt;readonly MENUDIR=&amp;#39;/home/user/.config/menus/applications-merged&amp;#39;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;existing_qubes=$(qvm-ls --fields=name --raw-data | sort)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;all_qube_names=&amp;#39;&amp;#39;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;all_qube_names&#43;=$(find &amp;#34;${LOGDIR}/libvirt/libxl/&amp;#34; \&lt;br/&gt;    -type f \&lt;br/&gt;    -regextype posix-egrep \&lt;br/&gt;    -regex &amp;#39;.*\.log((\.old)|(-[0-9]{8}))?(\.gz)?$&amp;#39; \&lt;br/&gt;    -exec basename &amp;#34;{}&amp;#34; \; \&lt;br/&gt;    | sed -r &amp;#39;s/\.log((\.old)|(-[0-9]{8}))?(\.gz)?$//g&amp;#39; \&lt;br/&gt;    | sed -r &amp;#39;s/^(guid|qrexec|qubesdb)\.//g&amp;#39; \&lt;br/&gt;    | sort | uniq)$&amp;#39;\n&amp;#39;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;all_qube_names&#43;=$(find &amp;#34;${LOGDIR}/qubes/&amp;#34; \&lt;br/&gt;    -type f \&lt;br/&gt;    -regextype posix-egrep \&lt;br/&gt;    -regex &amp;#39;.*\.log((\.old)|(-[0-9]{8}))?(\.gz)?$&amp;#39; \&lt;br/&gt;    -exec basename &amp;#34;{}&amp;#34; \; \&lt;br/&gt;    | sed -r &amp;#39;s/\.log((\.old)|(-[0-9]{8}))?(\.gz)?$//g&amp;#39; \&lt;br/&gt;    | sed -r &amp;#39;s/^(guid|qrexec|qubesdb)\.//g&amp;#39; \&lt;br/&gt;    | sort | uniq)$&amp;#39;\n&amp;#39;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;all_qube_names&#43;=$(find &amp;#34;${LOGDIR}/xen/console/&amp;#34; \&lt;br/&gt;    -type f \&lt;br/&gt;    -regextype posix-egrep \&lt;br/&gt;    -regex &amp;#39;.*\/guest-.*\.log((\.old)|(-[0-9]{8}))?(\.gz)?$&amp;#39; \&lt;br/&gt;    -exec basename &amp;#34;{}&amp;#34; \; \&lt;br/&gt;    | sed -r &amp;#39;s/\.log((\.old)|(-[0-9]{8}))?(\.gz)?$//g&amp;#39; \&lt;br/&gt;    | sed -r &amp;#39;s/^guest-//g&amp;#39; \&lt;br/&gt;    | sort | uniq)$&amp;#39;\n&amp;#39;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;set &#43;e&lt;br/&gt;ram_pools=$(qvm-pool list | grep -Eio &amp;#39;^ram_pool_[^ ]&#43;&amp;#39; | sort | uniq)&lt;br/&gt;set -e&lt;br/&gt;all_qube_names&#43;=$(echo &amp;#34;${ram_pools}&amp;#34; | sed -r &amp;#39;s/^ram_pool_//g&amp;#39;)$&amp;#39;\n&amp;#39;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;if [ -d &amp;#34;${TEMPDIR_ROOT}&amp;#34; ]; then&lt;br/&gt;    all_qube_names&#43;=$(find &amp;#34;${TEMPDIR_ROOT}&amp;#34; \&lt;br/&gt;        -mindepth 1 -maxdepth 1 -type d \&lt;br/&gt;        -exec basename &amp;#34;{}&amp;#34; \; \&lt;br/&gt;        | sort | uniq)$&amp;#39;\n&amp;#39;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;all_qube_names&#43;=$(find &amp;#34;${MENUDIR}&amp;#34; \&lt;br/&gt;    -regextype posix-egrep \&lt;br/&gt;    -regex &amp;#39;.*\/user-qubes-.*\.menu$&amp;#39; \&lt;br/&gt;    -exec basename &amp;#34;{}&amp;#34; \; \&lt;br/&gt;    | sed -r &amp;#39;s/\.menu$//g&amp;#39; \&lt;br/&gt;    | sed -r &amp;#39;s/^user-qubes-(disp)?vm-directory(_|-)//g&amp;#39; \&lt;br/&gt;    | sort | uniq)$&amp;#39;\n&amp;#39;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;all_qube_names=$(echo &amp;#34;${all_qube_names}&amp;#34; \&lt;br/&gt;    | sed -r &amp;#39;s/^(Domain-0|libxl-driver)$//g&amp;#39; \&lt;br/&gt;    | sed -r &amp;#39;/^\s*$/d&amp;#39; \&lt;br/&gt;    | sort | uniq)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;set &#43;e&lt;br/&gt;qubes_to_remove=$(diff --new-line-format=&amp;#39;&amp;#39; --unchanged-line-format=&amp;#39;&amp;#39; \&lt;br/&gt;    &amp;lt;(echo &amp;#34;${all_qube_names}&amp;#34;) &amp;lt;(echo &amp;#34;${existing_qubes}&amp;#34;) \&lt;br/&gt;    | sed -r &amp;#39;/^\s*$/d&amp;#39;)&lt;br/&gt;set -e&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;for qube_name in ${qubes_to_remove}; do&lt;br/&gt;    decoded_qube_name=$(echo &amp;#34;${qube_name}&amp;#34; \&lt;br/&gt;        | sed -r &amp;#39;s/_d/-/g&amp;#39; \&lt;br/&gt;        | sed -r &amp;#39;s/_u/_/g&amp;#39;)&lt;br/&gt;&lt;br/&gt;    log_pattern=&amp;#34;${qube_name}\.log((\.old)|(-[0-9]{8}))?(\.gz)?&amp;#34;&lt;br/&gt;    menu_pattern=&amp;#34;user-qubes-(disp)?vm-directory(_|-)${qube_name}\.menu&amp;#34;&lt;br/&gt;&lt;br/&gt;    declare -A targets&lt;br/&gt;    targets=([&amp;#34;${LOGDIR}/libvirt/libxl&amp;#34;]=&amp;#34;${log_pattern}&amp;#34;&lt;br/&gt;             [&amp;#34;${LOGDIR}/qubes&amp;#34;]=&amp;#34;((guid|qrexec|qubesdb)\.)?${log_pattern}&amp;#34;&lt;br/&gt;             [&amp;#34;${LOGDIR}/xen/console&amp;#34;]=&amp;#34;guest-${log_pattern}&amp;#34;&lt;br/&gt;             [&amp;#34;${MENUDIR}&amp;#34;]=&amp;#34;${menu_pattern}&amp;#34;)&lt;br/&gt;&lt;br/&gt;    if [ -d &amp;#34;${TEMPDIR_ROOT}&amp;#34; ]; then&lt;br/&gt;        targets&#43;=(&amp;#34;${TEMPDIR_ROOT}&amp;#34;=&amp;#34;${qube_name}&amp;#34;)&lt;br/&gt;    fi&lt;br/&gt;&lt;br/&gt;    for search_dir in &amp;#34;${!targets[@]}&amp;#34;; do&lt;br/&gt;        mapfile -d $&amp;#39;\0&amp;#39; found_files &amp;lt; &amp;lt;(find &amp;#34;${search_dir}&amp;#34; \&lt;br/&gt;            -regextype posix-egrep \&lt;br/&gt;            -regex &amp;#34;.*\/${targets[${search_dir}]}$&amp;#34; \&lt;br/&gt;            -print0)&lt;br/&gt;        for file in &amp;#34;${found_files[@]}&amp;#34;; do&lt;br/&gt;            [ -z &amp;#34;${file}&amp;#34; ] &amp;amp;&amp;amp; continue&lt;br/&gt;            rm -rf &amp;#34;${file}&amp;#34;&lt;br/&gt;        done&lt;br/&gt;    done&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;for pool_name in ${ram_pools}; do&lt;br/&gt;    qube_name=$(echo &amp;#34;${pool_name}&amp;#34; | sed -r &amp;#39;s/^ram_pool_//&amp;#39;)&lt;br/&gt;    if ! echo &amp;#34;${existing_qubes}&amp;#34; | grep -qx &amp;#34;${qube_name}&amp;#34;; then&lt;br/&gt;        pool_mountpoint=$(qvm-pool info &amp;#34;${pool_name}&amp;#34; \&lt;br/&gt;            | grep -E &amp;#39;^dir_path&amp;#39; \&lt;br/&gt;            | sed -r &amp;#39;s/^dir_path\s&#43;//g&amp;#39;)&lt;br/&gt;        qvm-pool remove &amp;#34;${pool_name}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        umount &amp;#34;${pool_mountpoint}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        rm -rf &amp;#34;${pool_mountpoint}&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;find &amp;#34;${LOGDIR}/qubes/&amp;#34; -maxdepth 1 -type f -name &amp;#39;*.log.old&amp;#39; -delete&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo chmod &#43;x /usr/local/bin/clean.sh&lt;br/&gt;sudo systemctl daemon-reload&lt;br/&gt;sudo systemctl enable clean.service
    </content>
    <updated>2026-07-19T15:04:49&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0thfflkdq6p25622exjk0lw8sym4fg40f5zvrfrq7u4sff95uaxgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqazl2arm5rhn7wzluz9w7fkdhf56evufa4asl9yptfs5cydcx9mjc6rekh</id>
    
      <title>Nostr event nevent1qqs0thfflkdq6p25622exjk0lw8sym4fg40f5zvrfrq7u4sff95uaxgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqazl2arm5rhn7wzluz9w7fkdhf56evufa4asl9yptfs5cydcx9mjc6rekh</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0thfflkdq6p25622exjk0lw8sym4fg40f5zvrfrq7u4sff95uaxgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqazl2arm5rhn7wzluz9w7fkdhf56evufa4asl9yptfs5cydcx9mjc6rekh" />
    <content type="html">
       &lt;img src=&#34;https://npub18gh6hg7aqaulnshlq3thjdnd6dxkt8z0d0v8efq26v9xprwp3wusjjgcy7.blossom.band/d6d30fbdc0eed0a583dd3ebf12c0477733fb9ac58ff03139ac3292c62b52e256.png&#34;&gt; 
    </content>
    <updated>2026-07-19T15:04:38&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspxczc3yuyeqr4gh9ugu0apyaarnfhx2vptshev5q2whd73vz74tgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqazl2arm5rhn7wzluz9w7fkdhf56evufa4asl9yptfs5cydcx9mjtka3rf</id>
    
      <title>Nostr event nevent1qqspxczc3yuyeqr4gh9ugu0apyaarnfhx2vptshev5q2whd73vz74tgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqazl2arm5rhn7wzluz9w7fkdhf56evufa4asl9yptfs5cydcx9mjtka3rf</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspxczc3yuyeqr4gh9ugu0apyaarnfhx2vptshev5q2whd73vz74tgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqazl2arm5rhn7wzluz9w7fkdhf56evufa4asl9yptfs5cydcx9mjtka3rf" />
    <content type="html">
       &lt;img src=&#34;https://npub18gh6hg7aqaulnshlq3thjdnd6dxkt8z0d0v8efq26v9xprwp3wusjjgcy7.blossom.band/17ede73e4bd08f76ddb9d72ca184c242a1b477f71f7685eda102768845ed4664.jpg&#34;&gt; 
    </content>
    <updated>2026-07-19T15:04:24&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0efjhzygjq33nymr2rzkt7h8njvsdqmrslw88tywe9qupamdfvqgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqxyt475tmdsltw6gg2axm9qmx46p3m3hpwnw9mkfw9p9r27gsly6ggrtex</id>
    
      <title type="html">Above All Things, Respect Yourself ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0efjhzygjq33nymr2rzkt7h8njvsdqmrslw88tywe9qupamdfvqgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqxyt475tmdsltw6gg2axm9qmx46p3m3hpwnw9mkfw9p9r27gsly6ggrtex" />
    <content type="html">
      Above All Things, Respect Yourself&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://blossom.primal.net/21c6ddd864addf26a701c057c724440e645e200ef96e8f77d1e97fda6f2d1b12.mp4&#34;&gt;&lt;/video&gt;
    </content>
    <updated>2026-07-19T15:04:31&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw7jtpehkectls7ttqvmaynxxgh5xcgmwn3twtwn5yhe8286v55egpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyz9w09j67xmpx3amnyqtj886jjr7fk3yqz7mqc6jrtgg2pcxla0evrtjvj4</id>
    
      <title type="html">**&amp;#34;#the&amp;#34; is trending—because we’re all waiting for ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw7jtpehkectls7ttqvmaynxxgh5xcgmwn3twtwn5yhe8286v55egpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyz9w09j67xmpx3amnyqtj886jjr7fk3yqz7mqc6jrtgg2pcxla0evrtjvj4" />
    <content type="html">
      **&amp;#34;#the&amp;#34; is trending—because we’re all waiting for the *real* narrative shift.**&lt;br/&gt;&lt;br/&gt;Everyone’s fixated on the next 10% move, the next halving cycle, the next &amp;#34;Bitcoin to $100K&amp;#34; headline. But here’s the thing: **we’re still stuck in the same old story.** Satoshi’s whitepaper dropped in 2008, Bitcoin launched in 2009 (per Binance’s recap), and 15 years later? We’re still debatin...
    </content>
    <updated>2026-07-19T15:04:01&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxuylnsx5zmnqg50l37dsfzmx27uney85gyl94q9600x6mu33yvmspg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyr5czmfxthl26w29250k9sczxf86kauj4n2kdv7fjz0ahquxn8wv6vp54g8</id>
    
      <title type="html">Und ne Reihe ehemaliger Sowjetrepubliken sicherer als ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxuylnsx5zmnqg50l37dsfzmx27uney85gyl94q9600x6mu33yvmspg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyr5czmfxthl26w29250k9sczxf86kauj4n2kdv7fjz0ahquxn8wv6vp54g8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw50nj89p9cyscxgu37qdfjc72gjv05yyvwp40ekdf8qsqds68tlqn7dmy4&#39;&gt;nevent1q…dmy4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Und ne Reihe ehemaliger Sowjetrepubliken sicherer als Deutschland. Wie sieht eigentlich die Weltkarte des Auswärtigen Amtes aus? 
    </content>
    <updated>2026-07-19T15:03:12&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8k03e774jsy5ex7cuzu3cl5a88dflyhge88du8hzkn65k8yecc7gpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqxyt475tmdsltw6gg2axm9qmx46p3m3hpwnw9mkfw9p9r27gsly6vppxyy</id>
    
      <title type="html">Supposedly King Solomon was overthrown by a Demon for a few ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8k03e774jsy5ex7cuzu3cl5a88dflyhge88du8hzkn65k8yecc7gpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqxyt475tmdsltw6gg2axm9qmx46p3m3hpwnw9mkfw9p9r27gsly6vppxyy" />
    <content type="html">
      Supposedly King Solomon was overthrown by a Demon for a few years.&lt;br/&gt;&lt;br/&gt;Supposedly also King Solomon had the ability to control many demons.
    </content>
    <updated>2026-07-19T15:02:38&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxqawuf2pltr9zl3caz9agj0csjnktcfnvvjhxnq3k4fjhgcl6rwspg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrpslrukdypvwekwxe7we7sglwf082ued46r225m2jgmpl2w63032tsmszc</id>
    
      <title type="html">Encrypted AppVMs and Templates. Encrypted pool. Secret vault in a ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxqawuf2pltr9zl3caz9agj0csjnktcfnvvjhxnq3k4fjhgcl6rwspg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrpslrukdypvwekwxe7we7sglwf082ued46r225m2jgmpl2w63032tsmszc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfq3hk6w9jjv0mg7s3zd9dp0w2526u0wuvduj48k4d0yw8lwed9jsppemhxue69uhkummn9ekx7mp0jgvhtk&#39;&gt;nevent1q…vhtk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Encrypted AppVMs and Templates. Encrypted pool. Secret vault in a LUKS-Pool.&lt;br/&gt;&lt;br/&gt;:gear: Install:&lt;br/&gt;&lt;br/&gt;    Make sure there is sufficient free space (more than 3 GB) in dom0. You can resize dom0 these commands:&lt;br/&gt;&lt;br/&gt;sudo lvresize --size 3G /dev/mapper/qubes_dom0-root&lt;br/&gt;sudo resize2fs /dev/mapper/qubes_dom0-root&lt;br/&gt;sudo lvresize -L &#43;3G qubes_dom0/root-pool&lt;br/&gt;&lt;br/&gt;    I recommend disabling disk swap for maximum security: Qubes OS uses zram for compressed RAM swap, but also maintains a fallback swap partition at /dev/dm-5 which is not encrypted. For a vault pool setup, this is a security risk - sensitive memory pages from your secret VMs could be written to disk in plaintext.&lt;br/&gt;&lt;br/&gt;sudo sed -i &amp;#39;/\/dev\/mapper\/swap/!{/^[[:space:]]*#/!{/\&amp;lt;swap\&amp;gt;/s/^/# /}}&amp;#39; /etc/fstab&lt;br/&gt;sudo sed -i &amp;#39;/\/dev\/mapper\/swap/b; /[[:space:]]\&#43;swap[[:space:]]\&#43;/s/^/# /&amp;#39; /etc/fstab&lt;br/&gt;sudo dracut --force&lt;br/&gt;&lt;br/&gt;    Run this simple script for create 3 GB encrypted pool vault&lt;br/&gt;    (edit POOL_SIZE=&amp;#34;3G&amp;#34; if you need a different pool size)&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;set -euo pipefail&lt;br/&gt;&lt;br/&gt;POOL_DIR=&amp;#34;/var/lib/qubes/pools&amp;#34;&lt;br/&gt;POOL_IMG=&amp;#34;$POOL_DIR/vault.img&amp;#34;&lt;br/&gt;POOL_SIZE=&amp;#34;3G&amp;#34;&lt;br/&gt;VG_NAME=&amp;#34;vault_vg&amp;#34;&lt;br/&gt;LV_NAME=&amp;#34;vault_thin&amp;#34;&lt;br/&gt;MAPPER_NAME=&amp;#34;vault_crypt&amp;#34;&lt;br/&gt;&lt;br/&gt;cleanup() {&lt;br/&gt;    local dev=&amp;#34;${LOOP_DEV:-}&amp;#34;&lt;br/&gt;    if [ -n &amp;#34;$dev&amp;#34; ] &amp;amp;&amp;amp; losetup -a | grep -q &amp;#34;$dev&amp;#34;; then&lt;br/&gt;        echo &amp;#34;[*] Cleanup: detaching $dev&amp;#34;&lt;br/&gt;        losetup -d &amp;#34;$dev&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    fi&lt;br/&gt;}&lt;br/&gt;trap cleanup EXIT&lt;br/&gt;&lt;br/&gt;echo &amp;#34;========================================&amp;#34;&lt;br/&gt;echo &amp;#34;  Creating an encrypted Qubes pool&amp;#34;&lt;br/&gt;echo &amp;#34;========================================&amp;#34;&lt;br/&gt;echo&lt;br/&gt;&lt;br/&gt;if [ &amp;#34;$EUID&amp;#34; -ne 0 ]; then&lt;br/&gt;    echo &amp;#34;[!] This script must be run as root (dom0)&amp;#34;&lt;br/&gt;    exit 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;if [ -f &amp;#34;$POOL_IMG&amp;#34; ]; then&lt;br/&gt;    echo &amp;#34;[!] File $POOL_IMG already exists.&amp;#34;&lt;br/&gt;    read -r -p &amp;#34;    Delete and recreate? Type YES to confirm: &amp;#34; confirm&lt;br/&gt;    if [ &amp;#34;$confirm&amp;#34; != &amp;#34;YES&amp;#34; ]; then&lt;br/&gt;        echo &amp;#34;[!] Aborted by user&amp;#34;&lt;br/&gt;        exit 1&lt;br/&gt;    fi&lt;br/&gt;    rm -f &amp;#34;$POOL_IMG&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Creating directory $POOL_DIR&amp;#34;&lt;br/&gt;mkdir -p &amp;#34;$POOL_DIR&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Creating a loop file of size $POOL_SIZE&amp;#34;&lt;br/&gt;truncate -s &amp;#34;$POOL_SIZE&amp;#34; &amp;#34;$POOL_IMG&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Attaching loop device&amp;#34;&lt;br/&gt;LOOP_DEV=$(losetup -f --show &amp;#34;$POOL_IMG&amp;#34;)&lt;br/&gt;echo &amp;#34;    Device: $LOOP_DEV&amp;#34;&lt;br/&gt;&lt;br/&gt;echo&lt;br/&gt;echo &amp;#34;[*] Encrypting device $LOOP_DEV&amp;#34;&lt;br/&gt;echo &amp;#34;    Enter the LUKS passphrase (twice)&amp;#34;&lt;br/&gt;cryptsetup luksFormat &amp;#34;$LOOP_DEV&amp;#34;&lt;br/&gt;&lt;br/&gt;echo&lt;br/&gt;echo &amp;#34;[*] Opening the LUKS container&amp;#34;&lt;br/&gt;cryptsetup open &amp;#34;$LOOP_DEV&amp;#34; &amp;#34;$MAPPER_NAME&amp;#34;&lt;br/&gt;&lt;br/&gt;echo&lt;br/&gt;echo &amp;#34;[*] Creating LVM: PV -&amp;gt; VG -&amp;gt; Thin Pool&amp;#34;&lt;br/&gt;pvcreate &amp;#34;/dev/mapper/$MAPPER_NAME&amp;#34;&lt;br/&gt;vgcreate &amp;#34;$VG_NAME&amp;#34; &amp;#34;/dev/mapper/$MAPPER_NAME&amp;#34;&lt;br/&gt;lvcreate -T -n &amp;#34;$LV_NAME&amp;#34; -l &#43;100%FREE &amp;#34;$VG_NAME&amp;#34;&lt;br/&gt;&lt;br/&gt;echo&lt;br/&gt;echo &amp;#34;[*] Detaching the loop device (LVM stays active)&amp;#34;&lt;br/&gt;losetup -d &amp;#34;$LOOP_DEV&amp;#34;&lt;br/&gt;unset LOOP_DEV&lt;br/&gt;&lt;br/&gt;qvm-pool --add vault lvm_thin \&lt;br/&gt;    -o volume_group=vault_vg,thin_pool=vault_thin,revisions_to_keep=2&lt;br/&gt;echo&lt;br/&gt;echo &amp;#34;========================================&amp;#34;&lt;br/&gt;echo &amp;#34;  Pool created successfully!&amp;#34;&lt;br/&gt;echo &amp;#34;========================================&amp;#34;&lt;br/&gt;&lt;br/&gt;cat &amp;gt; /usr/local/bin/vault-open &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;# open-and-register-vault.sh&lt;br/&gt;&lt;br/&gt;set -euo pipefail&lt;br/&gt;&lt;br/&gt;if [ &amp;#34;$EUID&amp;#34; -ne 0 ]; then&lt;br/&gt;    echo &amp;#34;[!] Must be run as root&amp;#34;&lt;br/&gt;    exit 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;# 1. Attach loop&lt;br/&gt;LOOP_DEV=$(losetup -f --show /var/lib/qubes/pools/vault.img)&lt;br/&gt;echo &amp;#34;[*] Loop: $LOOP_DEV&amp;#34;&lt;br/&gt;&lt;br/&gt;# 2. Unlock LUKS&lt;br/&gt;cryptsetup open &amp;#34;$LOOP_DEV&amp;#34; vault_crypt&lt;br/&gt;echo &amp;#34;[*] LUKS opened&amp;#34;&lt;br/&gt;&lt;br/&gt;# 3. Activate LVM&lt;br/&gt;vgchange -ay vault_vg&lt;br/&gt;echo &amp;#34;[*] LVM activated&amp;#34;&lt;br/&gt;&lt;br/&gt;# 4. Register pool in Qubes if not already present&lt;br/&gt;if ! qvm-pool --list | grep -q &amp;#34;^vault &amp;#34;; then&lt;br/&gt;    echo &amp;#34;[*] Registering pool in Qubes&amp;#34;&lt;br/&gt;    qvm-pool --add vault lvm_thin \&lt;br/&gt;        -o volume_group=vault_vg,thin_pool=vault_thin,revisions_to_keep=2&lt;br/&gt;else&lt;br/&gt;    echo &amp;#34;[*] Pool already registered&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Done. Verification:&amp;#34;&lt;br/&gt;qvm-pool --info vault&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;cat &amp;gt; /usr/local/bin/vault-close &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;# close-vault.sh&lt;br/&gt;&lt;br/&gt;set -euo pipefail&lt;br/&gt;&lt;br/&gt;if [ &amp;#34;$EUID&amp;#34; -ne 0 ]; then&lt;br/&gt;    echo &amp;#34;[!] Must be run as root&amp;#34;&lt;br/&gt;    exit 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;# 1. Stop all running VMs from the vault pool&lt;br/&gt;RUNNING_VMS=$(qvm-ls --running --fields=name,pool | grep vault | awk &amp;#39;{print $1}&amp;#39; || true)&lt;br/&gt;if [ -n &amp;#34;$RUNNING_VMS&amp;#34; ]; then&lt;br/&gt;    echo &amp;#34;[*] Stopping VMs from the vault pool...&amp;#34;&lt;br/&gt;    for vm in $RUNNING_VMS; do&lt;br/&gt;        echo &amp;#34;    -&amp;gt; $vm&amp;#34;&lt;br/&gt;        qvm-shutdown --wait &amp;#34;$vm&amp;#34;&lt;br/&gt;    done&lt;br/&gt;    echo &amp;#34;[*] All vault pool VMs stopped&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;# 2. Deactivate LVM&lt;br/&gt;vgchange -an vault_vg || true&lt;br/&gt;&lt;br/&gt;# 3. Close LUKS (wipes key from kernel memory)&lt;br/&gt;cryptsetup close vault_crypt || true&lt;br/&gt;&lt;br/&gt;# 4. Detach loop&lt;br/&gt;LOOP_DEV=$(losetup -j /var/lib/qubes/pools/vault.img 2&amp;gt;/dev/null | head -1 | cut -d: -f1)&lt;br/&gt;if [ -n &amp;#34;$LOOP_DEV&amp;#34; ]; then&lt;br/&gt;    losetup -d &amp;#34;$LOOP_DEV&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Pool locked and key wiped from memory&amp;#34;&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;    Confirm creation: When prompted, type YES to proceed (this overwrites any existing vault pool file).&lt;br/&gt;&lt;br/&gt;    Set your LUKS passphrase: Enter and confirm a strong passphrase when prompted - this will be required every time you unlock the pool.&lt;br/&gt;&lt;br/&gt;    Open the pool when needed in dom0:&lt;br/&gt;    sudo vault-open&lt;br/&gt;    and enter your LUKS passphrase.&lt;br/&gt;&lt;br/&gt;    Assign VMs to the vault pool via Qubes Manager: click clone qube and in Advanced select vault in Storage pool. Or create a new qube, and select vault Storage pool in the Advanced Options.&lt;br/&gt;    1&lt;br/&gt;    1751×251 21.3 KB&lt;br/&gt;&lt;br/&gt;    Now your secret VMs can run.&lt;br/&gt;&lt;br/&gt;    Close the pool when finished:&lt;br/&gt;    sudo vault-close&lt;br/&gt;    this shuts down all vault VMs, deactivates LVM, wipes the encryption key from kernel memory, and locks the container.&lt;br/&gt;&lt;br/&gt;:eyes: :eyes:&lt;br/&gt;&lt;br/&gt;    Opening large pools takes time. If you created a large pool and it contains significant data (tens of GB), opening it with vault-open may take 10-20 seconds - this is normal, as LVM needs to scan and activate the thin pool metadata.&lt;br/&gt;&lt;br/&gt;    Backup the container along with your VMs. You can copy the encrypted container file together with backups of your AppVMs from this pool. The container is located at:&lt;br/&gt;    /var/lib/qubes/pools/vault.img&lt;br/&gt;    Since the container is fully encrypted, you can store it on external media or in cloud storage without additional encryption - the LUKS passphrase protects all data inside.&lt;br/&gt;&lt;br/&gt;    If you need additional disk swap, you can create an ephemeral encrypted swap - there’s a simple guide in the description of this guide.&lt;br/&gt;&lt;br/&gt;:bomb: Removing Encrypted Pool&lt;br/&gt;&lt;br/&gt;To completely remove the vault pool and all associated data, use this script. This will permanently delete all VMs stored in the pool.&lt;br/&gt;(When prompted, type DELETE to proceed - this permanently destroys all vault VMs and their data)&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;set -euo pipefail&lt;br/&gt;&lt;br/&gt;POOL_NAME=&amp;#34;vault&amp;#34;&lt;br/&gt;POOL_DIR=&amp;#34;/var/lib/qubes/pools&amp;#34;&lt;br/&gt;POOL_IMG=&amp;#34;$POOL_DIR/vault.img&amp;#34;&lt;br/&gt;VG_NAME=&amp;#34;vault_vg&amp;#34;&lt;br/&gt;LV_NAME=&amp;#34;vault_thin&amp;#34;&lt;br/&gt;MAPPER_NAME=&amp;#34;vault_crypt&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;========================================&amp;#34;&lt;br/&gt;echo &amp;#34;  Removing encrypted pool&amp;#34;&lt;br/&gt;echo &amp;#34;========================================&amp;#34;&lt;br/&gt;echo&lt;br/&gt;&lt;br/&gt;if [ &amp;#34;$EUID&amp;#34; -ne 0 ]; then&lt;br/&gt;    echo &amp;#34;[!] This script must be run as root (dom0)&amp;#34;&lt;br/&gt;    exit 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[!] WARNING: ALL data in the pool will be destroyed!&amp;#34;&lt;br/&gt;read -r -p &amp;#34;    Type DELETE to confirm: &amp;#34; confirm&lt;br/&gt;if [ &amp;#34;$confirm&amp;#34; != &amp;#34;DELETE&amp;#34; ]; then&lt;br/&gt;    echo &amp;#34;[!] Aborted by user&amp;#34;&lt;br/&gt;    exit 1&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;for vm in $(qvm-ls --raw-list 2&amp;gt;/dev/null); do&lt;br/&gt;    if qvm-volume list &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null | grep -q &amp;#34;${POOL_NAME}&amp;#34;; then&lt;br/&gt;        echo &amp;#34;    -&amp;gt; Removing VM: $vm&amp;#34;&lt;br/&gt;        qvm-kill &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;        qvm-remove --force &amp;#34;$vm&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;        sleep 1&lt;br/&gt;    fi&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;if lvs &amp;#34;$VG_NAME/$LV_NAME&amp;#34; &amp;amp;&amp;gt;/dev/null; then&lt;br/&gt;    echo &amp;#34;[*] Deactivating thin pool $VG_NAME/$LV_NAME&amp;#34;&lt;br/&gt;    lvchange -an &amp;#34;$VG_NAME/$LV_NAME&amp;#34; || true&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;if vgs &amp;#34;$VG_NAME&amp;#34; &amp;amp;&amp;gt;/dev/null; then&lt;br/&gt;    echo &amp;#34;[*] Deactivating Volume Group $VG_NAME&amp;#34;&lt;br/&gt;    vgchange -an &amp;#34;$VG_NAME&amp;#34; || true&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;if dmsetup info &amp;#34;$MAPPER_NAME&amp;#34; &amp;amp;&amp;gt;/dev/null; then&lt;br/&gt;    echo &amp;#34;[*] Closing LUKS container /dev/mapper/$MAPPER_NAME&amp;#34;&lt;br/&gt;    cryptsetup close &amp;#34;$MAPPER_NAME&amp;#34; || true&lt;br/&gt;else&lt;br/&gt;    echo &amp;#34;[*] LUKS container already closed&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;if vgs &amp;#34;$VG_NAME&amp;#34; &amp;amp;&amp;gt;/dev/null; then&lt;br/&gt;    echo &amp;#34;[*] Removing Volume Group $VG_NAME&amp;#34;&lt;br/&gt;    vgremove -y &amp;#34;$VG_NAME&amp;#34; || true&lt;br/&gt;else&lt;br/&gt;    echo &amp;#34;[*] Volume Group $VG_NAME not found or already removed&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;if [ -f &amp;#34;$POOL_IMG&amp;#34; ]; then&lt;br/&gt;    LOOP_DEV=$(losetup -j &amp;#34;$POOL_IMG&amp;#34; 2&amp;gt;/dev/null | head -1 | cut -d: -f1)&lt;br/&gt;    if [ -n &amp;#34;$LOOP_DEV&amp;#34; ]; then&lt;br/&gt;        echo &amp;#34;[*] Detaching loop device $LOOP_DEV&amp;#34;&lt;br/&gt;        losetup -d &amp;#34;$LOOP_DEV&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;    else&lt;br/&gt;        echo &amp;#34;[*] Loop device already detached&amp;#34;&lt;br/&gt;    fi&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;if [ -f &amp;#34;$POOL_IMG&amp;#34; ]; then&lt;br/&gt;    echo &amp;#34;[*] Deleting container file $POOL_IMG&amp;#34;&lt;br/&gt;    rm -f &amp;#34;$POOL_IMG&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;if [ -d &amp;#34;$POOL_DIR&amp;#34; ] &amp;amp;&amp;amp; [ -z &amp;#34;$(ls -A &amp;#34;$POOL_DIR&amp;#34; 2&amp;gt;/dev/null)&amp;#34; ]; then&lt;br/&gt;    echo &amp;#34;[*] Removing empty directory $POOL_DIR&amp;#34;&lt;br/&gt;    rmdir &amp;#34;$POOL_DIR&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;qvm-pool remove $POOL_NAME&lt;br/&gt;&lt;br/&gt;echo&lt;br/&gt;echo &amp;#34;========================================&amp;#34;&lt;br/&gt;echo &amp;#34;  Pool removed&amp;#34;&lt;br/&gt;echo &amp;#34;========================================&amp;#34;
    </content>
    <updated>2026-07-19T15:02:32&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8u9huhnqnap2usdp4tgn9a48qhl4fncssnfvxk6ghek3m0hq0qacpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrpslrukdypvwekwxe7we7sglwf082ued46r225m2jgmpl2w63032fycqqh</id>
    
      <title type="html">This guide adds a hidden “nuke” password to your ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8u9huhnqnap2usdp4tgn9a48qhl4fncssnfvxk6ghek3m0hq0qacpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrpslrukdypvwekwxe7we7sglwf082ued46r225m2jgmpl2w63032fycqqh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfq3hk6w9jjv0mg7s3zd9dp0w2526u0wuvduj48k4d0yw8lwed9jsppemhxue69uhkummn9ekx7mp0jgvhtk&#39;&gt;nevent1q…vhtk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;This guide adds a hidden “nuke” password to your LUKS-encrypted disk. If you ever type this special password instead of your real one during boot, the system instantly and permanently destroys all encryption keys on the disk, making the data completely unrecoverable.&lt;br/&gt;&lt;br/&gt;Here’s how it works:&lt;br/&gt;During boot, your system asks for a password to unlock the disk.&lt;br/&gt;This guide installs a small wrapper that sits between the boot process and the standard disk-unlocking tool. Every time you enter a password, the wrapper quietly checks it against the nuke password hash stored on the system. If it’s your normal password, the wrapper simply passes it along to the regular unlocking tool and your disk opens as usual. But if it detects the nuke password, it immediately wipes all encryption key slots on the disk and overwrites the LUKS header with random data, effectively destroying the disk beyond recovery. The whole thing integrates seamlessly with the existing boot process, so the password prompt looks identical whether you’re entering your real password or the nuke one - there’s no visible indication that anything unusual happened until it’s too late.&lt;br/&gt;&lt;br/&gt;:warning: Warning! Do not test this script on your working system! You can install and configure the nuke module, but do not enter the nuke password for testing during Qubes OS boot! If you want to test the script, install a Fedora ISO and nuke it (I destroyed Fedora 43 and 44 with nuke password).&lt;br/&gt;&lt;br/&gt;Install:&lt;br/&gt;&lt;br/&gt;Install openssl:&lt;br/&gt;&lt;br/&gt;sudo qubes-dom0-update openssl&lt;br/&gt;&lt;br/&gt;Create dir for nuke password:&lt;br/&gt;&lt;br/&gt;sudo mkdir -p /etc/cryptsetup-nuke-ng&lt;br/&gt;sudo chmod 700 /etc/cryptsetup-nuke-ng&lt;br/&gt;&lt;br/&gt;Enter this command and then enter nuke password (hidden input):&lt;br/&gt;&lt;br/&gt;read -rs NUKE_PASS&lt;br/&gt;echo&lt;br/&gt;&lt;br/&gt;Generate random salt (enter this command and again enter nuke password (hidden input)):&lt;br/&gt;&lt;br/&gt;read -rs NUKE_PASS; echo; SALT=$(tr -dc &amp;#39;a-zA-Z0-9&amp;#39; &amp;lt;/dev/urandom | head -c 8); printf &amp;#39;%s&amp;#39; &amp;#34;$NUKE_PASS&amp;#34; | openssl passwd -6 -salt &amp;#34;$SALT&amp;#34; -stdin | sudo tee /etc/cryptsetup-nuke-ng/password_hash &amp;gt;/dev/null; sudo chmod 600 /etc/cryptsetup-nuke-ng/password_hash; NUKE_PASS=$(dd if=/dev/urandom bs=64 count=1 2&amp;gt;/dev/null | base64); unset NUKE_PASS&lt;br/&gt;&lt;br/&gt;Check hash format:&lt;br/&gt;sudo cat /etc/cryptsetup-nuke-ng/password_hash&lt;br/&gt;&lt;br/&gt;(should be: $6$salt$very_long_hash_string...)&lt;br/&gt;&lt;br/&gt;Password verification (enter this command and again enter nuke password (hidden input)):&lt;br/&gt;read -rs TEST_PASS; echo; HASH=$(sudo cat /etc/cryptsetup-nuke-ng/password_hash); SALT=$(echo &amp;#34;$HASH&amp;#34; | sed &amp;#39;s/^\$6\$\([^$]*\)\$.*/\1/&amp;#39;); printf &amp;#39;%s&amp;#39; &amp;#34;$TEST_PASS&amp;#34; | openssl passwd -6 -salt &amp;#34;$SALT&amp;#34; -stdin | grep -q &amp;#34;^$(sudo cat /etc/cryptsetup-nuke-ng/password_hash)$&amp;#34; &amp;amp;&amp;amp; echo &amp;#34;✓ MATCH&amp;#34; || echo &amp;#34;✗ NO MATCH&amp;#34;; unset TEST_PASS&lt;br/&gt;&lt;br/&gt;(should be: ✓ MATCH)&lt;br/&gt;&lt;br/&gt;Create dracut module:&lt;br/&gt;&lt;br/&gt;sudo mkdir -p /usr/lib/dracut/modules.d/99nuke-systemd&lt;br/&gt;sudo tee /usr/lib/dracut/modules.d/99nuke-systemd/module-setup.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;check() {&lt;br/&gt;    if [ ! -f /etc/cryptsetup-nuke-ng/password_hash ]; then&lt;br/&gt;        derror &amp;#34;nuke password hash not found&amp;#34;&lt;br/&gt;        return 1&lt;br/&gt;    fi&lt;br/&gt;    return 0&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;depends() {&lt;br/&gt;    echo systemd crypt&lt;br/&gt;    return 0&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;install() {&lt;br/&gt;    inst /etc/cryptsetup-nuke-ng/password_hash&lt;br/&gt;    inst_multiple dd mktemp rm cat printf stty cryptsetup openssl systemd-ask-password&lt;br/&gt;    &lt;br/&gt;    # Find the real systemd-cryptsetup&lt;br/&gt;    local real_binary=&amp;#34;&amp;#34;&lt;br/&gt;    for path in &amp;#34;$initdir/usr/bin/systemd-cryptsetup&amp;#34; &amp;#34;$initdir/usr/lib/systemd/systemd-cryptsetup&amp;#34;; do&lt;br/&gt;        if [ -f &amp;#34;$path&amp;#34; ] &amp;amp;&amp;amp; [ ! -L &amp;#34;$path&amp;#34; ]; then&lt;br/&gt;            real_binary=&amp;#34;$path&amp;#34;&lt;br/&gt;            break&lt;br/&gt;        fi&lt;br/&gt;    done&lt;br/&gt;    &lt;br/&gt;    if [ -z &amp;#34;$real_binary&amp;#34; ]; then&lt;br/&gt;        real_binary=$(find &amp;#34;$initdir&amp;#34; -name &amp;#34;systemd-cryptsetup&amp;#34; -type f ! -type l 2&amp;gt;/dev/null | head -n1)&lt;br/&gt;    fi&lt;br/&gt;    &lt;br/&gt;    if [ -z &amp;#34;$real_binary&amp;#34; ]; then&lt;br/&gt;        dfatal &amp;#34;Cannot find real systemd-cryptsetup binary in initramfs&amp;#34;&lt;br/&gt;        return 1&lt;br/&gt;    fi&lt;br/&gt;    &lt;br/&gt;    dinfo &amp;#34;Found systemd-cryptsetup at: $real_binary&amp;#34;&lt;br/&gt;    &lt;br/&gt;    # Save the original&lt;br/&gt;    mv &amp;#34;$real_binary&amp;#34; &amp;#34;${real_binary}.real&amp;#34;&lt;br/&gt;    &lt;br/&gt;    # Create the wrapper&lt;br/&gt;    cat &amp;gt; &amp;#34;$real_binary&amp;#34; &amp;lt;&amp;lt; &amp;#39;WRAPPER&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;set -e&lt;br/&gt;&lt;br/&gt;NUKE_HASH_FILE=&amp;#34;/etc/cryptsetup-nuke-ng/password_hash&amp;#34;&lt;br/&gt;SYSTEMD_CRYPTSETUP=&amp;#34;${0}.real&amp;#34;&lt;br/&gt;&lt;br/&gt;# If no hash present — just run the original&lt;br/&gt;if [ ! -f &amp;#34;$NUKE_HASH_FILE&amp;#34; ]; then&lt;br/&gt;    exec &amp;#34;$SYSTEMD_CRYPTSETUP&amp;#34; &amp;#34;$@&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;NUKE_HASH=$(cat &amp;#34;$NUKE_HASH_FILE&amp;#34;)&lt;br/&gt;NUKE_SALT=$(echo &amp;#34;$NUKE_HASH&amp;#34; | sed &amp;#39;s/^\$6\$\([^$]*\)\$.*/\1/&amp;#39;)&lt;br/&gt;&lt;br/&gt;# Only for attach without keyfile&lt;br/&gt;if [ &amp;#34;$1&amp;#34; = &amp;#34;attach&amp;#34; ]; then&lt;br/&gt;    KEYFILE=&amp;#34;$4&amp;#34;&lt;br/&gt;    DEVICE=&amp;#34;$3&amp;#34;&lt;br/&gt;    NAME=&amp;#34;$2&amp;#34;&lt;br/&gt;    &lt;br/&gt;    # If keyfile is specified and not &amp;#34;-&amp;#34;/&amp;#34;none&amp;#34;, the password is not requested interactively&lt;br/&gt;    if [ -n &amp;#34;$KEYFILE&amp;#34; ] &amp;amp;&amp;amp; [ &amp;#34;$KEYFILE&amp;#34; != &amp;#34;-&amp;#34; ] &amp;amp;&amp;amp; [ &amp;#34;$KEYFILE&amp;#34; != &amp;#34;none&amp;#34; ]; then&lt;br/&gt;        exec &amp;#34;$SYSTEMD_CRYPTSETUP&amp;#34; &amp;#34;$@&amp;#34;&lt;br/&gt;    fi&lt;br/&gt;    &lt;br/&gt;    # Request password via systemd-ask-password (Plymouth compatible!)&lt;br/&gt;    PASSWORD=$(systemd-ask-password --no-tty &amp;#34;Please enter passphrase for disk $NAME:&amp;#34; 2&amp;gt;/dev/null || true)&lt;br/&gt;    &lt;br/&gt;    # If systemd-ask-password didn&amp;#39;t work, fallback to TTY&lt;br/&gt;    if [ -z &amp;#34;$PASSWORD&amp;#34; ] &amp;amp;&amp;amp; [ -t 0 ]; then&lt;br/&gt;        printf &amp;#39;Please unlock disk %s: &amp;#39; &amp;#34;$NAME&amp;#34; &amp;gt;&amp;amp;2&lt;br/&gt;        stty -echo 2&amp;gt;/dev/null || true&lt;br/&gt;        IFS= read -r PASSWORD&lt;br/&gt;        stty echo 2&amp;gt;/dev/null || true&lt;br/&gt;        printf &amp;#39;\n&amp;#39; &amp;gt;&amp;amp;2&lt;br/&gt;    fi&lt;br/&gt;    &lt;br/&gt;    # Verify nuke password via openssl&lt;br/&gt;    if [ -n &amp;#34;$PASSWORD&amp;#34; ]; then&lt;br/&gt;        COMPUTED=$(printf &amp;#39;%s&amp;#39; &amp;#34;$PASSWORD&amp;#34; | openssl passwd -6 -salt &amp;#34;$NUKE_SALT&amp;#34; -stdin)&lt;br/&gt;        &lt;br/&gt;        if [ &amp;#34;$COMPUTED&amp;#34; = &amp;#34;$NUKE_HASH&amp;#34; ]; then&lt;br/&gt;            printf &amp;#39;[NUKE] Nuke password detected! Destroying keys...\n&amp;#39; &amp;gt;&amp;amp;2&lt;br/&gt;            &lt;br/&gt;            # Destroy all keyslots&lt;br/&gt;            for slot in 0 1 2 3 4 5 6 7; do&lt;br/&gt;                cryptsetup luksKillSlot &amp;#34;$DEVICE&amp;#34; &amp;#34;$slot&amp;#34; 2&amp;gt;/dev/null || true&lt;br/&gt;            done&lt;br/&gt;            &lt;br/&gt;            # Overwrite the header for extra certainty&lt;br/&gt;            if command -v dd &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br/&gt;                dd if=/dev/urandom of=&amp;#34;$DEVICE&amp;#34; bs=1M count=4 2&amp;gt;/dev/null || true&lt;br/&gt;            fi&lt;br/&gt;            &lt;br/&gt;            printf &amp;#39;[NUKE] Device %s nuked.\n&amp;#39; &amp;#34;$DEVICE&amp;#34; &amp;gt;&amp;amp;2&lt;br/&gt;            exit 1&lt;br/&gt;        fi&lt;br/&gt;    fi&lt;br/&gt;    &lt;br/&gt;    # Pass the password via temporary file (keyfile)&lt;br/&gt;    KEYFILE=$(mktemp -p /dev/shm 2&amp;gt;/dev/null || mktemp)&lt;br/&gt;    chmod 600 &amp;#34;$KEYFILE&amp;#34;&lt;br/&gt;    printf &amp;#39;%s&amp;#39; &amp;#34;$PASSWORD&amp;#34; &amp;gt; &amp;#34;$KEYFILE&amp;#34;&lt;br/&gt;    PASSWORD=&amp;#34;&amp;#34;&lt;br/&gt;    &lt;br/&gt;    # Call the original with keyfile instead of interactive prompt&lt;br/&gt;    set &#43;e&lt;br/&gt;    &amp;#34;$SYSTEMD_CRYPTSETUP&amp;#34; &amp;#34;$1&amp;#34; &amp;#34;$2&amp;#34; &amp;#34;$3&amp;#34; &amp;#34;$KEYFILE&amp;#34; &amp;#34;$5&amp;#34;&lt;br/&gt;    STATUS=$?&lt;br/&gt;    set -e&lt;br/&gt;    &lt;br/&gt;    # Clean up keyfile&lt;br/&gt;    dd if=/dev/urandom of=&amp;#34;$KEYFILE&amp;#34; bs=512 count=1 2&amp;gt;/dev/null || true&lt;br/&gt;    rm -f &amp;#34;$KEYFILE&amp;#34;&lt;br/&gt;    &lt;br/&gt;    exit $STATUS&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;# For all other commands — run the original&lt;br/&gt;exec &amp;#34;$SYSTEMD_CRYPTSETUP&amp;#34; &amp;#34;$@&amp;#34;&lt;br/&gt;WRAPPER&lt;br/&gt;&lt;br/&gt;    chmod &#43;x &amp;#34;$real_binary&amp;#34;&lt;br/&gt;    &lt;br/&gt;    # Update symlink if needed&lt;br/&gt;    if [ -L &amp;#34;$initdir/usr/lib/systemd/systemd-cryptsetup&amp;#34; ]; then&lt;br/&gt;        rm -f &amp;#34;$initdir/usr/lib/systemd/systemd-cryptsetup&amp;#34;&lt;br/&gt;        ln -s &amp;#34;../../bin/systemd-cryptsetup&amp;#34; &amp;#34;$initdir/usr/lib/systemd/systemd-cryptsetup&amp;#34;&lt;br/&gt;    fi&lt;br/&gt;    &lt;br/&gt;    dinfo &amp;#34;Installed nuke wrapper for systemd-cryptsetup&amp;#34;&lt;br/&gt;}&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;sudo chmod &#43;x /usr/lib/dracut/modules.d/99nuke-systemd/module-setup.sh&lt;br/&gt;&lt;br/&gt;Dracut update:&lt;br/&gt;sudo dracut --force --verbose&lt;br/&gt;&lt;br/&gt;You will see this logs:&lt;br/&gt;&lt;br/&gt;...&lt;br/&gt;dracut[I]: *** Including module: nuke-systemd ***&lt;br/&gt;dracut[I]: Found systemd-cryptsetup at: /var/tmp/dracut.o6togY/initramfs/usr/bin/systemd-cryptsetup&lt;br/&gt;dracut[I]: Installed nuke wrapper for systemd-cryptsetup&lt;br/&gt;...&lt;br/&gt;&lt;br/&gt;:white_check_mark: Done!
    </content>
    <updated>2026-07-19T15:01:33&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswp9rd06y7wnef0cyxrkx5tuxhmqunmgz3xp9xulf2y59l0k2r0pqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrpslrukdypvwekwxe7we7sglwf082ued46r225m2jgmpl2w6303282ykr5</id>
    
      <title type="html">Duress password is integrated at two authentication points: the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswp9rd06y7wnef0cyxrkx5tuxhmqunmgz3xp9xulf2y59l0k2r0pqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyrpslrukdypvwekwxe7we7sglwf082ued46r225m2jgmpl2w6303282ykr5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfq3hk6w9jjv0mg7s3zd9dp0w2526u0wuvduj48k4d0yw8lwed9jsppemhxue69uhkummn9ekx7mp0jgvhtk&#39;&gt;nevent1q…vhtk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Duress password is integrated at two authentication points: the lightdm display manager for system login, and the xscreensaver lock screen for session unlock. This ensures the duress action can be triggered both at initial boot authentication and when unlocking an existing session.&lt;br/&gt;&lt;br/&gt;See this guide for creating a duress nuke-password for a LUKS-encrypted disk: Hidden “nuke” duress-password to LUKS-encrypted disk. Qubes OS LUKS self-destruct module&lt;br/&gt;&lt;br/&gt;Make backups of all your VMs beforehand.&lt;br/&gt;&lt;br/&gt;Download this repository in dvm:&lt;br/&gt;&lt;br/&gt;git clone &lt;a href=&#34;https://github.com/nuvious/pam-duress.git&#34;&gt;https://github.com/nuvious/pam-duress.git&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;then add it to a ZIP archive, for example pam.zip&lt;br/&gt;&lt;br/&gt;Send it to dom0 and extract archive&lt;br/&gt;qvm-run --pass-io dispXXX &amp;#39;cat /home/user/pam.zip&amp;#39; &amp;gt; pam.zip&lt;br/&gt;&lt;br/&gt;unzip pam.zip&lt;br/&gt;&lt;br/&gt;Run these commands to build the module in dom0 and create duress-password:&lt;br/&gt;sudo qubes-dom0-update gcc gcc-c&#43;&#43; make cmake automake pam-devel openssl-devel&lt;br/&gt;&lt;br/&gt;cd pam-duress&lt;br/&gt;make&lt;br/&gt;sudo make install PAM_DIR=/usr/lib64/security&lt;br/&gt;make clean&lt;br/&gt;&lt;br/&gt;mkdir -p ~/.duress   &lt;br/&gt;sudo mkdir -p /etc/duress.d&lt;br/&gt;&lt;br/&gt;Create a scripts with two scenarios:&lt;br/&gt;&lt;br/&gt;1. Scenario: Delete some VMs and delete this script itself:&lt;br/&gt;&lt;br/&gt;cat &amp;gt; ~/remove_vm.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;if ! [ -w /run/qubesd.sock ] &amp;amp;&amp;amp; [ -z &amp;#34;$DURESS_REEXEC&amp;#34; ]; then&lt;br/&gt;    exec sg qubes &amp;#34;DURESS_REEXEC=1 $0 $*&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;export PATH=&amp;#34;/usr/bin:/usr/sbin:/bin:/sbin:$PATH&amp;#34;&lt;br/&gt;&lt;br/&gt;# Add the names of VMs to be deleted here &amp;#39;test_vm&amp;#39;&lt;br/&gt;/usr/bin/qvm-remove --force test_vm&lt;br/&gt;EOF&lt;br/&gt;chmod &#43;x ~/remove_vm.sh&lt;br/&gt;&lt;br/&gt;( :backhand_index_pointing_up: Add the names of VMs to be deleted here ‘test_vm’)&lt;br/&gt;&lt;br/&gt;2. Scenario: Total system destruction:&lt;br/&gt;&lt;br/&gt;cat &amp;gt; ~/remove_qubes.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;&lt;br/&gt;#!/bin/bash&lt;br/&gt;&lt;br/&gt;# WARNING: This script irreversibly destroys data. Use only for duress password.&lt;br/&gt;&lt;br/&gt;if ! [ -w /run/qubesd.sock ] &amp;amp;&amp;amp; [ -z &amp;#34;$DURESS_REEXEC&amp;#34; ]; then&lt;br/&gt;    exec sg qubes &amp;#34;DURESS_REEXEC=1 $0 $*&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;export PATH=&amp;#34;/usr/bin:/usr/sbin:/bin:/sbin:$PATH&amp;#34;&lt;br/&gt;&lt;br/&gt;# ========== PHASE 0: REMOVE RAM-WIPE MODULE ==========&lt;br/&gt;RAM_WIPE_DIR=&amp;#34;/usr/lib/dracut/modules.d/40ram-wipe&amp;#34;&lt;br/&gt;if [ -d &amp;#34;$RAM_WIPE_DIR&amp;#34; ]; then&lt;br/&gt;    echo &amp;#34;[*] Removing ram-wipe dracut module to prevent shutdown stall...&amp;#34;&lt;br/&gt;    rm -rf &amp;#34;$RAM_WIPE_DIR&amp;#34;&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;# ========== PHASE 1: DESTROY LUKS HEADER ==========&lt;br/&gt;LUKS_DEV=&amp;#34;&amp;#34;&lt;br/&gt;for dev in /dev/nvme0n1p3 /dev/sda2 /dev/vda2 /dev/mapper/luks-*; do&lt;br/&gt;    cryptsetup isLuks &amp;#34;$dev&amp;#34; 2&amp;gt;/dev/null &amp;amp;&amp;amp; LUKS_DEV=&amp;#34;$dev&amp;#34; &amp;amp;&amp;amp; break&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;if [ -n &amp;#34;$LUKS_DEV&amp;#34; ]; then&lt;br/&gt;    echo &amp;#34;[*] Erasing LUKS header on $LUKS_DEV...&amp;#34;&lt;br/&gt;    if cryptsetup luksErase --batch-mode &amp;#34;$LUKS_DEV&amp;#34; 2&amp;gt;/dev/null; then&lt;br/&gt;        echo &amp;#34;[*] LUKS header destroyed. Triggering emergency reboot...&amp;#34;&lt;br/&gt;        echo 1 &amp;gt; /proc/sys/kernel/sysrq&lt;br/&gt;        echo b &amp;gt; /proc/sysrq-trigger&lt;br/&gt;        xl debug-keys R 2&amp;gt;/dev/null || true&lt;br/&gt;        exit 0&lt;br/&gt;    fi&lt;br/&gt;fi&lt;br/&gt;&lt;br/&gt;# ========== PHASE 2: FALLBACK - DESTROY ALL VMs &#43; CORRUPT LVM ==========&lt;br/&gt;echo &amp;#34;[!] LUKS erase failed or not found. Executing fallback destruction...&amp;#34;&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Removing all qubes...&amp;#34;&lt;br/&gt;qvm-remove --all -f 2&amp;gt;/dev/null || true&lt;br/&gt;&lt;br/&gt;echo &amp;#34;[*] Corrupting LVM metadata...&amp;#34;&lt;br/&gt;vgremove -ff qubes_dom0 2&amp;gt;/dev/null || true&lt;br/&gt;for pv in /dev/nvme0n1p3 /dev/sda2 /dev/vda2; do&lt;br/&gt;    [ -b &amp;#34;$pv&amp;#34; ] &amp;amp;&amp;amp; dd if=/dev/urandom of=&amp;#34;$pv&amp;#34; bs=1M count=4 conv=notrunc 2&amp;gt;/dev/null &amp;amp;&amp;amp; break&lt;br/&gt;done&lt;br/&gt;&lt;br/&gt;# ========== PHASE 3: INSTANT REBOOT ==========&lt;br/&gt;echo &amp;#34;[*] Triggering emergency reboot...&amp;#34;&lt;br/&gt;echo 1 &amp;gt; /proc/sys/kernel/sysrq&lt;br/&gt;echo b &amp;gt; /proc/sysrq-trigger&lt;br/&gt;xl debug-keys R 2&amp;gt;/dev/null || true&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;chmod &#43;x ~/remove_qubes.sh&lt;br/&gt;&lt;br/&gt;Then add scripts in duress module:&lt;br/&gt;&lt;br/&gt;cat &amp;gt; ~/.duress/remove_passwd.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/sh&lt;br/&gt;/home/user/remove_vm.sh&lt;br/&gt;rm -rf /home/user/remove_vm.sh&lt;br/&gt;rm -rf /var/log/qubes&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;cat &amp;gt; ~/.duress/remove_passwd2.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;&lt;br/&gt;#!/bin/sh&lt;br/&gt;/home/user/remove_qubes.sh&lt;br/&gt;EOF&lt;br/&gt;&lt;br/&gt;then&lt;br/&gt;&lt;br/&gt;chmod 500 ~/.duress/remove_passwd.sh&lt;br/&gt;chmod 500 ~/.duress/remove_passwd2.sh&lt;br/&gt;&lt;br/&gt;duress_sign ~/.duress/remove_passwd.sh&lt;br/&gt;add alternative password for destroying VMs&lt;br/&gt;&lt;br/&gt;duress_sign ~/.duress/remove_passwd2.sh&lt;br/&gt;add alternative password for destroying system&lt;br/&gt;&lt;br/&gt;and then:&lt;br/&gt;&lt;br/&gt;chmod 400 ~/.duress/remove_passwd.sh.sha256&lt;br/&gt;chmod 400 ~/.duress/remove_passwd2.sh.sha256&lt;br/&gt;&lt;br/&gt;Check:&lt;br/&gt;ls -la ~/.duress/&lt;br/&gt;&lt;br/&gt;Module created.&lt;br/&gt;&lt;br/&gt;Now we need to modify this file /etc/pam.d/system-auth&lt;br/&gt;&lt;br/&gt;sudo nano /etc/system-auth&lt;br/&gt;&lt;br/&gt;Add this line&lt;br/&gt;auth        sufficient                                   pam_duress.so&lt;br/&gt;so that the first 6 auth-lines look like this:&lt;br/&gt;&lt;br/&gt;auth        required                                     pam_env.so&lt;br/&gt;auth        required                                     pam_faildelay.so delay=2000000&lt;br/&gt;auth        sufficient                                   pam_fprintd.so&lt;br/&gt;auth        sufficient                                   pam_unix.so nullok&lt;br/&gt;auth        sufficient                                   pam_duress.so&lt;br/&gt;auth        required                                     pam_deny.so&lt;br/&gt;&lt;br/&gt;then click Ctrl &#43; C and Ctrl &#43; X&lt;br/&gt;&lt;br/&gt;Done.&lt;br/&gt;&lt;br/&gt;:fire: Now first duress password will remove some VMs.&lt;br/&gt;:radioactive: Second duress password will destroy and forcibly shutdown the system. It should protect against forensics (disk will become unreadable).
    </content>
    <updated>2026-07-19T15:00:49&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8v8dw458q7pk5pk3mpesn6ex0d69c28lx72e6hcs6l8hm9w3aw2qpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszypdwv9h7y0nxzhalagev4wx6rqfgkjpvml2xt535rmaukzjlxl20kxje0zj</id>
    
      <title type="html">BONG, BONG https://mastodon.org.uk/@bigben/116946766948721939</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8v8dw458q7pk5pk3mpesn6ex0d69c28lx72e6hcs6l8hm9w3aw2qpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszypdwv9h7y0nxzhalagev4wx6rqfgkjpvml2xt535rmaukzjlxl20kxje0zj" />
    <content type="html">
      &lt;br/&gt;&lt;br/&gt;BONG, BONG&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://mastodon.org.uk/@bigben/116946766948721939&#34;&gt;https://mastodon.org.uk/@bigben/116946766948721939&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:00:48&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszu73r9jh52mcvdt2wj929y6hukz6sk9za5u9p3quxaddlamqswsqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyzn6ntw5jg3uf8uys88anxzu2jjuv5yceh6s78ewmkglsfzpqrdqqhh45ut</id>
    
      <title type="html">Im Auftrag des Staates Neonazis, V-Männer und Agenten. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszu73r9jh52mcvdt2wj929y6hukz6sk9za5u9p3quxaddlamqswsqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyzn6ntw5jg3uf8uys88anxzu2jjuv5yceh6s78ewmkglsfzpqrdqqhh45ut" />
    <content type="html">
      Im Auftrag des Staates&lt;br/&gt;&lt;br/&gt;Neonazis, V-Männer und Agenten. Vorabdruck aus der Augustausgabe von COMPACT-Magazin. Die Rechte war schon immer ein Tummelplatz von Agenten und Spitzeln. Dabei ging es oft nicht nur ums Beobachten – sondern um aktive Einflussnahme. _ von Daniell Pföhringer Im Frühjahr 1996 platzte eine Bombe: Bei einem Lehrgang an der Landespolizeischule Freiburg brüstete sich ein gewisser [...]&lt;br/&gt;&lt;br/&gt;Der Beitrag &lt;a href=&#34;https://www.compact-online.de/im-auftrag-des-staates/&#34;&gt;https://www.compact-online.de/im-auftrag-des-staates/&lt;/a&gt; erschien zuerst auf &lt;a href=&#34;https://www.compact-online.de&#34;&gt;https://www.compact-online.de&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.compact-online.de/im-auftrag-des-staates/&#34;&gt;https://www.compact-online.de/im-auftrag-des-staates/&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:00:31&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqfku8av5fv8e48yqf9yc09090dwtjnm3grpx4dpzshrmehu72cpqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyprvr25xd6pwjum4tyl9c0ruer4tsfxm0rxzrm4leqa0cauzga7fxndleqy</id>
    
      <title type="html">Fear &amp;amp; Greed: 28. Hashrate: 1037 EH/s. Sentiment flips in an ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqfku8av5fv8e48yqf9yc09090dwtjnm3grpx4dpzshrmehu72cpqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyprvr25xd6pwjum4tyl9c0ruer4tsfxm0rxzrm4leqa0cauzga7fxndleqy" />
    <content type="html">
      Fear &amp;amp; Greed: 28. Hashrate: 1037 EH/s. Sentiment flips in an hour. Committed silicon doesn&amp;#39;t. Miners are expressing an opinion that cost them something.
    </content>
    <updated>2026-07-19T15:00:26&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqfgwnwy29lauphye95pqqqvn74mdgk4l4kx6f3wks52p5t6dmfmgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqtywfgtp97l37q5z28xqpg5hyrzmywk72xjnnukkdsmc3hsqfexcgk2d2n</id>
    
      <title type="html">FULL EVENT: WCW Bash at the Beach 1998 | Hogan &amp;amp; Rodman vs. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqfgwnwy29lauphye95pqqqvn74mdgk4l4kx6f3wks52p5t6dmfmgpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyqtywfgtp97l37q5z28xqpg5hyrzmywk72xjnnukkdsmc3hsqfexcgk2d2n" />
    <content type="html">
      FULL EVENT: WCW Bash at the Beach 1998 | Hogan &amp;amp; Rodman vs. DDP &amp;amp; Malone and MORE!&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=ZC43HL9y5wE&#34;&gt;https://www.youtube.com/watch?v=ZC43HL9y5wE&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:00:21&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsta5kdsrfzyrxe2km552npeg7dxhazukg549uxc7gk2quyfnydsuqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyzxnssyvm8jal6p63xfh0aq00jc23pavz5mrr7tt939s8f90wntyslz4ud0</id>
    
      <title type="html">अभी नहीं तो कभी नहीं ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsta5kdsrfzyrxe2km552npeg7dxhazukg549uxc7gk2quyfnydsuqpg3mhxue69uhkummnw3ezuerpw3sju6rpw4en5dp5xvhhjcttd95xsmmwv5axummnw3ezuerpw3sju6rpw4en5dp5xvhhjmmwv3jhytt5d96xzmszyzxnssyvm8jal6p63xfh0aq00jc23pavz5mrr7tt939s8f90wntyslz4ud0" />
    <content type="html">
      अभी नहीं तो कभी नहीं #shankaracharya #gurudev #गुरुदेव #hindu #धर्म #sanatandharma&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/shorts/wlVwk-Y8ijk&#34;&gt;https://www.youtube.com/shorts/wlVwk-Y8ijk&lt;/a&gt;
    </content>
    <updated>2026-07-19T15:00:21&#43;02:00</updated>
  </entry>

</feed>