<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Synology on 魔都水滴</title>
    <link>https://blog.margrop.net/tag/synology/</link>
    <description>Recent content in Synology on 魔都水滴</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Sat, 11 Jul 2026 08:30:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/tag/synology/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>密码没写错，群晖却不让登录？我拆开 DSM 的 RSA &#43; AES 双层信封，完整复刻 WebAPI 登录</title>
      <link>https://blog.margrop.net/post/synology-webapi-login-encryption-deep-dive/</link>
      <pubDate>Sat, 11 Jul 2026 08:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-webapi-login-encryption-deep-dive/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;群晖某些 WebAPI 登录请求并不是简单地把 &lt;code&gt;account&lt;/code&gt; 和 &lt;code&gt;passwd&lt;/code&gt; 直接提交给 &lt;code&gt;auth.cgi&lt;/code&gt;。OpenStack Cinder 的 Synology 驱动展示了一套完整兼容流程：先调用 &lt;code&gt;SYNO.API.Encryption.getinfo&lt;/code&gt;，取得 RSA 公钥、服务器时间和两个动态字段名；客户端生成一次性随机 passphrase，用 RSA 加密它，再用它派生 AES-256-CBC 的密钥和 IV，对 URL 编码后的登录参数加密，最后把两段 Base64 密文放入服务器指定的 &lt;code&gt;cipherkey&lt;/code&gt; 字段。&lt;/p&gt;&#xA;&lt;p&gt;但必须先划清边界：这是一种 &lt;strong&gt;WebAPI 身份认证兼容方式&lt;/strong&gt;，不是破解密码，也不是绕过权限；拿到 &lt;code&gt;session=DSM&lt;/code&gt; 的 API SID，也不等于凭空获得浏览器 DSM 管理页面的完整 Cookie 登录状态。HTTP 参数加密同样不能代替 HTTPS，因为 TLS 还负责服务器身份校验、完整性保护和抵抗中间人攻击。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;原创题图：RSA 与 AES 双层信封保护 NAS 登录&#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>别再半夜抢遥控器了：用 DSM 计划任务给群晖儿童视频目录自动上锁</title>
      <link>https://blog.margrop.net/post/synology-kid-video-acl-curfew/</link>
      <pubDate>Sun, 05 Jul 2026 06:50:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-kid-video-acl-curfew/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;这次不是“禁用孩子账号”，而是只给群晖里的一个儿童视频目录定时上锁。做法是在 DSM 7.2.1 上准备一个 &lt;code&gt;kid_video_guard.sh&lt;/code&gt;，到点用 &lt;code&gt;synoacltool&lt;/code&gt; 给目标目录加一条临时 &lt;code&gt;deny&lt;/code&gt; ACL，开放时间再把这条 ACL 删除。账号、密码、家庭相册、作业目录都不动，只有“儿童视频”这个柜门到点关上。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;原创封面：NAS 上的儿童视频目录到点上锁&#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>群晖把我的 root 锁在门外三道，我花了二十分钟把它教会</title>
      <link>https://blog.margrop.net/post/synology-root-and-ssh-key/</link>
      <pubDate>Thu, 18 Jun 2026 16:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/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）为了安全，默认把 SSH 关掉、还禁止 root 直接登录——这是好事，别骂它。这篇文章就是带你&amp;quot;按规矩&amp;quot;把门打开：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;控制面板 → 终端机和 SNMP → 启用 SSH&lt;/strong&gt;（把大门打开）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;用普通账户登录 + &lt;code&gt;sudo -i&lt;/code&gt; 切到 root&lt;/strong&gt;（先去物业借钥匙）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;修改 &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt; 里 &lt;code&gt;PermitRootLogin yes&lt;/code&gt;&lt;/strong&gt;（跟门卫说&amp;quot;root 是自己人&amp;quot;）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;synouser --setpw root xxx&lt;/code&gt; 设密码 + 把公钥写到 &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt;&lt;/strong&gt;（换一把永远不会丢的钥匙）&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;全程大约二十分钟，比想象简单。我会把每一步都用&amp;quot;钥匙和锁&amp;quot;的比喻讲清楚，再附上 vi 编辑器三秒钟入门、常见报错和 Q&amp;amp;A。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>把「该睡觉了」搬出客厅：让 mac 的 launchd 每天 22:00 自动停用群晖孩子的账号，08:00 再悄悄启用</title>
      <link>https://blog.margrop.net/post/synology-mykid-curfew-launchd/</link>
      <pubDate>Sun, 14 Jun 2026 08:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-mykid-curfew-launchd/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;群晖 DSM 控制台里其实有一个&amp;quot;停用账号&amp;quot;按钮，但它不会自动按时执行。借助 mac 自带的 &lt;code&gt;launchd&lt;/code&gt; 加一段 50 行的 &lt;code&gt;bash&lt;/code&gt; 脚本，可以做到：每天 22:00 把孩子的两个本地账号 &lt;code&gt;expired&lt;/code&gt; 标志置位，08:00 再恢复。脚本自带&amp;quot;改前查询 → 改 → 改后查询&amp;quot;的三步校验，任何一步对不上号立刻 &lt;code&gt;exit 1&lt;/code&gt;，launchd 会把执行日志写进 &lt;code&gt;StandardOutPath/StandardErrorPath&lt;/code&gt;。整件事的特别之处是**&amp;ldquo;家长&amp;quot;两个字被从对话里拿掉了**——你不用每天喊&amp;quot;该睡了&amp;rdquo;，机器会准时替你做。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;本文不打算讲一个大而全的家庭 NAS 管理方案，只围绕一件具体的事：让一个原本靠&amp;quot;人记得点&amp;quot;的操作，变成&amp;quot;到了点就自动发生&amp;quot;的纯系统级动作。&lt;/p&gt;&#xA;&lt;p&gt;如果你只想先看图，第二节那张「晚 10 点断电 / 早 8 点复电」的总览图就够了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;晚 10 点准时&amp;quot;断网&amp;quot;，早 8 点自动&amp;quot;复电&amp;quot;&#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>PhotoPrism 启动 5 分钟还在装系统包？一次 PHOTOPRISM_INIT=intel 的踩坑与正确配置</title>
      <link>https://blog.margrop.net/post/photoprism-init-intel-stuck/</link>
      <pubDate>Sat, 13 Jun 2026 08:30:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/photoprism-init-intel-stuck/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;TL;DR（先说结论）&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;PhotoPrism Plus 镜像的 &lt;code&gt;docker-compose.yml&lt;/code&gt; 里有一行 &lt;code&gt;PHOTOPRISM_INIT: &amp;quot;intel&amp;quot;&lt;/code&gt;，看似只是给 Intel 核显开加速，实际上它在容器&lt;strong&gt;第一次启动&lt;/strong&gt;时会去 &lt;code&gt;archive.ubuntu.com&lt;/code&gt; 跑一次完整的 &lt;code&gt;apt-get dist-upgrade&lt;/code&gt;，再装 7 个 GPU / VA-API 包。这套流程 &lt;strong&gt;5–10 分钟起步&lt;/strong&gt;，整个期间容器内部没有任何进程在监听 &lt;code&gt;2342&lt;/code&gt; 端口。你的 &lt;code&gt;docker ps&lt;/code&gt; 显示 &lt;code&gt;Up&lt;/code&gt;、Portainer 一切绿、&lt;code&gt;ss -ltn&lt;/code&gt; 也看到 &lt;code&gt;0.0.0.0:2342&lt;/code&gt; 在 LISTEN——但浏览器一访问就是 &lt;strong&gt;ERR_CONNECTION_RESET / Connection reset by peer&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;解法非常简单：&lt;strong&gt;删掉或清空那一行&lt;/strong&gt;。你 &lt;code&gt;devices&lt;/code&gt; 里已经挂上 &lt;code&gt;/dev/dri/renderD128&lt;/code&gt; 直通，驱动和 VA-API 用户态工具由宿主机提供，容器里再装一遍是纯浪费。&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>给 OpenClaw / HermesAgent 集成群晖操作 SKILL：从一句话到可审计的 NAS 自动化</title>
      <link>https://blog.margrop.net/post/openclaw-hermesagent-synology-skill/</link>
      <pubDate>Tue, 05 May 2026 12:20:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/openclaw-hermesagent-synology-skill/</guid>
      <description>&lt;p&gt;我之前已经整理过两篇偏“命令手册”风格的群晖文章：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.margrop.net/post/synology-ssh-commands/&#34;&gt;Synology 群晖 SSH 命令详解&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.margrop.net/post/synology-diskstation-cli-administration-guide/&#34;&gt;群晖 NAS CLI 管理指南&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这两篇文章解决的是“人知道有哪些命令可以用”的问题。本文想解决另一个更实际的问题：如果我已经在使用 OpenClaw / HermesAgent 这类 Agent 工具，能不能把这些群晖命令沉淀成一个操作 SKILL，让我以后用一句话就能让 Agent 帮我检查 NAS、整理状态、生成操作计划，甚至在确认后执行一些维护命令？&lt;/p&gt;&#xA;&lt;p&gt;我的答案是：可以，但不应该把它做成“Agent 拿到 root 权限以后随便跑”。正确的集成方式应该是：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;让群晖 SSH 访问可控、可验证、可撤销。&lt;/li&gt;&#xA;&lt;li&gt;把常用群晖 CLI 操作写进 SKILL，让 Agent 知道可用命令、风险分级和输出格式。&lt;/li&gt;&#xA;&lt;li&gt;默认只允许只读诊断命令自动执行。&lt;/li&gt;&#xA;&lt;li&gt;对重启服务、修改权限、改用户、改网络、删除文件、存储相关操作设置确认门禁。&lt;/li&gt;&#xA;&lt;li&gt;每次执行后保留命令、输出和结论，方便回看和追责。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;如果你只想快速理解整篇文章，看下面这张图就够了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;OpenClaw / HermesAgent 集成群晖操作 SKILL 总览&#34; src=&#34;https://blog.margrop.net/post-images/openclaw-hermesagent-synology-skill/01-overview-handdrawn.svg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>【转】Synology DiskStation Administration CLI Guide 官方文档导读与命令速查</title>
      <link>https://blog.margrop.net/post/zhuan-synology-diskstation-administration-cli-guide/</link>
      <pubDate>Thu, 30 Apr 2026 18:14:05 +0800</pubDate>
      <guid>https://blog.margrop.net/post/zhuan-synology-diskstation-administration-cli-guide/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;先说结论&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Synology 这份官方 CLI 管理指南并不是一本面向普通 DSM 图形界面用户的入门手册，而是一份给脚本、自动化和系统集成场景准备的命令参考。它覆盖了 DSM 中最常见的几类管理动作：本地用户、本地群组、共享文件夹、网络配置、服务控制、工作组或 ADS 域设置，以及错误码查询。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;这篇文章是基于 Synology 官方 PDF《CLI Administrator Guide for Synology NAS》整理的中文导读和命令速查。由于原 PDF 属于 Synology 官方版权文档，本文不会全文复制或逐段翻译原文，而是按博客阅读习惯重新组织成一份便于检索、理解和日常运维使用的双语整理稿。需要逐字核对参数定义、版本差异或法律声明时，请直接阅读文末的官方 PDF 来源。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker 容器太多导致网段冲突：把自动分配网络统一迁回 172 私有段的完整记录</title>
      <link>https://blog.margrop.net/post/docker-network-subnet-conflict-migration-record/</link>
      <pubDate>Mon, 13 Apr 2026 08:00:00 +0800</pubDate>
      <guid>https://blog.margrop.net/post/docker-network-subnet-conflict-migration-record/</guid>
      <description>&lt;p&gt;这篇文章记录的是一次很典型、也很容易被忽略的 Docker 网络故障：容器越来越多，Docker 自动分配出来的 user-defined bridge 网段，最后落进了 &lt;code&gt;192.168.x.x&lt;/code&gt;，并且和家里的真实局域网发生了冲突。问题本身不算复杂，但它有一个很讨厌的特点：它不是那种“容器起不来”或者“端口没映射”的显性错误，而是把整个家庭网络拖进一个很别扭的半瘫痪状态。&lt;/p&gt;&#xA;&lt;p&gt;当时在我的 NAS 上，家里部分设备开始出现访问异常。表面上看，像是某个设备离线，或者某个交换机、AP、路由器出了毛病；但我沿着 Docker 的网络一路排查下去后，最终确认，真正的根因不是单个容器坏了，而是 Docker 网络池的自动分配策略，已经把局域网挤到了一个危险的位置。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Synology Chat 下载安装地址</title>
      <link>https://blog.margrop.net/post/synology-chat-download-address/</link>
      <pubDate>Mon, 07 Jun 2021 08:31:39 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-chat-download-address/</guid>
      <description>&lt;p&gt;由于众所周知的原因，&lt;code&gt;Chat&lt;/code&gt; 目前已经被消失了&lt;/p&gt;&#xA;&lt;p&gt;但 &lt;code&gt;Synology&lt;/code&gt; 的国际版的站点仍然可以正常下载使用&lt;/p&gt;&#xA;&lt;p&gt;且用且珍惜&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;DS3617xs&lt;/code&gt;国际版下载中心&#xA;&lt;a href=&#34;https://www.synology.com/en-global/support/download/DS3617xs&#34;&gt;https://www.synology.com/en-global/support/download/DS3617xs&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Chat&lt;/code&gt; 套件下载地址&#xA;&lt;a href=&#34;https://global.download.synology.com/download/Package/spk/Chat/2.3.0-1738/Chat-x86_64-2.3.0-1738.spk?model=DS3617xs&amp;bays=12&amp;dsm_version=6.2.4&amp;build_number=25556&#34;&gt;https://global.download.synology.com/download/Package/spk/Chat/2.3.0-1738/Chat-x86_64-2.3.0-1738.spk?model=DS3617xs&amp;bays=12&amp;dsm_version=6.2.4&amp;build_number=25556&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Chat&lt;/code&gt; 安卓版本下载地址&#xA;&lt;a href=&#34;https://global.download.synology.com/download/Mobile/Android-DSchat/2.7.0-499/Android-SynologyChat.2.7.0-499.ww.apk&#34;&gt;https://global.download.synology.com/download/Mobile/Android-DSchat/2.7.0-499/Android-SynologyChat.2.7.0-499.ww.apk&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://blog.margrop.net/post-images/chat_2_7_0_apk.png&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Chat 苹果用户得自行找个海外iCloud账号安装&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;上面的 &lt;code&gt;Chat&lt;/code&gt; 套件和 &lt;code&gt;APK&lt;/code&gt; 已备份到本站下载中心&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>【转】黑群晖（Synology）半洗白最新方法</title>
      <link>https://blog.margrop.net/post/synology-half-crack-way-docker-ddsm/</link>
      <pubDate>Tue, 19 Jan 2021 18:10:53 +0800</pubDate>
      <guid>https://blog.margrop.net/post/synology-half-crack-way-docker-ddsm/</guid>
      <description>&lt;p&gt;最近新搭一个&lt;code&gt;NAS&lt;/code&gt;，安装好发现之前提供的半洗白方案已经不起作用了&#xA;之前的帖子&lt;a href=&#34;http://blog.lixx.vip/%E9%BB%91%E7%BE%A4%E6%99%96%EF%BC%88synology%EF%BC%89nas-6-22-%E6%8A%98%E8%85%BE%E8%AE%B0-%E5%8D%8A%E6%B4%97%E7%99%BD/&#34;&gt;http://blog.lixx.vip/黑群晖（synology）nas-6-22-折腾记-半洗白/&lt;/a&gt;&#xA;主要是群晖新版的&lt;code&gt;Docker 18.09.0-0506&lt;/code&gt;关闭了&lt;code&gt;DDSM&lt;/code&gt;安装&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
