<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>云泽记</title><link>https://blog.yunzeji.cn/</link><description>Recent content on 云泽记</description><generator>Hugo</generator><language>zh-cn</language><copyright>© yunzeji.cn</copyright><lastBuildDate>Fri, 25 Sep 2026 21:23:39 +0800</lastBuildDate><atom:link href="https://blog.yunzeji.cn/index.xml" rel="self" type="application/rss+xml"/><item><title>Umami 3.0版本升级指南，平滑迁移，无需数据库命令</title><link>https://blog.yunzeji.cn/umami-v2-to-v3/</link><pubDate>Wed, 11 Feb 2026 21:12:31 +0800</pubDate><guid>https://blog.yunzeji.cn/umami-v2-to-v3/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;🔎 如果全新安装，请跳转至&lt;a href="https://blog.yunzeji.cn/umami-v2-to-v3/#toc-head-7"&gt;不依靠 1Panel 安装 Umami&lt;/a&gt;。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="前言"&gt;前言&lt;/h2&gt;&#10;&lt;p&gt;官方升级教程如下 &lt;a href="https://umami.is/docs/guides/migrate-mysql-postgresql"&gt;点击此处&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;本机环境如下，使用1panel v2.0面板，debian12，mysql升级到PostgreSQL&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;⚠️ &lt;strong&gt;注意：&lt;/strong&gt; 请提前做好数据库备份。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="安装旧版v219的postgresql版本的umami"&gt;安装旧版V2.19的PostgreSQL版本的umami&lt;/h2&gt;&#10;&lt;p&gt;首先安装v2.19的PostgreSQL版本的umami，正常安装即可，只需成功启动就可以将容器停止，1panel中如下图&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770805018-1770805018-image-1024x473.png" alt=""&gt;&lt;/p&gt;&#10;&lt;h2 id="转移数据库操作"&gt;转移数据库操作&lt;/h2&gt;&#10;&lt;p&gt;打开数据库软件，如&lt;a href="https://dbeaver.io/download/"&gt;DBeaver&lt;/a&gt;&#10;，Navicat等，本文使用的是DBeaver，第一个为mysql的umami，第二个为PostgreSQL的umami，&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770805454-1770805454-image.png" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770805621-1770805621-image.png" alt=""&gt;&lt;/p&gt;&#10;&lt;details&gt;&lt;summary&gt;官方升级指南中提到&lt;/summary&gt;&#10;Truncate the tables below. These tables will be populated from the MySQL import.&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;truncate table &amp;#34;_prisma_migrations&amp;#34;;&#10;truncate table &amp;#34;user&amp;#34;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;此意为&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;删除表中的所有行（所有数据）&lt;/li&gt;&#10;&lt;li&gt;保留表结构（列定义、索引、约束等）&lt;/li&gt;&#10;&lt;li&gt;类似于 DELETE FROM table_name，但更快且不可回滚&lt;/li&gt;&#10;&lt;li&gt;会重置表的自增序列（如果有）&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/details&gt;&#10;DBeaver会自动Truncate（截断）,所以无需关注官方升级指南中的内容&#10;&lt;p&gt;在表映射选项中，目标容器为PostgreSQL的umami&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770808822-1770808822-image.png" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770808910-1770808910-image.png" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;在数据加载设置中会弹出是否截断数据，选择是即可，然后一路向下在确认选项中选择继续，等待数据库复制完毕，数据较大的话复制时间较长，请耐心等待&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770808993-1770808993-image.png" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770809080-1770809080-image.png" alt=""&gt;&lt;/p&gt;&#10;&lt;h2 id="升级v30的umami"&gt;升级v3.0的umami&lt;/h2&gt;&#10;&lt;h3 id="卸载v2旧版本umami"&gt;卸载v2旧版本umami&lt;/h3&gt;&#10;&lt;p&gt;此处推荐读者卸载v2版本的umami，请注意，在1panel面板中，卸载应用默认选择删除数据库，请取消勾选&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770809515-1770809515-image.png" alt=""&gt;&lt;/p&gt;&#10;&lt;h3 id="安装v3新版本umami"&gt;安装v3新版本umami&lt;/h3&gt;&#10;&lt;p&gt;安装时选择3.0版本及以上即可，数据库服务默认只有PostgreSQL，数据库名和数据库用户和用户密码安装v2.19的PostgreSQL版本的umami安装时所写即可，至此全部结束&#10;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1770809704-1770809704-image.png" alt=""&gt;&lt;/p&gt;&#10;&lt;h3 id="不依靠1panel安装umami"&gt;不依靠1panel安装umami&lt;/h3&gt;&#10;&lt;p&gt;创建一个&lt;code&gt;docker-compose.yml&lt;/code&gt;,创建并填入以下内容后输入&lt;code&gt;docker compose up -d&lt;/code&gt;或&lt;code&gt;docker-compose up -d&lt;/code&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yml" data-lang="yml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;services&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# umami 服务配置&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;umami&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 使用的镜像：从 Docker Hub 拉取 umamisoftware/umami 的最新版本&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;umamisoftware/umami:latest&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 容器运行后的名称&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;container_name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;umami&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 重启策略：除非手动停止，否则容器退出时自动重启&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;restart&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;unless-stopped&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 端口映射：将宿主机的 127.0.0.1:3011 映射到容器的 3000 端口&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 127.0.0.1 限制仅本机可访问，避免直接暴露服务到公网&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ports&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;127.0.0.1&lt;/span&gt;:&lt;span style="color:#ae81ff"&gt;3011&lt;/span&gt;:&lt;span style="color:#ae81ff"&gt;3000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 环境变量配置&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;environment&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 数据库连接 URL，格式：postgresql://用户名:密码@主机:端口/数据库名&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 请替换 username、password 为实际值，127.0.0.1:5432 为宿主机 PostgreSQL 地址&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;DATABASE_URL&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;postgresql://username:password@127.0.0.1:5432/umami&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 数据库类型，固定为 postgresql&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;DATABASE_TYPE&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;postgresql&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# APP_SECRET 在此版本实际不起作用，仅为占位&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# APP_SECRET: umami_h6p5Nr&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 健康检查配置：定期检测服务是否存活&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;healthcheck&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 检测命令：通过 curl 请求容器内的心跳接口&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;test&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;CMD-SHELL&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;curl http://localhost:3000/api/heartbeat&amp;#34;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 每 5 秒检测一次&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;interval&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;5s&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 单次检测超时时间 5 秒&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;timeout&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;5s&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 连续失败 5 次后标记为不健康&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;retries&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 以下是加入 1Panel 已存在网络的方法，一般无需使用&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 如果 umami 需要与 1Panel 管理的其他容器通信，可取消注释并配置&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;#networks:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# - 1panel-network # 加入 1panel 创建的外部网络&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 声明网络（如使用上述 networks 配置则需要取消注释）&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#networks:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;#1panel-network:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;#external: true # 使用已存在的外部网络，不由当前 compose 创建&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="总结"&gt;总结&lt;/h2&gt;&#10;&lt;p&gt;umami3.0带来了许多改进和新特性，特别是解决安全问题，旧mysql版只需安照上述更新流程即可，常见问题询问ai即可解决，只要做好备份，一般而言不会有大问题。&lt;/p&gt;</description></item><item><title>frp新版配置文件toml详解</title><link>https://blog.yunzeji.cn/frp-toml/</link><pubDate>Sun, 15 Jun 2025 12:16:13 +0800</pubDate><guid>https://blog.yunzeji.cn/frp-toml/</guid><description>&lt;p&gt;从 v0.52.0 版本开始，frp 开始支持 TOML、YAML 和 JSON 作为配置文件格式。&lt;/p&gt;&#10;&lt;p&gt;本文所用版本v0.62.1，并且以debian为例&lt;/p&gt;&#10;&lt;h2 id="快速使用"&gt;快速使用&lt;/h2&gt;&#10;&lt;p&gt;使用以下基础配置快速开始使用frp&lt;/p&gt;&#10;&lt;p&gt;使用时推荐将全部注释删掉使用&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#frps配置&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;bindAddr&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;0.0.0.0&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;bindPort&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;7000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 认证方式：token&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;auth&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;method&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;token&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 认证令牌&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;auth&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;token&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;12345678&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 启用 TLS 连接 frps（v0.50.0 起默认启用）&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;transport&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;tls&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;enable&lt;/span&gt; = &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#frpc配置&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#此处应将0.0.0.0替换成服务器ip&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;serverAddr&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;0.0.0.0&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;serverPort&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;7000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;auth&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;method&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;token&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;auth&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;token&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;12345678&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;transport&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;tls&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;enable&lt;/span&gt; = &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#以下是代理配置&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[[&lt;span style="color:#a6e22e"&gt;proxies&lt;/span&gt;]]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#代理配置名称&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;name&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;ssh&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#代理类型&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;type&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;tcp&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#代理本地ip&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;localIP&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;192.168.1.100&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#代理本地端口&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;localPort&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;22&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#代理远程端口&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;remotePort&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;2222&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="使用systemctl管理frp"&gt;使用systemctl管理frp&lt;/h2&gt;&#10;&lt;p&gt;一般来说，debian系均安装systemd，如果未安装,使用&lt;code&gt;apt install systemd -y&lt;/code&gt;进行安装&lt;/p&gt;</description></item><item><title>1panel数据库mysql配置主从同步</title><link>https://blog.yunzeji.cn/1panel-mysql-master-slave/</link><pubDate>Tue, 01 Apr 2025 14:46:44 +0800</pubDate><guid>https://blog.yunzeji.cn/1panel-mysql-master-slave/</guid><description>&lt;h2 id="1什么是主从同步"&gt;1.什么是主从同步&lt;/h2&gt;&#10;&lt;p&gt;主：master&lt;/p&gt;&#10;&lt;p&gt;从：slave&lt;/p&gt;&#10;&lt;p&gt;一台或多台服务器作为主数据库进行读写操作，多台服务器做从服务器数据库。主数据库的数据会自动复制到从数据库。&lt;/p&gt;&#10;&lt;p&gt;实现流程：主数据库对数据进行修改并记录到二进制文件，从服务器根据主服务器的二进制文件来进行同步更新操作。&lt;/p&gt;&#10;&lt;p&gt;框架示意&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; +-------------+&#10; | Master |&#10; | (server_id=1)|&#10; +------▲------+&#10; ║&#10; +--------------╨--------------+&#10; ║ ║&#10;+-----╨----+ +-----╨----+&#10;| Slave1 | | Slave2 |&#10;| (id=2) | | (id=3) |&#10;+----------+ +----------+&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="2配置一主多从同步"&gt;2.配置一主多从同步&lt;/h2&gt;&#10;&lt;p&gt;环境：debian12,1panel（v1.10.28-lts），mysql（8.0.41）&lt;/p&gt;&#10;&lt;p&gt;这个是1panel的默认配置文件&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code class="language-conf" data-lang="conf"&gt;[mysqld]&#10;skip-host-cache&#10;skip-name-resolve&#10;datadir=/var/lib/mysql&#10;socket=/var/run/mysqld/mysqld.sock&#10;secure-file-priv=/var/lib/mysql-files&#10;user=mysql&#10;log_error_suppression_list=&amp;#39;MY-013360&amp;#39;&#10;&#10;character_set_server=utf8&#10;lower_case_table_names=1&#10;group_concat_max_len=1024000&#10;log_bin_trust_function_creators=1&#10;&#10;pid-file=/var/run/mysqld/mysqld.pid&#10;max_connections=300&#10;[client]&#10;socket=/var/run/mysqld/mysqld.sock&#10;&#10;!includedir /etc/mysql/conf.d/&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;我将对其增加配置，内容如下：&lt;/p&gt;&#10;&lt;h3 id="主服务器master"&gt;主服务器（Master）&lt;/h3&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code class="language-conf" data-lang="conf"&gt;[mysqld]&#10;# 原有基础配置&#10;skip-host-cache&#10;skip-name-resolve&#10;datadir=/var/lib/mysql&#10;socket=/var/run/mysqld/mysqld.sock&#10;secure-file-priv=/var/lib/mysql-files&#10;user=mysql&#10;log_error_suppression_list=&amp;#39;MY-013360&amp;#39;&#10;character_set_server=utf8&#10;lower_case_table_names=1&#10;group_concat_max_len=1024000&#10;log_bin_trust_function_creators=1&#10;pid-file=/var/run/mysqld/mysqld.pid&#10;&#10;# 新增主库复制配置&#10;server_id = 1 # 主库唯一标识（必填，不可与其他节点重复）&#10;log_bin = /var/lib/mysql/mysql-bin.log # 开启二进制日志（必填）&#10;binlog_format = ROW # 行级复制（推荐）&#10;expire_logs_days = 7 # 自动清理7天前的日志&#10;max_binlog_size = 100M # 单个二进制日志文件大小&#10;&#10;# GTID 配置（推荐）&#10;gtid_mode = ON # 启用 GTID&#10;enforce_gtid_consistency = ON # 强制 GTID 一致性&#10;&#10;[client]&#10;socket=/var/run/mysqld/mysqld.sock&#10;&#10;!includedir /etc/mysql/conf.d/&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="从服务器slave1"&gt;从服务器（Slave1）&lt;/h3&gt;&#10;&lt;p&gt;配置如下&lt;/p&gt;</description></item><item><title>Use WireGuard to Enable an IPv6-Only VPS to Access IPv4 via a Dual-Stack VPS's IPv4 Exit</title><link>https://blog.yunzeji.cn/wireguard-ipv6-only-vps-en/</link><pubDate>Sun, 30 Mar 2025 16:52:26 +0800</pubDate><guid>https://blog.yunzeji.cn/wireguard-ipv6-only-vps-en/</guid><description>&lt;p&gt;When using an IPv6-only machine, various inconveniences often arise. If you have a machine with a dual-stack network (IPv4+IPv6), you can use WireGuard to enable an IPv6-only VPS to access IPv4 via the dual-stack VPS&amp;rsquo;s IPv4 outbound connection.&lt;/p&gt;&#10;&lt;h3 id="example-setup-using-debian-12"&gt;Example Setup Using Debian 12&lt;/h3&gt;&#10;&lt;p&gt;In this example, Device A has a dual-stack network, while Device B has an IPv6-only network. Both devices need to have WireGuard installed:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt install wireguard-tools&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="concept"&gt;Concept&lt;/h3&gt;&#10;&lt;p&gt;The idea is to use WireGuard to create a local network connecting multiple devices via IPv6. Each device is assigned an internal IPv4 address. Device A is configured with NAT for the internal network, allowing Device B to access the internet through Device A&amp;rsquo;s gateway.&lt;/p&gt;</description></item><item><title>利用wireguard实现IPv6 Only VPS使用双栈VPS的v4出口获得IPv4访问</title><link>https://blog.yunzeji.cn/wireguard-ipv6-only-vps/</link><pubDate>Sun, 30 Mar 2025 16:52:26 +0800</pubDate><guid>https://blog.yunzeji.cn/wireguard-ipv6-only-vps/</guid><description>&lt;p&gt;在使用ipv6-only的机器是时候，总是各种不方便，如果你有一台ipv4+ipv6双栈网络机器，可以利用wireguard实现IPv6 Only VPS使用双栈VPS的v4出口获得IPv4访问。&lt;/p&gt;&#10;&lt;p&gt;以下以debian12为例子，A设备为双栈网络，B设备为仅IPv6网络，两端设备均需要安装wireguard&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;apt install wireguard-tools&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;实际思路，利用wireguard将多台设备组成局域网，多台设备间利用ipv6进行连接。每台设备分配内网ipv4，在A设备给内网网段配置NAT，实现B设备走A设备的网关出网。&lt;/p&gt;&#10;&lt;h2 id="实现步骤"&gt;实现步骤&lt;/h2&gt;&#10;&lt;p&gt;1.wireguard的配置文件位于&lt;code&gt;/etc/wireguard&lt;/code&gt;目录，默认情况下里面什么也没有,进入到该目录 &lt;code&gt;cd /etc/wireguard&lt;/code&gt;&#10;2.创建密钥对，AB设备均需操作:&#10;1.创建私钥, 保存为priv_key文件&lt;code&gt;wg genkey &amp;gt; priv_key&lt;/code&gt;&#10;2.根据私钥生成公钥&lt;code&gt;wg pubkey &amp;lt; priv_key &amp;gt; pub_key&lt;/code&gt;&#10;3.现在两设备都生成了密钥，可以通过 cat priv_key 查看私钥，cat pub_key 查看公钥&#10;3.编写配置文件，&lt;code&gt;wg0.conf&lt;/code&gt;规划了一段/24，10.0.0.1/24。&#10;1.a机器的配置文件&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt; [Interface]&#10; PrivateKey = 替换为A设备的私钥&#10; Address = 10.0.0.1/24&#10; ListenPort = 12345&#10; PostUp = echo &amp;#34;1&amp;#34; &amp;gt; /proc/sys/net/ipv4/ip_forward&#10; PostUp = iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE&#10; PostDown = iptables -t nat -D POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE&#10;&#10; [Peer]&#10; PublicKey = 替换为B设备的公钥&#10; AllowedIPs = 10.0.0.1/32&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;2.b机器的配置文件&#10;```&#10;[Interface]&#10;PrivateKey = 替换为B设备的私钥&#10;Address = 10.0.0.2/32&lt;/p&gt;</description></item><item><title>How to Fix the Automatic HTTPS Redirection After Entering an HTTP Address in Google Chrome</title><link>https://blog.yunzeji.cn/chrom_https_to_http-en/</link><pubDate>Wed, 06 Mar 2024 20:27:38 +0800</pubDate><guid>https://blog.yunzeji.cn/chrom_https_to_http-en/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The method I recommend the most is Method One. For Edge, simply use &lt;code&gt;edge://net-internals/#hsts&lt;/code&gt;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;strong&gt;How to Solve the Forced HTTPS Redirection Issue in Google Chrome&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;When using a browser, you may encounter the issue where you want to visit an HTTP page, but it automatically redirects to an HTTPS page, which can be very inconvenient for websites that only support HTTP.&lt;/p&gt;&#10;&lt;p&gt;Possible causes:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;The browser has previously accessed a site with an HTTPS certificate or the site has enabled HSTS.&lt;/li&gt;&#10;&lt;li&gt;The browser is configured to always use a &lt;strong&gt;secure connection&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;A plugin might be forcing the use of HTTPS (unlikely but possible).&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Here are the steps you can take to try to resolve the issue:&lt;/p&gt;</description></item><item><title>解决谷歌浏览器Chrom输入地址后http自动转https</title><link>https://blog.yunzeji.cn/chrom_https_to_http/</link><pubDate>Wed, 06 Mar 2024 20:27:38 +0800</pubDate><guid>https://blog.yunzeji.cn/chrom_https_to_http/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;&#10;&lt;p&gt;笔者最推荐方法一，edge使用 &lt;code&gt;edge://net-internals/#hsts&lt;/code&gt; 即可&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;strong&gt;如何解决谷歌浏览器强制跳转 HTTPS 的问题&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;在使用浏览器的时候，很有可能会遇到想要访问http页面但是自动跳转https页面，对于只支持http访问的页面极其不方便。&lt;/p&gt;&#10;&lt;p&gt;可能的原因：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;浏览器访问过配置过https证书的网站，或者该网站启用了HSTS&lt;/li&gt;&#10;&lt;li&gt;浏览器配置了始终使用&lt;strong&gt;安全连接&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;可能配置插件导致始终使用https（小概率）&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;可以通过以下方法解决尝试解决问题：&lt;/p&gt;&#10;&lt;h2 id="方法一删除-hsts-配置"&gt;方法一：删除 HSTS 配置&lt;/h2&gt;&#10;&lt;p&gt;谷歌浏览器通过 HSTS 强制 HTTPS 跳转。可以删除特定域名的 HSTS 配置，步骤如下：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;地址栏输入 &lt;code&gt;chrome://net-internals/#hsts&lt;/code&gt; 并回车。&lt;/li&gt;&#10;&lt;li&gt;在 &lt;strong&gt;Delete domain security policies&lt;/strong&gt; 中，填入跳转https的域名（如 &lt;code&gt;example.com&lt;/code&gt;）。&lt;/li&gt;&#10;&lt;li&gt;点击 &lt;strong&gt;Delete&lt;/strong&gt; 。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;注：edge浏览器将 &lt;code&gt;chrome&lt;/code&gt;替换成&lt;code&gt;edge&lt;/code&gt;,笔者测试实际是在edge浏览器中输入&lt;code&gt;chrome://net-internals/#hsts&lt;/code&gt;会自动替换&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1709726867-1709726867-image-1024x469.png" alt="HSTS 删除操作" title="HSTS 删除操作"&gt;&lt;/p&gt;&#10;&lt;h2 id="方法二调整网站权限"&gt;方法二：调整网站权限&lt;/h2&gt;&#10;&lt;p&gt;如果 HTTPS 跳转只在某个特定站点出现，可以通过调整站点权限来解决：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;点击浏览器地址栏中的「锁」或「设置」图标，选择 &lt;strong&gt;网站设置&lt;/strong&gt;。&lt;/li&gt;&#10;&lt;li&gt;在 &lt;strong&gt;不安全内容&lt;/strong&gt; 设置中，选择 &lt;strong&gt;允许&lt;/strong&gt;。&#10;方法如下：&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1709727024-1709727024-image.png" alt="网站设置按钮"&gt;&#10;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1709727246-1709727246-image-edited.png" alt="调整权限选项"&gt;&lt;/p&gt;&#10;&lt;h2 id="方法三关闭始终使用安全连接选项"&gt;方法三：关闭「始终使用安全连接」选项&lt;/h2&gt;&#10;&lt;p&gt;如果多个站点都受此问题影响，可以关闭浏览器的全局「始终使用安全连接」选项：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;打开浏览器 &lt;strong&gt;设置&lt;/strong&gt;，搜索 &lt;strong&gt;安全连接&lt;/strong&gt;。&lt;/li&gt;&#10;&lt;li&gt;找到 &lt;strong&gt;始终使用安全连接&lt;/strong&gt;，将其关闭。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;笔者注：edge中并未找到该选项&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1709726515-1709726515-image-edited-1.png" alt="关闭安全连接选项"&gt;&#10;&lt;img src="https://blog.yunzeji.cn/images/wordpress/1709726642-1709726642-image-edited.png" alt="设置界面截图"&gt;&lt;/p&gt;&#10;&lt;h2 id="方法四检查扩展程序设置小概率"&gt;方法四：检查扩展程序设置（小概率）&lt;/h2&gt;&#10;&lt;p&gt;某些扩展插件可能会导致强制跳转https，排查方法如下：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;地址栏输入 &lt;code&gt;chrome://extensions/&lt;/code&gt; 回车打开扩展管理。&lt;/li&gt;&#10;&lt;li&gt;查找名称带有https或http的插件&lt;/li&gt;&#10;&lt;li&gt;禁用或移除扩展插件。&lt;/li&gt;&#10;&lt;li&gt;重新加载网站。&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>幻兽帕鲁Linux服务器安装搭建配置</title><link>https://blog.yunzeji.cn/palworldserver/</link><pubDate>Wed, 28 Feb 2024 22:36:02 +0800</pubDate><guid>https://blog.yunzeji.cn/palworldserver/</guid><description>&lt;p&gt;&lt;strong&gt;建议使用 Ubuntu 系统进行安装&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 id="1-创建专用账户-非-root"&gt;1. 创建专用账户 (非 root)&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 创建 steam 用户并设置密码&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo useradd -m steam&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo passwd steam&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 给 steam 用户添加 sudo 权限&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo usermod -aG sudo steam&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2-安装steam"&gt;2. 安装steam&lt;/h2&gt;&#10;&lt;h3 id="切换用户并准备环境"&gt;切换用户并准备环境&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo -u steam -s&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd /home/steam&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 添加软件源&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo add-apt-repository multiverse&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo dpkg --add-architecture i386&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安装必要组件&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install steamcmd vim -y&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="debian-系统特殊处理"&gt;Debian 系统特殊处理&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install lib32gcc-s1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -xvzf steamcmd_linux.tar.gz&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./steamcmd.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;路径错误解决方案&lt;/strong&gt;&lt;br&gt;&#10;如果出现 &lt;code&gt;steamcmd: command not found&lt;/code&gt; 时执行：&lt;/p&gt;</description></item><item><title>隐私政策</title><link>https://blog.yunzeji.cn/about/privacy-policy/</link><pubDate>Fri, 29 Dec 2023 16:27:37 +0800</pubDate><guid>https://blog.yunzeji.cn/about/privacy-policy/</guid><description>&lt;h2 id="我们是谁"&gt;我们是谁&lt;/h2&gt;&#10;&lt;p&gt;我们的站点地址是：&lt;a href="https://blog.yunzeji.cn"&gt;https://blog.yunzeji.cn&lt;/a&gt;。&lt;/p&gt;&#10;&lt;h2 id="评论"&gt;评论&lt;/h2&gt;&#10;&lt;p&gt;当访客留下评论时，我们会收集评论表单所显示的数据，以及访客的 IP 地址和浏览器的 user agent 字符串，以帮助检查垃圾评论。&lt;/p&gt;&#10;&lt;p&gt;由您的电子邮箱地址所生成的匿名化字符串（又称哈希）可能会被提供给 Gravatar 服务，以确认您是否使用该服务。Gravatar 服务的&lt;a href="https://automattic.com/privacy/"&gt;隐私政策&lt;/a&gt;可供查阅。在您的评论获批准后，您的资料图片将在评论旁公开展示。&lt;/p&gt;&#10;&lt;h2 id="媒体"&gt;媒体&lt;/h2&gt;&#10;&lt;p&gt;如果您向此网站上传图片，应避免上传嵌入地理位置信息（EXIF GPS）的图片。此网站的访客可以下载并提取图片中的位置信息。&lt;/p&gt;&#10;&lt;h2 id="cookies"&gt;Cookies&lt;/h2&gt;&#10;&lt;p&gt;如果您在我们的站点上留下评论，可以选择用 Cookies 保存您的名字、电子邮箱地址和网站地址。这样，您无需在再次评论时重复填写相关内容。这些 Cookies 会保留一年。&lt;/p&gt;&#10;&lt;p&gt;如果您访问我们的登录页，我们会设置一个临时 Cookie，以确认您的浏览器是否接受 Cookies。此 Cookie 不包含个人数据，并会在您关闭浏览器时被丢弃。&lt;/p&gt;&#10;&lt;p&gt;当您登录时，我们还会设置多个 Cookies，以保存您的登录信息和屏幕显示选项。登录 Cookies 会保留两天，屏幕显示选项 Cookies 会保留一年。如果您选择“记住我”，登录状态将保留两周。如果您注销账户，用于登录的 Cookies 将被移除。&lt;/p&gt;&#10;&lt;p&gt;如果您编辑或发布文章，我们会在您的浏览器中保存一个额外的 Cookie。此 Cookie 不包含个人数据，只记录您刚刚编辑的文章 ID，并会保留一天。&lt;/p&gt;&#10;&lt;h2 id="来自其他网站的嵌入内容"&gt;来自其他网站的嵌入内容&lt;/h2&gt;&#10;&lt;p&gt;此站点上的文章可能包含嵌入内容（如视频、图片、文章等）。来自其他站点的嵌入内容，其行为与您直接访问这些站点没有区别。&lt;/p&gt;&#10;&lt;p&gt;这些站点可能会收集您的数据、使用 Cookies、嵌入额外的第三方跟踪程序，并监视您与嵌入内容的交互。如果您拥有这些站点的账户并已登录，它们也可能跟踪这些交互。&lt;/p&gt;&#10;&lt;h2 id="我们与谁共享您的信息"&gt;我们与谁共享您的信息&lt;/h2&gt;&#10;&lt;p&gt;若您请求重置密码，您的 IP 地址将包含在密码重置邮件中。&lt;/p&gt;&#10;&lt;h2 id="我们保留多久您的信息"&gt;我们保留多久您的信息&lt;/h2&gt;&#10;&lt;p&gt;如果您留下评论，评论及其元数据将被无限期保存。这样我们可以识别并自动批准后续评论，而无需将其加入待审队列。&lt;/p&gt;&#10;&lt;p&gt;对于本网站的注册用户，我们也会保存用户在个人资料中提供的信息。所有用户都可以随时查看、编辑或删除自己的个人信息（用户名除外）；站点管理员也可以查看及编辑这些信息。&lt;/p&gt;&#10;&lt;h2 id="您对您的信息有什么权利"&gt;您对您的信息有什么权利&lt;/h2&gt;&#10;&lt;p&gt;如果您拥有此站点的账户或曾经留下评论，可以请求我们提供所持有的您的个人数据导出文件，其中包括您提供给我们的所有数据。您也可以要求我们删除您的所有个人数据，但不包括因管理、法规或安全需要而必须保留的数据。&lt;/p&gt;&#10;&lt;h2 id="您的数据将发送到何处"&gt;您的数据将发送到何处&lt;/h2&gt;&#10;&lt;p&gt;访客评论可能会由自动垃圾评论监测服务检查。&lt;/p&gt;</description></item><item><title>Umami 2.0免费开源网站分析方案使用指南</title><link>https://blog.yunzeji.cn/umami_tutorial/</link><pubDate>Fri, 29 Dec 2023 16:25:10 +0800</pubDate><guid>https://blog.yunzeji.cn/umami_tutorial/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;⚠️ &lt;strong&gt;注意：&lt;/strong&gt; 本篇文章为 &lt;strong&gt;v2.0&lt;/strong&gt; 教程，且使用 &lt;strong&gt;mysql&lt;/strong&gt;，已经&lt;strong&gt;过时&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;🔎 请参考下方链接使用 v3.0 版本。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;从v2.0 mysql升级v3.0请参考 &lt;a href="https://umami.is/docs/guides/migrate-mysql-postgresql"&gt;官方升级教程&lt;/a&gt;，&#10;或&lt;a href="https://blog.yunzeji.cn/umami-v2-to-v3/"&gt;此篇文章&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;v3.0安装教程参考&lt;a href="https://blog.yunzeji.cn/umami-v2-to-v3/"&gt;此篇文章&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;&lt;a href="https://umami.is/docs/about"&gt;Umami&lt;/a&gt;是一个开源的、强调隐私保护的Google Analytics替代工具。umami可以提供强大的网络分析解决方案，不会侵犯用户的隐私。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;注：如果官方网站无法显示，请检查浏览器是否启用了广告拦截或其他相关插件。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h2 id="开始安装umami"&gt;开始安装Umami&lt;/h2&gt;&#10;&lt;h3 id="umami提供了好几种安装方式"&gt;Umami提供了好几种安装方式：&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;从源代码安装&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Docker compose构建&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Docker镜像安装&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;笔者建议选择后面两种方式安装，如果服务器已经安装Docker，那么可以跳过Docker安装部分。&lt;/p&gt;&#10;&lt;h3 id="docker安装"&gt;Docker安装&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start docker&lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt;systemctl enable docker.service&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 国内用户在拉取镜像时可能会遇到网络问题，建议修改镜像源，操作如下：&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vim /etc/docker/daemon.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 在此文件中添加：&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;registry-mirrors&amp;#34;&lt;/span&gt;: &lt;span style="color:#f92672"&gt;[&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://docker.hpcloud.cloud&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://docker.m.daocloud.io&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://docker.unsee.tech&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://docker.1panel.live&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;http://mirrors.ustc.edu.cn&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://docker.chenby.cn&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;http://mirror.azure.cn&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://dockerpull.org&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://dockerhub.icu&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;https://hub.rat.dev&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 使用 :wq 命令保存并退出vim编辑器。若对vim不熟悉，请自行查阅相关资料。&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl restart docker&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装Docker后，Docker Compose也会随之安装。&lt;/p&gt;</description></item><item><title>Umami v2.0 User Guide: Exploring the Free and Open Source Website Analytics Solution</title><link>https://blog.yunzeji.cn/umami-tutorial-en/</link><pubDate>Fri, 29 Dec 2023 16:25:10 +0800</pubDate><guid>https://blog.yunzeji.cn/umami-tutorial-en/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;⚠️ &lt;strong&gt;Note:&lt;/strong&gt; This article is a &lt;strong&gt;v2.0&lt;/strong&gt; tutorial and uses &lt;strong&gt;mysql&lt;/strong&gt;, which is &lt;strong&gt;outdated&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;🔎 Please refer to the link below for the v3.0 version.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;For upgrading from v2.0 mysql to v3.0, please refer to the &lt;a href="https://umami.is/docs/guides/migrate-mysql-postgresql"&gt;official upgrade guide&lt;/a&gt; or &lt;a href="https://blog.yunzeji.cn/umami-v2-to-v3/"&gt;this article&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;For v3.0 installation tutorial, refer to &lt;a href="https://blog.yunzeji.cn/umami-v2-to-v3/"&gt;this article&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;&lt;a href="https://umami.is/docs/about"&gt;Umami&lt;/a&gt; is an open-source, privacy-focused alternative to Google Analytics. Umami provides powerful web analytics solutions without compromising user privacy.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Note: If the official website fails to load, please check whether your browser has ad-blockers or other related plugins enabled.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Umami环境变量</title><link>https://blog.yunzeji.cn/umami_environment_variables/</link><pubDate>Fri, 29 Dec 2023 15:05:08 +0800</pubDate><guid>https://blog.yunzeji.cn/umami_environment_variables/</guid><description>&lt;h2 id="环境变量"&gt;环境变量&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;⚠️ &lt;strong&gt;注意：&lt;/strong&gt; 以下为 v2 版本的环境变量，最新版本为 v3，内容&lt;strong&gt;已过时&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;&lt;em&gt;以下内容翻译自&lt;a href="https://umami.is/docs/environment-variables"&gt;Umami 官网&lt;/a&gt;，翻译时间为2023年11月20日。&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;你可以通过环境变量配置 Umami。这些变量需要与 &lt;code&gt;DATABASE_URL&lt;/code&gt; 一起放置在 &lt;code&gt;.env&lt;/code&gt; 文件中。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="运行时变量"&gt;运行时变量&lt;/h2&gt;&#10;&lt;p&gt;这些变量在 Umami 运行时生效。需在应用程序启动前设置。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;CLOUD_MODE&lt;/code&gt; = 1&lt;br&gt;&#10;禁用用户、团队和网站设置页面。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;CORS_MAX_AGE&lt;/code&gt; = &lt;code&gt;&amp;lt;number&amp;gt;&lt;/code&gt;&lt;br&gt;&#10;CORS 预检请求缓存时间（秒），默认 24 小时。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;disable_bot_check&lt;/code&gt; = 1&lt;br&gt;&#10;禁用机器人检测（默认统计中排除机器人流量）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;disable_login&lt;/code&gt; = 1&lt;br&gt;&#10;禁用登录页面。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;enable_test_console&lt;/code&gt; = 1&lt;br&gt;&#10;启用内部测试页面 &lt;code&gt;{host}/console&lt;/code&gt;（需管理员权限），支持手动发送页面浏览和事件。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;APP_SECRET&lt;/code&gt; = &lt;code&gt;&amp;lt;随机字符串&amp;gt;&lt;/code&gt;&lt;br&gt;&#10;用于生成唯一值的随机密钥。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;CLIENT_IP_HEADER&lt;/code&gt; = &lt;code&gt;&amp;lt;header 名称&amp;gt;&lt;/code&gt;&lt;br&gt;&#10;指定获取客户端 IP 的 HTTP 头字段（适用于代理服务器场景）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;COLLECT_API_ENDPOINT&lt;/code&gt; = &lt;code&gt;&amp;lt;API 端点&amp;gt;&lt;/code&gt;&lt;br&gt;&#10;自定义指标上报端点（默认 &lt;code&gt;/api/send&lt;/code&gt;），用于规避广告拦截器。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;DATABASE_URL&lt;/code&gt; = &lt;code&gt;&amp;lt;连接字符串&amp;gt;&lt;/code&gt;&lt;br&gt;&#10;&lt;strong&gt;必填&lt;/strong&gt; 数据库连接字符串。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;code&gt;DEBUG&lt;/code&gt; = &lt;code&gt;&amp;lt;调试值&amp;gt;&lt;/code&gt;&lt;br&gt;&#10;启用特定模块的调试日志，可选值：&lt;br&gt;&#10;&lt;code&gt;umami:auth&lt;/code&gt; | &lt;code&gt;umami:clickhouse&lt;/code&gt; | &lt;code&gt;umami:kafka&lt;/code&gt; | &lt;code&gt;umami:middleware&lt;/code&gt; | &lt;code&gt;umami:prisma&lt;/code&gt;&lt;/p&gt;</description></item><item><title>朋友们</title><link>https://blog.yunzeji.cn/links/</link><pubDate>Fri, 17 Nov 2023 20:16:41 +0800</pubDate><guid>https://blog.yunzeji.cn/links/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;⚠️ &lt;strong&gt;申请友链需要您的站点满足以下条件：&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;文章数量大于 5 篇&lt;/li&gt;&#10;&lt;li&gt;建站历史超过半年&lt;/li&gt;&#10;&lt;li&gt;使用纯 HTTPS 链接且不带端口&lt;/li&gt;&#10;&lt;li&gt;无纠纷&lt;/li&gt;&#10;&lt;li&gt;无违反中华人民共和国相关法律的内容&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;/blockquote&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;★ Name: 云泽记&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;★ Bio: 秉烛夜游！&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;★ URL: https://blog.yunzeji.cn/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;★ Avatar: https://blog.yunzeji.cn/images/wordpress/1730874428-1730874428-yuancat.png&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以下排名不分先后！&lt;/p&gt;</description></item><item><title>Website Monitoring: A Complete Guide to Deploying Uptime Kuma with Docker</title><link>https://blog.yunzeji.cn/uptime-kuma-en/</link><pubDate>Wed, 11 Oct 2023 22:44:10 +0800</pubDate><guid>https://blog.yunzeji.cn/uptime-kuma-en/</guid><description>&lt;p&gt;Uptime Kuma is an easy-to-use self-hosted monitoring tool.&lt;/p&gt;&#10;&lt;h2 id="features"&gt;Features&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Monitor uptime for HTTP/TCP, HTTP(s) keywords, HTTP(s) JSON queries, Ping, DNS records, Push, Steam game servers, Docker containers.&lt;/li&gt;&#10;&lt;li&gt;Fancy, responsive, and fast UI/UX.&lt;/li&gt;&#10;&lt;li&gt;Notifications via &lt;a href="w"&gt;Discord&lt;/a&gt;, &lt;a href="w"&gt;Gotify&lt;/a&gt;, &lt;a href="w"&gt;Slack&lt;/a&gt;, &lt;a href="w"&gt;Pushover&lt;/a&gt;, email (SMTP), and 90+ notification services. &lt;a href="https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications"&gt;Click here for more&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Multiple language support.&lt;/li&gt;&#10;&lt;li&gt;Multiple status pages.&lt;/li&gt;&#10;&lt;li&gt;Supports 2FA authentication.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-how-to-install"&gt;🔧 How to Install&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d --restart&lt;span style="color:#f92672"&gt;=&lt;/span&gt;always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="-how-to-update"&gt;🔧 How to Update&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull louislam/uptime-kuma:1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker stop uptime-kuma&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker rm uptime-kuma&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Default&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d --restart&lt;span style="color:#f92672"&gt;=&lt;/span&gt;always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# If you&amp;#39;re not using the default command&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# docker run -d --restart=always -p &amp;lt;YOUR PORT&amp;gt;:3001 -v &amp;lt;YOUR VOLUME&amp;gt;:/app/data --name uptime-kuma louislam/uptime-kuma:1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="software-images"&gt;Software Images&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Homepage&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>网站监控：使用Docker部署Uptime Kuma的完整指南</title><link>https://blog.yunzeji.cn/uptime-kuma/</link><pubDate>Wed, 11 Oct 2023 22:44:10 +0800</pubDate><guid>https://blog.yunzeji.cn/uptime-kuma/</guid><description>&lt;p&gt;Uptime Kuma是一个易于使用的自托管监控工具。&lt;/p&gt;&#10;&lt;h2 id="特点"&gt;特点&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;监控 HTTP/TCP / HTTP（s） 关键字 / HTTP（s） Json 查询 / Ping / DNS 记录 / 推送 / Steam 游戏服务器 / Docker 容器的正常运行时间。&lt;/li&gt;&#10;&lt;li&gt;花哨的、反应式的、快速的 UI/UX。&lt;/li&gt;&#10;&lt;li&gt;通过&lt;a href="w"&gt;Discord&lt;/a&gt;，&lt;a href="w"&gt;Gotify&lt;/a&gt;，&lt;a href="w"&gt;Slack&lt;/a&gt;，&lt;a href="w"&gt;Pushover&lt;/a&gt;，电子邮件（SMTP）和90 +通知服务的通知。&lt;a href="https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications"&gt;点击此处了解更多&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;提供多种语言。&lt;/li&gt;&#10;&lt;li&gt;提供多个状态页。&lt;/li&gt;&#10;&lt;li&gt;支持2FA认证。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-如何安装"&gt;🔧 如何安装&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d --restart&lt;span style="color:#f92672"&gt;=&lt;/span&gt;always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="-如何更新"&gt;🔧 如何更新&lt;/h2&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull louislam/uptime-kuma:1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker stop uptime-kuma&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker rm uptime-kuma&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 默认&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d --restart&lt;span style="color:#f92672"&gt;=&lt;/span&gt;always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 如果你没有使用默认命令&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# docker run -d --restart=always -p &amp;lt;YOUR PORT&amp;gt;:3001 -v &amp;lt;YOUR VOLUME&amp;gt;:/app/data --name uptime-kuma louislam/uptime-kuma:1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="软件图片"&gt;软件图片&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;首页&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>关于</title><link>https://blog.yunzeji.cn/about/</link><pubDate>Mon, 11 Sep 2023 18:45:25 +0800</pubDate><guid>https://blog.yunzeji.cn/about/</guid><description>&lt;h2 id="关于本站"&gt;关于本站&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;2026/9/26 网站更换为hugo&lt;/li&gt;&#10;&lt;li&gt;2024/9/26 网站更换主域名&lt;/li&gt;&#10;&lt;li&gt;2023/9/10 网站发布第一篇文章，并启用主题 Sakurairo&lt;/li&gt;&#10;&lt;li&gt;2023/9/10 网站正式启用&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;To be continue&amp;hellip;&lt;/p&gt;&#10;&lt;h2 id="关于我"&gt;关于我&lt;/h2&gt;&#10;&lt;p&gt;这个网站用来记录一下我常用教程，分享一些好用的工具。&lt;/p&gt;&#10;&lt;p&gt;出于兴趣学习了 Python、HTML、CSS、Vue。&lt;/p&gt;&#10;&lt;p&gt;感谢我的朋友们对我的帮助。&lt;/p&gt;&#10;&lt;h2 id="联系我"&gt;联系我&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="mailto:yunze@yunzeji.cn"&gt;yunze@yunzeji.cn&lt;/a&gt;&lt;/p&gt;</description></item><item><title>时光轴</title><link>https://blog.yunzeji.cn/timeline/</link><pubDate>Mon, 11 Sep 2023 18:37:44 +0800</pubDate><guid>https://blog.yunzeji.cn/timeline/</guid><description/></item><item><title>免责声明</title><link>https://blog.yunzeji.cn/disclaimer/</link><pubDate>Sat, 09 Sep 2023 20:28:58 +0800</pubDate><guid>https://blog.yunzeji.cn/disclaimer/</guid><description>&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;云泽记（下文简称“本站”）提供的所有内容仅供学习、交流和分享，只供参考。未经本站许可，请勿使用本站资源。如需转载，请署名并注明出处，务必以文字链接形式标明或保留文章原始出处和作者信息。转载本站原创文章、资源、图片等内容，即表示您已接受上述声明，并自行承担一切风险与责任。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;本站的所有留言、评论，以及转载或引用的文章，均为原作者个人观点，与本站观点及立场无关。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;本站页面可能包含为浏览者提供便利的第三方链接（包括引用链接）或广告。这些链接或广告内容不代表本站观点。点击后可能离开本站并进入第三方站点，本站不对第三方站点带来的任何风险负责。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;本站部分内容来源于网络和媒体，包括文章、源码、软件、资源附件等，可能出于个人整理收藏、会员分享、信息普及或引用点评等目的，在原作者默许或相关网络版权协议允许的情况下转载或引用，并会尽可能注明出处、作者及相关链接。部分内容来自搜索引擎，可能难以准确核实原始出处，本站会将其标记为来源于网络并尽可能列出参考来源。本站尊重原作者成果；若本站内容侵犯您的合法权益，或您对转载内容有异议，请提供有效身份证明及详细资料，通过邮件联系我们。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;本站不完全保证所有内容的完整性、准确性和及时性。如因 Internet 线路、恶意群发、黑客入侵或其他不可抗力造成问题，本站不对您或任何第三方承担责任。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;strong&gt;以上声明内容的最终解释权归云泽记 yunzeji.cn 所有。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="mailto:yunze@yunzeji.cn"&gt;yunze@yunzeji.cn&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>