CategoryNOTEBOOK

Cusdis 轻量、保护隐私、开源的 Disqus 评论系统替代方案

由于之前将博客全静态化了导致评论无法使用,原本是不打算做的,但是还是又挺多朋友通过各种各样的渠道联系我交流问题,故打算解决一下这个问题,方便后续交流。 我的解决方案是能自建就自建,无法自建的基本上就不考虑了。Disqus 不能自建,加之实际使用起来效果并不理想,隐私问题,还有界面不太喜欢就直接被我 Pass 掉了。 相交于 Disqus,Commento++也是不错的解决方案,但是界面不太喜欢,以及不够轻量,故没有选择,综合来考虑来看,Cusdis是非常不错的解决方案,足够轻量、支持自建、UI简洁,致使我最终选择了 Cusdis。 此处介绍两种方式 Docker、手工部署 Cusdis,均基于宝塔面板。 项目介绍 项目地址:Cusdis Cusdis是Disqus的开源、轻量级(约5kb gzip)、隐私友好的绝佳替代品,主要用于纯静态化网站。 Cusdis 并非旨在成为 Disqus...

使用 acme.sh 签发通配符 SSL 证书

看了很多使用 acme.sh 签发 通配符 SSL 的教程,但讲的比较笼统,所以打算写个详细教程记录一下。 此处以 ZeroSSL 为例,acme.sh也可签发其他证书,可自行研究。 不同品牌证书之间优劣不在此赘述。 正文 下载 acme.sh curl | sh 创建文件链接 alias acme.sh=~/.acme.sh/acme.sh 切换证书为 ZeroSSL acme.sh --set-default-ca --server zerossl 获取zeroSSL eab 打开 注册账号并登录,打开页面后点击 Generate 绑定邮箱,输入你注册使用的邮箱 acme.sh --register-account -m YourEmail 获取 EAB KID 和 EAB HMAC Key 并且按格式填写 acme.sh --register-account --server...

记一条博客被镜像(反向代理)

前段时间闲来无事在看umami统计出来的数据,看到了一条从来没见过的域名的引用信息,原本以为是采集站或者是参考了我的文章,打算去拜读一下的,但是打开页面之后直接看到打开了我的博客。 内容不能说一模一样吧,只能说毫无差别。见过采集的也见过参考的,但是还没见过整个站都“扒”过去的。。。。。 正文 原本以为站点是直接扒下来的,不打算管了之后,后来测试了一下,是直接用 CloudFlare 反代的,而且修改了 host 头,所以禁 IP 防盗链之类的操作基本上都没用了。。。 经过大佬的指点提示我可以用 JS 脚本来应对这种事情。 刚开始的时候直接用 JS 判断窗口域名是否正确,不正确即跳转到正确的域名。 代码如下(插入到页面 head 或 foot): <script>if(document.location.hostname != 'uaxk.com'){ window...

NodeJS 和 npm 配置全局变量

由于 umami 不再使用 npm 构建,而是改为了使用 yarn 构建安装的方式,所以今天把 umami 删除,重新构建了一遍。 yarn 安装完成后,使用直接报错,查到因为没有配置 npm 成为全局变量,此文记录一下配置过程。 配置 1、获取 npm 安装目录 npm bin -g 2、创建软链接 ln -s 获取到的地址/npm /usr/local/bin/npm 3、配置用户环境变量 cd ~ #切换到用户根目录 vi .bash_profile #修改用户环境变量文件 输入 i 切换为输入模式,在 PATH=$PATH: 行后,添加 :第一步获取到的目录,然后按 esc 推出输入模式,切换到命令模式输入 :wq 之后保存并退出。 5、重启配置文件 source .bash_profile 6、查看 npm 和 yarn 配置 npm -v yarn -v 此时 NodeJS...

CloudFlare 解决 CORS 跨域问题

目前博客的 CDN 方案是通过DNS识别境内境外IP,进行不同的解析的,但是使用 CloudFlare 会导致一部分跨域问题,使某些样式无法正常加载,不过最终还是找到了解决方案,记录一下。 配置 #2022-11-6更新一位MJJ大佬提供的更好的方法 在域名左侧选择规则->转换规则 选择修改响应头 具体配置如下图所示: 以下为旧方法,不太推荐使用: 百度出的方法,基本上都是从服务器配置 NGINX 取消跨域限制来解决,但是这样也会伴随着许许多多的问题。CloudFlare也发布了文章,通过 CloudFlare Worker 稍微配置一下即可解决这个问题。 一、创建 CloudFlare Worker 服务 设置服务名称,然后选择 HTTP 处理程序 二、点击快速编辑,将以下代码复制到其中 // Reference: const corsHeaders = { "Access...

WordPress “纯”静态化

前几天才发表了 WordPress 的 CDN 方案,但是很快就反水了,并不是因为那个方案不够好,而是越写博客越发现,静态博客才是个人博客应有的终极形态。 很多朋友都在劝我抛弃 WordPress 转投 Hexo 的怀抱,不过确实,“纯”静态博客个人才是博客应有的样子。为什么要加一个“纯”呢?就像 WordPress,很多人通过伪静态,把页面后缀改为 html,再使 CDN 强制缓存,达到一个静态的效果。但这样的 伪静态 并非 静态博客 的真正样貌。 为什么不使用 Hexo 或者其他方案,因为仅 Hexo 对我来说是完全陌生的,而且其所使用的技术栈,也是我完全不懂的。相较于使用一些完全不懂的东西,不如去继续把手头正在用的改造的更好,毕竟内容才是博客最主要的。 方案选择 选择 WordPress 的理由 其实对于 WordPress 的理由有很多,无论是一些非常好用的插件,还是...

记一次 POST 请求 重定向的错误

由于公开的 NSFW-API 服务所占用的资源越来越多,位于腾讯云的境外服务器内存已经开始捉襟见肘了,所以就把该服务迁移到了国内空闲资源较多的这台服务器上。 由于之前服务使用的域名 api.dev.sb 是没用备案的,所以只能使用已经国内的备案域名。为了无缝衔接,只得将 api.dev.sb 重定向至 api.uaxk.com。 配置服务和重定向的操作完成后,测试了一下,很多 NSFW 图片还是轻松过审了,查看了网站日志,发现NGINX 在重定向时,将 api.dev.sb 的 POST 操作给转换成为了 GET,以至于产生了404错误,导致服务失效。 在整理解决办法的时候,无意中看到:“由于某些原因,在使用用户代理时,301、302会将 POST 方法改为 GET 方法,307、308在重定向时不允许浏览器将 POST 请求重定向为 GET 请求” 将重定向方式从 301/302 改为...

WebFeed 倡议书

什么叫独立博客,独立博客到底该不该开放Feed。 先说说为什么会出现独立博客的概念。一个所谓的“独立”博客个人感觉需要包括三点: 拥有一个可供自主解析的二级域大部分文章为博主原创!不依赖于类似 微博、知乎、微信公众号等自媒体平台 由于个人平台输出内容获取的收益无法与此类自媒体平台相比,而且还承担着各种各样的风险以及成本,很多的内容创作者便从个人建站的时代,进入了依赖于第三方平台的自媒体时代,去输出内容。此时独立博客的概念出现,并且由此,独立博客的数量开始走下坡路,但仍有部分博主因为各种各样的原因,依旧保留独立博客。(还有一种说法是不受制于各平台太过于严苛的内容审核机制,仁者见仁智者见智了 第二个问题,独立博客该不该开放Feed。很多独立博客或是因为防止文章被大批量的采集,或是维持网站流量,或是因为各种各样的原因选择关闭了Feed,但这样是对 Web...