不二云端 - 常用脚本 https://2sv.cn/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/ zh-CN Tue, 05 Aug 2025 16:31:08 +0800 Tue, 05 Aug 2025 16:31:08 +0800 WordPress 存储库的替代品来了:FAIR 包管理器——它到底是什么? https://2sv.cn/archives/278/ https://2sv.cn/archives/278/ Tue, 05 Aug 2025 16:31:08 +0800 Eleven AI摘要:FAIR包管理器是由WordPress长期贡献者发起、Linux基金会支持的一个独立、去中心化的插件和主题存储库,旨在应对WordPress.org控制问题。FAIR允许开发者创建安全的插件分发平台,并为企业提供供应链安全和合规性优势。虽然其技术挑战较大,尤其是在安全性和操作复杂性方面,WordPress创始人Matt Mullenweg对其持谨慎态度,但FAIR的出现标志着WordPress治理模式的潜在转变。

Powered by AISummary.

最大的公告来自对 WordPress.org 主题和插件生态系统的外部威胁。这个威胁就是 FAIR 软件包管理器——一个由 WordPress 长期贡献者发起、Linux 基金会支持的项目。
请输入图片描述
那么,让我们来聊聊 FAIR 究竟是什么,它目前的样子,以及更重要的是,你应该使用它吗?最后,我们再来看看 WordPress 联合创始人 Matt Mullenweg 对此的看法。

FAIR 的起源和目的

FAIR 这个缩写并非巧合,它的完整名称——“可信插件和主题的联合独立存储库”——也并非巧合。它是对去年 #wpdrama事件后果的直接回应,尤其是 10 月份Automattic 在生态系统中控制了 WP Engine 的 ACF 插件 slug事件。

正如企业机构 Crowd Favorite 首席执行官兼该项目发起人之一 Karim Marucchi 所解释的那样:

我清楚地记得那些电话。来自不同大企业的多位首席法律顾问在电话里直截了当地问我:‘Karim,如果一个人可以单方面做出危及我们供应链的改变,而且没有任何明显的制衡措施,我们为什么要信任 WordPress?’ ”

卡里姆并非唯一一个听到有人担忧开源 WordPress 项目“治理问题”的人。还有很多人呼吁建立一个公平、不集权的替代方案。

因此,FAIR 诞生了——联合且独立——或者换句话说,非集中式。

该项目历经六个月的合作,由来自十多个组织的一百多位贡献者共同完成。为了确保治理的中立性,该团队与Linux基金会进行了接洽。该组织也负责监管Linux和Kubernetes等重要的开源项目。此外,三位德高望重的WordPress资深人士被任命领导技术指导委员会:Carrie Dils、Mika Epstein和Ryan McCue(WordPress REST API的创建者)。

如果 FAIR 最终被广泛采用,它可能会挑战 Automattic 首席执行官 Matt Mullenweg 自 WordPress 创立以来对它的控制。因此,WordPress 社区的许多人将此视为 WordPress 历史时间线上的一个潜在分叉。

尽管如此——这一点需要强调——从技术角度来看,FAIR 并非 WordPress 的分支。它仍然是 100% 的 WordPress。它只是消除了对 WordPress.org 插件和主题的依赖。FAIR 的意义远不止于此,但这才是重点。

WordPress 切换到 FAIR 的两个选项
截至撰写本文时,WordPress 可通过两种方式使用 FAIR:

作为插件

作为一个完整的 WordPress 安装,捆绑了 FAIR 插件(预安装)
WordPress 完整安装主要面向为新客户提供 WordPress 安装选项的托管公司。大多数现有 WordPress 网站的用户可以像其他插件一样直接下载并安装该插件。

使用 FAIR

要尝试 FAIR 插件,您需要做的第一件事就是前往其GitHub 发布页面并下载它:
请输入图片描述
然后,在 WordPress 仪表盘中,前往插件→添加插件→选择文件。在硬盘上找到fair-plugin-0.2.0.zip (请直接使用最新版本)。然后点击立即安装,然后点击激活插件:
请输入图片描述
成功激活插件后,您会注意到左侧边栏中有一个新的 FAIR 设置菜单选项:
请输入图片描述

目前实际上只有一个功能——可以覆盖强制使用 Gravatar设置用户头像的默认设置。该功能默认启用(标题为“FAIR Avatars”)。但是,如果您出于某种原因更喜欢使用 Gravatar,可以随时恢复使用。

除此之外,您还会注意到屏幕右下角有一条微妙但重要的信息:Updates served from the FAIR Package Manager and AspirePress.

相同的消息将显示在 WordPress 管理仪表板的其他区域 – 例如插件和主题页面。

这只是让您知道 FAIR 正在运行,并且您主题和插件的任何未来更新都不会来自 WordPress.org。而是来自 FAIR 和 AspirePress。

如果你好奇的话,AspirePress 是另一个与 FAIR 有着相似目标和价值观的开源项目。根据一位直接参与 FAIR 构建的人在 Reddit 上的帖子,Aspire 团队也参与了这个过程。在 FAIR 发布他们的插件的第二天,Aspire 也发布了他们自己的类似插件。所以看起来这两个项目正在协同工作。

有什么激励?

如果你不是开发人员或 WordPress 高级用户,你可能会想——我为什么要安装这个?这是一个合理的问题。

对于普通用户来说,选择采用 FAIR 更多的是出于意识形态而非实用性考虑。该插件不会显著改变您日常使用 WordPress 的方式。但是,如果您关心 WordPress,并且相信转向更去中心化的系统是有益的,那么安装该插件来表达您的支持并不会损害您的网站。

对于开发者来说,激励机制会更加强大,因为它们会以积极的方式影响插件的分发。这是因为 FAIR 允许开发者将免费版和付费版插件捆绑到一个加密签名的软件包中。这可以简化用户体验,并创造新的商业模式。

对于企业和托管公司而言,FAIR 解决了供应链安全、法规遵从性和风险管理等关键业务问题:

组织可以在防火墙后运行 FAIR,从而完全控制可访问的插件和主题。
FAIR 与 GDPR 以及《网络弹性法案》等即将出台的法规更加一致。
它减少了关键业务基础设施中的单点故障。
该系统还引入了代码签名和改进的加密安全措施。这些都是企业客户一直要求的附加功能。

这一切听起来很美好,但也有一些反面观点需要考虑。WordPress 联合创始人马特·穆伦维格 (Matt Mullenweg) 在 WordCamp Europe 的演讲中迅速指出了这些反面观点。

Matt 对 FAIR 的反应

FAIR 发布仅几小时后,Matt Mullenweg 与 WordPress 执行董事 Mary Hubbard 进行了“炉边谈话”,并直接被问及与该项目的潜在合作。他的回答既展现了外交上的开放态度,也体现了重大的技术担忧。

“当然,我们会考虑所有因素,”穆伦维格说,“但即使如你所说,我认为也存在很多挑战。”

他主要关注的几个关键领域:

安全性:虽然 FAIR 旨在提高安全性,但穆伦维格认为这可能会带来新的漏洞。“目前,供应链攻击需要攻破 WordPress.org,而该网站从未被黑客入侵过,”他指出。“但现在突然之间,就有 N 个地方可能被攻破。”
运营复杂性:他强调的挑战包括多个镜像可能存在正常运行时间问题、难以实施分阶段推出(例如首先与 5% 的用户测试更新)以及失去为 PHP 版本和数据库支持决策提供信息的集中式分析。
信任和质量控制:Mullenweg 认为,用户不一定要求提供更多的下载位置,而是要求提供信任指标:“我怎么知道这是值得信赖的?我怎么知道这些评论是真实的?谁在审核?谁在检查这些不同评论的 IP?插件评级是多少?兼容性如何?”
执行问题:他质疑如何在分布式系统中执行现有政策,例如对管理员横幅的限制。
尽管如此,穆伦维格也承认了积极的一面:“我认为大家能够互相传递代码,而不是仅仅争论、聊天或写博客文章,这真是太棒了。”他进一步强调,在做出任何合作承诺之前,他希望先审查代码,并仔细考虑了该项目可能采取的方向。

在我看来,考虑到他处理公告的时间很短,我觉得这是一个很好的回应。他提出的观点也很合理——虽然是双关语。

更大的图景

FAIR 项目是自该平台创建以来对 WordPress 基础设施进行去中心化最重要的尝试,其影响可能是深远的。

它能否获得广泛采用还有待观察。然而,它的存在本身——由Linux基金会支持,并由受人尊敬的社区人物开发——标志着生态系统对治理、控制以及支撑43.5%网络的平台未来发展的看法发生了转变。

Mullenweg 提出的技术挑战也是切实存在的,并非仅仅是一些转折点。他们需要解决方案。另一方面,促使 FAIR 成立的治理和供应链安全问题也同样重要。这些相互竞争的优先事项如何相互影响,很可能决定 WordPress 未来十年的未来。

你觉得 FAIR 怎么样?你会在你的 WordPress 网站上安装这个插件吗?

]]>
0 https://2sv.cn/archives/278/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
HTTP常见的状态码详解 https://2sv.cn/archives/274/ https://2sv.cn/archives/274/ Fri, 01 Aug 2025 17:44:46 +0800 Eleven AI摘要:HTTP状态码分为五类:1xx(提示信息)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。每类状态码代表不同的请求处理结果。例如,200表示成功处理,404表示资源未找到,500表示服务器内部错误。状态码帮助客户端和服务器沟通,指示请求的处理状态以及后续操作。

Powered by AISummary.

请输入图片描述

状态码

目前 RFC 标准里规定的状态码是三位数,所以取值范围就是从 000 到 999。但如果把代码简单地从 000 开始顺序编下去就显得有点太“low”,不灵活、不利于扩展,所以状态码也被设计成有一定的格式。

RFC 标准把状态码分成了五类,用数字的第一位表示分类,而 0~99 不用,这样状态码的实际可用范围就大大缩小了,由 000~999 变成了 100~599。

这五类的具体含义是:

1××:提示信息,表示目前是协议处理的中间状态,还需要后续的操作;
2××:成功,报文已经收到并被正确处理;
3××:重定向,资源位置发生变动,需要客户端重新发送请求;
4××:客户端错误,请求报文有误,服务器无法处理;
5××:服务器错误,服务器在处理请求时内部发生了错误。

在 HTTP 协议中,正确理解和应用状态码并非客户端或服务器一方的单方面责任,而是双方共同的责任。

客户端作为请求的发起者,接收服务器返回的响应报文后,需要通过状态码来判断请求是否被正确处理。如果请求成功,客户端可以继续后续操作;如果请求失败,则需要根据状态码的具体含义,判断是否需要再次发送请求,或进行相应的错误处理。例如,如果状态码为 404,则表示请求的资源不存在,客户端需要重新检查请求地址或采取其他措施。

服务器端作为请求的接收者,也应该合理运用状态码,向客户端清晰地传达处理结果,并指示客户端下一步应该采取的行动。在处理请求时,服务器应该选择最恰当的状态码来回复客户端,避免使用过于笼统的状态码,例如 400 或 500,这些状态码的含义过于模糊,无法为客户端提供足够的信息。

1xx类

1xx 类状态码属于提示信息,协议处理的中间状态

101(切换协议):请求者已要求服务器切换协议,服务器已确认并准备切换。它的意思是客户端使用 Upgrade 头字段,要求在 HTTP 协议的基础上改成其他的协议继续通信,比如 WebSocket。而如果服务器也同意变更协议,就会发生状态码 101,但这之后的数据传输就不会再使用 HTTP 了。

2xx类

2xx类表示服务器成功处理了客户端的请求

200(成功) : 最常见的成功状态码,表示一切正常,服务器如客户端所期待的返回了处理结果,如果不是 HEAD 请求,通常在响应头后都会有 body 数据
201(已创建):请求成功并且服务器创建了新的资源
202(已接受):服务器已接受请求,但尚未处理
203(非授权信息):服务器已经成功处理了请求,但返回的信息可能来自于另一个来源
204(无内容):另一个常见的成功状态码,服务器成功处理了请求,但没有返回任何内容,也就是响应头后没有 body 数据
206(部分内容):服务器成功处理了部分 GET 请求,服务器返回的 body 数据是资源的一部分

3xx类

3xx类 状态码表示客户端请求的资源的路径发生了转变,需要客户端用新的 URL 来获取资源,也就是重定向

301(永久重定向):请求的资源已经永久移动到了新的位置。值得注意的是严格来讲这种重定向并不是服务器跳转,而是客户端跳转,“跳”的动作实际上客户端根据服务器返回的状态码 301 后完成跳转的
302(临时重定向):说明请求路径的资源还在,但暂时需要另一个 URL 来访问
304(未修改):说明自从上次请求后,请求的网页未修改过,服务器返回此响应时,不会返回网页内容,而是重定向到客户端本地浏览器的缓存资源中

重定向301 和 302 的区别?
重定向301是永久重定向,客户端收到301状态码后,会记忆重定向后的新URL,这样下一次访问的时候,就不会再访问旧的URL,而是直接访问新的URL

重定向302是临时重定向,客户端收到302状态码后,不会记录重定向后的新URL,这样下一次访问的时候,还需要访问旧的URL,再重定向到新URL

4xx类

4xx类 转态码表示客户端发送的请求报文错误

400(错误请求):表示请求报文错误,但具体是数据格式错误、请求头缺少还是 URI 长度过大没有明确说,只是一个笼统的错误,客户端看到 400 只会是“一头雾水”
401(未授权):请求要求身份验证,对于需要登录的网页,服务器可能返回此响应
403(禁止):服务器拒绝请求,没有权限去访问服务器的资源或者请求的 IP 地址被封掉了
404(未找到)代表服务器上没有该资源,或者说服务器找不到客户端请求的资源,是最常见的请求错误码

5xx类

5xx类 状态码表示客户端请求报文正确,但是服务器处理时内部发生了错误,属于服务器端的错误码

500(服务器内部错误):代表服务器程序错误,也就是说请求的网页程序本身报错了。在服务器端的网页程序出错。由于现在的浏览器都会对 500 做一定的处理,所以在一般情况下会返回一个定制的错误页面
501(尚未实施):服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码
502(错误网关):通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误
503(服务不可用):表示服务器当前无法使用(超载或者停机维护),我们上网时遇到的“网络服务正忙,请稍后重试”的提示信息就是状态码 503
504(网关超时):服务器作为网关或者代理,但是没有及时从上游服务器收到请求。
]]>
0 https://2sv.cn/archives/274/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
腾讯网页视频下载mp4格式到本地 https://2sv.cn/archives/271/ https://2sv.cn/archives/271/ Thu, 31 Jul 2025 17:50:37 +0800 Eleven AI摘要:这篇文章介绍了如何下载腾讯视频并将其保存为MP4格式,以便在PPT中使用。方法是通过创建一个HTML文件,粘贴特定代码,并按照提示操作。用户需要从视频中提取“vid”并输入代码框,点击“获取下载地址”按钮获取视频下载链接,之后可以通过浏览器下载视频到本地。该方法经过测试,仅适用于腾讯视频。

Powered by AISummary.

今天我要从腾讯网上弄个视频,放在 PPT 中讲课使用,我最先想到的方式是把链接放 PPT 文档中,讲课时点击链接打开即可,可我在试讲的时候,发现每次点击链接打开视频都要播放一段 30 秒的广告,不是会员不能跳过,然后页面还充斥着很多广告;其次,如果到时候讲课的环境没有网络的话,不就无法演示了吗?
想到这里,我觉得还是要把视频下载下来比较好,放在本地,可以直接插入到 PPT 中,然后我就想怎么才能下载下来,首先就是在页面鼠标右键,去看页面代码查找,发现没找到;然后就是去找猴油脚本,又遇到墙的问题;最后不得已下载了腾讯的客户端,一顿操作终于下载了,然后又卸载了腾讯视频客户端。为了一个视频折腾一顿,真心没必要,有没有简单好用的方法呢?
经过多次测试比较,我发现了这个,还是很实用的,后面我打算做个视频教程。
请输入图片描述

使用方法

在电脑本地建立一个 HTML 格式文件,复制下面代码到文件里,双击打开文件,按页面提示操作即可。

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta author="kevy tian">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <title> 腾讯视频下载 </title>
    <style>
        #res {
            display: inline-block;
            width: 500px;
            height: 30px;
            font-size: 14px;
            line-height: 30px;
            padding: 0;
        }
 
        .container {padding-top: 50px;}
 
        #isVid {
            display: inline-block;
            width: 120px;
            height: 30px;
            font-size: 14px;
            line-height: 30px;
        }
 
        #download {
            display: inline-block;
            width: 100px;
            height: 30px;
            font-size: 14px;
            line-height: 25px;
            text-align: center;
            padding: 0;
            margin-bottom: 4px;
        }
    </style>
</head>
<body>
<div class="container">
    <p> 首先在视频上 <b> 点击播放视频 --> 鼠标右键 --> 视频信息 --> 复制 --> 粘贴到文本编辑器 --> 复制 vid 前半部分 </b>,然后将复制的 vid 粘贴到下方输入框:</p>
    <div>
        <select id="isVid" disabled>
            <option style="display:none" value="1"> 视频页面地址 </option>
            <option value="2" selected> 视频 vid</option>
        </select>
        <input id="res" type="text" placeholder="请输入视频 vid"/>
        <button id="download" class="btn btn-large btn-primary" type="button"> 获取下载地址 </button>
    </div>
    <p style="width:100%;padding:20px;word-wrap:break-word;" id="result"></p>
</div>
<script type="text/javascript">
    
    var downloadUrl = "";
    var link = "";
    var isVid = "";
    var vids = "";
    $("#download").click(function () {link = $("#res").val();
        isVid = $("#isVid").val();
        if (isVid == "1") {if (checkUrl(link)) {vids = getVids(link);
                process()}
            else {alert("视频链接不正确");
            }
        }
        else {
            vids = link;
            if (vids != "") {process();
            }
        }
    });
    function checkUrl(url) {var reg = /(http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?/;
        if (url != ""&& reg.test(url) && url.indexOf("page/") != -1 && url.indexOf(".html") != -1) {return true;}
        return false;
    }
    function getVids(url) {url = url.split(".html")[0].split("/");
        return url[url.length - 1];
    }
    function process() {var bqApi = "http://vv.video.qq.com/getinfo?vids={vids}&platform=101001&charge=0&otype=json&defn=shd";
        bqApi = bqApi.replaceAll("{vids}", vids);
        var api1Json = {};
        $.ajax({
                type: "get",
                url: bqApi,
                dataType: "jsonp",
                jsonpCallback: "cb",
                success: function (data) {
                    api1Json = data;
                    downloadUrl = api1Json.vl.vi[0].ul.ui[0].url + api1Json.vl.vi[0].fn + "?vkey=" + api1Json.vl.vi[0].fvkey;
                    $("#result").html("<span style='font-weight:bold;font-size:20px;'> 下载方式:</span><br/> 方式一:" + "<a target='_blank'href='" + downloadUrl + "'> 点击此处 </a> 打开视频,在视频上右键另存为保存到本地。<br /> 方式二:如果您的浏览器比较新,直接 <a href='javascript:void(0)'onclick='dw(""+ downloadUrl +"")'> 点击此处 </a> 下载视频。");
                }
            });
    }
    function dw(url) {
        try{fetch(url).then(res => res.blob().then(blob => {var a = document.createElement('a');
                var url = window.URL.createObjectURL(blob);
                a.href = url;
                a.download = "kevy-download";
                a.click();
                window.URL.revokeObjectURL(url);
            }));
        }
        catch(err){alert("您的浏览器不支持该方式,请使用方式一");
        }
        
    }
</script>
 
</body>
</html>

注意事项

本人亲测目前仅支持腾讯视频。

]]>
0 https://2sv.cn/archives/271/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
Kangle一键脚本 https://2sv.cn/archives/270/ https://2sv.cn/archives/270/ Thu, 31 Jul 2025 17:48:00 +0800 Eleven AI摘要:Kangle一键脚本是一个集成Kangle、Easypanel、MySQL、PHP的Linux脚本,支持多版本PHP与MySQL的安装。它提供国内外下载节点、CDN专用安装模式,并优化了Easypanel面板。脚本可自定义安装参数,如数据库密码和错误页面,还支持工具箱功能,如更换Yum源、DNS和清理垃圾。Easypanel优化包括SSL设置、PHP版本切换、IP白名单等。支持多种Linux系统,推荐CentOS 7。

Powered by AISummary.

脚本简介

彩虹 Kangle 一键脚本,是一款可以一键安装 Kangle+Easypanel+MySQL+PHP 集合的 Linux 脚本。脚本本身集成:PHP5.3~8.2、MYSQL5.6~8.0,支持极速安装和编译安装 2 种模式,支持 CDN 专属安装模式。同时也对 Easypanel 面板进行了大量优化。

脚本特点

有国内和国外 2 个文件下载节点,提升安装速度
自带 Kangle 商业版最新版本免费使用
支持 EP 前台自由切换 PHP5.3-8.2
安装前可选 MySQL5.6、5.7、8.0 版本
预先设置各 PHP 版本 PHP.ini 安全问题
安装前可自定义数据库密码,避免安装完成后再设置的麻烦
支持自定义 403.404.503.504 等错误页面
脚本中可切换其它几套 EP 用户后台模板
脚本中集成 Linux 工具箱,可一键更换 Yum 源、更换 DNS、设置 Swap、同步时间、清理垃圾等
修改 kangle 二进制文件以提升错误页加载速度

EP 基于原版的优化内容:

0.EP 源码全解密并升级 smarty 框架
1.SSL 证书可同步到 cdn 节点
2.SSL 配置页面新增 ”HTTP 跳转到 HTTPS” 选项
3.SSL 配置页面新增 ” 开启 HTTP2″ 选项
4.CDN 可以给单个域名设置 SSL 证书

  1. 增加独立的 PHP 版本切换页面
    6.EP 管理员后台增加选项:默认 PHP 版本、允许域名泛绑定
  2. 修复带有空格的文件名无法解压和重命名的问题
    9.CDN 绑定域名可以自定义回源协议,增加 tcp 四层转发
  3. 优化防 CC 设置页面,支持设置 IP 和 URL 白名单
  4. 清除缓存页面支持批量清除
  5. 支持设置 URL 黑名单
  6. 绑定域名页面新增编辑按钮
  7. EP 升级方法:脚本主菜单选择单独安装 / 更新组件,然后选择更新 Easypanel

支持的系统:

CentOS 7(推荐)
CentOS 8
CentOS Stream 8
Rocky Linux 8
AlmaLinux 8
OpenCloudOS 8
CentOS 6(不支持安装 PHP7.4 及以上版本)

安装方式:

请复制以下指令到 ssh 连接软件粘贴执行

yum -y install wget;wget http://kangle.cccyun.cn/start;sh start
]]>
0 https://2sv.cn/archives/270/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
FluentSMTP:为 WordPress 配置多个SMTP发送服务器 https://2sv.cn/archives/258/ https://2sv.cn/archives/258/ Sat, 26 Jul 2025 17:08:37 +0800 Eleven AI摘要:FluentSMTP 是一款强大的 WordPress 插件,支持配置多个 SMTP 服务器以提高电子邮件的送达率和可靠性。与 WordPress 默认的 wp_mail() 函数相比,FluentSMTP 使用外部优化的 SMTP 服务器,减少垃圾邮件风险,提升邮件传递率。其独特的多个 SMTP 连接功能让用户可分别使用不同的服务器发送交易和营销邮件,支持超过10种主流SMTP服务,且完全免费,界面简洁无广告。

Powered by AISummary.

FluentSMTP 是功能强大且完全免费的 SMTP 插件,独家支持为 WordPress 配置多个SMTP发送服务器,是最好用的 WordPress SMTP 插件!
大家都知道,WordPress 网站每天都会发送很多电子邮件,比如发送注册通知、更新提醒、密码重置回复等电子邮件。如果是一个商城类型的网站,还会发送用户通知、订单通知和订阅提醒等邮件。

那么,这些邮件是如何发送的?

其实,WordPress 有一个默认的 PHP 邮件配置 —— wp_mail(),WordPress 网站通过这个函数发送所有电子邮件。但是,wp_mail() 默认需要服务器的25端口发送服务,而主机商通常都关闭了25端口,并且通过 wp_mail() 函数发送的大多数电子邮件最终都会进入垃圾邮件文件夹。这正是 SMTP 插件发挥作用的地方!

为什么要使用 SMTP 发送邮件?

通过优质的 SMTP 服务器发送邮件,可以尽可能提高邮件的可信度和送达率,减少邮件进入垃圾箱的可能。

SMTP 代表简单邮件传输协议,是电子邮件服务器将邮件从一个邮件客户端传输到另一个邮件客户端的协议。在解释 SMTP 插件之前,我们先了解一下 wp_mail() 函数。

wp_mail() 是 WordPress 的默认 PHP 邮件函数,用于发送电子邮件。这也意味着 WordPress 正在使用您的托管服务器发送电子邮件。在这种情况下,您的电子邮件大部分都会被归为垃圾邮件,因为托管服务器并未针对电子邮件进行优化。

此外,将托管空间用于电子邮件也是不明智的。您的受众期望网站快速响应,而使用托管发送 PHP 电子邮件可能会耗尽托管资源。因此,我们建议您使用额外的 SMTP 服务器。

由于 SMTP 服务器针对电子邮件进行了优化,因此您的电子邮件大部分都会进入用户的收件箱。为了在 WordPress 上使用外部 SMTP 服务器,您需要使用 SMTP 插件。

为什么要使用 WordPress SMTP 插件?
SMTP 插件可以告诉 WordPress 使用外部 SMTP 服务器(如 Amazon SES、MailGun、SendGrid、SendinBlue 等)来发送电子邮件。如果您拥有包含电子邮件托管的专用服务器,则可以使用 SMTP 插件轻松配置托管的 SMTP。

SMTP 插件很有用,原因如下:

使用 WordPress 的默认邮件功能本质上是使用您的托管服务器发送电子邮件。SMTP 插件利用将电子邮件发送到外部 SMTP 服务器的任务,这样电子邮件就不会影响您网站的优化或速度。
外部电子邮件服务已针对电子邮件进行了全面优化。这意味着您可以使用 SMTP 服务器发送大量电子邮件。
如果您计划在 WordPress 中进行电子邮件营销或其他涉及大量电子邮件的任务,则除了使用 SMTP 插件外别无选择。SMTP 插件可以强制 WordPress 使用外部 SMTP 服务器。
您肯定不希望自己的邮件被归入用户的垃圾邮件文件夹。这会损害您网站和企业的声誉。SMTP 服务器在传递率方面付出了巨大努力。通过 SMTP 插件使用外部 SMTP,您可以确保更高的电子邮件传递率。
除了确保更高的送达率外,外部 SMTP 服务器还允许您以较低的成本发送电子邮件,并提供免费计划。例如,Mailgun 的免费套餐允许完全免费发送 5000 封电子邮件。
总而言之,电子邮件应该通过 SMTP 服务器发送,而不是通过 wp_mail() PHP 函数发送。SMTP 插件可以帮助您指示 WordPress 通过您的 SMTP 服务器发送电子邮件,这就是我们需要使用 SMTP 插件的原因。

推荐使用 FluentSMTP 插件

请输入图片描述

虽然市面上有很多 SMTP 插件,但是作为一个资深的 WordPress 用户,我强烈推荐 FluentSMTP 插件!因为 FluentSMTP 插件真的很优秀。

发送任意数量的电子邮件

FluentSMTP 可以使用您的 SMTP 服务器发送任意数量的电子邮件。无论您的电子邮件列表有多大,FluentSMTP 都会帮助您通过您配置的 SMTP 服务器将电子邮件发送到用户的收件箱。

多个 SMTP 连接(独家功能)

FluentSMTP 可让您同时拥有多个 SMTP 服务器连接。如果您使用 WordPress 网站发送营销和交易电子邮件,这将非常有用。

为什么?

交易电子邮件和营销电子邮件的目的不同。无论你使用的 SMTP 服务器质量如何,表单提交确认大多会进入用户的收件箱。但是,营销 SMTP 服务器的成本更高,因为它们可以确保更高的传递率

使用昂贵的 SMTP 连接来发送简单的交易电子邮件可能没有什么效果。因此,能够使用两个不同的连接是一项非常独特的功能。

没有其他 SMTP 插件允许您同时使用两个或更多 SMTP 连接。这就是 FluentSMTP 与众不同之处!

现在,您可以使用一个SMTP服务器发送交易电子邮件,使用另一个发送营销电子邮件。

内置支持 10+ 个 SMTP 专用服务

FluentSMTP 带有 10+ 个本机 SMTP 服务器集成,可为您提供最快的 SMTP 体验。您甚至无法想象目前大多数可用的 SMTP 插件中有如此多的本机集成。目前,可用的 FluentSMTP 服务器集成包括:

Amazon SES
Gmail OAuth
Google Workspace OAuth
Outlook OAuth
SendGrid
Mailgun
Brevo (Sendinblue)
Pepipost
Postmark
Zoho ZeptoMail (TransMail)
SparkPost
Elastic Mail
Zoho via SMTP

还可以连接任何 SMTP 服务器

除了支持集成上述 SMTP 服务以外,FluentSMTP 也支持任何 SMTP 集成,只需要提供以下配置信息即可:

主机名
端口号
认证网络
用户名和密码
SMTP 服务器允许您将任何应用程序连接到其服务器并通过这些元素交换数据传输。同样,您可以使用这些详细信息将 FluentSMTP 连接到任何服务器。连接将非常快速和可靠,您无需担心任何事情!

一键导入其他 SMTP 插件的配置

如果你在使用 WP Mail SMTP by WPForms 或 Easy WP SMTP 插件,想切换到 FluentSMTP ,只需要使用一键导入功能即可!

FluentSMTP 永久免费

FluentSMTP 支持创建无限量的 SMTP 连接服务器,记录每封邮件的数据和发送情况,还支持一键重发,而且界面上没有其他 SMTP 插件那样到处可见的营销广告。最重要的是,FluentSMTP 完全永久免费!

FluentSMTP 界面预览

请输入图片描述

FluentSMTP 安装

你可以在WordPress 后台插件 – 安装新插件,搜索 FluentSMTP 进行在线安装。

也可以访问 https://wordpress.org/plugins/fluent-smtp/ 下载后上传安装。


WordPress 使用 SendGrid API 配置 SMTP 发送邮件
无法发送邮件?WordPress使用Gmail配置SMTP发送邮件
WordPress 使用阿里云邮件推送实现SMTP发送邮件
申请网易免费企业邮箱
为网站配置 SMTP 发送邮件

]]>
0 https://2sv.cn/archives/258/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
什么是 LLMs.txt?它对SEO有用吗?WordPress 网站如何生成 LLMs.txt? https://2sv.cn/archives/257/ https://2sv.cn/archives/257/ Sat, 26 Jul 2025 16:54:52 +0800 Eleven AI摘要:LLMs.txt 是一种专为大型语言模型(LLM)设计的网站文件,类似于站点地图(sitemap.xml),但专注于为AI提供精简、结构化的内容索引。它能提高AI对网站内容的理解和处理效率,帮助模型快速定位重要信息,尤其适用于技术文档和API。尽管它对传统SEO没有直接影响,但能优化AI搜索结果的准确性。WordPress用户可以通过安装插件轻松生成LLMs.txt文件。

Powered by AISummary.

大型语言模型 (LLM)越来越依赖网站信息,但面临一个关键的限制:上下文窗口太小,无法完整处理大多数网站。将包含导航、广告和 JavaScript 的复杂 HTML 页面转换为 LLM 友好的纯文本既困难又不精确。

虽然网站既服务于人类读者,也服务于大型语言模型 (LLM),但后者受益于更简洁、更专业的信息,这些信息集中在一个易于访问的单一位置。这对于开发环境等用例尤为重要,因为LLM 需要快速访问编程文档和 API。

为了解决以上问题,LLMs.txt 应运而生!

什么是 LLMs.txt?

请输入图片描述

LLMs.txt 是一种专为大型语言模型(LLMs)设计的网站标准化文件,旨在帮助 AI 更高效、准确地理解和索引网站内容。其核心特点与作用如下:

一、本质与定位

‌AI 专用索引文件‌
类似 sitemap.xml 的站点地图功能,但专注于服务 AI 模型,而非搜索引擎爬虫。它提供网站内容的精简结构化索引,通常以 Markdown 格式存储于网站根目录(如 https://example.com/llms.txt)。
‌与传统文件的区别‌
‌VS robots.txt‌:后者控制爬虫访问权限,而 LLMs.txt 提供内容导航与语义说明,不限制访问。
‌VS sitemap.xml‌:LLMs.txt 包含内容摘要、分类标签及更新状态等上下文信息,而非仅页面链接。

二、核心功能

‌提升 AI 理解效率‌
通过剥离网页中的 HTML/CSS/JavaScript 等视觉渲染元素,直接提供纯文本核心内容,减少信息噪音与 Token 消耗,加速 AI 处理响应。
‌结构化内容导航‌
为 LLM 标注关键页面属性(如用途、分类、重要度),引导模型优先抓取高价值内容(如 API 文档、最新公告)。
‌支持 Markdown 版本访问‌
网站可为每个页面提供 Markdown 版本(例如在原始 URL 后追加 .md),供 AI 直接解析纯净文本。

三、典型应用场景

‌版权与合规声明‌:部分实现方案允许声明内容使用权限,规范 AI 模型的数据抓取行为

‌AI 问答优化‌:当用户向 ChatGPT、Claude 等询问网站信息时,LLMs.txt 帮助模型快速定位准确答案,避免因网页噪音导致错误。

‌开发者文档适配‌:如 Apifox、VitePress 等技术平台通过集成 LLMs.txt,显著提升 AI 对 API 文档的解析精度。

LLMs.txt 对SEO有用吗?
LLMs.txt 对 ‌传统搜索引擎优化(SEO)没有直接影响‌,但可能通过间接方式影响网站在 AI 搜索环境中的表现,具体分析如下:

一、对传统 SEO 无直接作用

‌谷歌官方明确否定其 SEO 价值‌
谷歌搜索倡导者 John Mueller 将 LLMs.txt 类比为已废弃的“关键词元标签”(keywords meta tag),强调其不被搜索引擎用作排名信号,且存在滥用风险。
‌与搜索引擎爬虫无关‌
LLMs.txt 专为大型语言模型(如 ChatGPT、Gemini)设计,不控制搜索引擎爬虫的访问权限或索引行为,传统 SEO 规则(如关键词密度、反向链接)仍独立生效。

二、潜在间接影响与 AI 场景价值

‌提升 AI 搜索结果可见性‌
通过为 LLM 提供结构化内容摘要,可优化网站在 AI 问答中的引用准确性(例如 ChatGPT 回答用户问题时更易调取正确信息),间接扩大内容触达范围。
‌降低 AI 误解风险‌
剥离广告、导航等噪音的 Markdown 格式能避免 AI 因抓取冗余内容导致错误解读,尤其对技术文档(如 API 说明)、实时资讯类站点效果显著。

‌优化 AI 索引效率‌

标注页面优先级与分类标签(如 #安全 #必备),可引导 LLM 优先抓取高价值内容,突破上下文长度限制,尤其利于大型网站。

三、实操建议

‌无需替代传统 SEO 工作‌:LLMs.txt 应视为补充而非替代,需同步维护 robots.txt 和 sitemap.xml。
‌技术文档站点建议部署‌:API 服务商(如 Apifox)、开源项目(如 Vue/Vite)可通过 LLMs.txt 显著提升 AI 助手解析效率。
‌避免滥用风险‌:堆砌无关关键词或操纵 AI 行为可能降低内容可信度,需遵循简洁、真实原则。

WordPress 网站如何生成 LLMs.txt?

WordPress 网站要生成 LLMs.txt 非常简单,只需要安装相关的插件即可,比如 Website LLMs.txt 或 LLMs.txt and LLMs-Full.txt Generator 都是不错的插件,二选一安装使用即可,如果你有使用 Yoast SEO 插件,貌似它已经集成了这个功能,就不需要借助其他插件了。

]]>
0 https://2sv.cn/archives/257/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
网站使用宝塔面板服务器cpu占用100%排查方法和解决方案 https://2sv.cn/archives/200/ https://2sv.cn/archives/200/ Sun, 29 Jun 2025 17:55:42 +0800 Eleven AI摘要:本文介绍了如何解决宝塔面板服务器CPU占用100%的问题。通过查看网站日志,发现爬虫和外部站点引用静态资源导致CPU占用过高。解决方法包括:1) 拉黑爬虫IP,使用宝塔的Nginx防火墙功能;2) 启用防盗链功能,阻止他人引用静态资源。通过这些措施,服务器CPU使用率得以有效降低至20%左右。

Powered by AISummary.

今天觉得网站有点卡打开宝塔面板一看好家伙cpu又开始占比100%了:
请输入图片描述

这一次cpu占比100%和上一次的情况又不太一样,再加上又懒得登录阿里云查看进程,于是用到了土办法:直接看占比100%的时间内的网站日志!

所以网站使用宝塔面板服务器cpu占用100%排查方法推荐还是老老实实看网址日志吧。宝塔面板查看网站日志步骤如下:

首先登录宝塔面板,点击左侧导航栏里面的文件,打开“/www/wwwlogs/”文件夹,里面存放的就是日志文件了。

找到你网站域名的日志文件,点击打开,即可查看网站日志。

ps:网站日志文件一般都很大,宝塔会默认加载最新的30M内的文件,对比cpu占用是绝对够了的。

网站日志文件一般如下图:

请输入图片描述

通过查看网站日志对比后发现cpu占比100%的原因有两个:

1、爬虫类的ip不停的爬tag页面,日志如下图:
请输入图片描述

有的站点直接引用我网站的静态资源[字体图标,css,图片之类的],日志如下图:
请输入图片描述

服务器占比100%解决方案:

第一种采集爬虫之类的找到后把ip拉黑名单,宝塔面板拉黑ip操作步骤:打开宝塔软件商店--第三方应用,找到“Nginx免费防火墙 ”安装,启用后在插件设置--全局设置里面找到ip黑名单功能添加即可。

第二种被其他网站直接引用静态资源的可以开启防盗链功能,宝塔面板操作步骤:打开网站管理--点击设置,点击防盗链之后启用防盗链即可,如下图:

请输入图片描述

做了相对于的步骤后观察了几个小时,服务器cpu占比顺利的降低到了20%左右。如果你也遇到了跟我差不多的问题可以尝试按照以上方案操作然后观察对比是否能解决问题。

总结:

解决服务器类的问题,第一可以看进程监控,宝塔进程监控是收费的,阿里云腾讯云之类的大厂会免费提供进程监控类服务,可以直接登录idc网站查看。

第二看网站日志是一个更直接的方案,网站日志可以更直观的反映出各种问题。

]]>
0 https://2sv.cn/archives/200/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
微信公众号图文创作利器: Markdown 编辑器 + 多平台图片托管 https://2sv.cn/archives/192/ https://2sv.cn/archives/192/ Sat, 28 Jun 2025 19:07:13 +0800 Eleven AI摘要:这篇文章介绍了一个结合Markdown编辑器与多平台图片托管功能的浏览器插件,专为微信公众号图文创作而设计。插件支持直接将图片嵌入Markdown内容,并集成官方微信公众号素材库图片托管服务,允许免费存储图片,简化创作流程,提升效率与创意,适合各类内容创作者使用。

Powered by AISummary.

通过主页获取插件:mpmd
请输入图片描述
最近使用md 网页版的公众号文章 Markdown 编辑器已经有一段时间了,它提供了 Markdown 内容外链收集之外,还提供了图床集成的功能,同时这个项目是个开源项目。

虽然提供了 Github 、阿里云 OSS 、腾讯云 OSS 以及七牛云 Kodo 等图床集成功能,但是我还觉得还不太够,为何不集成微信公众号的图床(素材库)呢

因此就有了这个产物,将其改造成浏览器插件形式是目前我所能实现对接官方素材库的最好办法了,情况如此: https://mp.weixin.qq.com/s/Y12gMSHGFQLTgNihnGJukA

以下内容是 AI 自动生成的。

微信公众号图文创作利器:Markdown 编辑器 + 多平台图片托管

借助我们创新的浏览器插件,轻松创作引人入胜的微信公众号图文内容。该插件集成了功能强大的 Markdown 编辑器和主流图片托管平台,并支持使用官方微信公众号图片托管服务,让您免费存储图片,助您高效创作图文内容。

核心功能:

简易 Markdown 编辑:使用我们直观的 Markdown 编辑器,轻松创作引人入胜的微信公众号文章,其简洁易用的特点备受用户好评。
无缝图片集成:直接将图片嵌入 Markdown 内容,支持多种主流图片托管平台,操作简单便捷。
官方微信公众号图片托管:利用官方微信公众号图片托管服务免费存储图片,无需额外付费。
释放创意,轻松创作

我们的浏览器插件将 Markdown 编辑的强大功能与无缝的图片托管功能相结合,助您轻松创作引人入胜的微信公众号图文内容。无论您是经验丰富的撰稿人还是初出茅庐的内容创作者,我们的插件都能帮助您简化工作流程,激发您的创作灵感。

高效实惠,触手可及

借助我们的插件,您可以简化图文创作流程,无需使用外部图片托管服务,节省时间和金钱。利用官方微信公众号图片托管服务免费存储图片,确保高效实惠的图文创作体验。

]]>
0 https://2sv.cn/archives/192/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
如何让 Bing 必应收录你的网站图标 https://2sv.cn/archives/185/ https://2sv.cn/archives/185/ Fri, 27 Jun 2025 15:53:30 +0800 Eleven AI摘要:要让 Bing 收录你的网站图标,首先确保网站具备一定资质,如被 Bing 收录超过一年、拥有一定原创内容和较高的点击量。正确添加图标后,通过 Bing 支持页面提交请求,选择“Crawling issue”并描述问题。提交后,Bing 会在7-8天内更新图标,但实际时间可能更短。建议将图标放在网站根目录并确保使用正确的标签。

Powered by AISummary.

准备

想要 Bing 收录你的图标,首先你的网站应该有一个图标,并具备特定程度的资质。

事先声明

本文章分享了我所使用并成功的方法,但我无法保证本方法是正确的收录图标的方法,也不保证本方法在未来依旧有效。

但目前除此方法之外,据说只能等待资质达到标准后 Bing 主动抓取收录图标。

关于资质

这一点具体标准并不明确,可以确定的是显然你的网站需要被 Bing 收录,但若你的网站被收录的时间较长,内容较多且质量较高,相对来说我认为收录的概率会大一些。

这里放上我申请时的资质:

收录时间超过一年
超过二十篇原创文章
Bing 近半年点击次数 1.6k

由于具体标准未知,所以大家都可以尝试,欢迎在评论区分享你的资质与结果,为他人提供参考!

正确的添加你的图标

正确的标准依旧未知,但显然你至少需要用某种方式添加你的图标:

<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">

进入支持页面后,点击页面下方蓝色按钮 “Raise support request”。

推荐将图标文件放置在网站根目录。

提交 support request

请输入图片描述

填写表格,网站选择你申请收录的网站,问题类型选择 “Crawling issue”,再选择 “Other”,并描述你的问题(可以按照我申请时写的 “Bing didn’t crawl my site’s icon”),最后填写验证码,点击蓝色按钮 “Get Help”。

请输入图片描述

完成提交后,你会立即收到两封邮件,分别是你提交的信息以及官方收到你的提交。

后续

关注邮箱等待回复即可。

这里我在申请后的第三天便收到了回复:

I would like to inform you that the favicon has been updated from our end and it will take 7-8 days to reflect on the Bing search results.

表示已经成功更新我的网站图标,大约在一周后便可以在搜索引擎中看到。

然而实际上当天就已经可以在搜索引擎中看到图标了,详见 随笔杂谈 | 博客二三事

实际需要的时间也并不确定,例如:我申请的那一天是周五,收到的那天是周一,我等待三天可能与跨了一个周末有关。目前根据评论的反馈,最快的貌似一天就收录了。

你需要的时间可能更短也可能更长,欢迎尝试后在评论区分享你收到回复的用时以供参考。

写在最后

没想到困扰我这么久的方法这么轻松就解决了,以前怎么就没找到这么个入口呢,网上也搜索不到相关内容。

另外,如果你跟着我的文章进行了尝试,无论结果如何,欢迎在评论区分享你的相关情况(例如资质、用时、结果)以供更多人参考!

]]>
0 https://2sv.cn/archives/185/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/
流媒体(奈飞&amp;迪斯尼等)一键修改解锁DNS脚本 https://2sv.cn/archives/184/ https://2sv.cn/archives/184/ Fri, 27 Jun 2025 15:46:38 +0800 Eleven AI摘要:该脚本旨在帮助用户通过流媒体解锁DNS实现快速DNS分流与全局DNS替换,适用于VPS用户。更新内容包括重构菜单、支持个人解锁IP、增加更新脚本和快捷指令、以及一键恢复8.8.8.8等功能。用户只需简单步骤即可配置与解锁DNS,优化Netflix、Disney等流媒体的访问体验。支持Debian与Ubuntu操作系统。

Powered by AISummary.

更新:V 1.2.1版本,结合大家的建议,
1、重构菜单逻辑;
2、dnsmasq、smartdns支持填写个人解锁IP;
3、增加更新脚本;
4、支持快捷指令:ddns;
5、新增 一键恢复8.8.8.8(解决分流安装失败,无法联网问题);
6、新增dnsmasq、smartdns 更新全量文件,并支持替换为自己的IP;
请输入图片描述
支持操作系统: Debian & Ubuntu

项目简介

该脚本旨在帮助用户通过 流媒体解锁 DNS 实现快速的 DNS 分流与全局 DNS 替换。只需简单的几个步骤,即可轻松配置与解锁 DNS。适用于 VPS 用户,支持一键配置,无需复杂设置。

使用指南

步骤 1: 注册 Alice 账号(适用于没有解锁DNS IP的用户)

访问 Alice DNS 官网 进行注册。

在注册后,将您的 VPS IP 地址添加至 Alice 白名单。

注意:此过程可能需要 3-5 分钟生效。

步骤 2: 运行一键分流脚本
下载并运行以下脚本:

wget https://raw.githubusercontent.com/Jimmyzxk/DNS-Alice-Unlock/refs/heads/main/dns-unlock.sh && bash dns-unlock.sh

解锁方式 1-1:DNS 分流模式(dnsmasq)

在脚本菜单中选择 1。

脚本将自动安装并配置 dnsmasq,实现多媒体流量的智能分流。

安装过程中会提示是否输入个人解锁IP,回车默认Alice,IP,输入y,填写个人解锁IP 。

适用场景:优化流媒体(如 Netflix、Disney等)访问体验,确保内容加载更快,解锁区域内容。

选择分流区域(SG / HK)

在脚本菜单中选择 3,进入分流区域选择界面。

脚本支持自助选择 SG(新加坡) 或 HK(香港) 区域进行分流优化。

SG(新加坡):适用于连接东南亚地区的用户,提供更优的路由和速度。

HK(香港):适用于连接香港及周边地区的用户,提供稳定且快速的网络连接。

选择完毕后,脚本将根据选择的区域配置合适的分流策略。

解锁方式 1-2:DNS 分流模式(smartdns)

在脚本菜单中选择 2-1。

按照提示是否替换为个人解锁DNSIP,IP1/2可同一个;

脚本将自动安装并配置 smartdns,实现多媒体流量的智能分流。

适用场景:优化流媒体(如 Netflix、Disney等)访问体验,确保内容加载更快,解锁区域内容。

解锁方式 2:全局 DNS 替换模式

在脚本菜单中选择 3-3。

输入自己的解锁IP,一键替换,并锁定resolv.conf文件。

适用场景:需要整体优化网络解析速度,提升所有已解锁自媒体请求。

]]>
0 https://2sv.cn/archives/184/#comments https://2sv.cn/feed/category/%E5%B8%B8%E7%94%A8%E8%84%9A%E6%9C%AC/