<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cirrusky</title><link>https://cirrusky.icu/</link><description>Recent content on Cirrusky</description><generator>Hugo</generator><language>zh-CN</language><copyright>CC BY-NC-SA 4.0</copyright><atom:link href="https://cirrusky.icu/rss.xml" rel="self" type="application/rss+xml"/><item><title>部署模型驱动的语音转文字工具站</title><link>https://cirrusky.icu/posts/voice-workbench-two-server-deployment/</link><pubDate>Thu, 13 Aug 2026 00:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/voice-workbench-two-server-deployment/</guid><description>&lt;p&gt;简单记录一下实际部署过程。&lt;/p&gt;
&lt;h2 id="总体思路"&gt;总体思路&lt;a href="#%e6%80%bb%e4%bd%93%e6%80%9d%e8%b7%af" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Qwen3-ASR：运行语音转文字服务。&lt;/li&gt;
&lt;li&gt;llama.cpp：运行 LLM，用于对转出的文字进行润色或翻译。&lt;/li&gt;
&lt;li&gt;ASR 网关：转换浏览器上传的语音格式，并将请求转给 Qwen3-ASR。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上述功能使用三只容器实现：Qwen3-ASR、ASR 网关和 llama.cpp。&lt;/p&gt;</description></item><item><title>System Benchmarks of My VPSs and Devices</title><link>https://cirrusky.icu/posts/sysbench/</link><pubDate>Wed, 12 Aug 2026 07:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/sysbench/</guid><description>&lt;p&gt;Recently, I ran &lt;code&gt;sysbench&lt;/code&gt; on most of my devices.
I have some interesting devices, and I wanted to compare their overall performance in a single chart.&lt;/p&gt;
&lt;p&gt;The results follow.&lt;/p&gt;
&lt;h2 id="vps-轻量性能测试"&gt;VPS 轻量性能测试&lt;a href="#vps-%e8%bd%bb%e9%87%8f%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;测试日期：2026-08-12&lt;/p&gt;</description></item><item><title>Docker 部署 astrometry.net 星图匹配</title><link>https://cirrusky.icu/posts/docker-astrometry/</link><pubDate>Mon, 27 Apr 2026 12:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/docker-astrometry/</guid><description>&lt;h2 id="整体思路"&gt;整体思路&lt;a href="#%e6%95%b4%e4%bd%93%e6%80%9d%e8%b7%af" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;安装 Docker 和 Docker Compose&lt;/li&gt;
&lt;li&gt;下载星表&lt;/li&gt;
&lt;li&gt;启动 Docker 容器&lt;/li&gt;
&lt;li&gt;通过命令调用 Docker 运行&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="最终效果"&gt;最终效果&lt;a href="#%e6%9c%80%e7%bb%88%e6%95%88%e6%9e%9c" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div
 class="code-block-container border-border bg-card my-6 overflow-hidden rounded-xl border shadow-sm transition-all duration-200 ease-out hover:-translate-y-0.5 hover:shadow-md"
 data-code-block
 data-code-id="code-0"
 data-collapsible="true"
 data-default-state="expanded"
 data-collapsed="false"
 data-auto-collapse-lines="30"
 data-auto-collapse-height="400"
 data-collapsed-height="120"
&gt;
 
 &lt;div
 class="code-block-header bg-muted/30 border-border flex items-center justify-between border-b px-4 py-3"
 &gt;
 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;div class="text-muted-foreground shrink-0"&gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" /&gt;
&lt;/svg&gt;
 &lt;/div&gt;
 &lt;span class="text-muted-foreground text-sm font-medium"&gt;
 BASH
 &lt;/span&gt;
 &lt;/div&gt;

 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;button
 class="collapse-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="toggle-collapse"
 data-label-expand="展开"
 data-label-collapse="折叠"
 title="折叠"
 aria-label="折叠"
 aria-controls="code-0"
 aria-expanded="true"
 &gt;
 &lt;span class="collapse-chevron transition-transform duration-200 ease-out"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="collapse-text hidden sm:inline"&gt;折叠&lt;/span&gt;
 &lt;/button&gt;
 &lt;button
 class="copy-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="copy"
 data-label-copy="复制"
 data-label-copied="已复制"
 title="复制"
 aria-label="复制"
 &gt;
 &lt;span class="copy-icon"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="copy-text hidden sm:inline"&gt;复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 
 &lt;div class="code-block-content relative" id="code-0"&gt;
 &lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 进入目录：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /opt/astrometry
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 运行解算&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose run --rm solver-heavy &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --config /etc/astrometry.cfg &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --dir /output/heavy &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --overwrite &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /input/test.fits
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 等待得到结果&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;div hidden data-code-source&gt;# 进入目录：
cd /opt/astrometry

# 运行解算
docker compose run --rm solver-heavy \
 --config /etc/astrometry.cfg \
 --dir /output/heavy \
 --overwrite \
 /input/test.fits

# 等待得到结果&lt;/div&gt;
 
 &lt;div
 class="collapse-overlay to-card/90 pointer-events-none absolute inset-0 bg-linear-to-b from-transparent via-transparent opacity-0 transition-opacity duration-300"
 hidden
 &gt;
 &lt;button
 class="collapse-overlay-btn text-muted-foreground bg-card/80 border-border/50 hover:bg-primary/10 hover:text-primary hover:border-primary/30 absolute bottom-4 left-1/2 flex -translate-x-1/2 items-center justify-center rounded-full border p-2 backdrop-blur-sm transition-all duration-200"
 type="button"
 data-code-action="expand"
 aria-label="展开"
 title="展开"
 &gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="详细部署过程"&gt;详细部署过程&lt;a href="#%e8%af%a6%e7%bb%86%e9%83%a8%e7%bd%b2%e8%bf%87%e7%a8%8b" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id="1-安装-docker"&gt;1. 安装 Docker&lt;a href="#1-%e5%ae%89%e8%a3%85-docker" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Ubuntu 服务器上使用的安装文档：
&lt;a
 href="https://docs.docker.com/engine/install/ubuntu/"target="_blank"
 class="inline-flex items-center gap-1"
 &gt;https://docs.docker.com/engine/install/ubuntu/&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/p&gt;</description></item><item><title>眼镜镜片数据</title><link>https://cirrusky.icu/posts/eyelens/</link><pubDate>Sat, 11 Oct 2025 00:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/eyelens/</guid><description>&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style="text-align: right"&gt;编号&lt;/th&gt;
					&lt;th&gt;品牌 / 型号&lt;/th&gt;
					&lt;th&gt;材料或系列&lt;/th&gt;
					&lt;th style="text-align: right"&gt;&lt;code&gt;ne&lt;/code&gt;&lt;/th&gt;
					&lt;th style="text-align: right"&gt;&lt;code&gt;Vd&lt;/code&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style="text-align: right"&gt;01&lt;/td&gt;
					&lt;td&gt;HOYA Nulux 1.50 VP&lt;/td&gt;
					&lt;td&gt;NLU15 HARD-HVP&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1.500&lt;/td&gt;
					&lt;td style="text-align: right"&gt;58.0&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: right"&gt;02&lt;/td&gt;
					&lt;td&gt;KODAK Lens&lt;/td&gt;
					&lt;td&gt;Blue-blocked&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1.553&lt;/td&gt;
					&lt;td style="text-align: right"&gt;37.8&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: right"&gt;03&lt;/td&gt;
					&lt;td&gt;KODAK Lens&lt;/td&gt;
					&lt;td&gt;MR-8&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1.600&lt;/td&gt;
					&lt;td style="text-align: right"&gt;40.0&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: right"&gt;04&lt;/td&gt;
					&lt;td&gt;CHEMILENS&lt;/td&gt;
					&lt;td&gt;U6&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1.597&lt;/td&gt;
					&lt;td style="text-align: right"&gt;40.0&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: right"&gt;05&lt;/td&gt;
					&lt;td&gt;CHEMILENS&lt;/td&gt;
					&lt;td&gt;SunGuard&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1.545&lt;/td&gt;
					&lt;td style="text-align: right"&gt;40.0&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style="text-align: right"&gt;06&lt;/td&gt;
					&lt;td&gt;Nikon Lite AS HCC 150|AS&lt;/td&gt;
					&lt;td&gt;—&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1.502&lt;/td&gt;
					&lt;td style="text-align: right"&gt;58.0&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>My SSD Information List</title><link>https://cirrusky.icu/posts/ssd-info/</link><pubDate>Mon, 18 Aug 2025 00:40:00 +0800</pubDate><guid>https://cirrusky.icu/posts/ssd-info/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a href="#overview" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;SSD Model&lt;/th&gt;
					&lt;th&gt;Device&lt;/th&gt;
					&lt;th style="text-align: right"&gt;PassMark Score&lt;/th&gt;
					&lt;th style="text-align: right"&gt;Sequential Read (MB/s)&lt;/th&gt;
					&lt;th style="text-align: right"&gt;Sequential Write (MB/s)&lt;/th&gt;
					&lt;th style="text-align: right"&gt;Random Seek R/W 32KQD20 (MB/s)&lt;/th&gt;
					&lt;th style="text-align: right"&gt;IOPS 4KQD1 (MB/s)&lt;/th&gt;
					&lt;th&gt;Notes&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;KIOXIA XG8 LA 1TB SSD&lt;/td&gt;
					&lt;td&gt;ThinkPad T14s&lt;/td&gt;
					&lt;td style="text-align: right"&gt;41365&lt;/td&gt;
					&lt;td style="text-align: right"&gt;6,112&lt;/td&gt;
					&lt;td style="text-align: right"&gt;4,541&lt;/td&gt;
					&lt;td style="text-align: right"&gt;3,023&lt;/td&gt;
					&lt;td style="text-align: right"&gt;80&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SAMSUNG SSD CM871 2.5 7mm 128GB&lt;/td&gt;
					&lt;td&gt;Mobile&lt;/td&gt;
					&lt;td style="text-align: right"&gt;2196&lt;/td&gt;
					&lt;td style="text-align: right"&gt;470&lt;/td&gt;
					&lt;td style="text-align: right"&gt;120&lt;/td&gt;
					&lt;td style="text-align: right"&gt;75&lt;/td&gt;
					&lt;td style="text-align: right"&gt;13&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;UMIS RPETJ512MKP1QDQ&lt;/td&gt;
					&lt;td&gt;P16s&lt;/td&gt;
					&lt;td style="text-align: right"&gt;23724&lt;/td&gt;
					&lt;td style="text-align: right"&gt;3,742&lt;/td&gt;
					&lt;td style="text-align: right"&gt;2,710&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1,367&lt;/td&gt;
					&lt;td style="text-align: right"&gt;45&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;KINGSTON OM8PDP3 128GB SSD&lt;/td&gt;
					&lt;td&gt;Mobile&lt;/td&gt;
					&lt;td style="text-align: right"&gt;9570&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1,901&lt;/td&gt;
					&lt;td style="text-align: right"&gt;521&lt;/td&gt;
					&lt;td style="text-align: right"&gt;450&lt;/td&gt;
					&lt;td style="text-align: right"&gt;54&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;HP SSD EX900 500GB&lt;/td&gt;
					&lt;td&gt;Mobile&lt;/td&gt;
					&lt;td style="text-align: right"&gt;12314&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1,998&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1,151&lt;/td&gt;
					&lt;td style="text-align: right"&gt;540&lt;/td&gt;
					&lt;td style="text-align: right"&gt;34&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;E12-256G-PHISON-SSD-B3-BB1&lt;/td&gt;
					&lt;td&gt;Mobile&lt;/td&gt;
					&lt;td style="text-align: right"&gt;10261&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1,983&lt;/td&gt;
					&lt;td style="text-align: right"&gt;531&lt;/td&gt;
					&lt;td style="text-align: right"&gt;614&lt;/td&gt;
					&lt;td style="text-align: right"&gt;48&lt;/td&gt;
					&lt;td&gt;Phison ESMP256GTB3C2-E12&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;NVMe SAMSUNG MZVLB256&lt;/td&gt;
					&lt;td&gt;Mobile&lt;/td&gt;
					&lt;td style="text-align: right"&gt;16460&lt;/td&gt;
					&lt;td style="text-align: right"&gt;2,427&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1,441&lt;/td&gt;
					&lt;td style="text-align: right"&gt;760&lt;/td&gt;
					&lt;td style="text-align: right"&gt;72&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SATA HP SSD S650 240GB&lt;/td&gt;
					&lt;td&gt;Mobile&lt;/td&gt;
					&lt;td style="text-align: right"&gt;3229&lt;/td&gt;
					&lt;td style="text-align: right"&gt;488&lt;/td&gt;
					&lt;td style="text-align: right"&gt;340&lt;/td&gt;
					&lt;td style="text-align: right"&gt;201&lt;/td&gt;
					&lt;td style="text-align: right"&gt;21&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Phison CFESR512GMTCT-E9C-2&lt;/td&gt;
					&lt;td&gt;Mobile&lt;/td&gt;
					&lt;td style="text-align: right"&gt;22200&lt;/td&gt;
					&lt;td style="text-align: right"&gt;2,902&lt;/td&gt;
					&lt;td style="text-align: right"&gt;2,381&lt;/td&gt;
					&lt;td style="text-align: right"&gt;1,510&lt;/td&gt;
					&lt;td style="text-align: right"&gt;62&lt;/td&gt;
					&lt;td&gt;Photo&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Transcend TS120GMTS420S&lt;/td&gt;
					&lt;td&gt;Mobile&lt;/td&gt;
					&lt;td style="text-align: right"&gt;3235&lt;/td&gt;
					&lt;td style="text-align: right"&gt;500&lt;/td&gt;
					&lt;td style="text-align: right"&gt;300&lt;/td&gt;
					&lt;td style="text-align: right"&gt;102&lt;/td&gt;
					&lt;td style="text-align: right"&gt;18&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="details"&gt;Details&lt;a href="#details" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id="kioxia-xg8-la-1tb-ssd"&gt;KIOXIA XG8 LA 1TB SSD&lt;a href="#kioxia-xg8-la-1tb-ssd" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: ThinkPad T14s&lt;/li&gt;
&lt;li&gt;PassMark Score: 41365&lt;/li&gt;
&lt;li&gt;Sequential Read: 6,112 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 4,541 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 3,023 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 80 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="samsung-ssd-cm871-25-7mm-128gb"&gt;SAMSUNG SSD CM871 2.5 7mm 128GB&lt;a href="#samsung-ssd-cm871-25-7mm-128gb" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: Mobile&lt;/li&gt;
&lt;li&gt;PassMark Score: 2196&lt;/li&gt;
&lt;li&gt;Sequential Read: 470 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 120 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 75 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 13 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="umis-rpetj512mkp1qdq"&gt;UMIS RPETJ512MKP1QDQ&lt;a href="#umis-rpetj512mkp1qdq" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: P16s&lt;/li&gt;
&lt;li&gt;PassMark Score: 23724&lt;/li&gt;
&lt;li&gt;Sequential Read: 3,742 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 2,710 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 1,367 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 45 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="kingston-om8pdp3-128gb-ssd"&gt;KINGSTON OM8PDP3 128GB SSD&lt;a href="#kingston-om8pdp3-128gb-ssd" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: Mobile&lt;/li&gt;
&lt;li&gt;PassMark Score: 9570&lt;/li&gt;
&lt;li&gt;Sequential Read: 1,901 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 521 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 450 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 54 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="hp-ssd-ex900-500gb"&gt;HP SSD EX900 500GB&lt;a href="#hp-ssd-ex900-500gb" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: Mobile&lt;/li&gt;
&lt;li&gt;PassMark Score: 12314&lt;/li&gt;
&lt;li&gt;Sequential Read: 1,998 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 1,151 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 540 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 34 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="e12-256g-phison-ssd-b3-bb1"&gt;E12-256G-PHISON-SSD-B3-BB1&lt;a href="#e12-256g-phison-ssd-b3-bb1" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: Mobile&lt;/li&gt;
&lt;li&gt;Notes: Possibly Phison ESMP256GTB3C2-E12&lt;/li&gt;
&lt;li&gt;PassMark Score: 10261&lt;/li&gt;
&lt;li&gt;Sequential Read: 1,983 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 531 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 614 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 48 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="nvme-samsung-mzvlb256"&gt;NVMe SAMSUNG MZVLB256&lt;a href="#nvme-samsung-mzvlb256" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: Mobile&lt;/li&gt;
&lt;li&gt;PassMark Score: 16460&lt;/li&gt;
&lt;li&gt;Sequential Read: 2,427 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 1,441 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 760 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 72 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sata-hp-ssd-s650-240gb"&gt;SATA HP SSD S650 240GB&lt;a href="#sata-hp-ssd-s650-240gb" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: Mobile&lt;/li&gt;
&lt;li&gt;PassMark Score: 3229&lt;/li&gt;
&lt;li&gt;Sequential Read: 488 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 340 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 201 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 21 MB/s&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="phison-cfesr512gmtct-e9c-2"&gt;Phison CFESR512GMTCT-E9C-2&lt;a href="#phison-cfesr512gmtct-e9c-2" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Device: Mobile&lt;/li&gt;
&lt;li&gt;Notes: Photo&lt;/li&gt;
&lt;li&gt;PassMark Score: 22200&lt;/li&gt;
&lt;li&gt;Sequential Read: 2,902 MB/s&lt;/li&gt;
&lt;li&gt;Sequential Write: 2,381 MB/s&lt;/li&gt;
&lt;li&gt;Random Seek Read/Write (IOPS 32KQD20): 1,510 MB/s&lt;/li&gt;
&lt;li&gt;IOPS 4KQD1: 62 MB/s&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>硬盘检测与维护记录</title><link>https://cirrusky.icu/posts/disk-man/</link><pubDate>Mon, 18 Aug 2025 00:30:00 +0800</pubDate><guid>https://cirrusky.icu/posts/disk-man/</guid><description>&lt;h2 id="查看设备与-smart-信息"&gt;查看设备与 SMART 信息&lt;a href="#%e6%9f%a5%e7%9c%8b%e8%ae%be%e5%a4%87%e4%b8%8e-smart-%e4%bf%a1%e6%81%af" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;首先，查看接入的设备：&lt;/p&gt;</description></item><item><title>使用 PSFEx 提取星像 PSF</title><link>https://cirrusky.icu/posts/usage_of_psfex/</link><pubDate>Thu, 01 May 2025 00:10:00 +0800</pubDate><guid>https://cirrusky.icu/posts/usage_of_psfex/</guid><description>&lt;h2 id="安装"&gt;安装&lt;a href="#%e5%ae%89%e8%a3%85" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;由于不熟悉，我选择编译安装，以便更多地了解其细节。&lt;/p&gt;</description></item><item><title>Basic Astronomy Environment for Image Processing</title><link>https://cirrusky.icu/posts/galsim_and_psfex/</link><pubDate>Wed, 23 Apr 2025 00:10:00 +0800</pubDate><guid>https://cirrusky.icu/posts/galsim_and_psfex/</guid><description>&lt;h2 id="install-sextractor"&gt;Install SExtractor&lt;a href="#install-sextractor" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;I chose to install it from source:&lt;/p&gt;
&lt;p&gt;&lt;a
 href="https://astromatic.github.io/sextractor/Installing.html"target="_blank"
 class="inline-flex items-center gap-1"
 &gt;https://astromatic.github.io/sextractor/Installing.html&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/p&gt;</description></item><item><title>Installing Miniconda and Basic Usage</title><link>https://cirrusky.icu/posts/miniconda/</link><pubDate>Tue, 22 Apr 2025 00:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/miniconda/</guid><description>&lt;div
 class="code-block-container border-border bg-card my-6 overflow-hidden rounded-xl border shadow-sm transition-all duration-200 ease-out hover:-translate-y-0.5 hover:shadow-md"
 data-code-block
 data-code-id="code-0"
 data-collapsible="true"
 data-default-state="expanded"
 data-collapsed="false"
 data-auto-collapse-lines="30"
 data-auto-collapse-height="400"
 data-collapsed-height="120"
&gt;
 
 &lt;div
 class="code-block-header bg-muted/30 border-border flex items-center justify-between border-b px-4 py-3"
 &gt;
 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;div class="text-muted-foreground shrink-0"&gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" /&gt;
&lt;/svg&gt;
 &lt;/div&gt;
 &lt;span class="text-muted-foreground text-sm font-medium"&gt;
 BASH
 &lt;/span&gt;
 &lt;/div&gt;

 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;button
 class="collapse-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="toggle-collapse"
 data-label-expand="展开"
 data-label-collapse="折叠"
 title="折叠"
 aria-label="折叠"
 aria-controls="code-0"
 aria-expanded="true"
 &gt;
 &lt;span class="collapse-chevron transition-transform duration-200 ease-out"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="collapse-text hidden sm:inline"&gt;折叠&lt;/span&gt;
 &lt;/button&gt;
 &lt;button
 class="copy-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="copy"
 data-label-copy="复制"
 data-label-copied="已复制"
 title="复制"
 aria-label="复制"
 &gt;
 &lt;span class="copy-icon"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="copy-text hidden sm:inline"&gt;复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 
 &lt;div class="code-block-content relative" id="code-0"&gt;
 &lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sha256sum Miniconda3-latest-Linux-x86_64.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;eval&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;/home/cirro/miniconda3/bin/conda shell.bash hook&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;conda create -n env_test_01 &lt;span class="nv"&gt;python&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3.8 numpy&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;div hidden data-code-source&gt;wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sha256sum Miniconda3-latest-Linux-x86_64.sh
eval &amp;#34;$(/home/cirro/miniconda3/bin/conda shell.bash hook)&amp;#34;
conda create -n env_test_01 python=3.8 numpy&lt;/div&gt;
 
 &lt;div
 class="collapse-overlay to-card/90 pointer-events-none absolute inset-0 bg-linear-to-b from-transparent via-transparent opacity-0 transition-opacity duration-300"
 hidden
 &gt;
 &lt;button
 class="collapse-overlay-btn text-muted-foreground bg-card/80 border-border/50 hover:bg-primary/10 hover:text-primary hover:border-primary/30 absolute bottom-4 left-1/2 flex -translate-x-1/2 items-center justify-center rounded-full border p-2 backdrop-blur-sm transition-all duration-200"
 type="button"
 data-code-action="expand"
 aria-label="展开"
 title="展开"
 &gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Setting Up a WebDAV Server for Zotero Sync</title><link>https://cirrusky.icu/posts/wdav-zotero/</link><pubDate>Sat, 29 Mar 2025 00:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/wdav-zotero/</guid><description>&lt;p&gt;仅仅使用了 Zotero 几天，便看到了红色惊叹号。点开一看，原来是 300 MB 的云同步存储已满。&lt;/p&gt;
&lt;p&gt;在多设备使用的前提下，同步功能非常实用。我一开始将 Zotero 的存储目录添加到 Nextcloud 中；在考虑如何解决 iPad 同步问题时，发现还可以使用 WebDAV。&lt;/p&gt;</description></item><item><title>ChatGPT-Next-Web WebDAV 同步问题解决记录</title><link>https://cirrusky.icu/posts/next-gpt-webdav/</link><pubDate>Sat, 16 Nov 2024 00:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/next-gpt-webdav/</guid><description>&lt;p&gt;&lt;a
 href="https://www.cirrusky.icu/posts/next_gpt/"target="_blank"
 class="inline-flex items-center gap-1"
 &gt;ChatGPT-Next-Web&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
 &lt;/a&gt; 开发得粗糙且混乱。但是看在更新及时的份上，也就还在用……嗯，若有更好的解决方案，烦请推荐！&lt;/p&gt;</description></item><item><title>My Lamp Data</title><link>https://cirrusky.icu/posts/hid_lamps/</link><pubDate>Mon, 22 Apr 2024 10:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/hid_lamps/</guid><description>&lt;blockquote
 class="border-primary bg-muted/30 hover:bg-muted/40 my-6 rounded-r-lg border-l-4 py-4 pr-4 pl-6 italic transition-all duration-200 ease-out hover:translate-x-1"
 &gt;
 &lt;div class="prose prose-sm max-w-none"&gt;
 &lt;p&gt;The original format and source links are retained in a collapsed section at the end.&lt;/p&gt;

 &lt;/div&gt;
 &lt;/blockquote&gt;&lt;script&gt;
 function toggleAlert(alertId) {
 const content = document.getElementById(alertId + "-content");
 const chevron = document.getElementById(alertId + "-chevron");
 const header = content.previousElementSibling;

 if (content.classList.contains("hidden")) {
 content.classList.remove("hidden");
 chevron.style.transform = "rotate(0deg)";
 header.setAttribute("aria-expanded", "true");
 } else {
 content.classList.add("hidden");
 chevron.style.transform = "rotate(-90deg)";
 header.setAttribute("aria-expanded", "false");
 }
 }

 
 document.addEventListener("DOMContentLoaded", function () {
 const collapsedAlerts = document.querySelectorAll(".alert-content.hidden");
 collapsedAlerts.forEach(function (content) {
 const alertId = content.id.replace("-content", "");
 const chevron = document.getElementById(alertId + "-chevron");
 if (chevron) {
 chevron.style.transform = "rotate(-90deg)";
 }
 });
 });
&lt;/script&gt;
&lt;h2 id="hid"&gt;HID&lt;a href="#hid" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;发光效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;底座&lt;/th&gt;
					&lt;th&gt;寿命&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;GE arc70/e/u/740/e27&lt;/td&gt;
					&lt;td&gt;70W&lt;/td&gt;
					&lt;td&gt;4700lm&lt;/td&gt;
					&lt;td&gt;67.14&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;65RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;5000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;亚明 JLZ70KN-4K&lt;/td&gt;
					&lt;td&gt;70W&lt;/td&gt;
					&lt;td&gt;5600lm&lt;/td&gt;
					&lt;td&gt;80&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;65RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;11250h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;亚明 NG70T(38)&lt;/td&gt;
					&lt;td&gt;70W&lt;/td&gt;
					&lt;td&gt;6000lm(?)&lt;/td&gt;
					&lt;td&gt;85.71&lt;/td&gt;
					&lt;td&gt;1900K&lt;/td&gt;
					&lt;td&gt;&amp;ndash;RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;18000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Osram Powerball HCI-PAR20&lt;/td&gt;
					&lt;td&gt;35W&lt;/td&gt;
					&lt;td&gt;1540lm&lt;/td&gt;
					&lt;td&gt;44&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;85RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;12000h&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;details&gt;
&lt;summary&gt;点击展开完整数据&lt;/summary&gt;
&lt;h3 id="ge-constantcolor"&gt;GE ConstantColor&lt;a href="#ge-constantcolor" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;发光效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;底座&lt;/th&gt;
					&lt;th&gt;寿命&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;CMH35/Par30/UVC/830/E27/SP10&lt;/td&gt;
					&lt;td&gt;35W&lt;/td&gt;
					&lt;td&gt;2449lm&lt;/td&gt;
					&lt;td&gt;70&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;81RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;10000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CMH70/Par30/UVC/942/E27/FL40&lt;/td&gt;
					&lt;td&gt;70W&lt;/td&gt;
					&lt;td&gt;3980lm&lt;/td&gt;
					&lt;td&gt;56.86&lt;/td&gt;
					&lt;td&gt;4200K&lt;/td&gt;
					&lt;td&gt;89RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;10000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CMH35/Par30/UVC/830/E27/FL&lt;/td&gt;
					&lt;td&gt;35W&lt;/td&gt;
					&lt;td&gt;2368lm&lt;/td&gt;
					&lt;td&gt;67.66&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;81RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;10000h&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="philips-mastercolour"&gt;Philips MASTERColour&lt;a href="#philips-mastercolour" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;发光效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;底座&lt;/th&gt;
					&lt;th&gt;寿命&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;CDM-R 35W/830 E27 PAR30L&lt;/td&gt;
					&lt;td&gt;35W&lt;/td&gt;
					&lt;td&gt;2000lm&lt;/td&gt;
					&lt;td&gt;57.14&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;81RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;8000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CDM-TC Elite 35W/930&lt;/td&gt;
					&lt;td&gt;35W&lt;/td&gt;
					&lt;td&gt;4000lm&lt;/td&gt;
					&lt;td&gt;114.29&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;90RA&lt;/td&gt;
					&lt;td&gt;G8.5&lt;/td&gt;
					&lt;td&gt;20000h&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="halogen"&gt;Halogen&lt;a href="#halogen" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;发光效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;底座&lt;/th&gt;
					&lt;th&gt;寿命&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Plusline S 300W R7s 240V 1BC/10&lt;/td&gt;
					&lt;td&gt;300W&lt;/td&gt;
					&lt;td&gt;5114lm&lt;/td&gt;
					&lt;td&gt;17.05&lt;/td&gt;
					&lt;td&gt;?K&lt;/td&gt;
					&lt;td&gt;100RA&lt;/td&gt;
					&lt;td&gt;R7s&lt;/td&gt;
					&lt;td&gt;2000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;50w/T4/12v capsule&lt;/td&gt;
					&lt;td&gt;50W&lt;/td&gt;
					&lt;td&gt;700lm&lt;/td&gt;
					&lt;td&gt;14&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;100RA&lt;/td&gt;
					&lt;td&gt;GY6.36&lt;/td&gt;
					&lt;td&gt;2000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Essential Halogen 12v&lt;/td&gt;
					&lt;td&gt;35W/20W&lt;/td&gt;
					&lt;td&gt;465lm/255lm&lt;/td&gt;
					&lt;td&gt;13.29/12.75&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;100RA&lt;/td&gt;
					&lt;td&gt;GY6.35/G4&lt;/td&gt;
					&lt;td&gt;2000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Osram Halogen ECO&lt;/td&gt;
					&lt;td&gt;20W/30W&lt;/td&gt;
					&lt;td&gt;235lm/405lm&lt;/td&gt;
					&lt;td&gt;11.75/13.5&lt;/td&gt;
					&lt;td&gt;2700K&lt;/td&gt;
					&lt;td&gt;100RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;2000h?&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OSRAM HALOPIN Pro&lt;/td&gt;
					&lt;td&gt;35W&lt;/td&gt;
					&lt;td&gt;460lm&lt;/td&gt;
					&lt;td&gt;13.14&lt;/td&gt;
					&lt;td&gt;2800K&lt;/td&gt;
					&lt;td&gt;100RA&lt;/td&gt;
					&lt;td&gt;G9&lt;/td&gt;
					&lt;td&gt;2000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OSRAM HALOGEN BiPin OEM&lt;/td&gt;
					&lt;td&gt;35W&lt;/td&gt;
					&lt;td&gt;600lm&lt;/td&gt;
					&lt;td&gt;17.14&lt;/td&gt;
					&lt;td&gt;2900K&lt;/td&gt;
					&lt;td&gt;100RA&lt;/td&gt;
					&lt;td&gt;GY6.35&lt;/td&gt;
					&lt;td&gt;2000h&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="led"&gt;LED&lt;a href="#led" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;发光效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;底座&lt;/th&gt;
					&lt;th&gt;寿命&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;OSRAM Dulux Value YPZ&lt;/td&gt;
					&lt;td&gt;7W&lt;/td&gt;
					&lt;td&gt;395lm&lt;/td&gt;
					&lt;td&gt;56.43&lt;/td&gt;
					&lt;td&gt;2700K&lt;/td&gt;
					&lt;td&gt;80RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;10000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;WiZ A E27 Wiz60 TW&lt;/td&gt;
					&lt;td&gt;11.5W&lt;/td&gt;
					&lt;td&gt;806lm&lt;/td&gt;
					&lt;td&gt;70.09&lt;/td&gt;
					&lt;td&gt;2700K-6500K&lt;/td&gt;
					&lt;td&gt;85RA@4200K&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;25000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Wiz GU10 Wiz35 TR S&lt;/td&gt;
					&lt;td&gt;6.6W&lt;/td&gt;
					&lt;td&gt;360lm&lt;/td&gt;
					&lt;td&gt;54.55&lt;/td&gt;
					&lt;td&gt;2200K-6500K&lt;/td&gt;
					&lt;td&gt;85RA@4200K&lt;/td&gt;
					&lt;td&gt;GU10&lt;/td&gt;
					&lt;td&gt;25000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Panasonic NNFC50079&lt;/td&gt;
					&lt;td&gt;4W&lt;/td&gt;
					&lt;td&gt;330lm&lt;/td&gt;
					&lt;td&gt;82.5&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;&amp;gt;Ra80&lt;/td&gt;
					&lt;td&gt;T5&lt;/td&gt;
					&lt;td&gt;20000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Panasonic LDACH09WG1R7&lt;/td&gt;
					&lt;td&gt;8.5W&lt;/td&gt;
					&lt;td&gt;850lm&lt;/td&gt;
					&lt;td&gt;100&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;15000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SinceLight PAR16/MR16 REFLECTOR&lt;/td&gt;
					&lt;td&gt;6W&lt;/td&gt;
					&lt;td&gt;550lm&lt;/td&gt;
					&lt;td&gt;91.67&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;Ra90-95&lt;/td&gt;
					&lt;td&gt;GU10/MR16&lt;/td&gt;
					&lt;td&gt;15000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Otali WL-M10070S55F-e&lt;/td&gt;
					&lt;td&gt;7.5W&lt;/td&gt;
					&lt;td&gt;750lm&lt;/td&gt;
					&lt;td&gt;100&lt;/td&gt;
					&lt;td&gt;5300K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;21900h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;PHILIPS LEDClassic 4W B35 E14 830&lt;/td&gt;
					&lt;td&gt;4W&lt;/td&gt;
					&lt;td&gt;380lm&lt;/td&gt;
					&lt;td&gt;95&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E14&lt;/td&gt;
					&lt;td&gt;10000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;FSL BPZ2500-865 T100D9&lt;/td&gt;
					&lt;td&gt;32W&lt;/td&gt;
					&lt;td&gt;2500lm&lt;/td&gt;
					&lt;td&gt;78.13&lt;/td&gt;
					&lt;td&gt;6500K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;15000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;FSL BPZ1800-830 T100D3&lt;/td&gt;
					&lt;td&gt;25W&lt;/td&gt;
					&lt;td&gt;1800lm&lt;/td&gt;
					&lt;td&gt;72&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;15000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OSRAM LED STAR Classic A 25 AA59667&lt;/td&gt;
					&lt;td&gt;4W&lt;/td&gt;
					&lt;td&gt;250lm&lt;/td&gt;
					&lt;td&gt;62.5&lt;/td&gt;
					&lt;td&gt;2700K&lt;/td&gt;
					&lt;td&gt;80RA&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;15000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;LED Tronixs&lt;/td&gt;
					&lt;td&gt;3.5W&lt;/td&gt;
					&lt;td&gt;175lm&lt;/td&gt;
					&lt;td&gt;50&lt;/td&gt;
					&lt;td&gt;2940K&lt;/td&gt;
					&lt;td&gt;-RA&lt;/td&gt;
					&lt;td&gt;GU10&lt;/td&gt;
					&lt;td&gt;35000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Luminus PLKB2123&lt;/td&gt;
					&lt;td&gt;5W&lt;/td&gt;
					&lt;td&gt;300lm&lt;/td&gt;
					&lt;td&gt;60&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;-RA(80?)&lt;/td&gt;
					&lt;td&gt;GU10&lt;/td&gt;
					&lt;td&gt;-h(2500?)&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="philips-bulbs"&gt;Philips Bulbs&lt;a href="#philips-bulbs" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;发光效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;底座&lt;/th&gt;
					&lt;th&gt;寿命&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;BPZ1100-830E27&lt;/td&gt;
					&lt;td&gt;11W&lt;/td&gt;
					&lt;td&gt;1100lm&lt;/td&gt;
					&lt;td&gt;100&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;8000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;BPZ1400-865E27&lt;/td&gt;
					&lt;td&gt;13W&lt;/td&gt;
					&lt;td&gt;1400lm&lt;/td&gt;
					&lt;td&gt;107.69&lt;/td&gt;
					&lt;td&gt;6500K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;12000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;BPZ1650-830E27&lt;/td&gt;
					&lt;td&gt;15W&lt;/td&gt;
					&lt;td&gt;1650lm&lt;/td&gt;
					&lt;td&gt;110&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;12000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;BPZ1000-930E27&lt;/td&gt;
					&lt;td&gt;10W&lt;/td&gt;
					&lt;td&gt;1000lm&lt;/td&gt;
					&lt;td&gt;100&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;12000h&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="cobs"&gt;COBs&lt;a href="#cobs" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;流明效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;电压&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;BXRE-50G3001-D-8x&lt;/td&gt;
					&lt;td&gt;16.5W&lt;/td&gt;
					&lt;td&gt;2443-2190&lt;/td&gt;
					&lt;td&gt;147-132.73&lt;/td&gt;
					&lt;td&gt;5000K&lt;/td&gt;
					&lt;td&gt;90&lt;/td&gt;
					&lt;td&gt;33V&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Fortimo SLM C 840 1216 L23 2828 G7&lt;/td&gt;
					&lt;td&gt;51.8-59.8W&lt;/td&gt;
					&lt;td&gt;7830-8700-9570&lt;/td&gt;
					&lt;td&gt;138-176&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;82&lt;/td&gt;
					&lt;td&gt;32.4-34.4-37.4V&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="philips-trueforce"&gt;Philips TrueForce&lt;a href="#philips-trueforce" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;发光效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;底座&lt;/th&gt;
					&lt;th&gt;寿命&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;40ED28/LED/740/ND&lt;/td&gt;
					&lt;td&gt;40W&lt;/td&gt;
					&lt;td&gt;5000lm&lt;/td&gt;
					&lt;td&gt;125&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;Ra70&lt;/td&gt;
					&lt;td&gt;EX39&lt;/td&gt;
					&lt;td&gt;50000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;36CC/LED/830/ND&lt;/td&gt;
					&lt;td&gt;36W&lt;/td&gt;
					&lt;td&gt;4700lm&lt;/td&gt;
					&lt;td&gt;130.56&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;EX39&lt;/td&gt;
					&lt;td&gt;50000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;36CC/LED/850/ND&lt;/td&gt;
					&lt;td&gt;36W&lt;/td&gt;
					&lt;td&gt;5000lm&lt;/td&gt;
					&lt;td&gt;138.89&lt;/td&gt;
					&lt;td&gt;5000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;EX39&lt;/td&gt;
					&lt;td&gt;50000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;63CC/LED/840/ND&lt;/td&gt;
					&lt;td&gt;63W&lt;/td&gt;
					&lt;td&gt;8000lm&lt;/td&gt;
					&lt;td&gt;126.98&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;EX39&lt;/td&gt;
					&lt;td&gt;50000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;54CC/LED/840/ND&lt;/td&gt;
					&lt;td&gt;54W&lt;/td&gt;
					&lt;td&gt;7500lm&lt;/td&gt;
					&lt;td&gt;138.89&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;EX39&lt;/td&gt;
					&lt;td&gt;50000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;120CC/LED/840/ND&lt;/td&gt;
					&lt;td&gt;120W&lt;/td&gt;
					&lt;td&gt;16000lm&lt;/td&gt;
					&lt;td&gt;133.33&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;EX39&lt;/td&gt;
					&lt;td&gt;50000h&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="eglo"&gt;EGLO&lt;a href="#eglo" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;灯具型号&lt;/th&gt;
					&lt;th&gt;功率&lt;/th&gt;
					&lt;th&gt;光通量&lt;/th&gt;
					&lt;th&gt;发光效率 (lm/W)&lt;/th&gt;
					&lt;th&gt;光色温&lt;/th&gt;
					&lt;th&gt;色彩再现指数&lt;/th&gt;
					&lt;th&gt;底座&lt;/th&gt;
					&lt;th&gt;寿命&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;EGLO LED E14 4W 11603&lt;/td&gt;
					&lt;td&gt;4W&lt;/td&gt;
					&lt;td&gt;470lm&lt;/td&gt;
					&lt;td&gt;117.5&lt;/td&gt;
					&lt;td&gt;2700K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;25000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;EGLO Bulb lightbulb E27 11714&lt;/td&gt;
					&lt;td&gt;9.5W&lt;/td&gt;
					&lt;td&gt;806lm&lt;/td&gt;
					&lt;td&gt;84.84&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;25000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;EGLO E27 LED 11459&lt;/td&gt;
					&lt;td&gt;12W&lt;/td&gt;
					&lt;td&gt;1055lm&lt;/td&gt;
					&lt;td&gt;87.92&lt;/td&gt;
					&lt;td&gt;4000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;15000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;EGLO 11509 LM_LED_E27 - V2&lt;/td&gt;
					&lt;td&gt;6W&lt;/td&gt;
					&lt;td&gt;550lm&lt;/td&gt;
					&lt;td&gt;91.67&lt;/td&gt;
					&lt;td&gt;2700K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;E27&lt;/td&gt;
					&lt;td&gt;15000h&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;EGLO 12723 LM_LED_GU10&lt;/td&gt;
					&lt;td&gt;3W&lt;/td&gt;
					&lt;td&gt;180lm&lt;/td&gt;
					&lt;td&gt;60&lt;/td&gt;
					&lt;td&gt;3000K&lt;/td&gt;
					&lt;td&gt;Ra80&lt;/td&gt;
					&lt;td&gt;GU10&lt;/td&gt;
					&lt;td&gt;25000h&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;点击展开旧格式与来源&lt;/summary&gt;
&lt;h2 id="old-format-and-sources"&gt;Old Format and Sources&lt;a href="#old-format-and-sources" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id="hid-1"&gt;HID&lt;a href="#hid-1" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h4 id="ge-arc70eu740e27"&gt;GE arc70/e/u/740/e27&lt;a href="#ge-arc70eu740e27" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Wattage: 70W&lt;/li&gt;
&lt;li&gt;Nominal Lumen: 4700lm&lt;/li&gt;
&lt;li&gt;CCT: 4000K&lt;/li&gt;
&lt;li&gt;CRI: 65RA&lt;/li&gt;
&lt;li&gt;Base: E27&lt;/li&gt;
&lt;li&gt;Life: 5000h&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="亚明-jlz70kn-4k"&gt;亚明 JLZ70KN-4K&lt;a href="#%e4%ba%9a%e6%98%8e-jlz70kn-4k" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Wattage: 70W&lt;/li&gt;
&lt;li&gt;Nominal Lumen: 5600lm&lt;/li&gt;
&lt;li&gt;CCT: 4000K&lt;/li&gt;
&lt;li&gt;CRI: 65RA&lt;/li&gt;
&lt;li&gt;Base: E27&lt;/li&gt;
&lt;li&gt;Life: 11250h&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="亚明-ng70t38"&gt;亚明 NG70T(38)&lt;a href="#%e4%ba%9a%e6%98%8e-ng70t38" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Wattage: 70W&lt;/li&gt;
&lt;li&gt;Nominal Lumen: 6000lm(?)&lt;/li&gt;
&lt;li&gt;CCT: 1900K&lt;/li&gt;
&lt;li&gt;CRI: &amp;ndash;RA&lt;/li&gt;
&lt;li&gt;Base: E27&lt;/li&gt;
&lt;li&gt;Life: 18000h&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="osram-powerball-hci-par20"&gt;Osram Powerball HCI-PAR20&lt;a href="#osram-powerball-hci-par20" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Wattage: 35W&lt;/li&gt;
&lt;li&gt;Luminous Flux in 90° Cone: 1540lm&lt;/li&gt;
&lt;li&gt;Candela [cd]: 22000&lt;/li&gt;
&lt;li&gt;CCT: 3000K&lt;/li&gt;
&lt;li&gt;CRI: 85Ra&lt;/li&gt;
&lt;li&gt;Base: E27&lt;/li&gt;
&lt;li&gt;Life: 12000h&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a
 href="https://www.licht-versand.de/shopcat/lud/pdf/hci-par20.pdf"target="_blank"
 class="inline-flex items-center gap-1"
 &gt;https://www.licht-versand.de/shopcat/lud/pdf/hci-par20.pdf&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;a
 href="https://files.cirrusky.icu/index.php/s/pHeqzwon2ebx3LR"target="_blank"
 class="inline-flex items-center gap-1"
 &gt;https://files.cirrusky.icu/index.php/s/pHeqzwon2ebx3LR&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/p&gt;</description></item><item><title>Deploy Hexo with NexT Theme</title><link>https://cirrusky.icu/posts/hexo/</link><pubDate>Sat, 13 Apr 2024 04:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/hexo/</guid><description>&lt;p&gt;Requirements: Git and Node.js.&lt;/p&gt;</description></item><item><title>通过 Docker 用自己的 API 搭建 ChatGPT-Next-Web</title><link>https://cirrusky.icu/posts/next_gpt/</link><pubDate>Sat, 13 Apr 2024 03:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/next_gpt/</guid><description>&lt;p&gt;这两天买了个 ChatGPT API，又去注册了 Google Gemini。终于可以放心使用 GPT-4 了，于是决定自己搭一个前端。以下是简单记录。&lt;/p&gt;</description></item><item><title>通过代理进行 Git 推送</title><link>https://cirrusky.icu/posts/ssh-proxy/</link><pubDate>Thu, 25 Jan 2024 00:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/ssh-proxy/</guid><description>&lt;p&gt;出于众所周知的原因，我们经常需要通过代理连接到 &lt;code&gt;github.com&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;我们已经很熟悉在浏览器中使用代理，但在 Linux 命令行中，有时并不那么顺利。&lt;/p&gt;</description></item><item><title>Install WordPress using Docker</title><link>https://cirrusky.icu/posts/docker-wordpress/</link><pubDate>Sat, 23 Dec 2023 00:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/docker-wordpress/</guid><description>&lt;h2 id="using-images-provided-by-bitnami"&gt;Using Images Provided by Bitnami&lt;a href="#using-images-provided-by-bitnami" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Since the WordPress deployment package described &lt;a
 href="https://www.cirrusky.icu/posts/wordpress/"target="_blank"
 class="inline-flex items-center gap-1"
 &gt;here&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
 &lt;/a&gt; is no longer available, I am trying the Docker image still provided by Bitnami. Don&amp;rsquo;t ask why—it&amp;rsquo;s just a habit.&lt;/p&gt;</description></item><item><title>使用 Cloudflare API 实现动态 DNS</title><link>https://cirrusky.icu/posts/cloudflareapi/</link><pubDate>Thu, 30 Nov 2023 00:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/cloudflareapi/</guid><description>&lt;p&gt;在 ChatGPT 的帮助下，我写了以下脚本：&lt;/p&gt;
&lt;div
 class="code-block-container border-border bg-card my-6 overflow-hidden rounded-xl border shadow-sm transition-all duration-200 ease-out hover:-translate-y-0.5 hover:shadow-md"
 data-code-block
 data-code-id="code-0"
 data-collapsible="true"
 data-default-state="expanded"
 data-collapsed="false"
 data-auto-collapse-lines="30"
 data-auto-collapse-height="400"
 data-collapsed-height="120"
&gt;
 
 &lt;div
 class="code-block-header bg-muted/30 border-border flex items-center justify-between border-b px-4 py-3"
 &gt;
 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;div class="text-muted-foreground shrink-0"&gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" /&gt;
&lt;/svg&gt;
 &lt;/div&gt;
 &lt;span class="text-muted-foreground text-sm font-medium"&gt;
 BASH
 &lt;/span&gt;
 &lt;/div&gt;

 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;button
 class="collapse-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="toggle-collapse"
 data-label-expand="展开"
 data-label-collapse="折叠"
 title="折叠"
 aria-label="折叠"
 aria-controls="code-0"
 aria-expanded="true"
 &gt;
 &lt;span class="collapse-chevron transition-transform duration-200 ease-out"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="collapse-text hidden sm:inline"&gt;折叠&lt;/span&gt;
 &lt;/button&gt;
 &lt;button
 class="copy-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="copy"
 data-label-copy="复制"
 data-label-copied="已复制"
 title="复制"
 aria-label="复制"
 &gt;
 &lt;span class="copy-icon"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="copy-text hidden sm:inline"&gt;复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 
 &lt;div class="code-block-content relative" id="code-0"&gt;
 &lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/usr/bin/env bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置 Cloudflare API 密钥、电子邮件地址和区域 ID&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;email&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;zone_identifier&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;record_identifier&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 设置要更新的 DNS 记录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;record_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;aaa.example.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;proxied&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;record_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;AAAA&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;comment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;IPv6 update&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 以 IPv6 为例&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ipv6_address&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl --request PUT &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --url &lt;span class="s2"&gt;&amp;#34;https://api.cloudflare.com/client/v4/zones/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;zone_identifier&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/dns_records/&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;record_identifier&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --header &lt;span class="s1"&gt;&amp;#39;Content-Type: application/json&amp;#39;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --header &lt;span class="s2"&gt;&amp;#34;X-Auth-Email: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;email&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --header &lt;span class="s2"&gt;&amp;#34;X-Auth-Key: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;api_key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --data &lt;span class="s2"&gt;&amp;#34;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; \&amp;#34;content\&amp;#34;: \&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ipv6_address&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;\&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; \&amp;#34;name\&amp;#34;: \&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;record_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;\&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; \&amp;#34;proxied\&amp;#34;: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;proxied&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; \&amp;#34;type\&amp;#34;: \&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;record_type&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;\&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt; \&amp;#34;comment\&amp;#34;: \&amp;#34;&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;comment&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;\&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s2"&gt;}&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;div hidden data-code-source&gt;#!/usr/bin/env bash

# 设置 Cloudflare API 密钥、电子邮件地址和区域 ID
api_key=&amp;#34;&amp;#34;
email=&amp;#34;&amp;#34;
zone_identifier=&amp;#34;&amp;#34;
record_identifier=&amp;#34;&amp;#34;

# 设置要更新的 DNS 记录
record_name=&amp;#34;aaa.example.com&amp;#34;
proxied=false
record_type=&amp;#34;AAAA&amp;#34;
comment=&amp;#34;IPv6 update&amp;#34;

# 以 IPv6 为例
ipv6_address=&amp;#34;&amp;#34;

curl --request PUT \
 --url &amp;#34;https://api.cloudflare.com/client/v4/zones/${zone_identifier}/dns_records/${record_identifier}&amp;#34; \
 --header &amp;#39;Content-Type: application/json&amp;#39; \
 --header &amp;#34;X-Auth-Email: ${email}&amp;#34; \
 --header &amp;#34;X-Auth-Key: ${api_key}&amp;#34; \
 --data &amp;#34;{
 \&amp;#34;content\&amp;#34;: \&amp;#34;${ipv6_address}\&amp;#34;,
 \&amp;#34;name\&amp;#34;: \&amp;#34;${record_name}\&amp;#34;,
 \&amp;#34;proxied\&amp;#34;: ${proxied},
 \&amp;#34;type\&amp;#34;: \&amp;#34;${record_type}\&amp;#34;,
 \&amp;#34;comment\&amp;#34;: \&amp;#34;${comment}\&amp;#34;
}&amp;#34;&lt;/div&gt;
 
 &lt;div
 class="collapse-overlay to-card/90 pointer-events-none absolute inset-0 bg-linear-to-b from-transparent via-transparent opacity-0 transition-opacity duration-300"
 hidden
 &gt;
 &lt;button
 class="collapse-overlay-btn text-muted-foreground bg-card/80 border-border/50 hover:bg-primary/10 hover:text-primary hover:border-primary/30 absolute bottom-4 left-1/2 flex -translate-x-1/2 items-center justify-center rounded-full border p-2 backdrop-blur-sm transition-all duration-200"
 type="button"
 data-code-action="expand"
 aria-label="展开"
 title="展开"
 &gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;其中的空项大都可以在登录 Cloudflare 后查询到。需要注意的是，&lt;code&gt;record_identifier&lt;/code&gt; 也需要通过 API 获取：&lt;/p&gt;</description></item><item><title>Nginx Reverse Proxy Configuration Notes</title><link>https://cirrusky.icu/posts/nginx-reverse-proxy/</link><pubDate>Wed, 01 Nov 2023 07:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/nginx-reverse-proxy/</guid><description>&lt;p&gt;将 &lt;code&gt;yoursite.com&lt;/code&gt; 域名下的所有路径反向代理到 &lt;code&gt;localhost:8080&lt;/code&gt;：&lt;/p&gt;
&lt;div
 class="code-block-container border-border bg-card my-6 overflow-hidden rounded-xl border shadow-sm transition-all duration-200 ease-out hover:-translate-y-0.5 hover:shadow-md"
 data-code-block
 data-code-id="code-0"
 data-collapsible="true"
 data-default-state="expanded"
 data-collapsed="false"
 data-auto-collapse-lines="30"
 data-auto-collapse-height="400"
 data-collapsed-height="120"
&gt;
 
 &lt;div
 class="code-block-header bg-muted/30 border-border flex items-center justify-between border-b px-4 py-3"
 &gt;
 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;div class="text-muted-foreground shrink-0"&gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" /&gt;
&lt;/svg&gt;
 &lt;/div&gt;
 &lt;span class="text-muted-foreground text-sm font-medium"&gt;
 NGINX
 &lt;/span&gt;
 &lt;/div&gt;

 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;button
 class="collapse-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="toggle-collapse"
 data-label-expand="展开"
 data-label-collapse="折叠"
 title="折叠"
 aria-label="折叠"
 aria-controls="code-0"
 aria-expanded="true"
 &gt;
 &lt;span class="collapse-chevron transition-transform duration-200 ease-out"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="collapse-text hidden sm:inline"&gt;折叠&lt;/span&gt;
 &lt;/button&gt;
 &lt;button
 class="copy-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="copy"
 data-label-copy="复制"
 data-label-copied="已复制"
 title="复制"
 aria-label="复制"
 &gt;
 &lt;span class="copy-icon"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="copy-text hidden sm:inline"&gt;复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 
 &lt;div class="code-block-content relative" id="code-0"&gt;
 &lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-nginx" data-lang="nginx"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;root&lt;/span&gt; &lt;span class="s"&gt;/var/www/html&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;server_name&lt;/span&gt; &lt;span class="s"&gt;yoursite.com&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;location&lt;/span&gt; &lt;span class="s"&gt;/&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;proxy_pass&lt;/span&gt; &lt;span class="s"&gt;http://localhost:8080&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;Host&lt;/span&gt; &lt;span class="nv"&gt;$host&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Real-IP&lt;/span&gt; &lt;span class="nv"&gt;$remote_addr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Forwarded-For&lt;/span&gt; &lt;span class="nv"&gt;$proxy_add_x_forwarded_for&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;proxy_set_header&lt;/span&gt; &lt;span class="s"&gt;X-Forwarded-Proto&lt;/span&gt; &lt;span class="nv"&gt;$scheme&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kn"&gt;proxy_redirect&lt;/span&gt; &lt;span class="no"&gt;off&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# SSL settings
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;div hidden data-code-source&gt;server {
 root /var/www/html;
 server_name yoursite.com;

 location / {
 proxy_pass http://localhost:8080;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
 proxy_redirect off;
 }
 # SSL settings
}&lt;/div&gt;
 
 &lt;div
 class="collapse-overlay to-card/90 pointer-events-none absolute inset-0 bg-linear-to-b from-transparent via-transparent opacity-0 transition-opacity duration-300"
 hidden
 &gt;
 &lt;button
 class="collapse-overlay-btn text-muted-foreground bg-card/80 border-border/50 hover:bg-primary/10 hover:text-primary hover:border-primary/30 absolute bottom-4 left-1/2 flex -translate-x-1/2 items-center justify-center rounded-full border p-2 backdrop-blur-sm transition-all duration-200"
 type="button"
 data-code-action="expand"
 aria-label="展开"
 title="展开"
 &gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;将根路径代理到 &lt;code&gt;localhost:8080&lt;/code&gt;，并将 &lt;code&gt;/web02/&lt;/code&gt; 代理到 &lt;code&gt;localhost:18080&lt;/code&gt;：&lt;/p&gt;</description></item><item><title>Some Notes</title><link>https://cirrusky.icu/posts/some_notes/</link><pubDate>Mon, 30 Oct 2023 12:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/some_notes/</guid><description>&lt;h2 id="photo-recovery"&gt;Photo Recovery&lt;a href="#photo-recovery" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;I used TestDisk and PhotoRec to recover photos from an SDXC card, and they worked perfectly.&lt;/p&gt;</description></item><item><title>在 Linux Bash 中使用 HTTP 代理</title><link>https://cirrusky.icu/posts/bash_proxy/</link><pubDate>Sat, 28 Oct 2023 03:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/bash_proxy/</guid><description>&lt;p&gt;经常需要在 Linux 命令行中使用代理，大致操作如下。&lt;/p&gt;
&lt;p&gt;编辑 &lt;code&gt;/home/user/.bashrc&lt;/code&gt;，在其中添加：&lt;/p&gt;</description></item><item><title>Basic Usage of the NTP Service</title><link>https://cirrusky.icu/posts/ntp/</link><pubDate>Tue, 19 Sep 2023 18:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/ntp/</guid><description>&lt;p&gt;I recently installed openSUSE on my ThinkPad X1 Tablet for daily use. By the way, Windows runs terribly on it.&lt;/p&gt;
&lt;p&gt;I noticed that the system time was incorrect, so I tried to fix it by installing the NTP service and running a manual synchronization.&lt;/p&gt;</description></item><item><title>喜报：本站升级为 Hugo 站</title><link>https://cirrusky.icu/posts/hugo/</link><pubDate>Sun, 17 Sep 2023 12:00:00 +0800</pubDate><guid>https://cirrusky.icu/posts/hugo/</guid><description>&lt;p&gt;那么简记一下配置过程吧。&lt;/p&gt;
&lt;p&gt;不论如何，请首先参阅 &lt;a
 href="https://gohugo.io/documentation/"target="_blank"
 class="inline-flex items-center gap-1"
 &gt;官方文档&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
 &lt;/a&gt;。&lt;/p&gt;</description></item><item><title>Nginx Failed While Connecting to an Upstream</title><link>https://cirrusky.icu/posts/nginx-selinus/</link><pubDate>Tue, 25 Jul 2023 17:36:00 +0800</pubDate><guid>https://cirrusky.icu/posts/nginx-selinus/</guid><description>&lt;p&gt;当我使用 Nginx 对 &lt;code&gt;localhost:8080&lt;/code&gt; 进行反向代理时，收到 503 响应。检查 Nginx 错误日志，发现：&lt;/p&gt;
&lt;div
 class="code-block-container border-border bg-card my-6 overflow-hidden rounded-xl border shadow-sm transition-all duration-200 ease-out hover:-translate-y-0.5 hover:shadow-md"
 data-code-block
 data-code-id="code-0"
 data-collapsible="true"
 data-default-state="expanded"
 data-collapsed="false"
 data-auto-collapse-lines="30"
 data-auto-collapse-height="400"
 data-collapsed-height="120"
&gt;
 
 &lt;div
 class="code-block-header bg-muted/30 border-border flex items-center justify-between border-b px-4 py-3"
 &gt;
 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;div class="text-muted-foreground shrink-0"&gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" /&gt;
&lt;/svg&gt;
 &lt;/div&gt;
 &lt;span class="text-muted-foreground text-sm font-medium"&gt;
 TEXT
 &lt;/span&gt;
 &lt;/div&gt;

 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;button
 class="collapse-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="toggle-collapse"
 data-label-expand="展开"
 data-label-collapse="折叠"
 title="折叠"
 aria-label="折叠"
 aria-controls="code-0"
 aria-expanded="true"
 &gt;
 &lt;span class="collapse-chevron transition-transform duration-200 ease-out"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="collapse-text hidden sm:inline"&gt;折叠&lt;/span&gt;
 &lt;/button&gt;
 &lt;button
 class="copy-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="copy"
 data-label-copy="复制"
 data-label-copied="已复制"
 title="复制"
 aria-label="复制"
 &gt;
 &lt;span class="copy-icon"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="copy-text hidden sm:inline"&gt;复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 
 &lt;div class="code-block-content relative" id="code-0"&gt;
 &lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[crit] 10000#0: *3 connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream, client: ***, server: ***, request: &amp;#34;GET /x/ HTTP/1.1&amp;#34;, upstream: &amp;#34;http://127.0.0.1:8080/&amp;#34;, host: &amp;#34;***&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;div hidden data-code-source&gt;[crit] 10000#0: *3 connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream, client: ***, server: ***, request: &amp;#34;GET /x/ HTTP/1.1&amp;#34;, upstream: &amp;#34;http://127.0.0.1:8080/&amp;#34;, host: &amp;#34;***&amp;#34;&lt;/div&gt;
 
 &lt;div
 class="collapse-overlay to-card/90 pointer-events-none absolute inset-0 bg-linear-to-b from-transparent via-transparent opacity-0 transition-opacity duration-300"
 hidden
 &gt;
 &lt;button
 class="collapse-overlay-btn text-muted-foreground bg-card/80 border-border/50 hover:bg-primary/10 hover:text-primary hover:border-primary/30 absolute bottom-4 left-1/2 flex -translate-x-1/2 items-center justify-center rounded-full border p-2 backdrop-blur-sm transition-all duration-200"
 type="button"
 data-code-action="expand"
 aria-label="展开"
 title="展开"
 &gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;经检查，这是 SELinux 策略阻止 Nginx 访问上游接口所致。&lt;/p&gt;</description></item><item><title>Edit trusted_domains via nextcloud.occ</title><link>https://cirrusky.icu/posts/nextcloud-occ/</link><pubDate>Thu, 20 Jul 2023 18:56:00 +0800</pubDate><guid>https://cirrusky.icu/posts/nextcloud-occ/</guid><description>&lt;p&gt;Nextcloud is installed via snapcraft.&lt;/p&gt;
&lt;div
 class="code-block-container border-border bg-card my-6 overflow-hidden rounded-xl border shadow-sm transition-all duration-200 ease-out hover:-translate-y-0.5 hover:shadow-md"
 data-code-block
 data-code-id="code-0"
 data-collapsible="true"
 data-default-state="expanded"
 data-collapsed="false"
 data-auto-collapse-lines="30"
 data-auto-collapse-height="400"
 data-collapsed-height="120"
&gt;
 
 &lt;div
 class="code-block-header bg-muted/30 border-border flex items-center justify-between border-b px-4 py-3"
 &gt;
 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;div class="text-muted-foreground shrink-0"&gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" /&gt;
&lt;/svg&gt;
 &lt;/div&gt;
 &lt;span class="text-muted-foreground text-sm font-medium"&gt;
 BASH
 &lt;/span&gt;
 &lt;/div&gt;

 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;button
 class="collapse-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="toggle-collapse"
 data-label-expand="展开"
 data-label-collapse="折叠"
 title="折叠"
 aria-label="折叠"
 aria-controls="code-0"
 aria-expanded="true"
 &gt;
 &lt;span class="collapse-chevron transition-transform duration-200 ease-out"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="collapse-text hidden sm:inline"&gt;折叠&lt;/span&gt;
 &lt;/button&gt;
 &lt;button
 class="copy-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="copy"
 data-label-copy="复制"
 data-label-copied="已复制"
 title="复制"
 aria-label="复制"
 &gt;
 &lt;span class="copy-icon"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="copy-text hidden sm:inline"&gt;复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 
 &lt;div class="code-block-content relative" id="code-0"&gt;
 &lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snap run nextcloud.occ config:system:get trusted_domains &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snap run nextcloud.occ config:system:delete trusted_domains &lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snap run nextcloud.occ config:system:set trusted_domains &lt;span class="m"&gt;1&lt;/span&gt; --value&lt;span class="o"&gt;=&lt;/span&gt;www.example.com&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;div hidden data-code-source&gt;snap run nextcloud.occ config:system:get trusted_domains 1
snap run nextcloud.occ config:system:delete trusted_domains 1
snap run nextcloud.occ config:system:set trusted_domains 1 --value=www.example.com&lt;/div&gt;
 
 &lt;div
 class="collapse-overlay to-card/90 pointer-events-none absolute inset-0 bg-linear-to-b from-transparent via-transparent opacity-0 transition-opacity duration-300"
 hidden
 &gt;
 &lt;button
 class="collapse-overlay-btn text-muted-foreground bg-card/80 border-border/50 hover:bg-primary/10 hover:text-primary hover:border-primary/30 absolute bottom-4 left-1/2 flex -translate-x-1/2 items-center justify-center rounded-full border p-2 backdrop-blur-sm transition-all duration-200"
 type="button"
 data-code-action="expand"
 aria-label="展开"
 title="展开"
 &gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Deploy a WordPress Blog using Bitnami</title><link>https://cirrusky.icu/posts/wordpress/</link><pubDate>Mon, 12 Sep 2022 00:00:10 +0800</pubDate><guid>https://cirrusky.icu/posts/wordpress/</guid><description>&lt;blockquote
 class="border-primary bg-muted/30 hover:bg-muted/40 my-6 rounded-r-lg border-l-4 py-4 pr-4 pl-6 italic transition-all duration-200 ease-out hover:translate-x-1"
 &gt;
 &lt;div class="prose prose-sm max-w-none"&gt;
 &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; It seems that the Linux &lt;code&gt;.run&lt;/code&gt; file used below is no longer
provided by Bitnami. Sad&amp;hellip;&lt;/p&gt;

 &lt;/div&gt;
 &lt;/blockquote&gt;&lt;script&gt;
 function toggleAlert(alertId) {
 const content = document.getElementById(alertId + "-content");
 const chevron = document.getElementById(alertId + "-chevron");
 const header = content.previousElementSibling;

 if (content.classList.contains("hidden")) {
 content.classList.remove("hidden");
 chevron.style.transform = "rotate(0deg)";
 header.setAttribute("aria-expanded", "true");
 } else {
 content.classList.add("hidden");
 chevron.style.transform = "rotate(-90deg)";
 header.setAttribute("aria-expanded", "false");
 }
 }

 
 document.addEventListener("DOMContentLoaded", function () {
 const collapsedAlerts = document.querySelectorAll(".alert-content.hidden");
 collapsedAlerts.forEach(function (content) {
 const alertId = content.id.replace("-content", "");
 const chevron = document.getElementById(alertId + "-chevron");
 if (chevron) {
 chevron.style.transform = "rotate(-90deg)";
 }
 });
 });
&lt;/script&gt;
&lt;p&gt;WordPress usually requires a LAMP (Linux, Apache, MySQL, PHP) or LNMP environment, which can be complicated to deploy and migrate. Bitnami provides an easier way to handle those tasks.&lt;/p&gt;</description></item><item><title>Install Nextcloud Server with Snap, Nginx, and HTTPS</title><link>https://cirrusky.icu/posts/nextcloud/</link><pubDate>Fri, 09 Sep 2022 11:26:00 +0800</pubDate><guid>https://cirrusky.icu/posts/nextcloud/</guid><description>&lt;p&gt;Snap provides an easy and clean way to install Nextcloud.&lt;/p&gt;
&lt;p&gt;Prepare a domain name resolved to the IP address of your server.&lt;/p&gt;
&lt;div
 class="code-block-container border-border bg-card my-6 overflow-hidden rounded-xl border shadow-sm transition-all duration-200 ease-out hover:-translate-y-0.5 hover:shadow-md"
 data-code-block
 data-code-id="code-0"
 data-collapsible="true"
 data-default-state="expanded"
 data-collapsed="false"
 data-auto-collapse-lines="30"
 data-auto-collapse-height="400"
 data-collapsed-height="120"
&gt;
 
 &lt;div
 class="code-block-header bg-muted/30 border-border flex items-center justify-between border-b px-4 py-3"
 &gt;
 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;div class="text-muted-foreground shrink-0"&gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" /&gt;
&lt;/svg&gt;
 &lt;/div&gt;
 &lt;span class="text-muted-foreground text-sm font-medium"&gt;
 BASH
 &lt;/span&gt;
 &lt;/div&gt;

 
 &lt;div class="flex items-center gap-2"&gt;
 &lt;button
 class="collapse-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="toggle-collapse"
 data-label-expand="展开"
 data-label-collapse="折叠"
 title="折叠"
 aria-label="折叠"
 aria-controls="code-0"
 aria-expanded="true"
 &gt;
 &lt;span class="collapse-chevron transition-transform duration-200 ease-out"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="collapse-text hidden sm:inline"&gt;折叠&lt;/span&gt;
 &lt;/button&gt;
 &lt;button
 class="copy-code-btn text-muted-foreground hover:text-primary hover:bg-primary/10 focus:ring-primary/20 flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-all duration-200 ease-out focus:ring-2 focus:outline-none"
 type="button"
 data-code-action="copy"
 data-label-copy="复制"
 data-label-copied="已复制"
 title="复制"
 aria-label="复制"
 &gt;
 &lt;span class="copy-icon"&gt;
 &lt;svg class="h-3 w-3" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" /&gt;
&lt;/svg&gt;
 &lt;/span&gt;
 &lt;span class="copy-text hidden sm:inline"&gt;复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;

 
 &lt;div class="code-block-content relative" id="code-0"&gt;
 &lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Debian/Ubuntu, as root:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt install snapd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snap install nextcloud&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;div hidden data-code-source&gt;# Debian/Ubuntu, as root:
apt install snapd
snap install nextcloud&lt;/div&gt;
 
 &lt;div
 class="collapse-overlay to-card/90 pointer-events-none absolute inset-0 bg-linear-to-b from-transparent via-transparent opacity-0 transition-opacity duration-300"
 hidden
 &gt;
 &lt;button
 class="collapse-overlay-btn text-muted-foreground bg-card/80 border-border/50 hover:bg-primary/10 hover:text-primary hover:border-primary/30 absolute bottom-4 left-1/2 flex -translate-x-1/2 items-center justify-center rounded-full border p-2 backdrop-blur-sm transition-all duration-200"
 type="button"
 data-code-action="expand"
 aria-label="展开"
 title="展开"
 &gt;
 &lt;svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"&gt;
 &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" /&gt;
&lt;/svg&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Enter your domain in a browser, complete the setup shown on the welcome page, then enable HTTPS:&lt;/p&gt;</description></item><item><title>Jellyfin Video Server Installation</title><link>https://cirrusky.icu/posts/jellyfin/</link><pubDate>Thu, 08 Sep 2022 16:44:00 +0800</pubDate><guid>https://cirrusky.icu/posts/jellyfin/</guid><description>&lt;blockquote
 class="border-primary bg-muted/30 hover:bg-muted/40 my-6 rounded-r-lg border-l-4 py-4 pr-4 pl-6 italic transition-all duration-200 ease-out hover:translate-x-1"
 &gt;
 &lt;div class="prose prose-sm max-w-none"&gt;
 &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Jellyfin now provides a Bash installation script for APT users:
&lt;a
 href="https://jellyfin.org/docs/general/installation/linux/#debuntu-debian-ubuntu-and-derivatives-using-apt"target="_blank"
 class="inline-flex items-center gap-1"
 &gt;https://jellyfin.org/docs/general/installation/linux/#debuntu-debian-ubuntu-and-derivatives-using-apt&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/p&gt;</description></item><item><title>About</title><link>https://cirrusky.icu/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cirrusky.icu/about/</guid><description>&lt;h2 id="欢迎来到这里--welcome"&gt;欢迎来到这里 // Welcome&lt;a href="#%e6%ac%a2%e8%bf%8e%e6%9d%a5%e5%88%b0%e8%bf%99%e9%87%8c--welcome" class="heading-anchor" aria-label="链接到此部分"&gt;&lt;svg class="h-4 w-4" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里只是一个供自己使用的备忘录。&lt;/p&gt;</description></item></channel></rss>