记一次使用 fontTools 优化网页字体(字体文件大小)
一直以来,本站使用的是 HarmonyOS Sans 字体,但由于中文字体文件过大(约 4.3 MB),导致网页加载速度缓慢,不利于弱网环境下的访问。因此,本文将介绍如何使用 fontTools 中的 pyftsubset 对网页字体进行切片,以优化网页字体文件大小。 安装依赖使用前需要安装 Python 3,fontTools 以及 woff2 安装 Python 3Python3 一般系统都有自带,如果没有,可以使用以下命令安装: 12# Debian/Ubuntuapt install python3 安装 fontTools安装完成后,使用以下命令安装 fontTools: 123pip3 install fontTools# 在一些版本的 Debian/Ubuntu 系统中,可能需要使用以下命令apt install python3-fonttools 一些系统可能需要使用 pip 命令,具体可自行尝试。 安装 woff2在对字体文件进行切片后,需要将字体文件转换为 woff2 格式,因此需要安装 woff2...
Nginx 编译开启 Quic 或 HTTP/3
随着最近 Nginx-Quic 分支被合并到了 Nginx 主线,Nginx 1.25.0 版本官方二进制包已经支持 Quic/HTTP3,感兴趣的朋友可以前往 https://nginx.org/en/download.html 或 https://nginx.org/en/linux_packages.html 下载安装,体验一下 Quic/HTTP3 的魅力,本文将主要为您介绍如何通过编译的方式开启 Quic/HTTP3。 2024年11月10日更新:Nginx已将仓库迁移至Github,因此删除部分依赖,更新仓库链接2024年04月11日更新:大部分系统下默认存在着www-data用户组和www-data用户,所以不再使用原来的www用户和www用户组进行编译。2024年03月07日更新:最终使用 C++ 链接构建 Nginx,以解决 BoringSSL 编译问题。2024年02月20日更新:通过在 Nginx 邮件社区讨论得到了一个解决方案,可以将 libssl 构建为共享库来解决这个问题,详见...
利用 Nginx 搭建 IP 查询接口
本文将介绍如何利用纯 Nginx 搭建 IP 地址查询接口(只查询 IP 地址,不查询 IP 归属地),如果有查询 IP 归属地的需求,可以参考另一位大佬的一篇文章 纯 Nginx 打造 IP 地址查询接口。 好久不见,这两个月由于一些原因(考试、面试)一直没有更新博客,今天终于有时间了,就赶忙来更新。用 Nginx 来获取 IP 这个方法是去年 8 月份在处理DDNS Openwrt 插件无法更新 IP 的 case 时了解到的,当时插件里获取 IP 的接口 ns1.dnspod.net:6666 由于是早些年写的一个程序仅支持 http/0.9 导致 DDNS 插件无法正常获取 IP 地址,后面一位大佬改用 Nginx 来获取 IP 地址,那次才知道 Nginx 原来还能这么用,简直是学艺不精哈哈哈。 安装 Nginx 的方法就不介绍了,直接丢配置文件了。 文末有现成的,如果你不想自己搭建的话可以直接使用。 配置示例获取...
腾讯云建站 CloudPages 记录(编辑网站)
这是一篇编辑网站操作记录,完整的流程请参考 腾讯云建站 CloudPages 快速构建您的企业网站,等有时间再录个视频哈哈哈哈。 操作记录清空全部页面和区块由于没有适合笔者的模板,所以笔者选择了清空全部页面和区块,然后自己从头开始搭建。 各种删删删,清空为止~ 添加区块修改内容编辑导航栏更改logo,网站名称,以及导航栏的菜单。 添加banner区块页面总要有一个头图,要不总感觉哪里怪怪的,所以我们添加一个 banner 区块,然后替换内容即可。 点击添加区块,选择图文通栏,并根据自己的需要选择合适的版式: 添加完成后根据自己的需要修改区块内容及样式: 添加介绍区块设置为 Banner...
如何打造个性化的 DNS 服务器地址(用自己的域名作为 DNS 服务器地址)
分类写成教程了,其实就是闲谈,平时我们如果注意观察的话就会发现挺多大厂域名的 DNS 都比较有个性,比如 qq.com 这个域名的 DNS 服务器为NS1.QQ.COM——NS4.QQ.COM,而我们自己的 DNS 服务器基本上就是千篇一律的f1g1ns1.dnspod.net/xxx.dnspod.net/dns(1-32).hichina.com/ns(1-8).alidns.com等等,那如何用自己的域名做域名 DNS 服务器地址让我们的域名服务器看起来更个性化一些呢?答案就是贴牌(当然有能力你也可以自建)。所谓贴牌 DNS 就是使用解析厂商提供的解析服务,但是 DNS 服务器的域名,替换成你自己的,这个东西叫法比较多,包括像:贴牌 DNS/Vanity Nameservers/DNS Branding/Custom Nameservers/white-label name servers 等等,我比较喜欢 Vanity Nameservers...
使用华为云 DNS 拉平 CNAME 记录(CDN 场景)
接上一篇文章使用 DNSPod 拉平 CNAME 记录(CDN 场景)这篇文章将介绍如何使用华为云 DNS 拉平 CNAME 记录(CDN 场景)。 操作场景本文将指导您如何使用华为云 DNS 的 API 实现拉平 CNAME 记录,以解决相关记录冲突的问题。 方法说明不再重复说明了,如有兴趣请看使用 DNSPod 拉平 CNAME 记录(CDN 场景) 前提条件 域名解析托管在华为云 DNS 项目地址https://github.com/KincaidYang/CNAMEFlattening 操作步骤获取脚本Flame 版本该版本适用于腾讯云 CDN、华为云 CDNIPv4 脚本: 1wget https://dl.r2wind.cn/script/CNAMEFlattening/HuaweiCloud/Flame/Huaweicloud-Flame-IPv4.py IPv6 脚本: 1wget...
使用 DNSPod 拉平 CNAME 记录(CDN 场景)
由于 CNAME 跟任何记录都冲突的特性,在根域(@)下添加 CNAME 记录指向 CDN(或其他服务)会导致 mx(邮箱记录)、TXT(一些站长验证)、DS 等常用记录冲突等且多级 CNAME 会导致解析性能下降等问题,所以拉平是一个很不错的解决方案。但目前 DNSPod 并没有提供拉平的功能,所以需要自己写脚本调用 API 实现。(本文以腾讯云 CDN 为例,但是其他 CDN 服务商也可以使用,替换脚本里面的 CNAME 域名即可。)PS:自2019年1月接触互联网行业以来一直在做运营相关的工作,本身也不是学计算机相关专业的,代码写的可能不是很好,欢迎大佬们指正。 操作场景本文将指导您如何使用 DNSPod 的 API 实现拉平 CNAME 记录,以解决相关记录冲突的问题。(以腾讯云 CDN 为例) 前提条件 域名解析托管在腾讯云 DNSPod。 域名已绑定企业版或更高版本套餐。 方法说明流程图实现的方法大体如上图所示,获取 CDN 在31个省份三大运营商的调度结果,然后将调度结果更新到 DNSPod 上。 相关说明 因本人海外访问全部由 Cloudflare...
本站现已支持 HTTPS 记录(Type65)
基于 DNSPod 提供的解析能力,本站现已支持 HTTPS 记录 (HTTPS record) 即 Type65 记录,截至发文时,该记录相关规范仍在处理中,尚未最终确定,但已有部分厂商开始使用,如 CloudFlare、Apple 等。在 ios14 以后的版本上,系统会优先查询 HTTPS 记录,因此合理的配置 HTTPS 记录可以有效的提升 ios 用户的访问体验。其他浏览器如 Chrome 对该记录的支持目前还处于试验阶段,可通过 chrome://flags/ 配置开启。 记录相关介绍HTTPS 记录是一种新的 DNS 记录类型,关于其详细介绍请参阅:draft-ietf-dnsop-svcb-https-11。 配置方法由于该记录仍在草案处理中,本文不再详细介绍配置方法,具体可参见:设置 HTTPS 记录。 相关测试1234567891011121314151617; <<>> DiG 9.16.30 <<>> r2wind.cn https;; global options:...
如何正确变更 DNSPod 解析套餐(降级场景)
操作场景本文将指导您如何完成 DNSPod 解析套餐的变更,适用于降级场景(将套餐由高版本改至低版本,如企业版更换为专业版)。 前提条件 拥有需变更套餐域名的管理权限。 已购买其他版本套餐,若降级至免费版本,请忽略。 操作步骤将域名 DNS 服务器更改为免费版本 说明:由于降级 DNS 套餐版本需要解绑当前套餐,解绑套餐后若域名 DNS 服务器仍为原套餐版本的 DNS 服务器地址将导致域名无法解析;且受各地运营商递归 DNS 缓存影响,即使在变更套餐后及时修改域名 DNS 服务器地址为当前版本套餐地址,也可能导致在 72 小时内出现解析异常等影响业务的情况。所以在变更套餐前请您将域名 DNS 服务器更换为免费版本,以确保降级套餐不会影响正常解析。 获取免费版本 DNS 服务器地址 登录腾讯云 DNSPod控制台。 单击 DNS解析,在我的域名页面点击需要变更套餐的域名。 进入后单击域名设置并点击查看免费版的 DNS 服务器。 记录免费版本 DNS 服务器并前往域名注册商将 DNS 服务器变更为免费版本。 更改域名 DNS...
关于“指向 Github 静态托管页面引起腾讯云免费证书无法签发”问题的解决方案
操作场景操作目的本文将指导您解决当您的网站使用 Github 静态托管时导致腾讯云免费证书无法签发的问题。 问题背景 自2022年03月03日22:00:00起,TrustAsia 根证书签发由 Digicert 根证书变更为 Sectigo 根证书。 用户使用 Github 静态托管时通常会将域名指向 Github 提供的CNAME记录值,如”username.github.io”。 将域名指向 Github 提供的CNAME记录值意味着该域名(子域名)所有解析记录类型(含CAA)的记录值均由”username.github.io”提供。 由于 Github 提供的CNAME记录值”username.github.io”中包含 CAA 记录(如下述示例),且改该域名 CAA 记录中不包含 Sectigo 根证书的授权,因此将导致腾讯云免费证书无法签发。 123456789101112131415161718192021rttw@Kincaid:~$ dig username.github.io caa; <<>> DiG...