<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>DSM on Margrop Blog</title>
    <link>https://blog.margrop.net/en/tag/dsm/</link>
    <description>Recent content in DSM on Margrop Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Sat, 11 Jul 2026 08:30:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/en/tag/dsm/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The Password Was Right—So Why Did Synology Reject It? Rebuilding DSM’s RSA &#43; AES WebAPI Login</title>
      <link>https://blog.margrop.net/en/post/synology-webapi-login-encryption-deep-dive/</link>
      <pubDate>Sat, 11 Jul 2026 08:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-webapi-login-encryption-deep-dive/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Some Synology WebAPI clients do more than post &lt;code&gt;account&lt;/code&gt; and &lt;code&gt;passwd&lt;/code&gt; to &lt;code&gt;auth.cgi&lt;/code&gt;. The implementation preserved in OpenStack Cinder first calls &lt;code&gt;SYNO.API.Encryption.getinfo&lt;/code&gt;, receives an RSA public modulus, server time, and two dynamic field names, then generates a one-use passphrase. RSA PKCS#1 v1.5 encrypts that passphrase; an OpenSSL-compatible AES-256-CBC envelope encrypts the URL-encoded login parameters; both Base64 values are finally placed inside the server-provided &lt;code&gt;cipherkey&lt;/code&gt; field.&lt;/p&gt;&#xA;&lt;p&gt;This is an authorized WebAPI compatibility technique—not a password bypass. A SID for &lt;code&gt;session=DSM&lt;/code&gt; is also not automatically the same thing as a complete browser UI login state. Parameter encryption does not replace HTTPS, because TLS still authenticates the server and protects integrity against an active intermediary.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Original cover: an RSA outer envelope and AES inner envelope protect a NAS login&#34; src=&#34;https://blog.margrop.net/post-images/synology-webapi-login-encryption-deep-dive/00-cover-original.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stop Fighting Over the Remote: Use DSM Scheduled Tasks to Lock a Kids&#39; Video Folder Automatically</title>
      <link>https://blog.margrop.net/en/post/synology-kid-video-acl-curfew/</link>
      <pubDate>Sun, 05 Jul 2026 06:50:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-kid-video-acl-curfew/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is not an account lockout guide. The goal is narrower and cleaner: lock one kids&amp;rsquo; video folder on a Synology DSM 7.2.1 NAS during selected hours, while leaving the account, password, homework folders, photo folders, and other shares alone. The script inserts one temporary &lt;code&gt;deny&lt;/code&gt; ACL entry with &lt;code&gt;synoacltool&lt;/code&gt;, removes that entry during open windows, backs up the ACL before each change, and verifies the result after each operation.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Original cover: the kids&amp;rsquo; video folder is locked by schedule&#34; src=&#34;https://blog.margrop.net/post-images/synology-kid-video-acl-curfew/00-ai-cover.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Synology locked root behind three doors — I spent twenty minutes teaching it how to let me back in</title>
      <link>https://blog.margrop.net/en/post/synology-root-and-ssh-key/</link>
      <pubDate>Thu, 18 Jun 2026 16:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-root-and-ssh-key/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Synology DSM, by design, ships with SSH &lt;strong&gt;disabled&lt;/strong&gt; and root login &lt;strong&gt;prohibited&lt;/strong&gt; — both sensible defaults. This guide walks you through &amp;ldquo;doing it the right way&amp;rdquo;:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Control Panel → Terminal &amp;amp; SNMP → Enable SSH&lt;/strong&gt; (open the gate)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Log in as a normal user, then &lt;code&gt;sudo -i&lt;/code&gt; to become root&lt;/strong&gt; (borrow the landlord&amp;rsquo;s key first)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Edit &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt; and set &lt;code&gt;PermitRootLogin yes&lt;/code&gt;&lt;/strong&gt; (tell the bouncer &amp;ldquo;root is family&amp;rdquo;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;synouser --setpw root xxx&lt;/code&gt; to set a root password, and append your public key to &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt;&lt;/strong&gt; (hand back a key that can never be lost)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Total time: about twenty minutes. I&amp;rsquo;ll explain &lt;em&gt;why&lt;/em&gt; every step exists using a &amp;ldquo;key and lock&amp;rdquo; metaphor, give you a 3-second vi crash course, list the error messages you&amp;rsquo;ll see, and answer the seven most common questions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Moving Bedtime Out of the Living Room: Letting macOS launchd Disable Your Kids&#39; Synology Accounts at 22:00 and Quietly Re-enable Them at 08:00</title>
      <link>https://blog.margrop.net/en/post/synology-mykid-curfew-launchd/</link>
      <pubDate>Sun, 14 Jun 2026 08:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-mykid-curfew-launchd/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Synology DSM has a &amp;ldquo;disable this account&amp;rdquo; checkbox in the Control Panel, but it does not run on a schedule. With macOS&amp;rsquo;s built-in &lt;code&gt;launchd&lt;/code&gt; and a 50-line bash script, you can flip the &lt;code&gt;expired&lt;/code&gt; flag on two local accounts at 22:00 every night and flip it back at 08:00. The script does a before-query, a change, an after-query, and &lt;code&gt;exit 1&lt;/code&gt; the moment the after state does not match expectations. &lt;code&gt;launchd&lt;/code&gt; writes stdout and stderr to dedicated log files. The interesting part is that the word &amp;ldquo;parent&amp;rdquo; quietly leaves the conversation: you no longer have to remind anyone to go to bed, the machine does it for you, on time, every day.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This post is not a comprehensive &amp;ldquo;family NAS management&amp;rdquo; guide. It is about one specific thing: turning a manual button click that depends on human memory into a system-level event that just happens on time.&lt;/p&gt;&#xA;&lt;p&gt;If you only want the picture, the overview diagram in Section 2 is the whole article in one frame.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Lights out at 22:00, lights on at 08:00&#34; src=&#34;https://blog.margrop.net/post-images/synology-mykid-curfew-launchd/05-curfew-overview.svg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>[Transfer] Synology DiskStation Administration CLI Guide: Reading Notes and Command Cheatsheet</title>
      <link>https://blog.margrop.net/en/post/zhuan-synology-diskstation-administration-cli-guide/</link>
      <pubDate>Thu, 30 Apr 2026 18:14:05 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/zhuan-synology-diskstation-administration-cli-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Synology&amp;rsquo;s official CLI administration guide is not a beginner manual for the DSM web interface. It is a compact reference for scripting, automation, and system integration. The useful parts cover local users, local groups, shared folders, network configuration, service management, Windows workgroup or ADS domain settings, and DSM error numbers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This post is an English reading note and command cheatsheet based on Synology&amp;rsquo;s official PDF, &lt;em&gt;CLI Administrator Guide for Synology NAS&lt;/em&gt;. Because the original PDF is a copyrighted Synology document, this post does not reproduce or translate the full document verbatim. Instead, it reorganizes the material into a bilingual blog-friendly guide for quick reading and daily operations. For exact wording, parameter definitions, version-specific behavior, and legal notices, use the official PDF linked at the end.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Synology Chat download and installation address</title>
      <link>https://blog.margrop.net/en/post/synology-chat-download-address/</link>
      <pubDate>Mon, 07 Jun 2021 08:31:39 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-chat-download-address/</guid>
      <description>Due to well-known reasons, Chat has now disappeared&#xA;However, the international version of the Synology site can still be downloaded and used normally.&#xA;Use and cherish&#xA;DS3617xsInternational Version Download Center&#xA;Chat Kit download address&#xA;Chat Android version download address&#xA;*Chat Apple users must find an overseas iCloud account to install it.&#xA;The above Chat package and APK have been backed up to the download center of this site </description>
    </item>
    <item>
      <title>Latest Synology 6.17: How to Gain Root Access, Set Root Password and Enable SSH Passwordless Login</title>
      <link>https://blog.margrop.net/en/post/dsm-grant-root-permission-and-set-password-and-ssh-login/</link>
      <pubDate>Wed, 10 Feb 2021 20:40:26 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/dsm-grant-root-permission-and-set-password-and-ssh-login/</guid>
      <description>&lt;h1 id=&#34;1-enable-ssh-function&#34;&gt;1. Enable SSH Function&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In &lt;code&gt;控制面板&lt;/code&gt;-&amp;gt;&lt;code&gt;终端机和SNMP&lt;/code&gt;, enable the &lt;code&gt;SSH&lt;/code&gt; function&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;2-log-in-to-synology-via-ssh-using-the-default-system-user&#34;&gt;2. Log in to Synology via SSH Using the Default System User&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;My default user is &lt;code&gt;admin&lt;/code&gt;, so I enter the following command. Modify &lt;code&gt;admin&lt;/code&gt; and &lt;code&gt;IP地址&lt;/code&gt; to match your own settings.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh admin@192.168.1.5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Let&#39;s Encrypt automatically synchronizes Proxmox VE and DSM certificates after automatic renewal</title>
      <link>https://blog.margrop.net/en/post/lets-encrypt-sync-https-cert-to-pve-and-dsm/</link>
      <pubDate>Tue, 02 Feb 2021 19:19:38 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/lets-encrypt-sync-https-cert-to-pve-and-dsm/</guid>
      <description>Last time we talked about Let&amp;rsquo;s Encrypt通过DNS TXT记录来验证域名有效性, and the last part of the article was about how to use certbot renew for automatic renewal. Then the automatic renewal is successful, how to synchronize it to PVE and DSM?&#xA;Below we use a script to perform automatic synchronization.&#xA;Need to configure SSH password-free login on Proxmox VE and DSM servers Automatically synchronize Proxmox VE certificate Proxmox VE synchronized to this machine Proxmox VE synchronized to LAN cp /etc/letsencrypt/live/blog.</description>
    </item>
    <item>
      <title>ProxmoxVE 6.3 uses commands to back up Synology virtual machines</title>
      <link>https://blog.margrop.net/en/post/proxmoxve-use-bash-to-backup-dsm-vm/</link>
      <pubDate>Thu, 21 Jan 2021 18:16:22 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/proxmoxve-use-bash-to-backup-dsm-vm/</guid>
      <description>Since the Synology virtual machine in my ProxmoxVE runs on a LUN passthrough disk, I cannot click backup directly in the Web interface.&#xA;DSM virtual machine backup process: Stop the virtual machine -&amp;gt; Unmount the hard disk -&amp;gt; Back up the virtual machine -&amp;gt; Mount the hard disk -&amp;gt; Start the virtual machine It is really troublesome and error-prone to do this entirely through the Web interface. So I studied the command-line workflow.</description>
    </item>
    <item>
      <title>Does Synology DSM Support QEMU Guest Agent?</title>
      <link>https://blog.margrop.net/en/post/is-dsm-supported-qemu-agent/</link>
      <pubDate>Wed, 20 Jan 2021 13:19:28 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/is-dsm-supported-qemu-agent/</guid>
      <description>&lt;p&gt;Install the &lt;code&gt;Power Button Package&lt;/code&gt; in Synology DSM and disable the &lt;code&gt;qemu&lt;/code&gt; agent option in &lt;code&gt;PVE&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h1 id=&#34;where-to-download-the-power-button-package&#34;&gt;Where to Download the Power Button Package&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Note that &lt;code&gt;DSM 6.1&lt;/code&gt; and &lt;code&gt;DSM 6.2&lt;/code&gt; use different &lt;code&gt;spk&lt;/code&gt; packages&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>img2KVM, Convert IMG Format to KVM Format, Install DSM Synology Virtual Machine</title>
      <link>https://blog.margrop.net/en/post/img2kvm-convert-img-format-file-to-kvm/</link>
      <pubDate>Wed, 20 Jan 2021 08:32:25 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/img2kvm-convert-img-format-file-to-kvm/</guid>
      <description>&lt;h1 id=&#34;install-img2kvm&#34;&gt;Install img2kvm&lt;/h1&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd /root&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget -c https://download.margrop.net/d/oneindex/network/PVE/img2kvm -O img2kvm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod +x img2kvm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>【Transfer】The latest method of half-washing Synology</title>
      <link>https://blog.margrop.net/en/post/synology-half-crack-way-docker-ddsm/</link>
      <pubDate>Tue, 19 Jan 2021 18:10:53 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/synology-half-crack-way-docker-ddsm/</guid>
      <description>I recently built a new NAS. After installing it, I found that the semi-whitewashing solution provided before no longer worked. Previous Posthttp://blog.lixx.vip/黑群晖（synology）nas-6-22-折腾记-半洗白/ Mainly because Synology’s new version of Docker 18.09.0-0506 has closed the installation of DDSM&#xA;Download old version of Docker *Old version of Docker download address (Docker-x64-17.05.0-0401.spk):&#xA;DDSM’s PAT download address (DSM_VirtualDSM_15284.pat): It can also be downloaded at 我的网盘&#xA;You need to uninstall the newly installed Docker in the package center, and then install the downloaded old version</description>
    </item>
    <item>
      <title>How to Run N2N on Synology (DSM) - Compilation Guide</title>
      <link>https://blog.margrop.net/en/post/how-to-use-n2n-dsm/</link>
      <pubDate>Fri, 15 Jan 2021 13:18:07 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/how-to-use-n2n-dsm/</guid>
      <description>&lt;p&gt;Synology (abbreviated as &lt;code&gt;DSM&lt;/code&gt; below) is currently the most famous &lt;code&gt;NAS&lt;/code&gt; system, bar none.&#xA;How to run &lt;code&gt;N2N&lt;/code&gt; directly on &lt;code&gt;DSM&lt;/code&gt;? Of course, cross-compilation is needed again 😂.&#xA;The following cross-compilation operations require a basic understanding of &lt;code&gt;Linux&lt;/code&gt; and proficiency in &lt;code&gt;vim&lt;/code&gt; operations.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
