在Ubuntu 18.04上使用gnome boxes

gnome boxes是一个QEMU-KVM虚拟化的前端。由于一些依赖问题,在Ubuntu 18.04上使用此程序需要一些额外步骤。 $ sudo apt -y install gnome-boxes --install-recommends 安装gnome-boxes后,运行它会报出类似"…

Read More

使用dislocker在Linux上挂载Bitlocker加密的卷

Bitlocker是微软的磁盘加密工具,仅支持Windows Vista以上的Windows操作系统,而微软也未公开其相关参数。 有一开源实现,dislocker,可以实现在Linux上以多种方式(用户密码/恢复密钥/BEK格式的恢复文件…)解密并访问由Bitlocker加密的卷。 编译安装dislocker $ git clone https:…

Read More

解决APT包版本冲突与降级

近日,Ubuntu 16.04.x LTS可通过执行do-release-upgrade升级到18.04.1 LTS,故将一台VPS升级。 升级过程大体顺利,除了一些包的配置文件需要更新——我将diff输出的对比内容截图后保留(VNC Console中无法复制文本)…

Read More

WordPress应对棘手的垃圾评论

近期[8月1日起],我的博客收到大量垃圾评论,它们在WordPress后台中可看到的特征如下: 都以minecraft为姓名 邮箱很可能是随机生成 IP地址很多,多为美国的家庭宽带 评论中无有效内容,皆是些"你的文章写的很好,我很喜欢看"(译)…

Read More

Windows与Linux共用一个蓝牙鼠标

当一台电脑同时安装了Windows和Linux(以Ubuntu 18.04.1为例)时,每当重启并切换到另一个操作系统,蓝牙鼠标便需重新配对,十分不方便。 这是因为蓝牙设备有一个配对密钥(pairing key)——计算机必须有这个密钥,才能与蓝牙鼠标配对。而两个操作系统上保存的配对密钥不同,…

Read More

为WordPress添加外部链接图标

许多网站使用形如"指向右上方的箭头"的图标来标示页面中的外部链接,我们计划为WordPress引入此功能,并使用于文章和评论内容中。 构建一个新的插件,或在当前使用的主题的function.php中插入如下内容: function external_link_v2($text)…

Read More

主板的玄学故障与排除

问题篇 事情要从2018年2月说起。当时回国后,我将自己的台式机拆开清理灰尘,拆下CPU重新安装后便出现了奇怪的问题:插入主板的4条内存(分为两个通道),每通道永远只有(容量大的)一条能被BIOS和操作系统识别并使用,而4条内存皆可在SPD信息中被识别到,亦可被AIDA64等硬件检测软件中的SPD信息识别到。(即:只能使用12GiB内存中的8GiB) 这台电脑主要配置如下,…

Read More

编译安装nghttp2(启用apps)

众所周知,HTTP/1.1是一个文本协议,而HTTP/2除Header外皆使用无法直接阅读的二进制编码。在一些情况下,我们需要将HTTP/2与HTTP/1.1相互转换(下简称:翻译)。 nghttp2是一个用C编写的HTTP/2实现,…

Read More

对一次网络攻击的调查(及教训)

2018年5月18日,我偶然发现自己的博客的404页面上出现了一串奇怪的数字。它的一部分被某些HTML元素遮挡了,但我还是通过浏览器的开发者工具得到了它——8194460 接下来我做了一件大错特错的事——在Wordpress中将Wordpress和官方的主题全都更新了,这直接使得很多证据丢失了。 反混淆 我透过SSH连接至主机,发现站点根目录下多了一个名为assets的目录,而下载WordPress本身是不含这个目录的。其中只有一个文件(assets/picture/…

Read More

LaTeX test

$$\frac{1}{2}\rho v^2+\rho gh+p = \text{constant}$$ $${c(H_3O^+)} = K_…

Read More

使用acme.sh签发Let's Encrypt通配符证书

12小时前,Let's Encrypt发文称,在经过一系列调整后,正式的ACMEv2后端以及通配符证书已被支持。 acme.sh已支持测试版ACMEv2协议及通配符证书,如今只需去掉命令行中的--test便可签发有效证书。 通配符证书对应域名的所有权无法在通过HTTP进行验证,故ACMEv2采用DNS来验证申请者对域名的所有权,为此需要对该顶级域名添加一条TXT DNS记录。为提高自动化程度,acme.sh和CertBot等支持ACMEv2的工具利用DNS服务商的API来添加与(…

Read More

编译支持HTTP/2的cURL

Ubuntu 16.04的软件源所提供的curl不支持http/2。为支持http/2,需自行编译curl。 为确保支持ALPN(如不支持则无法与一个现代的http服务器协商至http/2),使用OpenSSL作为SSL库。 OpenSSL要使用1.0.2或1.1.…

Read More