<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Wei.G</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://www.weigshare.com/</id>
  <link href="https://www.weigshare.com/" rel="alternate"/>
  <link href="https://www.weigshare.com/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Wei.G</rights>
  <subtitle>Cloud · AI · Python · DevOps</subtitle>
  <title>Wei.G Share Blog</title>
  <updated>2026-10-21T08:39:31.056Z</updated>
  <entry>
    <author>
      <name>Wei.G</name>
    </author>
    <category term="qBittorrent" scheme="https://www.weigshare.com/categories/qBittorrent/"/>
    <category term="qBittorrent" scheme="https://www.weigshare.com/tags/qBittorrent/"/>
    <category term="WebUI" scheme="https://www.weigshare.com/tags/WebUI/"/>
    <category term="NAS" scheme="https://www.weigshare.com/tags/NAS/"/>
    <category term="Docker" scheme="https://www.weigshare.com/tags/Docker/"/>
    <content>
      <![CDATA[<p>如果你平时通过浏览器管理 qBittorrent，尤其是在 <strong>NAS、Docker、手机端</strong> 使用，第三方 WebUI 可以让日常操作更方便。<strong><a href="https://weigefenxiang.github.io/WeiG-qB-WebUI/">在线预览</a></strong></p><p>大约 7 年前，我加入了 PT 站点。当时 NAS 上安装的是最新的 qB 4.1.9，没想到一直用到了今天。</p><p>曾经尝试过跨版本升级（印象中是 4.2.5），结果导致客户端里的种子任务丢失，无法正常保种。由于积累的种子太多，恢复起来非常麻烦，所以后来只要运行稳定，我就一直没有再升级。</p><p>不过现在手机使用越来越普遍。毕业参加工作之后，使用桌面端的时间越来越少，平时更多的是通过手机管理 NAS。原版 WebUI 在手机上的操作体验确实不太理想。我也尝试过一些其他的 Alternative WebUI，但很多对老版本 qB 的兼容性并不好。</p><p>为了解决这些问题，才做的这个项目。目前覆盖 qBittorrent 4.1.x 至 5.2.x 的多个稳定版本。如果遇到兼容性问题或有改进建议，也欢迎留言反馈。 <em><a href="https://github.com/weigefenxiang/WeiG-qB-WebUI">项目地址</a></em></p><p><strong>WeiG qB WebUI</strong> 是一套面向桌面和手机端的 qBittorrent Alternate WebUI：</p><ul><li>📱 手机端自适应</li><li>🌙 暗夜模式</li><li>🧱 兼容较老版本的 qBittorrent</li><li>✅ 支持 <strong>qBittorrent 4.1.x → 5.2.x</strong></li><li>🐳 适用于 Windows、Linux、Docker、NAS</li></ul><div align="left" style="display:flex;gap:10px;flex-wrap:wrap;justify-content:left;">  <img src="https://img.shields.io/badge/-JavaScript-F7DF1E?logo=javascript&logoColor=black" alt="JavaScript">  <img src="https://img.shields.io/badge/-HTML5-E34F26?logo=html5&logoColor=white" alt="HTML5">  <img src="https://img.shields.io/badge/-CSS3-1572B6?logo=css3&logoColor=white" alt="CSS3">  <img src="https://img.shields.io/badge/-Node.js-339933?logo=nodedotjs&logoColor=white" alt="Node.js">  <img src="https://img.shields.io/badge/-Shell-8A2BE2?logo=gnubash&logoColor=white" alt="Shell"></div><h2 id="界面预览"><a href="#界面预览" class="headerlink" title="界面预览"></a>界面预览</h2><h3 id="桌面端"><a href="#桌面端" class="headerlink" title="桌面端"></a>桌面端</h3><p align="center">  <img src="https://img.weigshare.com/img/004.001.weig-qb-webui-desktop-overview.gif" alt="WeiG qB WebUI 桌面端界面" style="display:block;width:100%;max-width:900px;height:auto;margin:0 auto;"></p><h3 id="手机端"><a href="#手机端" class="headerlink" title="手机端"></a>手机端</h3><style>/* 只作用于本文的手机预览，不影响其它图片 */.weig-qb-mobile-preview {  width: 100%;  container-type: inline-size;}.weig-qb-mobile-preview-images {  display: flex;  justify-content: center;  align-items: center;  flex-wrap: nowrap;  gap: 10px;  width: 100%;}.weig-qb-mobile-preview-images img {  display: block;  flex: 0 1 auto;  min-width: 0;  width: auto;  height: min(341px, 38cqw);  max-width: 100%;  object-fit: contain;}/* 以文章正文宽度判断，狭窄布局下改为上下排列 */@container (max-width: 640px) {  .weig-qb-mobile-preview-images {    flex-direction: column;  }  .weig-qb-mobile-preview-images img {    flex: none;    width: auto;    height: auto;    max-width: 100%;    max-height: 341px;  }}</style><div class="weig-qb-mobile-preview">  <div class="weig-qb-mobile-preview-images">    <img src="https://img.weigshare.com/img/004.002.weig-qb-webui-mobile-overview.gif" alt="WeiG qB WebUI 手机端动态演示">    <img src="https://img.weigshare.com/img/004.003.weig-qb-webui-mobile-overview.png" alt="WeiG qB WebUI 手机端多画面预览">  </div></div><h2 id="新手安装"><a href="#新手安装" class="headerlink" title="新手安装"></a>新手安装</h2><details><summary><b>第一次安装？点击展开 1 分钟教程</b></summary><h3 id="1-解压"><a href="#1-解压" class="headerlink" title="1. 解压"></a>1. 解压</h3><p>下载最新正式版 <a href="https://github.com/weigefenxiang/WeiG-qB-WebUI/releases/latest/download/weig-qb-webui.zip"><strong>weig-qb-webui.zip</strong></a>，解压后会直接得到统一目录：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">weig-qb-webui/├── public/├── private/├── VERSION└── GIT_SHA<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>整个 <strong><code>weig-qb-webui</code> 文件夹</strong>就是 WebUI 根目录，不要只复制 <code>public</code> 或 <code>private</code>。</p><h3 id="2-放到一个固定位置"><a href="#2-放到一个固定位置" class="headerlink" title="2. 放到一个固定位置"></a>2. 放到一个固定位置</h3><p>把整个 <code>weig-qb-webui</code> 文件夹移动到一个以后不会随便删除的位置，例如：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">Windows：D:\weig-qb-webuiLinux：  /opt/weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p>后面 qBittorrent 要填写的就是这个目录。</p><h3 id="3-在-qBittorrent-中启用"><a href="#3-在-qBittorrent-中启用" class="headerlink" title="3. 在 qBittorrent 中启用"></a>3. 在 qBittorrent 中启用</h3><p>打开 qBittorrent：</p><p><strong>工具 → 选项… → WebUI</strong></p><ol><li>勾选 <strong>使用备选 WebUI</strong>。</li><li>找到 <strong>文件位置：</strong>。</li><li>填入刚才保存的 <code>weig-qb-webui</code> 文件夹路径。</li><li>点击 <strong>确定</strong> 保存设置。</li><li>刷新 qBittorrent WebUI 页面。如果浏览器仍显示旧页面，可再按一次 <code>Ctrl + F5</code> 强制刷新。</li></ol><p>Windows 示例：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">D:\weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>普通 Linux 示例：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">/opt/weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><blockquote><p><strong>怎么判断路径填对了？</strong> 你填写的目录里面应该能直接看到 <code>public</code>、<code>private</code>、<code>VERSION</code> 等文件&#x2F;目录。如果还要再进入一层 <code>weig-qb-webui</code> 才能看到这些内容，说明路径多填或少填了一层。</p></blockquote><blockquote><p><strong>Docker 用户注意：</strong> qBittorrent 运行在容器里面，因此这里通常不能填写宿主机上的真实路径。Docker 的“宿主机 &#x2F; 容器”区别和正确路径写法见下面 <strong>Docker</strong> 折叠教程。</p></blockquote></details><h2 id="一键安装"><a href="#一键安装" class="headerlink" title="一键安装"></a>一键安装</h2><p>Linux &#x2F; NAS 一键脚本统一从下面的 Dev Pages 固定入口下载。<strong>脚本地址不决定安装通道：</strong> 不加 <code>-dev</code> 默认安装稳定 <code>main</code>（使用最新且经过校验的 GitHub Release）；加 <code>-dev</code> 才安装当前 <code>dev</code> exact-SHA。安装脚本会保存在当前目录，方便以后更新或回滚。</p><h3 id="Linux-NAS"><a href="#Linux-NAS" class="headerlink" title="Linux &#x2F; NAS"></a>Linux &#x2F; NAS</h3><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">curl</span> <span class="token parameter variable">-fsSL</span> https://weigefenxiang.github.io/WeiG-qB-WebUI/downloads/dev/install.sh <span class="token parameter variable">-o</span> install.sh <span class="token operator">&amp;&amp;</span> <span class="token function">sh</span> install.sh <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><details><summary><b>查看脚本位置和 WebUI 默认安装目录</b></summary><pre class="line-numbers language-text" data-language="text"><code class="language-text">./install.sh<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>WebUI 本体默认安装到：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">~/.local/share/weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>例如使用 <code>root</code> 用户运行时，通常就是：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">/root/.local/share/weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre></details><h3 id="Docker"><a href="#Docker" class="headerlink" title="Docker"></a>Docker</h3><details><summary><b>Docker 一键安装 / 多容器 / 路径说明（新手建议展开）</b></summary><h4 id="先理解“宿主机”和“容器”"><a href="#先理解“宿主机”和“容器”" class="headerlink" title="先理解“宿主机”和“容器”"></a>先理解“宿主机”和“容器”</h4><p>如果你是在 VPS、Linux 服务器、群晖、威联通等设备上运行 Docker：</p><ul><li><strong>宿主机</strong>：真正运行 Docker 的那台 Linux &#x2F; NAS，也就是你 SSH 登录进去后看到的系统。</li><li><strong>容器</strong>：Docker 给 qBittorrent 单独创建的运行环境。qBittorrent 只能直接看到容器里的路径。</li></ul><p>例如 Docker 创建 qBittorrent 时有这样的目录映射：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">宿主机：/root/qbittorrent/config   ↓ 映射到容器内：/config<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><p>Docker Compose 中常见写法类似：</p><pre class="line-numbers language-yaml" data-language="yaml"><code class="language-yaml"><span class="token key atrule">volumes</span><span class="token punctuation">:</span>  <span class="token punctuation">-</span> /root/qbittorrent/config<span class="token punctuation">:</span>/config<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p>冒号左边 <code>/root/qbittorrent/config</code> 是<strong>宿主机路径</strong>，右边 <code>/config</code> 是<strong>容器内路径</strong>。</p><p>如果 WeiG qB WebUI 实际安装到了：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">宿主机：/root/qbittorrent/config/weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>那么 qBittorrent 的 <strong>文件位置：</strong> 应填写：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">/config/weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>**不要填写 <code>/root/qbittorrent/config/weig-qb-webui</code>**，因为 qBittorrent 容器通常看不到这个宿主机路径。</p><h4 id="情况-1：只有一个-qBittorrent-Docker-容器"><a href="#情况-1：只有一个-qBittorrent-Docker-容器" class="headerlink" title="情况 1：只有一个 qBittorrent Docker 容器"></a>情况 1：只有一个 qBittorrent Docker 容器</h4><p>最简单，直接运行：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">curl</span> <span class="token parameter variable">-fsSL</span> https://weigefenxiang.github.io/WeiG-qB-WebUI/downloads/dev/install.sh <span class="token parameter variable">-o</span> install.sh <span class="token operator">&amp;&amp;</span> <span class="token function">sh</span> install.sh <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>安装器会尝试自动找到正在运行的 qBittorrent 容器、识别它的 <code>/config</code> 映射，把 WebUI 安装到合适的位置，并自动设置 qBittorrent。</p><h4 id="情况-2：先看看机器上有哪些-qBittorrent-容器"><a href="#情况-2：先看看机器上有哪些-qBittorrent-容器" class="headerlink" title="情况 2：先看看机器上有哪些 qBittorrent 容器"></a>情况 2：先看看机器上有哪些 qBittorrent 容器</h4><p>如果不确定容器叫什么：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh --list-containers<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>也可以先用 Docker 自己的命令查看正在运行的容器：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">docker</span> <span class="token function">ps</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>例如你看到 qBittorrent 容器名是：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">qbittorrent<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>就可以明确指定它：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">--container</span><span class="token operator">=</span>qbittorrent <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h4 id="情况-3：机器上有多个-qBittorrent-容器"><a href="#情况-3：机器上有多个-qBittorrent-容器" class="headerlink" title="情况 3：机器上有多个 qBittorrent 容器"></a>情况 3：机器上有多个 qBittorrent 容器</h4><p>例如同时有：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">qbittorrentqbittorrent-test<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p>先运行：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh --list-containers<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>安装正式使用的 <code>qbittorrent</code>：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">--container</span><span class="token operator">=</span>qbittorrent <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>安装测试容器 <code>qbittorrent-test</code>：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">--container</span><span class="token operator">=</span>qbittorrent-test <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>安装器不会在多个 qBittorrent 容器之间随便猜一个。</p><h4 id="情况-4：你知道-qBittorrent-的宿主机-config-目录"><a href="#情况-4：你知道-qBittorrent-的宿主机-config-目录" class="headerlink" title="情况 4：你知道 qBittorrent 的宿主机 /config 目录"></a>情况 4：你知道 qBittorrent 的宿主机 <code>/config</code> 目录</h4><p>例如你的 Docker 配置目录是：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">/root/qbittorrent/config<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>可以直接指定：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh --config-root<span class="token operator">=</span>/root/qbittorrent/config <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>群晖上可能类似：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh --config-root<span class="token operator">=</span>/volume1/docker/qbittorrent <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>其他 NAS 可能类似：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh --config-root<span class="token operator">=</span>/share/Container/qbittorrent <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>这些只是示例，<strong>请换成你自己的真实 qBittorrent <code>/config</code> 宿主机目录</strong>。</p><h4 id="情况-5：指定-WebUI-安装目录"><a href="#情况-5：指定-WebUI-安装目录" class="headerlink" title="情况 5：指定 WebUI 安装目录"></a>情况 5：指定 WebUI 安装目录</h4><p>已经指定容器时，也可以指定容器里希望使用的 WebUI 路径：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">--container</span><span class="token operator">=</span>qbittorrent <span class="token parameter variable">-o</span> /config/weig-qb-webui <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>安装器会根据 Docker <code>/config</code> 映射换算成宿主机上的实际安装目录。</p><h4 id="情况-6：一次更新多个现有-WebUI-目录"><a href="#情况-6：一次更新多个现有-WebUI-目录" class="headerlink" title="情况 6：一次更新多个现有 WebUI 目录"></a>情况 6：一次更新多个现有 WebUI 目录</h4><p>有多个 qBittorrent 实例时，可以重复写 <code>-o</code>。安装包只下载和校验一次，全部目标准备完成后才开始切换；每个目标都在 <code>~/.config/weig-qb-webui/backups/</code> 下独立保留最近 3 份备份。</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">-dev</span> <span class="token punctuation">\</span>  <span class="token parameter variable">-o</span> /root/qbittorrent/config/weig-qb-webui <span class="token punctuation">\</span>  <span class="token parameter variable">-o</span> /root/qbittorrent3/config/weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><p>多目标模式不要加 <code>-configure</code>，各个 qBittorrent 实例继续使用自己已经配置好的备选 WebUI 路径。查看当前参数可运行 <code>sh install.sh -help</code>。</p><h4 id="安装后应该看到什么"><a href="#安装后应该看到什么" class="headerlink" title="安装后应该看到什么"></a>安装后应该看到什么</h4><p>安装成功时脚本会输出类似：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">Host install path: /root/qbittorrent/config/weig-qb-webuiqBittorrent Root Folder: /config/weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p>含义是：</p><ul><li><code>Host install path</code>：文件真正保存到宿主机哪里；</li><li><code>qBittorrent Root Folder</code>：<strong>你在 qBittorrent 的“文件位置：”中应该填写的容器内路径</strong>。</li></ul><p>如果用了 <code>-configure</code> 并成功找到 qBittorrent 配置，安装器会自动启用 <strong>使用备选 WebUI</strong> 并设置路径；否则按照上面的“新手安装 → 在 qBittorrent 中启用”手动填写即可。</p></details><h3 id="Windows-PowerShell"><a href="#Windows-PowerShell" class="headerlink" title="Windows PowerShell"></a>Windows PowerShell</h3><pre class="line-numbers language-powershell" data-language="powershell"><code class="language-powershell"><span class="token function">Invoke-WebRequest</span> https:<span class="token operator">/</span><span class="token operator">/</span>weigefenxiang<span class="token punctuation">.</span>github<span class="token punctuation">.</span>io/WeiG-qB-WebUI/downloads/dev/install<span class="token punctuation">.</span>ps1 <span class="token operator">-</span>OutFile <span class="token punctuation">.</span>\install<span class="token punctuation">.</span>ps1<span class="token punctuation">;</span> powershell <span class="token operator">-</span>ExecutionPolicy Bypass <span class="token operator">-</span>File <span class="token punctuation">.</span>\install<span class="token punctuation">.</span>ps1 <span class="token operator">-</span>configure<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><details><summary><b>查看安装目录</b></summary><pre class="line-numbers language-text" data-language="text"><code class="language-text">C:\Users\&lt;你的用户名>\AppData\Local\weig-qb-webui<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre></details><h2 id="常用参数"><a href="#常用参数" class="headerlink" title="常用参数"></a>常用参数</h2><details><summary><b>Linux 和 Windows 使用相同的参数名称，文档统一使用小写</b><b>（点击展开）</b></summary><table><thead><tr><th>用途</th><th>Linux &#x2F; Docker &#x2F; NAS</th><th>Windows PowerShell</th></tr></thead><tbody><tr><td>稳定 main</td><td>默认，无需参数</td><td>默认，无需参数</td></tr><tr><td>指定正式版本</td><td><code>-version 1.2.0</code></td><td><code>-version 1.2.0</code></td></tr><tr><td>开发版</td><td><code>-dev</code></td><td><code>-dev</code></td></tr><tr><td>指定安装目录</td><td><code>-o /path</code>（Linux 可重复）</td><td><code>-o D:\path</code> 或 <code>-output D:\path</code></td></tr><tr><td>指定自定义 qBittorrent 配置文件</td><td>—</td><td><code>-qbconfig D:\path\qBittorrent.ini</code></td></tr><tr><td>自动配置 qBittorrent</td><td><code>-configure</code></td><td><code>-configure</code></td></tr><tr><td>回滚上一次安装</td><td><code>-rollback</code></td><td><code>-rollback</code></td></tr><tr><td>彻底卸载（不保留安装器备份）</td><td><code>-uninstall -purge</code></td><td><code>-uninstall -purge</code></td></tr><tr><td>查看完整帮助</td><td><code>-help</code></td><td><code>-help</code></td></tr><tr><td>指定 Docker 容器</td><td><code>--container=NAME</code></td><td>—</td></tr><tr><td>列出 Docker 容器</td><td><code>--list-containers</code></td><td>—</td></tr><tr><td>指定 Docker <code>/config</code> 宿主机目录</td><td><code>--config-root=/path</code></td><td>—</td></tr></tbody></table></details><details><summary><b>说明：</b> <b>（点击展开）</b></summary><ul><li>不加 <code>-dev</code> 默认安装稳定 <code>main</code>（使用最新且经过校验的 GitHub Release）；加 <code>-dev</code> 才安装当前 <code>dev</code> exact-SHA。</li><li><code>-o</code> 中的 <code>o</code> 表示 <strong>output</strong>。Linux 可以重复写多个 <code>-o</code>，一次下载并更新多个现有 WebUI 目录。</li><li>安装器备份始终放在 <code>~/.config/weig-qb-webui/backups/</code>，并且<strong>每个安装目标独立只保留最近 3 份</strong>。</li><li><code>-configure</code> 会在安装后自动启用 qBittorrent 的 <strong>使用备选 WebUI &#x2F; Use alternative WebUI</strong> 并设置 <strong>文件位置 &#x2F; Files location</strong>；它只允许单目标使用。</li><li><code>-rollback</code> 会恢复所选目标最近一次由安装器创建的备份；也可以重复 <code>-o</code> 一次回滚多个明确目标。</li><li>推荐卸载使用 <code>-uninstall -purge</code>：按 installer-owned 安全流程卸载 WebUI 后，清理<strong>当前目标所属的安装器备份和 rollback 状态</strong>；不会删除其它安装目标的备份。共享状态目录为空时，Linux 的 <code>~/.config/weig-qb-webui</code>（root 即 <code>/root/.config/weig-qb-webui</code>）或 Windows 的 <code>%APPDATA%\weig-qb-webui</code> 也会自动清空。</li><li>如果希望保留安装器备份以后使用 <code>-rollback</code>，卸载时去掉 <code>-purge</code> 即可。</li><li><code>-version</code> 安装指定 GitHub Release，例如 <code>1.2.0</code>；指定版本不存在时直接报错，<strong>不会自动退回 latest 或 dev</strong>。</li><li><code>-help</code> 显示当前安装脚本支持的参数。</li><li>Docker 有多个 qBittorrent 容器时，用 <code>--list-containers</code> 查看，再用 <code>--container=NAME</code> 明确指定；也可以用 <code>--config-root=/path</code> 直接指定宿主机上的 qBittorrent 配置目录。</li></ul><h3 id="指定版本和安装目录"><a href="#指定版本和安装目录" class="headerlink" title="指定版本和安装目录"></a>指定版本和安装目录</h3><p>Linux：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">-version</span> <span class="token number">1.2</span>.0 <span class="token parameter variable">-o</span> /opt/weig-qb-webui <span class="token parameter variable">-configure</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>Windows：</p><pre class="line-numbers language-powershell" data-language="powershell"><code class="language-powershell">powershell <span class="token operator">-</span>ExecutionPolicy Bypass <span class="token operator">-</span>File <span class="token punctuation">.</span>\install<span class="token punctuation">.</span>ps1 <span class="token operator">-</span>version 1<span class="token punctuation">.</span>2<span class="token punctuation">.</span>0 <span class="token operator">-</span>o D:\weig-qb-webui <span class="token operator">-</span>configure<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="回滚"><a href="#回滚" class="headerlink" title="回滚"></a>回滚</h3><p>Linux：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">-rollback</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>Windows：</p><pre class="line-numbers language-powershell" data-language="powershell"><code class="language-powershell">powershell <span class="token operator">-</span>ExecutionPolicy Bypass <span class="token operator">-</span>File <span class="token punctuation">.</span>\install<span class="token punctuation">.</span>ps1 <span class="token operator">-</span>rollback<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre></details><h2 id="一键卸载"><a href="#一键卸载" class="headerlink" title="一键卸载"></a>一键卸载</h2><details><summary><b>Linux / NAS、Docker、Windows PowerShell 一键彻底卸载</b><b>（点击展开）</b></summary><p>默认推荐<strong>不保留安装器备份</strong>：卸载 WebUI、关闭当前目标的备选 WebUI、清理该目标的 installer-owned backups &#x2F; rollback 状态，并删除下载到当前目录的安装脚本。</p><h3 id="Linux-NAS-1"><a href="#Linux-NAS-1" class="headerlink" title="Linux &#x2F; NAS"></a>Linux &#x2F; NAS</h3><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">-uninstall</span> <span class="token parameter variable">-configure</span> <span class="token parameter variable">-purge</span> <span class="token operator">&amp;&amp;</span> <span class="token function">rm</span> <span class="token parameter variable">-f</span> -- ./install.sh<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>自定义安装目录继续加 <code>-o /你的/weig-qb-webui</code>。</p><h3 id="Docker-1"><a href="#Docker-1" class="headerlink" title="Docker"></a>Docker</h3><p>单容器自动识别：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">-uninstall</span> <span class="token parameter variable">-configure</span> <span class="token parameter variable">-purge</span> <span class="token operator">&amp;&amp;</span> <span class="token function">rm</span> <span class="token parameter variable">-f</span> -- ./install.sh<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>多容器：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">-uninstall</span> <span class="token parameter variable">-configure</span> <span class="token parameter variable">-purge</span> <span class="token parameter variable">--container</span><span class="token operator">=</span>qbittorrent <span class="token operator">&amp;&amp;</span> <span class="token function">rm</span> <span class="token parameter variable">-f</span> -- ./install.sh<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>使用 <code>--config-root</code> 时：</p><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash"><span class="token function">sh</span> install.sh <span class="token parameter variable">-uninstall</span> <span class="token parameter variable">-configure</span> <span class="token parameter variable">-purge</span> --config-root<span class="token operator">=</span>/path/to/qbittorrent/config <span class="token operator">&amp;&amp;</span> <span class="token function">rm</span> <span class="token parameter variable">-f</span> -- ./install.sh<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="Windows-PowerShell-1"><a href="#Windows-PowerShell-1" class="headerlink" title="Windows PowerShell"></a>Windows PowerShell</h3><pre class="line-numbers language-powershell" data-language="powershell"><code class="language-powershell">powershell <span class="token operator">-</span>ExecutionPolicy Bypass <span class="token operator">-</span>File <span class="token punctuation">.</span>\install<span class="token punctuation">.</span>ps1 <span class="token operator">-</span>uninstall <span class="token operator">-</span>configure <span class="token operator">-</span>purge<span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token variable">$LASTEXITCODE</span> <span class="token operator">-eq</span> 0<span class="token punctuation">)</span> <span class="token punctuation">&#123;</span> <span class="token function">Remove-Item</span> <span class="token punctuation">.</span>\install<span class="token punctuation">.</span>ps1 <span class="token operator">-</span>Force <span class="token punctuation">&#125;</span><span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>自定义安装目录继续加 <code>-o D:\weig-qb-webui</code>。</p><p><code>-purge</code> 只清当前卸载目标的备份，不会误删其它安装实例。共享状态目录没有其它内容时，Linux 的 <code>~/.config/weig-qb-webui</code>（root 即 <code>/root/.config/weig-qb-webui</code>）或 Windows 的 <code>%APPDATA%\weig-qb-webui</code> 也会随之清空。</p><p>如需保留备份以后使用 <code>-rollback</code>，只要去掉 <code>-purge</code>。</p></details><h2 id="更多帮助"><a href="#更多帮助" class="headerlink" title="更多帮助"></a>更多帮助</h2><p>Docker 多容器、NAS、自定义路径及高级部署说明见：<a href="https://github.com/weigefenxiang/WeiG-qB-WebUI/blob/main/translations/installation-guide/deployment-guide.zh-CN.md">新手安装、升级指南</a>。</p><h2 id="许可证"><a href="#许可证" class="headerlink" title="许可证"></a>许可证</h2><p>本项目使用 <a href="https://github.com/weigefenxiang/WeiG-qB-WebUI/blob/main/LICENSE">GNU General Public License v3</a>。</p><p>Copyright © 2026 Wei.G &#x2F; WeiG Share。</p>]]>
    </content>
    <id>https://www.weigshare.com/posts/WeiG-qB-WebUI-Guide/</id>
    <link href="https://www.weigshare.com/posts/WeiG-qB-WebUI-Guide/"/>
    <published>2026-09-28T09:15:00.000Z</published>
    <summary>从下载、解压到 qBittorrent 启用备选 WebUI，一步一步安装 WeiG qB WebUI，并说明 Windows、Linux、NAS 与 Docker 的路径区别。</summary>
    <title>qBittorrent 第三方 WebUI 新手安装教程：WeiG qB WebUI</title>
    <updated>2026-10-21T08:39:31.056Z</updated>
  </entry>
  <entry>
    <author>
      <name>Wei.G</name>
    </author>
    <category term="OpenWrt" scheme="https://www.weigshare.com/categories/OpenWrt/"/>
    <category term="OpenWrt" scheme="https://www.weigshare.com/tags/OpenWrt/"/>
    <category term="ImmortalWrt" scheme="https://www.weigshare.com/tags/ImmortalWrt/"/>
    <category term="GitHub Actions" scheme="https://www.weigshare.com/tags/GitHub-Actions/"/>
    <category term="固件编译" scheme="https://www.weigshare.com/tags/%E5%9B%BA%E4%BB%B6%E7%BC%96%E8%AF%91/"/>
    <content>
      <![CDATA[<p>想要一份适合自己的 OpenWrt 固件，不必在本地安装编译环境。打开 <a href="https://www.weigshare.com/wrt">Wei.G 在线定制</a>，选择参数后提交到 GitHub Actions，等待云端编译即可。</p><div align="left" style="display:flex;gap:10px;flex-wrap:wrap;justify-content:left;">  <img src="https://img.shields.io/badge/JavaScript-ES2020-f7df1e?logo=javascript&logoColor=black" alt="JavaScript">  <img src="https://img.shields.io/badge/HTML-5-e34f26?logo=html5&logoColor=white" alt="HTML">  <img src="https://img.shields.io/badge/CSS-3-1572b6?logo=css3&logoColor=white" alt="CSS">  <img src="https://img.shields.io/badge/Node.js-22-339933?logo=nodedotjs&logoColor=white" alt="Node.js">  <img src="https://img.shields.io/badge/Bash-5-4eaa25?logo=gnubash&logoColor=white" alt="Bash">  <img src="https://img.shields.io/badge/YAML-1.2-cb171e?logo=yaml&logoColor=white" alt="YAML"></div><h2 id="快速开始"><a href="#快速开始" class="headerlink" title="快速开始"></a>快速开始</h2><p> <span style="color:#ffc107;">⚠️ </span> <span style="color:#ff7b72;"> 刷机有风险。请先确认路由器型号、分区与刷写方式；不确定时不要刷写。</span></p><ul><li>登录 <strong><a href="https://github.com/">Github</a></strong></li><li>打开 <strong><a href="https://www.weigshare.com/wrt">Wei.G 在线定制</a></strong></li><li>新人请看下方教程👇</li></ul><h2 id="背景"><a href="#背景" class="headerlink" title="背景"></a>背景</h2><ul><li><strong>【起点】</strong> 如果你想自己编译固件，体验“手搓固件”的乐趣，这个项目会是一个不错的起点。</li><li><strong>【依赖】</strong> 某些插件或依赖需要编译到固件里才可使用。</li><li><strong>【配置】</strong> 配置过程相当复杂及繁琐，国内网络环境很难满足要求。</li><li><strong>【耗时】</strong> 编译数小时，最终仍可能失败，排查成本也比较高。</li><li><strong>【未来】</strong> 每个人都可一键 <strong>folk</strong> 复制,即可拥有自己的 Openwrt 在线编译网站 Github（<strong>Page</strong> + <strong>Actions</strong>）。</li><li><strong>【阶段】</strong> 项目目前仍处于测试阶段，难免还存在不少 bug，因此暂时不做大规模推广。使用过多，还可能违法 GitHub 政策。</li></ul><div style="display:flex; gap:10px;"><img src=https://img.weigshare.com/img/003.009.WeiG-OpenWrt-AutoBuild-Guide.png height="150"></div><div style="display:flex; gap:10px;"><img src=https://img.weigshare.com/img/003.010.WeiG-OpenWrt-AutoBuild-Guide.png height="150"></div><h2 id="适用"><a href="#适用" class="headerlink" title="适用"></a>适用</h2><p>当前仅适用以下机型，其它机型尚未验证，如您没有救砖工具，请勿使用，</p><ul><li><strong>源： <a href="https://github.com/openwrt/openwrt">OpenWrt</a> · <a href="https://github.com/immortalwrt/immortalwrt">ImmortalWrt</a> · <a href="https://github.com/coolsnowwolf/lede">LEDE</a> · <a href="https://github.com/hanwckf/immortalwrt-mt798x">hanwckf</a></strong></li><li><strong>x86 &#x2F; 64</strong></li><li>支持电脑、手机端访问</li></ul><h2 id="准备"><a href="#准备" class="headerlink" title="准备"></a>准备</h2><p> <span style="color:#ffc107;">⚠️ </span> <span style="color:#ff7b72;"> 刷机有风险。请先确认路由器型号、分区与刷写方式；不确定时不要刷写。</span></p><ul><li>登录 <strong><a href="https://github.com/">Github</a></strong> 账号 (如果没有无法构建)</li><li>打开 <strong><a href="https://www.weigshare.com/wrt">Wei.G 在线定制</a></strong> 网站<ul><li><strong><a href="https://dev.weig-wrt.pages.dev/">Cloudflare dev 页</a></strong> (实验功能，体验最新功能，可能有bug)</li></ul></li></ul><!-- 截图 1：网页首页，展示 Source、Branch、Target 与插件区域 --><h3 id="选择参数"><a href="#选择参数" class="headerlink" title="选择参数"></a>选择参数</h3><ul><li><p>选择源后，在搜索框搜索相应机型或环境。也可加载config</p></li><li><p><strong>Source → Branch → Target System → Subtarget → Target Profile</strong>。</p><ul><li>例 X86&#x2F;64：  <strong>ImmortalWrt → openwrt-24.10 → x86 → 64</strong> → Generic x86&#x2F;64</li></ul></li><li><p><strong>Advanced menuconfig › LuCI › 3. Applications</strong> 勾选你想要的应用</p></li><li><p><strong>Advanced menuconfig</strong> 其它高级设置自己摸索</p></li></ul><p>然后按需；<strong>时区</strong>、<strong>固件主题</strong>、<strong>NTP 服务器</strong>和<strong>软件源镜像</strong> 一并设置。</p><div style="display:flex; gap:10px;"><img src=https://img.weigshare.com/img/003.002.WeiG-OpenWrt-AutoBuild-Guide.png height="150"><img src=https://img.weigshare.com/img/003.003.WeiG-OpenWrt-AutoBuild-Guide.png height="150"><img src=https://img.weigshare.com/img/003.004.WeiG-OpenWrt-AutoBuild-Guide.png height="150"></div><h4 id="已有配置"><a href="#已有配置" class="headerlink" title="已有配置"></a>已有配置</h4><p>已有 <code>.config</code>、<code>config.buildinfo</code> 或以前下载的请求文件，可点底部“加载配置”，在确认框核对源码、分支、Target Profile、插件和固件设置。</p><h3 id="提交构建"><a href="#提交构建" class="headerlink" title="提交构建"></a>提交构建</h3><p>点击右下角 <strong>提交云编译</strong></p><p>选择 <strong>下载请求并打开 GitHub</strong>：浏览器会下载一个 JSON 文件，并自动打开 GitHub 的新 Issue 页面。</p><p>将文件移动到 Issue 的对话框，直接点击 <strong>Create</strong>。</p><p>机器人会在 Issue 中回复本次构建的 Actions 链接。</p><div style="display:flex; gap:10px;"><img src=https://img.weigshare.com/img/003.005.WeiG-OpenWrt-AutoBuild-Guide.png height="150"><img src=https://img.weigshare.com/img/003.006.WeiG-OpenWrt-AutoBuild-Guide.png height="150"></div><h3 id="下载固件"><a href="#下载固件" class="headerlink" title="下载固件"></a>下载固件</h3><p>编译通常需要2~4小时。完成后进入 Actions 页面，在底部 <strong>Artifacts</strong> 下载：</p><ul><li><code>FIRMWARE-ALL-XXX</code>：全部固件与校验资料；首次刷机通常找 <code>factory</code> 等文件。</li><li><code>CONFIG-XXX</code>：本次提交配置、最终配置和差异，建议留存。</li><li><code>BUILD-LOGS-XXX</code>：完整构建日志；用于排查原因。</li></ul><div style="display:flex; gap:10px;"><img src=https://img.weigshare.com/img/003.007.WeiG-OpenWrt-AutoBuild-Guide.png height="150"><img src=https://img.weigshare.com/img/003.008.WeiG-OpenWrt-AutoBuild-Guide.png height="150"></div><h3 id="在自己仓库进行编译"><a href="#在自己仓库进行编译" class="headerlink" title="在自己仓库进行编译"></a>在自己仓库进行编译</h3><p> <a href="https://github.com/weigefenxiang/WeiG-OpenWrt-AutoBuild/fork">Fork 本项目</a>，按页面提示提交到自己的仓库运行。就不会受到排队限制。</p><details><summary><b>查看详细步骤</b></summary><h4 id="图文教程（主要步骤）"><a href="#图文教程（主要步骤）" class="headerlink" title="图文教程（主要步骤）"></a>图文教程（主要步骤）</h4><ol><li>登录 Github，克隆仓库</li><li>启用 Issues 和 Actions</li><li>上传配置</li></ol><h4 id="Flok-仓库（克隆仓库）"><a href="#Flok-仓库（克隆仓库）" class="headerlink" title="Flok 仓库（克隆仓库）"></a>Flok 仓库（克隆仓库）</h4><ul><li>打开 <strong><a href="https://www.weigshare.com/wrt">Wei.G 在线定制</a></strong> </li><li>网页底部 → <strong>【我自己的 flok】</strong> → 输入自己的 <strong>【Github 用户名】</strong> → 单击 下方的  <strong>【<a href="https://github.com/weigefenxiang/WeiG-OpenWrt-AutoBuild/fork">Fork 本项目</a>】</strong></li><li>然后取消勾选 <strong>【☐ Copy the main branch only】</strong>，以后如果用开发版 dev，也能正常运行<div style="display:flex; gap:10px;"><img src=https://img.weigshare.com/img/003.012.WeiG-OpenWrt-AutoBuild-Guide.png height="150"><img src=https://img.weigshare.com/img/003.013.WeiG-OpenWrt-AutoBuild-Guide.png height="150"></div></li></ul><h4 id="启用-Issues-和-Actions"><a href="#启用-Issues-和-Actions" class="headerlink" title="启用 Issues 和 Actions"></a>启用 Issues 和 Actions</h4><ul><li>进入刚刚克隆好的仓库 （例如： Github 用户名&#x2F;weigefenxiaWeiG-OpenWrt-AutoBuild ）</li><li>点击 <strong>Settings</strong>→ 勾选 <strong>☑ Issues</strong></li><li>点击 <strong>Actions</strong>→ 点击绿色按钮 <strong>I understand my workflows, go ahead and enable them</strong><div style="display:flex; gap:10px;"><img src=https://img.weigshare.com/img/003.014.WeiG-OpenWrt-AutoBuild-Guide.png height="150"><img src=https://img.weigshare.com/img/003.015.WeiG-OpenWrt-AutoBuild-Guide.png height="150"></div></li></ul><h4 id="上传配置"><a href="#上传配置" class="headerlink" title="上传配置"></a>上传配置</h4><ul><li>回到刚刚打开的 <strong><a href="https://www.weigshare.com/wrt">Wei.G 在线定制</a></strong> </li><li>点击 <strong>提交云编辑</strong> → 点击 <strong>下载请求并打开 Github</strong> → 将下载的 json 拖拽到 对话框（只能从刚刚打开的网页提交）<div style="display:flex; gap:10px;"><img src=https://img.weigshare.com/img/003.016.WeiG-OpenWrt-AutoBuild-Guide.png height="150"><img src=https://img.weigshare.com/img/003.017.WeiG-OpenWrt-AutoBuild-Guide.png height="150"><img src=https://img.weigshare.com/img/003.018.WeiG-OpenWrt-AutoBuild-Guide.png height="150"></div></details></li></ul><h2 id="常见问题"><a href="#常见问题" class="headerlink" title="常见问题"></a>常见问题</h2><ul><li><strong>构建失败怎么办？</strong> 下载 <code>BUILD-LOGS-…</code>，查看最后出现的 <code>Error</code>；也可在 Issue 反馈。</li><li><strong>如何取消？</strong> 在自己的构建 Issue 回复 <code>/cancel</code>。</li><li><strong>同时构建数量</strong> 一个账号只允许同时2个构建任务，否则得排队。</li><li><strong>为什么没有下载按钮？</strong> GitHub 的 Artifacts 下载通常需要先登录账号。</li><li><strong>公共仓库排队较久？</strong> 未来做到 <a href="https://github.com/weigefenxiang/WeiG-OpenWrt-AutoBuild">Fork 本项目</a>，按页面提示提交到自己的仓库运行。就不会受到排队限制。</li></ul><p>项目地址：<a href="https://github.com/weigefenxiang/WeiG-OpenWrt-AutoBuild">WeiG-OpenWrt-AutoBuild</a></p><h2 id="鸣谢"><a href="#鸣谢" class="headerlink" title="鸣谢"></a>鸣谢</h2><ul><li><p><strong>源码：</strong> <a href="https://github.com/openwrt/openwrt">OpenWrt</a> · <a href="https://github.com/immortalwrt/immortalwrt">ImmortalWrt</a> · <a href="https://github.com/coolsnowwolf/lede">LEDE</a> · <a href="https://github.com/hanwckf/immortalwrt-mt798x">hanwckf</a> </p></li><li><p><strong>参考：</strong> <a href="https://github.com/P3TERX/Actions-OpenWrt">P3TERX</a></p></li><li><p><strong>LuCI 插件的作者们</strong></p></li><li><p><strong>每一位</strong>参与的小伙伴</p></li></ul>]]>
    </content>
    <id>https://www.weigshare.com/posts/WeiG-OpenWrt-AutoBuild-Guide/</id>
    <link href="https://www.weigshare.com/posts/WeiG-OpenWrt-AutoBuild-Guide/"/>
    <published>2026-08-01T12:11:00.000Z</published>
    <summary>不需安装编译环境，用 Wei.G OpenWrt 在线定制器让每个人体会手搓固件的乐趣。</summary>
    <title>从零到一云编译自己的 OpenWrt 固件</title>
    <updated>2026-10-21T08:39:31.056Z</updated>
  </entry>
  <entry>
    <author>
      <name>Wei.G</name>
    </author>
    <category term="网站搭建" scheme="https://www.weigshare.com/categories/%E7%BD%91%E7%AB%99%E6%90%AD%E5%BB%BA/"/>
    <category term="Hexo" scheme="https://www.weigshare.com/tags/Hexo/"/>
    <category term="Cloudflare" scheme="https://www.weigshare.com/tags/Cloudflare/"/>
    <category term="PicList" scheme="https://www.weigshare.com/tags/PicList/"/>
    <category term="R2" scheme="https://www.weigshare.com/tags/R2/"/>
    <category term="图床" scheme="https://www.weigshare.com/tags/%E5%9B%BE%E5%BA%8A/"/>
    <content>
      <![CDATA[<h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>PicList 目前对 Cloudflare R2 的支持已经比较完善，但在配置过程中仍存在一些小问题： </p><ul><li>配置项较多，新手容易填错</li><li>缺少连接测试功能<ul><li>只能通过实际上传验证配置是否正确</li></ul></li></ul><p>本文将介绍如何使用 <strong>PicList</strong> 连接 <strong>Cloudflare R2</strong>，实现免费、高速、支持 CDN 的图床方案。<br>Cloudflare R2 图床的搭建可参照</p><ul><li><p><strong><a href="https://www.fecify.com/doc/cn-1.0/fecify-shop-helper-cloudflare-r2.html">Cloudflare R2 教程</a></strong></p><ul><li>PicList 版本为26年7月v3.5.0</li></ul></li></ul><hr><p>最近将博客图片迁移到了 <strong>Cloudflare R2</strong>，配合 <strong>PicList</strong> 使用，效果非常不错：</p><p>优点：</p><p>✅ 免费  ✅ 稳定  ✅ 高速  ✅ 自定义域名  ✅ 全球 CDN 加速  ✅ VPS 零压力</p><hr><h1 id="配置-PicList"><a href="#配置-PicList" class="headerlink" title="配置 PicList"></a>配置 PicList</h1><ul><li>图床：用于图片上传6</li><li>云端：用于 PicList 访问CF的图床</li></ul><h2 id="图床配置"><a href="#图床配置" class="headerlink" title="图床配置"></a>图床配置</h2><p>在左边导航窗口【<strong>图床</strong>】-【<strong>AWS S3</strong>】-【<strong>新增配置</strong>】：</p><img src="https://img.weigshare.com/img/001.002_PicList_orign.png" width="120"/><h3 id="必填项"><a href="#必填项" class="headerlink" title="必填项"></a>必填项</h3><pre><code>● 配置名：任意● 设定 AccessKeyId：18e1************************c0858● 设定 secretAccessKey：c8a3********************************************************fa6e● 设定自定义节点：https://770*************************39d8.r2.cloudflarestorage.com</code></pre><p>以上均可在此获取 <a href="https://img.weigshare.com/img/001.005_CF_API_token.png">API图示</a>。</p><ul><li>权限： <strong>管理员读和写</strong> （否则 <strong>PicLlist</strong> 云端访问失败）</li><li>只展示一次，记得保存，否则得重新弄。</li></ul><p>● 设定 Bucket（存储桶）： （我的是<strong>hexo-img</strong> ）<a href="https://img.weigshare.com/img/001.003_CDF_bucket.png">图示</a></p><hr><h3 id="非必需项"><a href="#非必需项" class="headerlink" title="非必需项"></a>非必需项</h3><p>■ 设定上传路径：**&#x2F;**（根目录）</p><p>我想放在目录 <strong>img</strong> 下： <strong>&#x2F;img&#x2F;</strong> <a href="https://img.weigshare.com/img/001.004_Directory.png">图示</a></p><p> ●设定自定义域名：  <a href="https://img.weigshare.com/">https://img.weigshare.com/</a>     （绑定了域名才能设置，上传后就可拿到对应域名的链接 ）<a href="https://img.weigshare.com/img/001.004_Directory.png">图示</a></p> <pre class="line-numbers language-bash" data-language="bash"><code class="language-bash">https://img.weigeshare.com/img/x.png<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>☐ 不设置的话，拿到以下这种链接，可能打不开</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">https://770*************************39d8.r2.cloudflarestorage.com/img/0.%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202026-07-08%20181820.png<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>☐ 设定 Region：<strong>auto</strong> （ 或 us-east-1）</p><ul><li>设定上传资源的访问策略：<span style="color:#ff69b4;font-weight:bold;">public-read</span> （官方建议）</li></ul><hr><h2 id="云端配置"><a href="#云端配置" class="headerlink" title="云端配置"></a>云端配置</h2><p>在左边导航窗口【<strong>云端</strong>】-【<strong>S3 API</strong>】-【<strong>新增配置</strong>】-【<strong>保存</strong>】：</p><p><img src="https://img.weigshare.com/img/001.005_piclist_cloud_configuration1.png" height="280"/> <img src="https://img.weigshare.com/img/001.005_piclist_cloud_configuration2.png" height="280"/></p><h3 id="必填项-1"><a href="#必填项-1" class="headerlink" title="必填项"></a>必填项</h3><pre><code>● 配置别：任意● Access Key Id：18e1************************c0858● Access Key Secret：c8a3********************************************************fa6e● endpoint 自定义节点：https://770*************************39d8.r2.cloudflarestorage.com</code></pre><p>API令牌在此获取 <a href="https://img.weigshare.com/img/001.005_CF_API_token.png">API</a>。</p><ul><li>权限： <strong>管理员读和写</strong> （否则 <strong>PicLlist</strong> 云端访问失败）</li></ul><p>● 存储桶名（Bucket）： <strong>hexo-img</strong>  <a href="https://img.weigshare.com/img/001.003_CDF_bucket.png">图示</a></p><p>■ 起始目录：**&#x2F;**</p><ul><li>我想储存在 <strong>&#x2F;img&#x2F;</strong> 目录下：<a href="https://img.weigshare.com/img/001.004_Directory.png">图示</a></li></ul><h3 id="非必需项-1"><a href="#非必需项-1" class="headerlink" title="非必需项"></a>非必需项</h3><p>■ 上传文件权限设置：public-read（公共读，官方建议 ）</p><hr><h1 id="常见问题"><a href="#常见问题" class="headerlink" title="常见问题"></a>常见问题</h1><h2 id="上传成功但图片打不开"><a href="#上传成功但图片打不开" class="headerlink" title="上传成功但图片打不开"></a>上传成功但图片打不开</h2><p>检查：</p><ul><li>Bucket 是否允许公共访问</li><li>自定义域名是否已绑定</li><li>DNS 解析是否生效</li></ul><h2 id="提示-AccessDenied"><a href="#提示-AccessDenied" class="headerlink" title="提示 AccessDenied"></a>提示 AccessDenied</h2><p>检查：</p><ul><li>Access Key ID 是否正确</li><li>Secret Access Key 是否正确</li><li>API Token 是否拥有读写权限</li></ul><h2 id="提示-SignatureDoesNotMatch"><a href="#提示-SignatureDoesNotMatch" class="headerlink" title="提示 SignatureDoesNotMatch"></a>提示 SignatureDoesNotMatch</h2><p>检查：</p><ul><li>Endpoint 是否填写正确</li></ul><h1 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h1><p>目前我的博客方案：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">Hexo + Butterfly + Github + Cloudflare R2 + Cloudflare CDN<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>如果你正在寻找一个长期稳定的博客图床方案，PicList + Cloudflare R2 非常值得尝试。</p>]]>
    </content>
    <id>https://www.weigshare.com/posts/PicList-Cloudflare-R2-Guide/</id>
    <link href="https://www.weigshare.com/posts/PicList-Cloudflare-R2-Guide/"/>
    <published>2026-07-08T13:10:08.000Z</published>
    <summary>使用 PicList 配合 Cloudflare R2 搭建免费、高速、全球 CDN 加速的图床。</summary>
    <title>使用 PicList + Cloudflare R2 搭建免费高速图床</title>
    <updated>2026-10-21T08:39:31.056Z</updated>
  </entry>
  <entry>
    <author>
      <name>Wei.G</name>
    </author>
    <category term="Python" scheme="https://www.weigshare.com/categories/Python/"/>
    <category term="Python" scheme="https://www.weigshare.com/tags/Python/"/>
    <category term="PyQt6" scheme="https://www.weigshare.com/tags/PyQt6/"/>
    <category term="实验室" scheme="https://www.weigshare.com/tags/%E5%AE%9E%E9%AA%8C%E5%AE%A4/"/>
    <category term="化学分析" scheme="https://www.weigshare.com/tags/%E5%8C%96%E5%AD%A6%E5%88%86%E6%9E%90/"/>
    <category term="国标" scheme="https://www.weigshare.com/tags/%E5%9B%BD%E6%A0%87/"/>
    <category term="标准滴定液" scheme="https://www.weigshare.com/tags/%E6%A0%87%E5%87%86%E6%BB%B4%E5%AE%9A%E6%B6%B2/"/>
    <category term="标准溶液" scheme="https://www.weigshare.com/tags/%E6%A0%87%E5%87%86%E6%BA%B6%E6%B6%B2/"/>
    <content>
      <![CDATA[<h1 id="项目背景"><a href="#项目背景" class="headerlink" title="项目背景"></a>项目背景</h1><p>化学分析工作中需要大量配制和标定标准滴定溶液。标定完成后，需根据实验数据进行浓度计算、校正值换算及审核确认。人工计算和复核方式不仅效率较低，还容易因数据量大而产生计算或审核误差，增加质量管理风险。</p><ul><li><p>利用工作之余时间开发本系统，从 4 月立项到 11 月完成首个正式版本，历时 6 个多月，也是个人开发的第一个可视化桌面程序；</p></li><li><p>自主学习 Python 编程语言及 PyQt6 GUI 开发框架，独立完成软件设计、逻辑编码、测试与部署；QFluentWidgets 框架优化界面交互体验。</p></li><li><p>实际投入使用后，每人每周可节省约 1 小时以上的数据审核时间，实现了某个夜晚的一个梦——用半年开发一个工具，换来每周“偷懒”一小时。😆</p></li><li><p>近期刚离职，闲暇之余整理完毕，索性作为开源项目分享出来。</p></li></ul><p><strong><a href="https://www.weigshare.com/standard">网页预览</a> ⬅</strong> 点击这里 </p><h1 id="标准溶液计算审核系统"><a href="#标准溶液计算审核系统" class="headerlink" title="标准溶液计算审核系统"></a>标准溶液计算审核系统</h1><div align="left" style="display:flex;gap:10px;flex-wrap:wrap;justify-content:left;">  <img src="https://img.shields.io/badge/Python-3.12-blue" alt="Python">  <img src="https://img.shields.io/badge/PyQt6-GUI-green" alt="PyQt6">  <img src="https://img.shields.io/badge/SQLite-Database-blue" alt="SQLite">  <img src="https://img.shields.io/badge/GPL--3.0-red" alt="GPL3"></div><p>一款用于实验室标准溶液标定、计算与审核的软件。</p><p>支持温度校正、滴定管校正、单人四平行、双人八平行及相对极差自动计算，提高实验室标准溶液管理效率。</p><img src="https://img.weigshare.com/img/002.StandardSolution_Review_System_Demo_GIF.gif" ><p>输入实验数据后，即可自动完成计算与审核。开始使用 <a href="https://github.com/weigefenxiang/StandardSolutionReviewSystem/releases">exe</a></p><hr><h2 id="功能特点"><a href="#功能特点" class="headerlink" title="功能特点"></a>功能特点</h2><p>✅ 温度校正计算<br>✅ 滴定管校正值修正<br>✅ 标液浓度自动计算</p><p>✅ 单人四平行计算<br>✅ 双人八平行计算<br>✅ 相对极差计算<br>✅ 标液报出浓度计算</p><hr><h2 id="支持的标准溶液"><a href="#支持的标准溶液" class="headerlink" title="支持的标准溶液"></a>支持的标准溶液</h2><ul><li><p>盐酸、氢氧化钠、硫酸、高锰酸钾、硝酸银、硫代硫酸钠、乙二胺四乙酸（EDTA）、氯化锌、氢氧化钾-乙醇、碳酸钠等</p></li><li><p>HCl、NaOH、H₂SO₄、KMnO₄、AgNO₃、Na₂S₂O₃、EDTA、ZnCl₂、KOH-Ethanol、Na₂CO₃、Custom Molar Mass (g&#x2F;mol)</p></li><li><p><strong>自定义</strong></p></li></ul><hr><h2 id="软件界面"><a href="#软件界面" class="headerlink" title="软件界面"></a>软件界面</h2><h3 id="主界面"><a href="#主界面" class="headerlink" title="主界面"></a>主界面</h3><img src="https://img.weigshare.com/img/002.StandardSolution_Review_System_Demo.png" ><h4 id="旧界面"><a href="#旧界面" class="headerlink" title="旧界面"></a>旧界面</h4><p>经过多次迭代</p><img src=https://img.weigshare.com/img/002.002.StandardSolution_Review_System_Demo_old.png ><table><thead><tr><th><strong>支持录入</strong></th><th><strong>自动生成</strong></th></tr></thead><tbody><tr><td>基准物质质量</td><td>实际滴定体积</td></tr><tr><td>滴定液消耗体积</td><td>单人四平行浓度</td></tr><tr><td>滴定管校正值</td><td>双人八平行浓度</td></tr><tr><td>温度校正值</td><td>相对极差</td></tr><tr><td>空白试验体积</td><td>报出浓度</td></tr></tbody></table><hr><h2 id="运行方式"><a href="#运行方式" class="headerlink" title="运行方式"></a>运行方式</h2><h3 id="发布版"><a href="#发布版" class="headerlink" title="发布版"></a>发布版</h3><p>下载 并 运行 <a href="https://github.com/weigefenxiang/StandardSolutionReviewSystem/releases">exe</a>：</p><pre class="line-numbers language-text" data-language="text"><code class="language-text">StandardSolution_ReviewSystem.exe<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h2 id="源码运行"><a href="#源码运行" class="headerlink" title="源码运行"></a>源码运行</h2><details>    <summary>点击展开</summary><h3 id="开发环境"><a href="#开发环境" class="headerlink" title="开发环境"></a>开发环境</h3><ul><li>Windows 11</li><li>Python 3.12</li><li>PyQt6</li><li>QFluentWidgets</li><li>SQLite</li><li>Nuitka（用于打包）</li></ul><h3 id="安装依赖"><a href="#安装依赖" class="headerlink" title="安装依赖"></a>安装依赖</h3><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash">pip <span class="token function">install</span> <span class="token parameter variable">-r</span> requirements.txt<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="运行程序"><a href="#运行程序" class="headerlink" title="运行程序"></a>运行程序</h3><pre class="line-numbers language-bash" data-language="bash"><code class="language-bash">python Flu_Main.py<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h2 id="开源协议"><a href="#开源协议" class="headerlink" title="开源协议"></a>开源协议</h2><p>本项目采用 GPL-3.0 License 开源。</p><p>使用、修改和分发本项目时，请遵守 GPL-3.0 许可证要求。</p><h2 id="第三方开源组件"><a href="#第三方开源组件" class="headerlink" title="第三方开源组件"></a>第三方开源组件</h2><p>本项目使用了以下开源项目：</p><ul><li>Python、PyQt6、QFluentWidgets、SQLite、Nuitka</li></ul><p>感谢所有开源项目开发者的贡献。</p></details>]]>
    </content>
    <id>https://www.weigshare.com/posts/StandardSolution-Review-Soft/</id>
    <link href="https://www.weigshare.com/posts/StandardSolution-Review-Soft/"/>
    <published>2026-07-02T01:19:11.000Z</published>
    <summary>基于 Python、PyQt6、QFluentWidgets 与 SQLite 开发的实验室Windows标准溶液计算审核系统，支持温度校正、滴定管校正、平行样统计及相对极差自动计算。</summary>
    <title>标准溶液计算审核系统（Standard Solution Review System）</title>
    <updated>2026-10-21T08:39:31.056Z</updated>
  </entry>
  <entry>
    <author>
      <name>Wei.G</name>
    </author>
    <category term="Hexo" scheme="https://www.weigshare.com/tags/Hexo/"/>
    <category term="Butterfly" scheme="https://www.weigshare.com/tags/Butterfly/"/>
    <category term="Cloudflare" scheme="https://www.weigshare.com/tags/Cloudflare/"/>
    <content>
      <![CDATA[<p>欢迎来到我的博客。</p><p>这是第一篇文章。</p>]]>
    </content>
    <id>https://www.weigshare.com/posts/Hello-Butterfly/</id>
    <link href="https://www.weigshare.com/posts/Hello-Butterfly/"/>
    <published>2026-07-01T03:51:11.000Z</published>
    <summary>
      <![CDATA[<p>欢迎来到我的博客。</p>
<p>这是第一篇文章。</p>]]>
    </summary>
    <title>Hello Butterfly</title>
    <updated>2026-10-21T08:39:31.056Z</updated>
  </entry>
</feed>
