阅读视图

发现新文章,点击刷新页面。

2025年尝试的第一款AI写作工具NoteGen

我不是个工具流玩家,写作也用Typecho博客后台自带的编辑器,但有个缺憾就是不能实时预览。于是,大多时候我还是使用在线Markdown写作,比如印象笔记之类。一直也有看很多朋友使用很多笔记工具,不过大多比较复杂且不愿意折腾使用频率不高的工具。最近,偶尔遇见了一个比较简单的笔记工具,试用了一下,感觉还行,就推荐一下。

NoteGen.png

NoteGen

NoteGen 是一款专注于记录和写作的跨端 AI 笔记应用,基于 Tauri 开发。它具备几个不错的优势:
1.支持Mac、Windows、Linux平台
2.Ai模型接入,如ChatGPT、Kimi、DeepSeek等
3.同步存储和Github图床
NoteGen的核心理念是将记录、写作和AI结合使用。

1737533535455.jpg

DeepSpeek

Kimi和DeepSpeek是我使用最多的两个ai工具,一个更利于搜索输出,一个更利于优化代码。所以在NoteGen上面我就使用API调用SeepSpeek-chat模型。

base_url:api.deepseek.com 
 api_key: platform.deepseek.com/usage「官网申请」
    model: deepspeek-chat 「V3模型」

配置好相关的调用数据,即可使用Deepspeek-V3模型,具体配置查阅://api-docs.deepseek.com/zh-cn/

1737534558210.jpg

结语

也许还没有掌握方法,输出问题后,反馈的速度相较于平台还是有些差别。还有就是markdown的页面,对于不熟悉markdown语法的人来说,功能还是偏少,且提示以及UI还是比较简陋。整体来说瑕不掩瑜,对于不是重度且需求特别高的人来说,这还是一款值得尝试一下的软件。

禅修#05:滋养心态,控制情绪,改变自己

《认知觉醒》里说:“我敢打赌,凡是买了一堆书没读、报了一堆课没上、心中有无数欲望的人,几乎没有主动做成过一件事,比如养成早起、跑步、阅读的习惯,练就写作、画画的技能,考个好成绩、有高收入等等。”

1737173279197.jpg

心态

这个世界上,最容易失败的两种心态,一个是看到别人的明确结果,然后自己在付出行动;另一个就是盲目相信选择大于努力。归结起来就一句话 想要找到捷径。其实一个人在日常生活之中,每天需要去产生连接的,是万事万物,是自己丰盛的内在体验,而不是去连接自己的看法和观念,让看法和观念把自己封闭在一个牢笼里。

改变

改变自己的第一步,不是洗心革面,来一次彻头彻尾的大改造,而是把以前想改变但半途而废的事做起来。比如把买了没读的书先看完,报了名没认真学的课去学一遍。

如果没有自己喜欢且专注的事,一天很容易就过去了。有几件自己明确要持续坚持的事,好像一天就变得特别长。时间从来就是公平的,它的价值只取决于你给它赋予的意义。如果人生有什么算是真正意义上的“失去”的话,第一是失去身心的健康;第二是失去感受美好的意识;第三是失去了成长和更新自己的能力。可惜,真正值得人们在意的内在的失去,人们却最不在意。

如果你都不知道要做什么,那就关掉手机,早睡早起,开始健身,去读书,去学一段舞蹈,做好一步步的规划,一点点去实现。不要刚读一本书前几页,就想知道全部内容,刚运动几天,就想瘦到理想的目标,慢慢来,你会得到更好的自己。

放开视野,放下包袱,去尝试新事物,认识新的人。不计较短期的得失,不顾虑一兵一卒的进退,只有一个目的,就是尝试,要不断重复迷茫时做的那些事,要走出舒适区,让自己看到更多的可能。

意义

滴水如金,丝履似银。世间上无论什么东西,都是来之不易,因此要懂得珍惜;乃至金钱、时间,甚至感情,也要爱惜。生活中能减少一点浪费,减少过度消耗,就是爱惜自己的福报。

任何事情,只要懂得转弯,自我调适,能够自我调适的人,无论生活、感情、经济、处世,都能有另外一番的境界。人生的意义,能在“自在”中生活,最为成功。只要我心自在,一切自然就都能自在了,无论身处称、讥、毁、誉、利、衰、苦、乐的“八风”里,都能不为所动。

世间是一半一半的世界,白天一半、夜晚一半,好的一半、坏的一半。我们对于好的固然要接受,对于不好的也要能包容;唯有好坏都能接受、包容,才能成就全面的人生。

情绪

情绪”最源头上的因与最终的果都在,真自己身上,遇见什么人,发生什么事,仅仅只是引发情绪的机缘而已。遇见符合自己观念和看法的人和事,就产生正面情绪;遇见不符合自己观念和看法的事物就产生负面情绪。

各种情绪的产生在源头上的原因,是自己的观念和看法,与什么样的人和什么样的事,其实毫无关系。
被你讨厌到了极致的人,一样会有人喜欢。被你认为丑的衣服,一样有其他人觉得好看,一样有人心甘情愿买单。偏偏人们从来不能这样去理解世界,这样去理解自己和别人。

自己遇见的一切,不过只是遇见自己的机缘而已,遇见的不过是自己的观念和看法而已,遇见的不过只是自己的好恶而已,而真实的遇见,毫无关系。

这也正是哲学家和智者们所说的:任何事物存在的本质都是中性的,不好也不坏7的,是我们对事物的看法。所以,同样一件事,同一个人,不同的人产生不同的反应。

Typecho博客引入Pjax无刷新页面的两种方式

使用Pjax可以在不刷新整个页面的情况下加载新的内容,它利用 AJAX(XmlHttpRequest)和 pushState() 来提供网站的交互性和响应速度,从而提升流畅的浏览体验。Pjax和我使用的instant.page类似,都是为了提升用户体验,让页面更顺滑且加快一定的响应速度,两者并不冲突,可以共存。

Typecho中,有很多主题都集成了Pjax无刷新功能,例如迷你日志、handsome主题等。但也有很多主题没有集成这项功能,所以提供两种Pjax部署方式。

Jquery.pjax

传统的Pjax部署方式,应该前后引入Jquery和Pjax库,且版本需要匹配。

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.pjax/2.0.1/jquery.pjax.min.js"></script>

或者你也可以使用比较稳定的jquery2.1.4和pjax1.9.6版本。主要前后顺序不能出错。

<script>
$(document).pjax('a[href^="<?php Helper::options()->siteUrl()?>"]:not(a[target="_blank"], a[no-pjax])', {container: '#main',fragment: '#main',timeout: 10000})
</script>

这段js部署在 /body 之前。如果需要加载动画,可以访问我提供的参考资料。

Pjax

Pjax是一个独立的 JavaScript 模块,不依赖于像 jQuery 这样的其他库,它完全用原生 JavaScript 编写。并且体积更小,压缩后载入时间会更短。

<script src="//cdn.bosir.cn/js/pjax.min.js"></script>

我已经部署到阿里云CDN,有需要的可以直接复制过去。随后引入

<script> var pjax = new Pjax({elements: 'a',selectors: ["#main"],timeout: 10000, push: true, replace: false,maxCacheLength: 20, }); </script>

这是根据自己主题修改的,需要更新的部分 #mainbody,如果CSS结构中,没有使用 id 就使用 .mainbody 相反有的话就使用 # 号。

验证方式

以Chrome为例,F12 打开控制台,点击 Network 后,Ctrl+R 刷新,随便点击一个页面,如果出现 xhr 开头的文件,表明成功。 当然更详细的成功部署验证,大家可以自己查阅相关资料。

相关资料:

[1] Gitcode: //gitcode.com/gh_mirrors/pj/pjax?utm_source=artical_gitcode&index=top&type=href
[2] 万维易源: //www.showapi.com/news/article/66d5a0754ddd79f11a002a13
[3] cdnjs: //cdnjs.com/

PHP8.4开启opcache扩展加速和网站instant.page预加载脚本

本周对博客进行了许多精简和优化,诸如合并订阅、友人页面,摒弃下拉菜单,修改主题..当然,也有一些新添加的东西,预加载脚本和缓存等。本地测试首页打开耗时应该成功降到了300ms以下,各页面的打开也更加顺滑。

折腾是一种自我实现的过程,不管结果怎样,都是值得的,你越折腾就越精彩。

instant.page

这是一个网站预加载的js脚本,可以提升网站速度。如图,鼠标悬停超过65毫秒,自动加载页面文本信息,但是不加载图片资源。对于用户体验会有提升,具体提升多大,只有自己测试了。

2024-12-25T07_32_49.png

部署方式,直接引用js脚本即可。PS.推荐放在footer

<script src="//instant.page/5.2.0" type="module" integrity="sha384-jnZyxPjiipYXnSU0ygqeac2q7CVYMbh84q0uHVRRxEtvFPiQYbXWUorga2aqZJ0z"></script>

国内服务器可以直接本地部署,不推荐CDN部署,会增加请求数消耗资源。

<script src="https://你的存储位置/instantpage.js" type="module"></script>

官网脚本下载

php8.4开启 Opcache

想体验php8.0以上的终极奥妙,你就开启这个,也是一种缓存机制.

[Zend Opcache]
zend_extension="opcache.so" ;
opcache.enable = 1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=100000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.file_cache=/tmp
opcache.jit_buffer_size=64M
opcache.jit=1205
[Zend Opcache]

测试指南

当然,以上折腾属于做好网站备份的,如果你没有做好准备,那就赶快准备起来吧。

装修难做,周末加个小班,做个展厅出样

现在不管什么行业都非常卷,而且生意不好做。要么落后淘汰,要么升级抢客。这次客户是一个顶墙品牌,依托合作商大角鹿瓷砖3000多平的展厅,局部出样做展厅升级。后期业主要以异业或者联盟活动为主。相较于传统展厅或者展会展厅的局限性,这次设计还是以双结合为主,有区域划分的同时,尽量减少空间壁垒。做好区域规划,剩下的就要细细琢磨了。

未命名方案_00.png

其实装修,不需要那么花里胡哨,这也是目前很多家装设计师在推的理念。墙就以油漆为主,放心刷,油漆的环保性比其它材料都要高很多很多,毕竟国家标准放在那里。吊顶方面,厨卫可以考虑使用蜂窝大板,预算够的话,确实实用美观。其余区域依然是石膏板搭配单双眼皮组合即可。至于定制方面,大家不用去管什么材质,要好用就多层实木柜体和欧松门板就行,投影面积价格基本在1200-1300左右每平方即可拿下。至于设计费、管理费这种,其实都是可免的。真要找设计师设计,就去找专业设计院。

展厅方案.png

重温《哈利波特与魔法石》,想回到2002年的冬天

《哈利波特与魔法石》2002年初在国内上映,那个时候我应该是四年级,学校组织了免费观影活动,这也让这部电影成我了我第一部进入影院观看的电影。

1734680462809.jpg

当时看这部电影还是很震撼的,真的有被”霍格沃茨魔法学校“震撼到。而且当时非常羡慕哈利波特,不仅拥有支持他的小伙伴,还有能骑着扫帚飞的魔法。当然,时隔二十多年,再让我去回忆当时的情境已然不太现实,只能模模糊糊的想起丝毫。当然,这并不重要。重要的是,通过回顾这部电影,又能依稀见到十岁的自己。我不禁想,如果有一个魔法,能让我与以前的我对话该是多么的好,不需要改变什么,就只聊聊天,说说话,就会十分的美妙吧。

2024-12-20T07:43:47.png

重温这部电影,从如今的视角去看主角团,还是挺奇妙的。哈利波特-丹尼尔·雷德克里夫,和我差不多年龄,这么多年来,发展也还可以,2018年的那部《困兽之斗》的惊悚电影还不错;赫敏-艾玛·沃特森,越大越漂亮,真女神,布朗大学的文学学士,2023年又去牛津读创意写作硕士学位去了,她后期的电影,只看过一部《美女与野兽》,观感一般吧,没什么特别的印象了;马尔福-汤姆·费尔顿,金色小背头,小时候特别讨厌这个坏同学,现在去看,真帅!而且,他演过《猩球崛起》,虽然不算出位,但还是很帅的。至于韦斯莱,确实存在感不强,没啥印象了。

2024-12-20T07:47:11.png

暗杠《童话镇plus》

“哈利波特可以骑着扫帚自由自在飞,而我的扫帚却只能用来清理垃圾堆。”

本文图片来源

[1]草莓有草没味://mbd.baidu.com/newspage/data/dtlandingsuper?nid=dt_5008507543840740065
[2]那些珍贵老照片://weibo.com/2930792450/OmJ5zpNOs
[3]小豆当家://weibo.com/1673854010/ODwBmwmwD
[4]影视大全://www.xabaotu.com/album/haliboteyumofashi1-1-1.html

CSS中添加伪元素,并移除特定a类标签的伪元素的样式

今天,在修改主题的时候,发现自己post-content中的a类元素,使用:after伪元素以后,同时作用于cl-offset且name属性以cl-开头的href属性包含#cl-且onclick属性为Catalogswith()的标签。

.post-content a:after{
        content: '↷';
    font-size: .9rem;
}

这两个代码共同性就是a类元素,我们需要做的事情就是,移除掉不需要:after伪元素的属性。

2024-12-17-15-41-44.png

移除特定a标签的 :after 伪元素的样式,需要使用CSS选择器来精确选中这个a标签,并设置 :after 伪元素的content属性为空。这样,:after伪元素就不会显示任何内容。

以下是CSS代码示例,它会移除所有.post-content下具有类cl-offset和a,并且name属性以cl-开头的a标签的:after伪元素:

.post-content a.cl-offset[name^="cl-"]:after {
    content: '' !important;
}</div>

这里的 ^="cl-" 是一个属性选择器,它会匹配所有name属性值以cl-开头的元素。 content: '' 会移除:after伪元素的内容,!important是一个强制性声明,确保这个规则会覆盖其他可能存在的规则。

把这段CSS代码应该放在CSS样式表中,它将确保所有符合条件的a标签的:after伪元素都不会显示任何内容。

同理如果想要为.post-content类下的所有a标签添加:after伪元素,并设置其内容为↷和字体大小为.9rem,但同时想要移除特定a标签的:after伪元素(即那些href属性包含#cl-且onclick属性为Catalogswith()的标签),可以使用以下CSS代码:

/* 为所有.post-content下的a标签添加:after伪元素 */
.post-content a:after {
    content: '↷';
    font-size: .9rem;
}

/* 移除具有特定href和onclick属性的a标签的:after伪元素 */
.post-content a[href^="#cl-"][onclick="Catalogswith()"]:after {
    content: none;
}

这段CSS代码起了两个作用:

  1. 它为.post-content类下的所有a标签添加了一个:after伪元素,内容为↷,字体大小为.9rem。然后,针对那些href属性以#cl-开头且onclick属性为Catalogswith()的a标签,将:after伪元素的内容设置为none,从而移除了这些特定标签的:after伪元素。
  2. 除了符合特定条件的a标签外,其他所有.post-content下的a标签都会在其后显示一个↷符号。

果然,学习才能使人进步啊,现在不就知道什么a类元素,什么伪元素了吗。不然连怎么问Ai都不知道。

参考资料:

[1]CSDN://blog.csdn.net/libol/article/details/139976586
[2]腾讯云://cloud.tencent.com/developer/article/1407981
[3]简书://www.jianshu.com/p/77f0efab3747
[4]php中文网://www.php.cn/code/894.html
[5]picprose://picprose.net/zh

十年之约第五年,我都收获了些什么

时间,是最无情的东西;当然,也是我们最需要的东西。

2018年的时候,我说我发现了一个网站,名字叫博客志,因为它我建立了水清无鱼。刚开始,主要用作禅修记录的,那个时候写了半年多,一直无人问津。知道后面上了博客志,慢慢有人留言回复了。我便多写了些生活的、折腾博客等相关记录。也就是那时候开始,从Typecho转换到WordPress,然后又从Word Press转到了Z-blog。期间认识了很多朋友,比如临海草原灰常记忆

那个时候的博客圈,没有今天那么热闹,新鲜血液也并不多。有一天,我开始发现了一个[十年之约]项目,然后写下了那句“十年之约,贵在坚持”,并把域名续约了十年,服务器续约了三年。还有一些令人记忆深刻的,像BlogWe、中国博客联盟等。

1734320555961.jpg

以我龟速效率,平均一个月大概会有2篇文章,5年大概有120篇文章。这么多文章,和很多的友链、评论以及其它数据,被淹没在了2023年的某一天,具体哪一天忘记了。因为那段时间,我真的没有关注过一点博客的信息。想想真的有点后悔和遗憾。要不是灰常记忆在微信里面告诉我,可能到今天我都遗忘了。

1734320606381.jpg

五年时间一晃而过,到写下这篇文章应该马上6年了。生活和工作,没有太大的进展。但是博客和它带给我的成长,却是有很多的。从一个一无所知的小白,到今天能自主消化和改进一些东西。当然,也感谢科技的进步,Ai让我们简单了很多。

例如,前不久被我刚下线的SIMTEXT主题,鼓捣了好几个月成型吧,然后发现视觉疲劳了,于是,它消失了。但不管怎么样,它依然算作我的一个重要节点,到今天,我也开源给喜欢的人下载使用。《Typecho主题模板:SimText列表主题,真正的又快又简单》

1734320104584.jpg

以前,访亲寻友习惯的输入网址,现在则习惯了RSS订阅。就像前一段时间大火的FreshRss,目前是我最喜欢使用的,每天都再看,遇到喜欢的或者感兴趣的,都会区作者的博客留下足迹。这也加速了,博客圈的互动交流。这其中,也有其它很优秀的一些项目,像BlogFinder博客圈等等。

最近,也发现了比较火的Foloow,某宝花了3块钱,买了个邀请码,不过目前来说,使用频率不是很高。因为我主要订阅的还是独立博客,像视频、图片等内容,我浏览的很少。

1733966400247.jpg

这五年,也可以说这六年,站在独立博客作者的角度来说,是开心的、满足的。大家都相对比较友好,没有那么多的戾气,也没有其它一些平台的花里胡哨。我们也有更多的可能展现自己,也有更多的方式,留住自己的记忆。

希望,五年之后又五年,也期待收到十年之约项目组的“恭喜您,解锁「十年之约」持续十年的持续运营成就。”

宝塔正式版9.3.0更新和Typecho适配php8.4版本

今天,宝塔面板更新到正式版9.3.0,这意味着,网站可以正式部署php8.4版本了。先说一下,此次宝塔面板的更新,更新的内容还是比较多的,具体更新细节,点击官网查看。

其中,我注意到或者最关心的就两个,一个是支持php8.4,另一个是优化SSL自动续签成功率。当然,如果使用wordpress的朋友们也可以使用新增的 WP Tools工具,专门为wp配备的。同时,也逐渐提升了Docker的使用功能。

为什么说,我想要升级到php8.4呢?

1733796708984.jpg

于我个人而言,或者我这个博客而言,php7.4和php8.4,没有本质区别,但玩博客,不就是硬凑吗?每次更新,我都喜欢冲在前面,尝试一些新的东西,而且我又是个喜欢折腾的人,备份好数据,就是干!

PHP 8.4 对于网站的提升主要体现在性能优化、新特性以及安全性提升三个方面。

1.性能优化:PHP 8.4 引入了 JIT(Just-In-Time)编译器,这意味着一些代码块会被编译成机器码,从而提升执行速度。
2.新特性:PHP 8.4 带来了许多新特性,例如联合类型、nullsafe操作符、属性类型、数据投影等,这些可以帮助开发者写出更加清晰、类型安全的代码。
3.安全性提升:PHP 8.4 在安全性上有所增强,例如引入了新的错误处理机制、对参数进行验证等。

实际升级到php8.4以后,不知道是不是错觉,或者心理作用,感觉就是比php7.4丝滑,这东西就是让人身心愉快。

Typecho支持且兼容php8.4

注意,升级到php8.4前,做好备份工作,因为Ty1.2.1虽然兼容,但也需要做部分适配。且有的主题需要去调试才能完美兼容,所以一定要保护好自己的数据,以免造成不必要的损失。

1733795960873.jpg

Ty升级到php8.4以后,会出现以上错误,不包含(主题和插件)的错误,仅程序本身。以上错误参考如下:

public function getHeader(string $key, ?string $default = null): ?string

我们找到错误的文件对应位置,然后只需要删除getHeader(string $key, ?string $default = null)中的?string即可,当然,如果你的$default后面如果没有null,加上就可以了,有些参数也不是必须的。根据你升级后出现的问题,自行调整即可。

上两张图中,出现的错误都是一样的,所以我们只需要删除$default前面的标记即可,对应的哪一项出错,就改哪一项,其余的别改动就行。

如果是插件和主题的错误,则需要具体去看,我这个主题因为简单,所以未出现报错。插件也只是蓝河兄的RSS插件有一处报错,和上面的情况类似,都很容易处理。

SSL即将来到45天的时代?

缩短SSL证书有效期为90天是谷歌去年3月份提出的,一年半后,苹果公司提出的方案是45天。具体可查看《SSL证书有效期将缩短为45天》一文。

2025年9月15日 至 2026年9月14日,证书有效期缩短为200天
2026年9月15日 至 2027年4月14日,证书有效期缩短为100天
2027年4月15 日起,证书有效期缩短为45天

真假,目前自不可知,不过自动化SSL申请续签部署,应该是必不可少的环节了。

以后只存在两种情况,要么付费整年的证书,(这里给龙笑天下打个广告,他的证书一年只需50元,五年更便宜只用198元,具体的点击去看),要么就是自己部署工具。所以宝塔这次优化的自动续签成功率,对于我们这种小白来说也是一种好消息。

当然你也可以使用脚本工具或者相关工具,进行自动化续签。也可以参考前文我提到的工具《在宝塔面板上,用Docker安装部署Certimate可视化SSl证书管理工具》来部署。

本文参考资料:

[1]我爱水煮鱼://blog.wpjam.com/2024/11/23/php-8-4/
[2]PHP中文网://www.php.net/releases/8.4/zh.php
[3]宝塔面板://www.bt.cn/bbs/thread-19376-1-1.html
[4]KIMI://kimi.moonshot.cn/

用宝塔面板Docker安装部署Certimate可视化SSl证书管理工具

上次讲到阿里云的https加速网关服务,使用之后发现确实很贵,所以让我给停止了。但是我又没时间折腾自动续签的事儿,所以买了张年付128的证书。但是越想越不得劲儿,花了冤枉钱,还是解决不了根本问题。这不,最近偶然发现了一个很好用且部署相当简单的工具,Certimate

68747470733a2f2f692e696d6775722e636f6d2f38776974335a412e6a706567.jpg

Certimate介绍

Certimate 是一个由国人开发的 SSL 证书管理工具,提供可视化界面让我们可以用简单直观的方式来管理 SSL 证书,申请证书、部署证书,以及证书到期续签都是自动完成的,不需要人工接入,大大简化了证书的维护工作。

私有部署:部署简单,作者提供多种方法安装,几分钟内就可以完成;
数据安全:所有数据存储在本机,不保存在第三方服务器,数据安全有保障;
维护方便:简单配置自动申请并且部署证书,到期自动续签,无需人工干预。

部署Certimate

因为我使用的是宝塔面板,所以我就根据Docker安装的方式来部署了。

首先确保宝塔面板已经安装了Docker模块,最新版好像直接上线了。如果没有安装,在软件商店安装也是可以的。

1733382135069.jpg

点击Docker后选择创建容器,接着选择容器编排,在里面点击创建,即可创建Yaml模板,然后在添加Compose模板,里面输入名称certimate,内容里添加

version: "3.0"
services:
  certimate:
    image: registry.cn-shanghai.aliyuncs.com/usual2970/certimate:latest
    container_name: certimate_server
    ports:
      - 8090:8090
    volumes:
      - ./data:/app/pb_data
    restart: unless-stopped

最后,编排模板选择certimate,编排名称填写你要的名字,完成项目创建即可。

使用Certimate

此时,你已经拥有了Certimate,默认的访问端口是8090,所以你只需要在浏览器,输入访问http://你的服务器ip:8090

用户名:admin@certimate.fun  密码:1234567890

1733382748643.jpg

进入Certimate后,就比较简单了,可视化面板,依次添加相关内容。选择相应的服务商。创建以后会有一个授权,需要添加相关的授权内容,阿里云入口RAM访问控制,创建后会获得密匙,然后再Certimate填写即可。

因为我还是用这那张收费的证书,所以暂时还没有添加,不过有备无患,留着备用。

以下是本文参考资料:

[1]Github://github.com/usual2970/certimate?tab=readme-ov-file
[2]张洪HEO://blog.zhheo.com/p/88ab.html
[3]那些免费的砖://www.thosefree.com/certimate
[4]Certimate官网://docs.certimate.me/?from=thosefree.com

❌