Reading view

There are new articles available, click to refresh the page.

PixDuplicate – 从设备上快速查找、删除重复照片,支持离线使用的网页应用

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

PixDuplicate」是一个从系统中快速查找、删除重复照片的网站,也是渐进式网络应用程序〔Progressive Web Apps,PWA〕,简单来说,这个工具不需要用户将照片上传,所有过程都只会在设备的浏览器上完成,因此不用担心文件被第三方服务器获取,通过 PixDuplicate 能快速找出重复或相似的照片,浏览后进行删除或是移动到指定文件夹。

PixDuplicate 主要有两个模式:

经过我的测试在关闭网络的情况下确实可用,也表示图片不会在过程中上传到服务器,不过在刚进入服务前还是需要有网络连线,接下来就实际示范一下 PixDuplicate 功能。

https://www.pixduplicate.com/

进入 PixDuplicate 网站后往下滑动页面,会看到两个主要功能:

选择图片、查找指定文件夹有无相似或重复结果。

我先从第一个「Scan One Image」功能开始测试,打开后会有两个步骤,分别是选择一张要查找的图片,以及选择要查找的路径,下方会有一个「Use quick search」选项默认启用,可以让查找速度更快,不过有机会提高错误率。

虽然会显示「要将文件上传到这个网站吗?」,但实际上不会有任何上传操作,只是浏览器提示信息而已,害怕可以断网操作,然后点击上传。

比对后显示结果,快速删除或是移动照片文件。

接着会需要一段时间进行查找、分析和比对,我测试了一个大约 300 张照片的文件夹,其实只需要数十秒时间就完成。

在查找结果下方就会显示找到的相似或是相同图片结果,可以点击「Copy File Name」复制文件名来进行其他操作,如果浏览器支持新的 File System API 还能直接删除照片或是移动到指定文件夹。

查找指定文件夹有无重复或是类似照片。

如果想要寻找某个文件夹有没有重复或是类似照片,使用另一个「Scan All Images」就能快速查找,这个功能更简单一些,只要点击「Select a folder with your images」选择照片的文件夹后进入自动查找功能。

PixDuplicate – 从设备上快速查找、删除重复照片,支持离线使用的网页应用

在查找结果会列出看起来很相似、相同的照片结果,可以快速复制文件名、删除或是移动到重复照片的文件夹,要注意的是 PixDuplicate 并不是 100% 准确,有些看起来很像但实际上不同〔例如我测试使用的屏幕截图〕,还是要手动自行辨别一下以免误删照片。

浏览器要支持较新的 File System API 才能直接删除或迁移图片,我使用 Brave 浏览器目前无法使用这个功能,若是不能一键删除、迁移照片的话就必须要手动进行相关操作。

Google vs ChatGPT 搜索体验对比实测

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

随着 的新实时搜索功能, ChatGPT 正在将自己定位为传统搜索引擎如 的竞争对手。ChatGPT 以其对话式的响应而闻名,能够提供实时的上下文信息而不带广告。

我抓住机会看看 ChatGPT Search 与 Google 长期以来的搜索专业性相比如何。我进行了几次比较,涵盖了速度、准确性、视觉效果和整体用户体验等类别。以下是它们的表现。

问题“东京的主要旅游景点有哪些?”

Google 的搜索引擎非常快速,结果在毫秒内就能交付。搜索引擎拥有多年的优化经验,并且有专门为高速索引和检索而构建的基础设施,可以立即获得来自多个来源的广泛相关结果。

ChatGPT 的搜索同样快速,并为每个地点生成了更清晰、更用户友好的图像和信息。显然,AI 通过从相关来源提取信息来生成响应,然后以对话的方式分享这些信息。结果感觉更加友好,几乎就像 AI 很高兴我去旅行一样。

使用体验ChatGPT Search
在以对话且简洁的方式提供有价值的快速响应方面领先。

问题: “解释气候变化和全球变暖之间的区别。”

Google
 的响应来自 Gemini,概述了气候变化和全球变暖,并将其包裹在一个简短的段落中。从那里,我可以向下滚动并搜索一些来自 NASA、USGS.gov 甚至 Quora 的链接。显然,算法优先考虑流行和权威的来源,但它也是以广告驱动的,这意味着顶部结果有时包括我看到的来自联合利华的赞助内容。此外,对于复杂的主题,我自己需要浏览多个链接才能拼凑出完整的答案。

ChatGPT 提供了直接的答案,从网络中提取经过的信息,然后添加了一个可点击的「来源」图标。这个功能减少了我在 Google 搜索中从多个收集信息的时间。在这个搜索和其他搜索中,ChatGPT 的总结对于一般查询甚至更详细的主题都是准确的,其设计允许更干净、更加集中的体验。(不过,请记住,广告可能会在未来出现。)

使用体验ChatGPT Search
在便捷和准确的直接答案方面赢得了这一轮。

问题: 苹果目前的股价是多少?最近有什么更新?

Google 实际上没有给我一个立即的答案。相反,我得到了一个指向 Yahoo Finance 的链接,我可以点击并希望自己找到答案。

ChatGPT
在毫秒内,答案就在我眼前。我还得到了关于苹果的新闻和更新,当然,还有来源。ChatGPT Search 真是令人耳目一新。我得到了问题的答案,而不需要四处寻找细节。通过将答案直接呈现在我面前,我节省了时间,而不需要再点击几次。显然,对于实时的股票 或天气更新,ChatGPT 提供了可比的准确性,甚至在深度上超过了 Google 庞大的视觉库。

使用体验ChatGPT Search
继续以其策划的实时直接答案给我留下深刻印象,显示出未来更新的潜力。

问题: 给我展示媒体对心理健康影响的最新研究。

Google 提供了如此多不同的答案,我甚至不知道该从哪里开始。从 Gemini 的响应到侧边栏,再到下面的链接结果,整个体验极其杂乱——这是我在使用 ChatGPT Search 时从未注意到的。此外,Google 的广告模式意味着用户数据通常被用来提供个性化广告。虽然 Google 有广泛的隐私政策和设置,但其广告驱动的方法可能导致不总是优先考虑用户隐私的定向内容。

ChatGPT 再次,ChatGPT 搜索提供了一个更清晰的界面,没有推广内容。对于这种个人化的搜索,额外的隐私关注方式让我非常感激。作为一个希望在搜索过程中不被广告定向的用户,这种方式对我来说更具吸引力——或者在之后。

使用体验ChatGPT Search
在考虑隐私和负责任的内容使用方面领先。对于敏感搜索,不被广告定向是一个巨大的优势。

问题: 什么是我客厅里最好的电视?

Google 我说的就是我说的,Google。在纠正我输入「What's」而不是「What is」后,Google 给我回应了一些链接,所有这些链接都是赞助的,我需要点击才能找到电视。在得到这个回应后,我感觉我需要再次问它以帮助缩小范围。然而,在赞助链接下,还有来自内容发布者的链接。

ChatGPT 为我缩小了范围,包含了图像,并给出了我想要的答案。AI 确实感觉像是一个朋友,提供有价值的信息。每个电视图像旁边都有一段介绍,提供关于每个电视的信息。与 Google 相比,这种设计感觉更加干净和简洁。此外,对话格式直观,我可以滚动浏览推荐,而不需要像在 Google 搜索中那样需要浏览多个链接。

使用体验ChatGPT Search
提供了一个令人耳目一新的体验,直接回答和具体示例。

问题: 谁在民调中领先?

Google 的结果包括有关选举的新闻故事。我希望通过这个问题获得关于今天总统选举民调中谁领先的直接结果。我不得不挖掘新闻故事才能找到答案。

ChatGPT 给了我我想要的结果,直接提供了事实。选举新闻无处不在,所以我不需要阅读更多的新闻故事。ChatGPT 给了我一个直接的答案。

使用体验ChatGPT Search
提供了没有繁琐的实时答案。

问题: 洋基队在世界大赛中是如何崩溃的?

Google 的第一个结果是从《纽约时报》关于该主题的故事中提取的引用。这是一个快速的响应和直接的答案。然而,它让我感觉我没有得到完整的故事。

ChatGPT 提供了更全面的回应,从更多来源提取信息,但仍然感觉干净简洁。我得到了洋基队彻底失败的完整画面。

使用体验ChatGPT Search
再次提供了我所寻找的实时答案,并增加了确认我获得所有信息的全面性。

ChatGPTGoogle 在不同领域都表现出色,但它们满足的需求略有不同。如果你在寻找全面的搜索结果,拥有大量来源和视觉效果,Google 仍然是强者。

然而,如果你的优先事项是清晰、无广告、对话式的响应以及内置的实时更新,ChatGPT 提供了一种流畅、用户友好的体验,可能很快就会成为日常查询的主流。

ChatGPT Search 提供的无杂乱答案以及支持它们的来源是全面且可靠的。我对 ChatGPT 的答案更有信心,因为它们简洁且没有广告商的支持。结果感觉就像是专为我准备的。在杂乱的网络中,ChatGPT 就像一个乐于助人的朋友,我喜欢这种感觉。

Stirling PDF – 免费开源的 PDF 编辑工具,拥有超过 30 个的全面功能

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

Stirling PDF 是一站式的 PDF 编辑,让用户能对 PDF 文件进行各种编辑操作,包括分割、合并、转换、重新组合、新增影像、旋转、压缩等等,特色是免费、开源GitHub〕,过程中文件只会存在用户的设备上,若在处理时有暂存于服务器的内容在下载后会即时从服务器删除,不会记录保存或追踪任何资料,相较于在线工具来说是更安全、的解决方案。

1 Locally hosted web application that allows you to perform various operations on PDF files – Stirling-Tools/Stirling-PDF

Stirling PDF 提供多元的 PDF 编辑功能,涵盖文件组织、格式转换、安全性、检视与编辑等工具,满足各类文件处理需求,用户无需额外下载、安装软件,只要通过即可进行操作,Stirling PDF 有中文在内等多国语言界面〔在我写这篇文章时中文字串翻译率已达 93%〕,进入、找到对应的功能后就能直接进行编辑。

这项服务目前可以做到的功能包括:

1. 文件组织

2. 格式转换

3. 签名与安全性

4. 检视与编辑

5. 进阶功能

顺带一提,Stirling PDF 还有提供 Windows 版本,可以在没有连上的情况下使用,如果有兴趣的朋友可以在 GitHub 找到下载链接,原则上两者功能差不多,无论在线版或 Windows 程序都不用付费、也无广告干扰。

Stirling PDF

进入 Stirling PDF 网站后先从右上角语言选择「中文」。

Stirling PDF – 免费开源的 PDF 编辑工具,拥有超过 30 个的全面功能

接着从上方「工具」就能看到完整功能,依照类型分为:组织、转换为 PDF、从 PDF 转换、签名与安全性、检视与编辑和进阶工具,也可以直接从首页输入功能名称列出相关工具。

有一个 PDF 万用工具是整合旋转、裁切、分割、移除、新增图片等功能,进入后先点击左下角新增要编辑的 PDF 文件。

加入后 PDF 页面预览就会显示于下方,每一页都可单独旋转、删除或调整页数,将光标到页面中间时还会出现其他编辑选项,例如裁切或是加入图片,其实操作上很直觉,稍微摸索一下就会。

编辑完成别忘记点击右上角「下载」保存新的 PDF 文件。

另一个压缩 PDF 也是很常在在线工具看到的功能,选择文件、设置压缩比或是自动模式〔自动调整质量以使 PDF 达到指定大小〕,就能快速压缩 PDF 以获得更小的文件容量。

点击压缩后就会开始处理,完成后自动跳出下载提示,我以大约 9 MB 的 PDF 文件、手动模式 3 级测试后获取一个约 2.5 MB 的新文件,压缩成效相当好,而且图片并没有失真或模糊等情形。

另一个也很常用到的功能是「分割 PDF」,可以将 PDF 指定页面删除、或只是留下需要的页面,使用方法也很简单就不多加赘述,Stirling PDF 会有预先设置的示例提示,用户照着格式稍作修改后就能完成相关编辑任务。

如果要说 Stirling PDF 有没有比较特殊、少见的功能,有一个「自动涂黑」工具很有用,用户只要输入要涂黑的文字,选择 PDF 后就会自动将识别到的文字涂黑,确保隐私和安全性,同时也省去手动编辑文件的时间,操作上更有效率哦!

下图就是使用自动涂黑工具识别、涂黑的 PDF 文件示例,指定文字就会被涂黑处理。

OCRify – 免费快速 OCR 工具,识别转换图片和 PDF 文字内容

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

OCRify 是一个在线,通过文字识别〔〕技术将 转换为可编辑的文字,有鉴于当今的型手机甚至 AI 人工智能都能做到类似功能,对于 OCR 工具的需求可能就没有那么强烈了,但如果手边恰巧没有合适的工具,临时有图片想要复制图片上的文字内容、转存到其他编辑器还是很有帮助。

OCRify 特色是不用安装,打开、把要识别的文件拖曳上去就能自动识别内容,有最大文件 10 MB 和格式限制,支持 PDF、PNG、JPEG、WEBP、TIFF、GIF 和 BMP,PDF 部分最多 10 个页面,对于大多数用户来说应该没什么问题。

OCRify 支持多种语言的文字识别,包括亚洲、欧洲、中东和非洲的语言,例如中文、阿拉伯语、俄语、法语、德语、日语、韩语等一共涵盖了 60 种语言,几乎所有内容丢上去 OCRify 都能正确被识别、转为纯文字,但类似的工具都有可能遇到无法 100% 正确识别的问题〔例如有错字或漏字〕,记得在使用时还是要自己手动检查。

进入 OCRify 网站后可先从右上角切换语言,自带中文界面。

接着直接把要识别的图片或 PDF 文件拖曳到网站上,单文件最大不能超过 10 MB〔PDF 最多不超过 10 页〕。

选好文件后按下「开始识别」,等待几秒钟就会显示结果。

OCRify – 免费快速 OCR 工具,识别转换图片和 PDF 文字内容

以下图的图片为例,OCRify 会标记出有正确识别的文字范围,以红色的框线标注。

点击一下后就会出现纯文字格式,按下右上角「复制」即可保存到剪贴板。

还可以点击上方「仅文字」切换为纯文字内容,这里会显示从图片或 PDF 识别到的所有文字。

前面介绍的是以 OCRify 识别图片的示例,下图是识别 PDF 文件的结果,一样会标注找到的文字内容,很棒的是有些文字如果是直式方式书写,OCRify 一样可以识别、同时转为一段文字内容,不会因为直式而出现错误。

3 款 Chrome 插件,检查谁在用你的 Cookie

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

等每个弹出一个 Cookie 弹窗让你选择给不给用 Cookie,倒不如用插件一举解决这个烦恼。

🏪 接受所有 Cookies – Chrome 应用商店

这个插件解决的不是 Cookie 本身, 而是减少 Cookie 弹窗给用户带来的影响。

这个插件安装完毕后无需任何配置,它会自动处理大部分情况。在大多数情况下,扩展功能会阻止或隐藏与 Cookie 有关的弹出式窗口。(比如装完插件后试试打开 StackOverflow,左下角的弹窗就消失了)

具体点讲,它把网站通常要求使用的 Cookie 分为三类:技术、分析和营销。

当网站需要正常工作时,这款插件会自动判断,是接受 Cookie 政策,还是接受所有 Cookie,或是只接受必要的 Cookie。以尽可能减少对你的干扰。

WhoUsesCookies 这个插件能够看到 Chrome 插件使用的 Cookie 范围,并允许立即将插件禁用。

🔗 WhoUsesCookies – Github

因为 Cookie 中存储的信息可能包括用户的登录状态、浏览偏好,甚至是敏感的加密货币钱包数据。如果某个恶意扩展插件获得了读取 Cookie 的权限,它可以轻松获取并滥用这些敏感信息。

这个插件目前没有在 Chrome 商店上架,你需要手动安装。

插件安装完毕后,只需点击浏览器工具栏中的「谁在用 Cookie」图标,即可查看哪些已安装的浏览器插件拥有 Cookie 访问权限。用户可以根据检测结果,决定是否禁用某些不必要或存在潜在风险的插件。

为了避嫌,插件还在 页面提供了「手动插件的性」的方法。用户可以自行检查插件的权限设置。以下是如何在 系统上手动检查插件权限的步骤:

通过这种手动检查的方法,用户可以进一步验证插件是否存在未授权的权限请求,从而确保使用安全。

在日常浏览网页的过程中,我们的浏览器会收集并存储站点数据,如 Cookie、IndexedDB 和 LocalStorage 等。这些数据虽然有助于提升浏览体验,但也会占用存储空间。

如果你想在离开某些网页的同时立即清除 Cookie,但又在常用的网站里保留 Cookie(因为 Cookie 通常还会被用于维持登录状态),可以试试 Cookie AutoDelete 插件

🏪 Cookie AutoDelete – Chrome 应用商店

🔗 Cookie-AutoDelete – GitHub

使用 Cookie AutoDelete 插件很简单,为了充分发挥它的功能,可以遵循它的使用文档做一些配置:

📄 插件使用文档

全球 AI 产品 Top100 出炉!只有一个国产应用进前十

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

8 月 21 日,硅谷知名投资机构 a16z,根据近半年的数据,选出了前 100 名 应用

大多数人在使用哪些 AI 产品?哪些类别更受欢迎?用户会坚持使用哪些 AI 产品,而不是转瞬即忘?接下来,我们一起来看看。

这已经是 a16z 第三次发布 AI 百强榜单了,第一次是 2023 年 9 月,第二次是 2024 年 3 月,半年一更,频率稳定。

a16z 的评选方法是,基于 Similarweb、Sensor Tower 的数据,每 6 个月排一次名,榜单分成 2 部分:

全球 AI 产品 Top100 出炉!只有一个国产应用进前十

▲网页端前 50

▲移动端前 50

网页端和移动端的 TOP10 里,美图秀秀国际版 Meitu 属于国产,靠粘土滤镜爆红的 Remini 最开始也是出海产品,后被一家意大利公司收购。

接下来我们分门别类地谈谈,首先是通用型 AI 助手。

第三次了,ChatGPT 还是遥遥领先,在网页和移动端都拿下第一,绝对的 killer app

与此同时,ChatGPT 不如对手们增长势头猛烈。谁才是最好的 AI 助理,尚且没有定论。

▲增长指数

黄仁勋爱用的 AI 搜索 Perplexity 在网页端排名第三,并首次入围移动端榜单,正好排在第 50 名,差点名落孙山。

Perplexity 超过 7 分钟的用户平均停留时间,甚至略胜于 ChatGPT

比起 等传统搜索,Perplexity 直接提供简洁、实时、相对准确、可以引用信息来源的答案。数据说明,AI 搜索的形式在一定程度上走通了。

OpenAI 的 Sam Altman 也对这种形式保持认可,然而,OpenAI 的 AI 搜索 SearchGPT 还在小范围地内测,用户比 CEO 更着急。

ChatGPT 定位最像、竞争更直接的产品是 Claude,来自前 OpenAI 员工创立的 Anthropic。这次,Claude 的排名有所提升,在网页端排名第四,好过上个榜单的第十。

今年 6 月,Claude 推出的新功能 Artifacts 突破了聊天窗口的限制,可以实现实时可视化、互动编程等,拓展了用户与 Claude 交互的方式,好评不少。

▲Artifacts

除了早已功成名就的一代目,通用助手的赛道也有一些后起之秀。

字节跳动这次一次性上榜了五个产品:教育应用 Gauth、开发平台 Coze、通用助手豆包、豆包英文版 Cici、照片和编辑 Hypic。

除了 Hypic,其他都是首次出现在榜单,其中,豆包移动端第 26 名、网页端第 47 名,Cici 也在移动端排到第 34 名。

豆包的功能发展得很全面,并且多端覆盖,使用门槛又低,日常场景够用,所以有这么大的用户量,也在情理之中。论做产品和商业化,还得看字节。

另外,AI 助手 Luzia 首次上榜移动端,一来就是第 25 名。

你可能没有听说过这款产品,它主要服务西班牙语环境,全球拥有 4500 万名用户。最初,Luzia 作为 WhatsApp 的聊天机器人出道,但 2023 年 12 月有了独立的 app

除了什么都能聊的通用助手,消费者对于 AI 还有哪些垂直的、特别的需求?

一个重要的趋势是,大家都在用 AI 搞创作,并且创作的形式越来越丰富了。

a16z 的网页端榜单里,52% 的公司支持图像、视频音乐、语音等的内容生成和编辑。

其中包括 7 家新上榜的公司,排名还不低,视频生成工具 Luma 排在第 14 名,音乐生成工具 Udio 排在第 33 名。

和 Udio 同一个赛道、被称为音乐界 ChatGPT 的 Suno,存在感更是暴涨,从今年 3 月的第 36 名,上升到今年 8 月的第 5 名。

榜单和榜单的纵向比较也很有意思,之前的榜单里,大多数内容生成工具围绕图像。

但现在,图像生成的占比降到了 41%,只有一个图片生成工具(SeaArt)首次上榜,视频生成工具出现了三个新面孔(Luma、Viggle 和 Vidnoz)。

端新增产品

Udio 上线于今年 4 月,6 月则是 AI 视频工具爆发的一月,快手可灵、Dream Machine 的 Luma AI、Runway 的 Gen-3 Alpha 接二连三发布。

可以看到,不过半年,AI 在音乐和视频上的输出质量,都卷出了成绩。

至于移动端,最常见的创作形式是编辑图像、视频。相关工具占到榜单的 22%,是移动端的第二大产品类别。

▲Adobe Express

虽然也有初创公司涌现,但排名更高的,是那些在生成式 AI 浪潮里转型、推出更多玩法的传统创意公司。

其中有我们比较熟悉的名字,美图秀秀国际版 Meitu 在第 9 名,字节跳动旗下的照片和视频编辑器、醒图国际版 Hypic,位列第 19 名。

另外,韩国互联网巨擘 Naver 旗下的相机应用 SNOW 第 30 名,内置了 Adobe Firefly 生成式 AI 的 Adobe Express 第 35 名。

之前 washingtonpost 做过一个调查:人们会和聊天机器人说什么?他们分析了数千次对话,第一是搞黄色,第二是完成家庭作业。

最近也有一款很火的 P 肌肉应用 Gigabody,让你提前看看增肌之后的模样。它会产出很多照骗,也会打击健身人群的自信心,因为很可能练了半天,还不如 Gigabody。

举出这两个例子,是为了佐证 a16z 的结论。

a16z 移动和网页端的榜单,都出现了一个很有意思的新类别:美学和约会。

其中包括三个新入围移动端榜单的工具:LooksMax AI(第 43 名)、Umax(第 44 名)和 RIZZ(第 49 名)。

▲移动端新增产品

LooksMax 和 Umax 采集用户的照片并评分,然后给出建议,提升你的魅力。Umax 甚至会给出一个「满分模板」,也就是 AI 眼里你的完美模样。

LooksMax 不仅照顾到了颜控的看脸需求,也会分析用户声音的吸引力。

但它们的用户规模并不大,LooksMax 超过 200 万,Umax 在 100 万左右。

可能和这个赛道太卷有关,上网随便搜搜能够找到大量身体美颜滤镜,减肥、增肌、健身、变胖、换衣服,AI 都能帮忙,我们不再需要在 B 站学习复杂的 PS 教程

但这些应用的套路又都很类似,靠订阅赚钱,能赚多少是多少,Umax 每周收费 4.99 美元,LooksMax 每周收费 3.99 美元。

如果说 LooksMax 和 Umax 是认识更多发展对象的敲门砖,下一步就该用 RIZZ 了。

笨嘴拙舌的用户,可以用它提升回复约会 app 消息的水平。上传对话截图、个人资料等,RIZZ 都可以教你说些高情商表达。

古代的邹忌问身边人「吾与徐公孰美」,童话里的皇后问魔镜谁是世界上最好看的人,现在的人们则在问 AI:我怎么变得更帅、更漂亮、更有魅力,怎么不算一种科技与狠活呢?

食色性也,情感关系未必在人和人之间,也可以是人机。这次,AI 伴侣应用 Character.AI 排在移动端的第十,上次是第十六。

其实,上榜的还有一些尺度更大的 AI 伴侣应用,包括 Janitor、SpicyChat、candy.ai、Crushon 等,但 a16z 没有特别强调出来。

拿 a16z 今年 8 月的榜单和今年 3 月相比,近 30% 的公司是新公司。

如果再拿今年 3 月和去年 9 月的榜单相比,那么这个数字是 40%。

可见 AI 产品竞争之激烈和残酷,新一代 AI 原生产品和公司的发展速度,前所未有地快。

下一个爆款的 AI 产品,可能会是什么?答案或许在社交产品 Discord 出现。

a16z 发现,Discord 的流量,能够体现一个产品有没有潜力,尤其在内容生成方面。

Discord 的好处是,提供了服务器和交流社区,开发者无需构建完整的前端产品,所以它很适合作为一个沙盒,用来验证 PMF(产品与市场契合度)。

很多产品都是从 Discord 起步,构建社区,测试功能,积累用户,然后才有自己的独立,比如 Suno 和

时至今日,Midjourney 还是所有 Discord 服务器邀请流量的第一名。

▲ 在 Discord 受欢迎的 AI 公司

截至 7 月,10 家 AI 公司在所有 Discord 服务器邀请流量中排名前 100,与 1 月相比,其中一半是新秀。

AI 继续发展下去,未来可能连 app 的概念都会消失,人手一个 agent,AI 主动帮我们解决需求,但现在,我们还是从被用户选择的 app 中,一窥 AI 的可用性如何被定义。

常言道「不要创造需求」,产品的成功不在于通过广告等人为方式制造需求和虚假繁荣,而是找到并满足已经存在的、真实的需求。

AI 也是这样,融资、刷屏、炒作之后,依然是沉默的大多数,做出最诚实也最落地的投票。其中,有没有你正在使用并欣赏的产品呢?

We crunched the data to find out: Which gen AI apps are people actually using? And which are they returning to, versus dabbling and dropping?


2024 年 3 月:

Thousands of new AI-native companies are vying for attention. We crunched the data to find out: Which generative AI products are people actually using?


2023 年 9 月:
https://a16z.com/how-are-consumers-using-generative-ai/

PicLumen – 免费好用的 AI 图片生成与编辑工具,支持免费商用

DUN.IM BLOG

DUN.IM BLOG

PicLumen 提供一整套由 人工技术驱动的照片编辑和生成,用户在注册后从控制台输入提示词生成各种图片,选择不同的图片模型、长宽比、画质或进行各种细项的微调,此外,PicLumen 还整合 AI 抠图和编辑工具,可以说是非常先进、快速且方便易用的图片生成功能。

AI 生成的图片素材可自由使用于个人和商业用途,无需额外付费购买授权,生成的图片相当真实,任何类型的图片都能制作生成,不过要注意你只能将自己生成的图片使用于商业用途,其他人的图片可用作参考,但是不允许直接使用〔稍作修改即可〕。

如同大多数的 AI 图片生成器服务,PicLumen 也提供「探索」功能,查看其他用户生成的图片素材,也可以获取他们使用的提示词、反向提示词和各项参数,或是对图片进行「重混」〔Remix〕,如果没有什么灵感的话不妨在探索页面查看其他用户所使用的提示词和相关参数。

依照 PicLumen 支持中心提供的页面所述,PicLumen 生成的图片可以用于个人和商业用途,但要注意以下几点重要事项:

Create your unlimited AI images with PicLumen's AI image generator. Join the best AI image creator and turn your text to images freely.

进入 PicLumen 后点击首页「Generate for Free」按钮,来到登入注册页面,必须先注册账号才能使用,也可直接以 账户快速登入。

PicLumen – 免费好用的 AI 图片生成与编辑工具,支持免费商用

登入后会看到「探索」页面,也就是其他用户以 PicLumen AI 生成的图片,点击后会看到提示词和相关信息。

如果要自己生成图片,点击左上角「Create」进入图片制作工具。

生成器上方有几个可供调整的选项,包括 AI 图片模型、图片长宽比、画质和单次生成图片数〔最多四张〕。

长宽比〔Aspect Ratio〕功能很好用,预先选择要使用的图片比例后就不用后续编辑裁切。

将提示词输入后点击右边的「Generate」就能开始生成图片,速度很快,不到一分钟就会出现结果。

提示词右上角还有一个选项,可以设置反向提示词、CFG Scale、Steps 和 Seed。

PicLumen 一次可生成 1-4 张图片结果,看起来会有点像〔但又不太一样〕,如果不满意可微调提示词或切换为不同的图片 AI 模型,重新生成新的图片。

点击图片后会进入详细资料页面,从中间的按钮就能图片、AI 抠图或 AI 放大〔如下图红色圈选处〕。

PicLumen 还能将图片直接以 AI 去除背景,省去手动抠图的步骤,去除的效果也很优异!

前面有提到 PicLumen 本身也能查看其他人生成的图片,点击左上角「Explore」就能探索更多图片,很厉害的是利用 PicLumen 可以制作出各种风格的素材,从详细信息页面就能看到提示词和相关选项,稍微研究一下、修改后也能制作出很专业的图片哦!

在探索页面点击其他用户制作的 AI 图片,右下角会有一个「Remix」按钮能快速将相关信息带入 AI 生成器。

PopPop AI – 免费 AI 音效生成器,文字描述转换为音效神器

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

利用人工智能 技术制作已经不是,之前推荐过 Google MusicFXSuno AIStable Audio 都是 AI 音乐生成器,通过描述词或上传图片即可生成一段音乐,有些素材还能用于商业用途,相较于以往都要付费购买素材授权来说其实更实惠,而且利用机器生成的音乐又更不容易与其他人重复,以独特性来说略胜一筹。

PopPop AI」是一个免费 AI 音效在线生成器,用户输入一段文字描述后就快速生成相对应的音效素材,例如鼓掌声、下雨声、车流声或是餐厅、咖啡店吵杂的环境音,将文字在几秒钟内转换为各种类型的音效,亦可使用于、游戏制作或是各种情境。

PopPop AI 音效生成器没有使用限制,而且不用注册就可以立即使用,和同类型产品很不一样。

除此之外,PopPop AI 免费 AI 音效生成器的上也有提供不少音效示例,搭配上图片更有身历其境的感觉,很难想象这些都是以人工智能生成的音效,未来会不会转为付费服务还不得而知。

Create any sound from text effortlessly with our free online AI sound effect generator – the perfect, user-friendly sound maker for everyone.

进入 PopPop AI 音乐生成器后直接输入描述词,勾选右侧「智能模式」情况下可以使用简单的单词描述声音,该模式会自动修饰并填充相关的声音描述,也能输入中文,例如「交通、噪音、大城市」之类的关键词,按下「Generate」后就会开始生成音效。

PopPop AI – 免费 AI 音效生成器,文字描述转换为音效神器

PopPop AI 需要一段时间处理,过程需要排队,如果有其他人在前面的话就要等待更长时间。

完成后会给出两个选项,分别为 Option 0 和 Option 1,两个都可以试听、下载,略有差异。

点击音效前面的「播放」按钮就能预览播放。

点击后方的「下载」按钮就能获取 WAV 格式音效,没有下载限制,两个都能下载。

不过第一次点击下载时 PopPop AI 会跳出,询问用户是否将网站媒体,按下关闭再点击下载按钮就能获取音效文件。

PopPop AI 首页也有很多生成的音效示例,同时搭配上图片、关键词,想知道 AI 可以生成什么样的音效不妨去试听看看,也能从这里获取一些灵感哦!

DownloadYoutubeSubtitles – 免费快速下载 YouTube 字幕,无需登录支持多种格式和语言

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

DownloadYoutubeSubtitles 字幕器,主要功能是将 YouTube 视频字幕下载为三种常见格式,包括 .SRT、.VTT 或 .TXT,不但很快速而且非常易于使用,无需额外下载,即使是手机或平板电脑一样可以操作,只要把视频网址贴上、选择要下载的字幕语言和文件格式后就能快速获取字幕文件。

要注意的是 DownloadYoutubeSubtitles 只支持公开视频,因为服务本身没有登入账户的机制,在下载视频字幕时会依照用户的浏览器语言提供适合的语言建议选项〔例如中文用户会看到繁体中文、简体中文和英文字幕〕。

当然也可选择所有 YouTube 视频支持的字幕语言,自动翻译字幕也能利用这项服务下载。

如果 DownloadYoutubeSubtitles 无法使用,也可以尝试其他 YouTube 视频字幕下载

Download YouTube Subtitles in .srt .vtt and .txt format with this free subtitle extractor tool online.

进入 DownloadYoutubeSubtitles 后从右上角切换语言,有「简体中文」可以选择。

YouTube 视频网址复制、贴上,点击右边「获取字幕」按钮。

如果 YouTube 视频有字幕的话就会看到结果画面,DownloadYoutubeSubtitles 会在左侧显示「为你选择的字幕」也就是最适合用户的语言,例如繁体中文、简体中文和英文,分别有 SRT、VTT 和 TXT 三种格式,点击后就能快速下载字幕文件。

要注意的是 DownloadYoutubeSubtitles 在下载文件时会同时打开另一个网页〔可能是〕,使用时请特别留意。

下方还会有视频的主要字幕、自动翻译的视频字幕,可以获取各种语言字幕文件或是自动翻译的视频字幕。

DownloadYoutubeSubtitles 无法下载有年龄限制的视频或是需要登入才能浏览的私人视频,除此之外,若视频不是使用字幕文件的功能载入,而是将字幕直接嵌入视频,也无法使用下载工具获取视频字幕文件。

loader.fo – 多平台在线视频下载器,支持 4K、格式齐全

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

loader.fo 是一个、快速的在线器,主要用于保存 、SoundCloud、Vimeo、TikTok、IMDb、X〔前身为 Twitter〕和 Twitch 等平台视频,类似的网络服务太多,操作上都大同小异。

loader.fo 和其他网络视频下载一样都支持多种格式,主要分为视频和两种,视频有不同画质的 MP4 和 WEBM 格式,值得一提的是支持最多 4K 画质,而且还会有声音。不像一般下载器可能只能单独获取影像或音频,必须自行将两者合并;音频的话有 MP3、M4A、WEBM、AAC、FLAC、OPUS、OGG 和 WAV。

试试这款独特的工具,从 YouTube 快速无障碍地下载视频。使用这款可靠高效的下载工具,让你的离线视频收藏焕然一新。

进入 loader.fo 后先从网址字段右侧选择要下载的文件格式,分为音频和视频两种,视频从 360p、480p 到最高 1440p〔WEBM 支持 4K 画质〕,将视频网址贴上后点击下载就能获取文件。

loader.fo 能下载 YouTube、Twitter、Facebook、OK.ru、TikTok 等网络影音平台,如果遇到无法正确检测视频或出现问题,也能试试看其他下载服务

将视频网址贴上、选择要保存的格式后点击右边的「Download」下载按钮。

loader.fo – 多平台在线视频下载器,支持 4K、格式齐全

loader.fo 需要一段时间处理视频,当显示「Download in Progress…」时需要等待一段时间,有时候可能无法正常显示视频略缩图,但测试后还是能够正常获取文件。

完成后就会有下载按钮,点击「Download to Your Device」就能将视频保存到你的设备。

Removerized – 免费简单的 AI 图片背景离线去除工具

DUN.IM BLOG

DUN.IM BLOG

Removerized」是 背景去除,可以快速删除背景,完全免费!在使用上没有限制,离线模式亦可使用,快速、准确且操作上相当简单,支持 PNG、JPG 和 WebP 图片格式,将图片拖曳到工具后就能自动处理,约几秒钟即可转为透明背景。

Removerized 是开放源码项目,除了自动抠图模式外没有提供手动编辑功能,不一定 100% 适合各种类型的图片,有需要的朋友可以自行试试看。

进入 Removerized 后点击上方「Click to upload」选取要抠图的图片,或是直接将图片文件拖曳到上传字段〔支持 PNG、JPG 或 WebP 格式〕,接着点击「Process」开始抠图处理。

Removerized – 免费简单的 AI 图片背景离线去除工具

第一次使用会跳出 AI 模型的提示信息,需等待一段时间。

完成后图片出现背景被清除的动画,利用网站中间拖曳轴查看抠图前后的图片差异。

点击下方「Download」按钮即可将去除背景、转为透明背景的图片下载保存。

Claude AI – 根据论文生成网页互动小游戏,进行学习教育

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

有没有可能让 Claude 将枯燥的论文 PDF、科学研究资料,重新梳理、设计转换成一个比较有意思的互动小

于是找了几篇科学研究论文,例如海龟的研究、蓝鹊的介绍资料等等,将 PDF 上传给 Claude AI,请他用「儿童故事的方式」设计成问答冒险游戏,效果还不错

基本上一分钟内就可以生成一个基本版本,如果想要调整,在 Claude AI 中来回几次问答修改,也不会超过两、三分钟的时间,然后就有一个可用的故事问答冒险游戏,通过游戏互动,可以学会某种科学或自然知识。

这个「超短时间内可完成」的效果,或许离真正商用游戏的要求还很远,但当作老师、父母给学生孩子的有趣测验,而且课堂、生活中随时需要,立即可以生成,已经绰绰有余,值得试试看。

下面就来看看我实际测试的其中一个「海龟大冒险」的真实操作过程。

首先,我在「 Claude 」 先上传一篇海龟研究的科学论文 PDF,结合下面的指令,请其根据论文设计出一个适合小学生的冒险故事互动游戏〔查找论文可用:SciSpace 论文研究 AI 助手,中文文献问答、摘要引用与报告改写〕:

///

下面是 Claude AI 第一个回答中就做出来的版本,已经有一个简洁的互动界面,可以按下开始冒险进行问答计分,但还有题目数量还不够多。

于是我进一步追问,只是简单的请他设计出更完整的游戏过程,在第二个版本中题目数量开始增加,但总分还不是 100 分。

于是我再次追问,请他根据总分是 100 分来设计题目,于是完成了第三个版本的互动网页。

这个小海龟大冒险的互动网页,可以直接在 Claude 右方的 「 Artifacts 」预览中互动,也可以成 HTML 文件,在中直接进入并游玩。

下面是几张游戏过程截图,他根据论文资料,设计出了一些有效的问题,并提供有效的选项,勾选正确选项后会计算分数。

看起来中文内容等也都能正常分析与显示。

虽然没办法直接设计出图文搭配的视觉化内容,但这样基本的文字问答互动,是可行的,而且成功率高。

完成简单的故事冒险后,也会提供评分。

当然,如果你熟悉网页设计,你可以在这个版本的基础上进一步修改。

但如果不熟悉网页设计, Claude 几分钟内就可以做出来的这个游戏化学习互动版本,也已经可以让父母跟孩子做互动,老师给学生做简单测验了。

很多时候带小孩去一些博物馆、科学馆,也常常看到这类简单但有趣的、故事性的问答互动。

而现在用 AI 可以快速的制作出各种版本,只要给他一篇论文资料,就能快速产出有故事性的问答小游戏。

Claude AI – 根据论文生成网页互动小游戏,进行学习教育

下面是我利用蓝鹊研究资料的论文,设计的另外一个故事互动小游戏。指令如下,你可以复制其结构,只要换成你的主题,试试看生成你需要的学习小游戏:

如果你是使用 Claude 版本,要注意一些限制:

所以如果你是免费版本,更适合使用一篇短文,生成互动小游戏,作为自己临时的、随手的与问答互动需求。

拼字幕 – 免费上传图片,批量添加字幕,一键生成字幕拼图图片

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

拼字幕」是一键生成字幕拼图的在线,操作方法简单,用户只要将拖曳到工具即可加入字幕文字,调整字幕呈现顺序、字号、主次字幕、调整字幕文字高度和样式,无论是使用于封面、媒体或是图文故事展示都能让图片更引人注目哦!

编辑完成后就能将图片、保存为 PNG 格式,不用额外注册账号,接下来就实际示范一下操作方式。

拼字幕是一个极致便捷的在线拼图工具,方便社交媒体运营快速生成用于小红书引流的字幕拼图。通过简单几步操作即可生成名人语录、字幕等拼图内容,完美适用于小红书、微博、视频号、抖音等平台,为你的内容引流增粉。无论是打造个人品牌,还是提升社交媒体曝光率,拼字幕都是你不可或缺的利器。拼字幕, 字幕拼图, 字幕生成, 字幕生成器, 字幕截图, 小红书, 小红书引流,小红书流量,字幕制作, 名人语录, 电影台词, 马斯克说, 罗翔说, 乔布斯说, 余华说, 董宇辉说, 字幕图片, 字幕拼接。

进入拼字幕后把要加入字幕的图片拖曳到网站,或是点击「选择图片文件」进行上传。

拼字幕 – 免费上传图片,批量添加字幕,一键生成字幕拼图图片

接着图片会显示于工具中,从右上角「字幕内容」输入要加入的字幕,可以新增行数、清空或调整顺序,加入字幕左侧预览就会即时更新。


从下方调整不同字幕样式、字幕高度和字体大小,因为拼字幕有部分样式是简体中文字型,套用在繁体中文可能有显示不正确的问题,看起来会有点不太一样,但不影响使用。


拼字幕有一个「进入主次字幕」功能很好用,可以同时显示中文和原文,如果加入字幕时想让原文一起显示,进入这个选项即可加入两种语言字幕,主字幕的字体会大一些,次要字幕或贴着主字幕,阅读距离很舒服。


完成后点击图片下方的「下载图片」按钮将它保存为 PNG 格式。


下图就是使用「拼字幕」制作的字幕图片。

Claude 3.5 VS ChatGPT-4o 生成 Web 小游戏实测对比

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

经过了一年的时间,Claude 从 2.0 版陆续升级到 3.5 Sonnet 版本〔2024/6〕,在 Claude 3.5 Sonnet 中推出了几个显而易见的改进:

你只要免费注册登入一个「 Claude 」账户,就能开始使用最新的 Claude 3.5 Sonnet 模型,然后别忘了进入「Artifacts」功能,试试看直接在对话中生成你需要的网页小工具、小,乃至于简单的 PPT。

下面我会实际测试这些成果,并且与 制作出来的版本做对比,提供有兴趣的朋友参考。

我用下面这个共同指令,来测试看看 Claude 3.5 与 ChatGPT-4o 是否可以「直接」做出可用的乱序抽签网页小工具。

让我先来试试看 Claude 3.5 Sonnet 结合「Artifacts」的效果。直接输入上面的指令,Claude 就会分析我的需求,开始撰写源码,并立即生成可以预览、互动的 HTML 文件,而右边窗口可以直接进行操作。

看起来 Claude 3.5 Sonnet 只要简单的指令,就能很好的理解我的需求,并且可以自己设计需要的架构与源码,我并没有讲得太细,实际呈现出来的效果都是 Claude 3.5 Sonnet 自己分析出来的。

接着我们试试看 ChatGPT GPT-4o 做出来的成果如何?用同样的指令,ChatGPT 也可以根据我的需求自行分析网页需要的架构、逻辑,然后自行写出源码。

不过,ChatGPT 目前没办法像 Claude 那样在右方直接预览成果。

所以我请 ChatGPT 直接打包成 HTML 文件让我下载。

下载后,下面是 ChatGPT 制作出来的版本。界面与操作也很不错,并且自己加上了一个可以设置数字范围的额外字段。

和 Claude 3.5 Sonnet 版本对比,你觉得哪一个比较好呢?

接着,我测试了设计贪吃蛇网页小游戏,用下面的指令,直接套用在 Claude 和 ChatGPT 上。

把指令输入 Claude 3.5 Sonnet,同样的,AI 自动分析需要的架构、逻辑,一次问答,就生成出右方一个可以操作互动的贪吃蛇小游戏。

游戏中可以用键盘控制方向,有吃球长大的效果,也有失败的机制,是一个可玩的小游戏。

同样的指令输入 ChatGPT GPT-4oChatGPT 这次写出一串很长很长的源码,我同样请其直接打包成 HTML 文件给我,同样是一次生成,中间没有经过任何修改。

下面是 ChatGPT 制作出来的贪吃蛇小游戏,多出了一个「控制游戏快慢」的功能,而其他部分则和 Claude 的效果一样。

从前面两个实际测试案例来看, Claude 3.5 和 ChatGPT-4o 都能「一次生成」上述的网页小工具、小游戏,他们都会完整的分析我的需求,AI 自行进行需要的设计逻辑分析,然后自动写出完整的源码。

不过 Claude 3.5 Sonnet 多出了一个 Artifacts 功能,可以直接在右方预览效果,确实看起来很方便,如果要进一步修改,也会更加简单。

例如,我下面尝试让 Claude 3.5 Sonnet 制作 PPT,我先提供一些资料,请 AI 设计大纲并产出 PPT,Claude 3.5 Sonnet 就制作出一个可以在右方预览的版本,而且是真的可以翻页。

但我想调整风格,所以我上传一张风格图片,请 Claude 3.5 Sonnet 分析,并据此改变 PPT 风格,没想到效果居然非常好!〔如下图〕

看起来「 Claude 3.5 Sonnet」结合 Artifacts,确实值得要对源码、网页、文件有需求的朋友试试看。

Kill the Newsletter! – 免费好用的订阅邮件转 RSS Feed 源工具

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

当想通过 RSS 订阅一些人的文章时,却只提供订阅和邮件订阅(News Letter)。为了解决这个问题,找到了一个 Kill the Newsletter! 服务,它可以替你接收邮件并转化为可供 RSS 阅读器订阅的地址。

Kill the Newsletter! 允许用户将订阅邮件转换为 Atom 订阅源。对于需要的订阅源,也会将确认邮件转换为订阅源条目,只要进入转换的地址,就可以获取并点击确认链接。

暂不支持通过回复邮件来验证订阅,可以尝试联系发布者手动验证,或使用邮件设置转发作为解决方案。

另外,有些 Newsletter 的发布者可能会将 Kill the Newsletter! 的电子邮件地址拉黑,同样需要转发之类的绕过。

由于订阅源包含用户的电子邮件标识符,因此不建议订阅源,以防止他人取消订阅或发送垃圾邮件。

通过以上步骤,你就可以把原本只能通过邮件接收的内容转化为 RSS 订阅,方便在各种 RSS 阅读器中统一管理和阅读。

Luma AI – 免费文字生成视频实测,支持中文和图片直接生成

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

这几天很热门的 AI 是:「Luma dream machine」,一款 AI 生成 5 秒钟动态的在线服务,并且号称有逼真的物理反应、运镜和人物动作,可类比之前 Open AI 公布的 Sora ,不过 Sora 虽然效果惊人〔还可生成一分钟视频〕,却尚未对一般用户开放。而 「Luma dream machine」 已经可以让一般用户直接试用,提供每天最多生成 10 个短片,每个月最多生成 30 个视频的免费账号额度。

如果想要试试看 AI 直接生成逼真视频效果,那么「 Luma dream machine」会是目前能够让我们马上可以体验看看的选择,在电影运镜与真实物理效果上,也确实比 Pika 之类 AI 生成动态画面的成品更突出。

Luma AI – 免费文字生成视频实测,支持中文和图片直接生成

Luma AI 上宣称的几个特色为:

而我针对上面宣传的几个特色,实际去测试后,目前的心得是:

例如下面这个雨中场景的短片〔可点击这个链接,观看短片播放〕,就可以注意到背景与路人基本上稳定,但前景的两个主角虽然有拟真的跑步动作但也有明显的错误,而指令虽然是英文但也没有 100% 符合。

下面是我实际测试的几段短片的合辑,可以看看从一般用户角度出发,生成的视频可能出现的各种成功、失败情况。

无论如何,我们都可以注册一个免费账号,试试看「https://lumalabs.ai/dream-machine」。

接着在指令列,输入对于视频场景、动作的描述。可输入中文指令,也可输入英文指令。通过「Enhance prompt」可以帮助指令最佳化,但也可能是因为这样而对于中英文指令似乎都无法 100% 掌握。

等待一小段时间,就可以根据我们的文字指令,生成 5 秒中的短视频。

在视频上点击右键,选择,就能获得 MP4 文件。

下面这段山谷溪流小船的视频〔点击链接播放〕效果就不错。

另外一个很适合「Luma dream machine」的使用方式,是把经典、真实照片中的人物变成电影短片场景。

例如我可以在指令列先上传一张狮子照片,然后辅助指令描述,让 AI 根据照片来生成。

这时候 Luma AI 会根据照片内的实景、人物生成更多的影格,最后串联出一个电影短片。

例如这个狮子走过草地的照片变成的电影短片〔点击观看〕,草地的场景被自动延伸生成,狮子也从侧面多出了正面,虽然多少有些不自然的地方,但也足够让人惊艳。

我还下载了一张第一次世界大战时的黑白照片,尝试让 AI 把照片中的军队动起来。

最后,Luma AI 自动延伸了房屋后的场景,并让军队往前前进〔点击观看视频〕,虽然,视频一开始的动作还好,但很明显的视频后段前进的步伐非常不自然〔人物动作依然比较容易出错〕。

在 Open AI 的 Sora 尚未开放前,就让我们来试试看「 Luma dream machine」,体验一下 AI 生成视频的效果吧!

Stacher – 基于 yt-dlp 的免费跨平台视频下载工具,支持几乎所有视频音乐平台

DUN.IM BLOG

DUN.IM BLOG

Stacher – 基于 yt-dlp 的免费跨平台视频下载工具,支持几乎所有视频音乐平台

Stacher 是最近新问世的免费网络视频下载,支持 和 Linux,本身也是知名开放源码项目 yt-dlp〔由 youtube-dl 分支〕图形化界面〔GUI〕版本,大家都知道 yt-dlp 是终端里的下载工具,使用上会有一定的门槛,将它套用图形化后操作界面后就会更符合大众使用,支持超过 1200 种网络服务,之前曾介绍过的类似软件还有「Hitomi Downloader 」和「Seal」。

Stacher 已经有针对 Windows 和 Linux 三大操作系统推出对应的版本,只要从官方找到需要的版本后下载即可使用,本身没有自带中文界面,但在操作上不会困难,只需要将视频网址复制、粘贴后就能获取文件,也能够选择各种常见视频、格式。

利用 Stacher 可以下载 YouTube、Twitter、Instagram、TikTok、Bilibili、Pornhub 等网站视频,在使用时没有太多复杂难懂的设置,也支持包括 3GP、AAC、FLAC、FLV、M4A、MP3、MP4、OPUS、VORBIS、WAV、WEBM 等格式,最简单的方法就是维持默认值「最佳画质 + 音频」,就能获取包含影像、声音的视频文件咯!

值得一提的是 Stacher 还能针对要下载的平台提前设置账号密码,也有设置浏览器 Cookie 选项,无论是遇到任何状况只要适当设置应该都能顺利获取视频,如果平时会需要从网络平台储存视频的话可以试试看。

其他 YouTube 网络视频下载工具整理:

Stacher. A youtube-dl frontend.

进入 Stacher 网站后跳到下载区,选择要下载的程序版本,支持 WindowsmacOS 和 Linux,要注意的是都只适用于 64 位操作系统。

我使用 Stacher 的 Mac 版本进行操作教程,Windows 版本应该大同小异,进入后会有说明画面,可以得知应用程序是一个图形化界面下载器,以 yt-dlp 作为内核,因此在使用时会自动安装 yt-dlp。

进入 Stacher 主画面后会自动更新相关元件,上方是网址列,将视频网址复制、粘贴后就能进行下载。

从右上角可选择要下载、保存的文件格式,视频格式有 3GP、FLV、M4A、MP4、WEBM,格式有 AAC、FLAC、MP3、OPUS、VORBIS、WAV,建议直接维持默认值「BEST」就会自动获取最佳画质和音频。

下载时会显示视频略缩图、标题、文件大小、下载速率和预计完成时间,试着下载 YouTubeFacebook 和 Instagram 都能正确获取视频,而且下载速度很快。

完成后在视频上方点击右键、从菜单找到「Open Download Location」就能进入下载路径并找到视频文件。

另外,在右上角也能提前设置视频下载后的保存路径。

下载视频的网址列右侧有一个提前设置账号、密码功能,如果要存取的视频需要账号密码可提前设置,另一个选项可以选择浏览器 Cookie 来源,若无法正确下载视频的话就试试看调整这两个选项。

在 Stacher 设置画面能提前调整下载保存的视频路径、视频文件格式等选项,还有像是字幕下载、网络速度限制或是音质等等,可设置的项目很多,不过如果没有特殊需求只需要维持默认值即可。

前面有提到 Stacher 是使用 yt-dlp 作为内核,支持的服务超过 1000+ 个〔支持列表〕,基本上所有常见常用服务应该都能够利用这个应用程序下载,在测试时除了 YouTube 也下载 Facebook、Instagram 视频,也都能够顺利获取视频文件。

Stacher 是一款功能强大、操作简单的免费网络视频下载工具,非常适合新手使用。如果有下载网络视频的需求,不妨试试看 Stacher。

省钱秘笈:把域名迁移到Cloudflare

钱

之前看到Justyy博主把域名迁移到了Cloudflare,于是上周末我也抽空把所管理的域名从Namesilo和Namecheap迁移到了Cloudflare。

最主要的原因是Cloudflare的续费价格便宜得多,COM域名只需要不到10美元一年,而Namesilo再便宜也要14美元左右一年。毕竟Cloudflare号称批发价,不图域名注册和续费上赚钱。

同时,迁移到Cloudflare的话,也方便管理,网站都使用了Cloudflare的CDN全球分发系统,并且免费套餐就够用了。

经济下行,开源节流,各项开支也要节省,能省的还是省一下。每个域名一年节省4美元,数量多起来,年头久了也能节省一笔开支。

像土木坛子网站域名,从2011年3月1日在比利时的Google注册,后来几经迁移到Godaddy再到Namesilo,如今再落新家Cloudflare,续费已经续到了2033年。

说起来Cloudflare也是近年来互联网之光,提供免费好用的CDN服务就不用说了,还提供了很多其它好用的服务,比如免费Warp,看得出来它为互联网的安全高速互联做了极大的贡献。

不知大家还有什么好东西分享和互联网省钱秘笈?分享万岁。

谈一谈阿里云香港的宕机

2022 年 12 月 18 日,阿里云香港服务出现了异常。本站所用的香港服务器也中招,由于本人不正确的报警配置,导致部分域名没有正确切换解析,造成了一小部分用户最长半小时的不可用。然而,阿里云香港机房出现问题的时间远不止一个小时。根据我这里的监控,自北京时间 10:49 开始,我跑在香港阿里云上的 HTTP、HTTPS 服务就完全不可用了,直至 20:46 才恢复,共计宕机时间 10 小时。

事故回顾

本人是在早上起床后就发现阿里云香港服务器不可用。一开始以为是被神秘力量封锁了,但是看到报警邮件后发现,香港服务器在国外其他地区也不可用。

然后我就测了一下,发现主机能 ping,但无法 SSH 上去,HTTP/HTTPS 服务亦不可用。此外,yangxi.tech 网站服务也受到了影响。然后我登录了 AWS 中国区的 Route 53 去查看报警,结果发现 Route 53 上没有任何报警(我的 guozeyu.com 和 yangxi.tech 都在用中国区 Route 53)。查看最近的监控,发现我在 Route 53 上有一处配置错误,导致程序实际上没有在监控香港阿里云……于是修改了监测规则。此时我登录了 AWS 国际区,发现国际区的阿里云香港监控是在正常报警,发现是从 10:49 开始,全球所有监测点均不可用。

由于此时 AWS 中国区的报警已经被我改成正确的了,所以已经根据规则,在 DNS 层面进行自动宕机切换了;而且,我之前配置的 DNS TTL 也仅有 120 秒,所以我的所有网站应该在 11:20 前就已经完全恢复正常了。如果没有错误的报警规则,我的网站总共宕机时间也不会超过 5 分钟。

然后我登录了我自建的 Observium 监控,不出意外的看到了阿里云香港的机器已经宕机了。但我发现在宕机前,服务器的 CPU 是 100%。我就怀疑这是不是我自己服务器上某个程序卡死了,占用了所有资源,导致看起来 HTTP/HTTPS/SSH 服务都不可用了。

Observium 监控

此时已经 11:30 了,我还觉得这个是我自己的问题,毕竟我也没收到阿里云任何邮件、电话提醒。于是我登录了阿里云后台,尝试进行重启。此时我没有选择强制关机。结果,关机指令已经执行了 10 分钟,机器仍未关闭。平时我使用 GCP 时,如果关机指令执行超过两分钟,那么就会自动执行强制关机,所以此时执行了 10 分钟的关机就很离谱。然后我就尝试发工单,但没能进入到工单,被转到了在线客服。我向在线客服描述了问题后,无人回复。然后我又尝试发工单,结果工单也是无人回复。只是得到了机器人回复,说在关机时,Windows 会执行系统更新,有时需要 10-15 分钟。请在等待 20 分钟后联系客服。

大概又过了半个小时,机器终于成功关闭了,但在尝试多次后,机器无法启动。即便我点了启动,机器也会在一段时间后变成 “已停止” 状态。由于此时我还是以为是我自己的问题,不是阿里云的问题,我以为是刚刚强制关机导致系统损坏了,于是尝试给现有云盘打快照,尝试回滚。但离谱的事又发生了,我发现我根本无法打快照!快照的进度一直是 0%。

在 11:55,我终于收到了工单的回复:“您好!阿里云监控发现香港地域某机房设备异常,影响香港地域可用区C的云服务器ECS、云数据库polardb等云产品使用,阿里云工程师已在紧急处理中,非常抱歉给您的使用带来不便,若您有任何问题,请随时联系我们”。此时我才知道,这次的宕机可能不是我自己的问题,我放弃了自己尝试恢复服务。

该回复没有提供解决方案,也没有预计的恢复时间,可以说无非就是告诉了我 “这个是我们阿里云的问题”,对于恢复服务没有实质性帮助。

无力吐槽阿里云

本次事件最值得吐槽的地方是,我从未收到阿里云发来的有关通知。直至现在,我在邮箱、短信、站内信中没有收到任何阿里云关于此次服务宕机的提醒。我相信阿里云是有很多监控的,我坚信阿里云早在我发现我的服务出现问题之前,就已经知道了我的服务,以及其他人的服务器出现了问题了。但我却没有收到任何通知。唯一告知我阿里云存在问题的还是我发工单自己问出来的。

我觉得阿里云有必要向所有受影响的,以及可能受影响的客户发送相关提醒。在连续宕机了 8 小时,且仍未恢复的情况下,阿里云仍不主动通知客户,我实在是难以怀疑阿里云是否是故意不做通知,试图掩盖问题。

那还用阿里云吗?

会的。作为中国第一大,以及全球也能排的上前几的云服务商,我不怀疑阿里云的技术实力。我现在用阿里云主要是为了阿里云香港的 CN2 精品网,用于数据跨境(价格为 3元/GB)。目前在这方面也没有什么可替代的方案。专线也考虑过,太贵了,买不起。

但是,我不会把核心业务放在阿里云上了。放在 AWS 上我更安心一些。本次阿里云香港宕机只影响了我的网站一小会儿,也正是因为我没有把核心业务放在阿里云上。

本站是如何做到高可用的?

很简单,本站在四个地区,使用了四个不同服务商的服务器:

  • 德国 OVH
  • 北京 AWS
  • 香港 阿里云
  • 美国 Google Cloud

而且本站是纯静态网站。本站会在构建后,将构建产物分别同步到四个服务器上,没有主服务器的概念。本站通过 GeoDNS,将访客解析到最近的服务器,以降低延迟。在阿里云香港服务器宕机后,只需要停止响应解析即可。原本亚太地区解析到香港,现在亚洲会解析到北京,澳洲会解析到美国,这部分用户就被分流到可用的服务器上了。

本站还使用了 Route 53 的 Health Check 功能,可以实现接近实时的监控主机运行状态,在发现运行状态异常时,自动停止响应解析。目前,我的网站会在出现异常后一分钟内检测并识别到,并停止响应解析。相关 DNS 记录的时间设置在了 120 秒,因此服务发生不可用时,用户影响的时间不会超过 3 分钟。

零基础建站教程

基本概念

这个视频介绍了 “基本概念”,下方文字是这个视频的概要。如果你熟悉域名相关的概念,可以直接跳转到操作步骤

建站基本概念

域名

什么是域名?域名是互联网上的地址,用户通过域名来访问包括邮件、网站、App 在内的互联网资源。比如常见的以 .com 结尾的域名,以及新出现的 .xyz 和 .tech 结尾的域名。域名的价格大多在 40 到 200 元之间,具体的价格取决于域名后缀。

域名需要在注册商购买。那么如何选择域名注册商呢?这里推荐氧熙科技,通过与全球第七大注册商 PDR 合作,提供三百多种域名后缀的优惠注册。其特点是无需实名认证,支持支付宝或微信支付,自动发货,支持退款。

服务器

注册了域名之后,还需要有一个服务器,才可以建立自己的网站。服务器主要分为三种类型,包括虚拟主机、云服务器和独立服务器。这里推荐氧熙科技的虚拟主机,即适合新手,也适合专业人士使用。

其次是服务器位置,氧熙科技销售的虚拟主机可以选香港和美国加州两个位置,香港和美国加州的服务器都不需要备案。这里推荐香港主机,国内的访问速度更快。

软件

这里推荐WordPress建站软件,全球有 65.3% 的网站使用WordPress 作为 CMS,并且可一键安装到虚拟主机。

操作步骤

这个视频介绍了 “操作步骤”,下方文字是这个视频的概要。

域名和主机购买及使用

购买域名和虚拟主机

首先需要购买域名和主机。新购买的虚拟主机可能需要半个小时才可以使用,在可以使用时会收到邮件提醒。

修改域名服务器

主机创建成功后,需要前往域名注册商将域名的服务器修改为虚拟主机的域名服务器。

安装 WordPress

前往管理虚拟主机进入 cPanel 面板,进入 WordPress Manager 去安装 WordPress。安装时需要暂时将协议调整为 http:// 开头的协议。

SSL 证书

修改域名服务器 48 小时内,SSL 证书会自动签发,然后就可以使用 https:// 协议访问网站了。

云服务推荐及选择指南

本文推荐一些本人用过或者正在使用的云服务,持续更新。未来还会增加购买建议。

云计算 Compute/VPS/EC2

最便宜: Scaleway Stardust

0.5GB RAM ,每月 €0.36,限速 100Mbps 不限流量(该价格为仅 IPv6 的价格,约¥2.48)购买链接

内存存储CPU 核心数CPU 基线带宽价格
1GB10GB SSD1N/A100Mbps€0.36
  • N/A 代表共享核心

目前只有 Paris 1 和 Amsterdam 1 有。前往上方购买链接(如果跳转到了登录/注册页面,请在登录后再点一次,即可直达 Stardust 购买页面),如果遇到无货,就拉到最底部复制 API,用 API 创建机器一般可以绕过前端的无货购买限制。

性价比: BuyVM

1GB RAM ,每月 CA$3.50 ,1Gbps 不限流量(约¥17.77 )。购买链接。注意,BuyVM 的计费周期是每月 1 日,所以若购买时不是 1 日,那么首月的价格会有所变化(因为到下个月或下下个月的 1 日不是整一个月)。

内存存储CPU 核心数CPU 基线*带宽价格
1GB20GB SSD1N/A1000MbpsCA$3.50
2GB40GB SSD1N/A1000MbpsCA$7.00
4GB80GB SSD1100%1000MbpsCA$15.00
8GB160GB SSD2100%1000MbpsCA$30.00
  • N/A 代表共享核心,100% 代表每个核心均为独立核心

配置更高的主机价格是同比例增加的,可以参考 4GB 版本乘以 N。

付款时使用支付宝即可使用 CA$ 同币值缴费,相对要比美元便宜很多。本网站就在使用 BuyVM,如果你从美国西部访问此页面,那就会使用 BuyVM 的服务器。

BuyVM 还可以购买 Block Storage Slab,每 TB 仅需要 $5.00,最低每月 $1.25 就可以买到 256GB。

国内网络好: AWS Lightsail

0.5GB RAM ,每月$3.50 ,限流量 1TB ,可开日本、法兰克福、美国西部均可直连(约¥22.21 )购买链接

内存存储CPU 核心数CPU 基线流量价格
0.5GB20GB SSD15%1TB$3.50
1GB40GB SSD110%2TB$5.00
2GB60GB SSD120%3TB$10.00
4GB80GB SSD220%4TB$20.00

本网站就在使用 Lightsail,如果你从美国东部或者亚洲 (中国大陆外) 访问此页面,那就会使用 Lightsail 的服务器。Lightsail 可以免费附加静态 IPv4;IPv6 则是随机器附带的,暂不可保留或迁移。此外,Lightsail 的自动快照功能是免费的,可以作为自动备份。

与其他同类产品对比

Vultr/Linode/Digital Ocean 都是与 Lightsail 类似的产品,价格也与 Lightsail 十分接近。他们可能没有 CPU 基线的限制,但这也未必是好事,因为失去了限制更有可能受到邻居(同机器上其他用户)的影响。这里有一些优惠码:

大内存、多 IP: OVH VPS

2GB RAM,每月 $3.5(或 3 欧元),限速 100Mbps 不限流量,法兰克福可直连中国,但美国可能绕欧洲。OVH 两欧就可以买一个额外 IPv4 ,该 IPv4 没有月费,只要机器在 IP 就一直是你的。一个账户可以买 16 个额外 IPv4。美国区购买链接国际美元区购买链接国际欧元区购买链接

美国境内机器只有美国区可以购买,其他位置机器需去国际区购买。

内存存储CPU 核心数CPU 基线*带宽价格
2GB20GB SSD1N/A100Mbps$3.50/€3.00
2GB40GB SSD1N/A250Mbps$6.00/€5.00
4GB80GB SSD1N/A500Mbps$11.50/€10.00
8GB160GB SSD2N/A1000Mbps$23.00/€20.00
  • N/A 代表共享核心

本网站就在使用 OVH,如果你从欧洲访问此页面,那就会使用 OVH 的服务器。

永久免费: Google Cloud Compute Engine

美国 us-central-1us-west-1us-east-1 区域,1GB RAM ,30GB 最基础的盘,仅 IPv4 ,出站流量自费。这个试用期过了也免费!

内存存储CPU 核心数CPU 基线*流量价格
1GB30GB HDD212.5%按量计费永久免费

最灵活: AWS EC2

AWS 国际区AWS 中国区

本网站就在使用 EC2 (中国区),如果你从中国大陆访问此页面,那就会使用 EC2 的服务器。目前 AWS 中国区仅限企业注册。

与 Google Cloud 的 Compute Engine 和 Azure 的 VMs 对比

Google Cloud 的按量付费可能是三者中的最便宜的,此外个人感觉 Google Cloud 的操作页面使用起来相比 Azure 和 AWS 更简单。这几家提供的产品都大同小异,此外他们也都可以预留实例一年到三年,实现最大化折扣

与阿里云、腾讯云对比

最大的区别是计费模式。AWS 无论是国内版还是国际版,均默认使用后付费模式,即类似信用卡,每月支付上一个月结算的账单。而阿里云和腾讯云无论是个人用户还是企业用户,均使用预付费模式。哪怕使用的是按量付费的机器,竟然也需要提前充值;余额耗尽后会直接停机。所以用阿里云或腾讯云的按量计费服务之前,无比要保证有充足的余额,不然将欠费了将直接影响生产环境。

此外,阿里云和腾讯云在 API 使用上没有 AWS 方便。虽然 AWS 国内版在国内没有阿里云那么大的占有率,但由于 AWS 国内版和国际版 API 保持了一致,因此 AWS 的文档资源要远比阿里云、腾讯云丰富的多。

个人认为,AWS 国际版完胜阿里云、腾讯云的海外区域,AWS 国内版核心问题是支持的可用区太少,只支持北京和宁夏两个区域;Azure 国内版支持的区域比 AWS 国内版要多一点;阿里云和腾讯云在国内区域数量上是远多于 AWS 的。不过在网络方面,目前 AWS 国内版也是 BGP 接入,线路完全不比阿里云差。

数据跨境方面(指中国大陆境内与境外之间的跨境),阿里云提供了香港精品网、云企业网,这是 AWS 所没有的。

虚拟主机

这里推荐氧熙科技/TlOxygen 的虚拟主机,香港位置采用 CN2 GIA 线路,美国加州也是国内直连;均无需备案,购买后即用。相比之下,美国加州提供更多的流量和存储,带宽也更大。他们的虚拟主机还支持 SSH 访问、Let’s Encrypt 证书自动签发(不可 root)。香港/加州虚拟主机购买链接

氧熙科技的香港 CN2 GIA 虚拟主机测速

CDN

等待补充

DNS

等待补充

域名注册类

等待补充

从零开始建立自己的域名和企业邮箱

本文将带领你注册属于自己的域名,并获得以自己的域名结尾的专属邮箱。全程仅需不到 10 分钟[1]。你只需要一台可以上网的设备,支付方式(微信/PayPal/银行卡)和一个现有邮箱。通过本文提到的域名注册商注册的 .com 域名价格为 CN¥79.20/年,并且续费不涨价。该域名注册商免费提供企业邮箱服务,因此不需要额外付费。

[1]:由于全球 DNS 服务器同步需要时间,可能需要 24-72 小时后域名上的服务才能够使用。若注册 .cn 等中国域名还需要进行实名认证,需要额外的时间。其他国际域名(如 .com)则不需要实名认证。

注册域名

首先,你需要注册一个属于自己的域名。域名的注册门槛很低,基本在几分钟内就可以完成注册,并且包括 .com 在内的众多域名后缀均不需要进行实名登记。通常,大多数域名都是按年进行购买。

本文推荐的是 氧熙域名注册 (原 TlOxygen)。该注册商是本站站长亲自建立,是全球第 7 大的域名注册商 PDR Ltd. 的最高级代理之一,提供更多的支付方式和更低的价格。从这里购买域名可以帮助本站持续发展。并且本站域名注册提供了域名删除与退款服务、免费企业邮箱和域名锁等服务。

首先,前往 氧熙域名注册主页(也可以浏览器地址输入 yangxi.tech 前往),进行域名搜索。比如,如果想要注册 guozeyu.com,只需要在搜索框里输入这个域名并点击搜索。如果你不确定想要注册什么后缀,那么也可以不输入后缀,如 guozeyu。如果你更习惯英语界面,或者需要以美元计费的结算方式,请前往 International Version

在首页搜索想要注册的域名查看搜索结果

可以看到,咱们心仪的域名已经被注册了。但是页面下方可以看到更多的 “其他可注册的匹配域名”。

选择一个域名

我们这里选择 guozeyu.online。注意划线价为域名续费的价格,为了可以方便地给域名续费,建议选择续费价格较低的域名。比如 .com 域名续费只需 CN¥79.20/年(国际版为 US$12.59/年),而 .online 的续费价为 CN¥270.00。我对域名的价格一向非常透明,我承认这绝不是市面上最低的价格。下表列出了一些注册商 .com 域名的续费价格

注册商美元/年人民币/年
氧熙/TlOxygen13.7987.60
阿里云万网 [2]10.9979.00
DNSPod [2]-72.00
NameCheap14.58-
GoDaddy19.99-
Cloudflare Registrar [3]9.15
NameSilo10.95
Google12.00

[2]:阿里云万网/DNSPod 注册 .com 域名需要实名认证,可能需要几天后域名才能够正常使用
[3]:Cloudflare Registrar 上注册的域名不支持修改 DNS 解析商、NS 记录,以及粘附记录(Glue Record)

完整的价格列表:中国大陆(人民币)International Version (USD)

注意,本文后续的内容仅适用于在氧熙注册的域名。在其他注册商注册的域名配置有所不同。此外,并不是所有注册商都免费提供 DNS、企业邮箱和域名转发服务。

然后进行结账。结账时建议选择免费的 “隐私保护” 功能,这样你的注册信息(包括邮箱、手机号、地址)就不会公开:

开启 “隐私保护” 功能,并选择 “创建账户”

然后填写注册信息。请确保注册信息是有效的(可以通过电子邮件联系到你),否则域名注册可能会失败。注册完成后即可选择支付方式了。目前支持的支付方式有微信支付、银行卡、PayPal

使用英文填写注册信息选择支付方式,这里以微信支付为例

付款完毕后,会自动跳转到支付成功页,点击 “继续管理订单” 进入后台管理页面。

支付成功

此时,你就可以看到你新注册的域名了。

点击你刚刚注册的域名

配置 DNS

点击你刚刚注册的域名,然后前往 DNS 管理菜单,点击 “管理DNS” 以激活 DNS:

点击 “管理DNS” 以激活 DNS

如果你看到 “您即将提交的信息不安全” 提示,请选择 “仍然发送”。随后看到如下页面即说明已经激活了:

DNS 管理界面

配置企业邮箱

此时我们已经拥有了域名,但该域名下还没有任何服务。我们首先配置企业邮箱,实现任何发往 @guozeyu.online 的邮件都转发到自己的邮箱里。这样有很多好处,比如你可以在注册微博的时候使用 weibo@guozeyu.online,在注册 GitHub 时使用 github@guozeyu.online,这样可以区分不同服务商发来的邮件;也可知道是谁卖了自己的邮箱信息,给自己发送垃圾邮件。

前往电子邮件菜单,点击 “管理电子邮件” 以激活企业邮箱:

点击 “管理电子邮件” 以激活企业邮箱

如果看到 “待验证域所有权 (Pending Domain Ownership Verification)”,则说明 DNS 尚未完成激活,请在 24-72 小时后尝试。新注册的域名默认使用我们提供的 DNS 服务器,邮件记录已经自动配置好了,所以无需手动添加记录。同时,你也可以点击 “设置 (Settings)”,选择 “修改语言偏好 (Modify Language Preference)” 然后选择 “Chinese (Simplified)” 以切换语言到简体中文。此外,如果你知道自己在做什么,也可以将域名换到其他 DNS 服务商,手动配置 DNS 记录。

待 24-72 小时,完成域名所有权验证后,你将看到如下页面,这时我们选择 “添加只转发帐户”:

选择 “添加只转发帐户”

这里我们用户名输入字母 i,“转发至” 输入自己的邮箱。这里只是拿我的邮箱演示。

填写必要转发信息

添加成功后,发往 i@guozeyu.online 的邮件就会转发到你刚刚配置的 “转发至” 邮箱了。但发往其他用户名的邮件依然会被拒收。此时我们需要配置 Catch-All:

点击 “邮件” 菜单中的 “管理 Catch-All”

然后选择 “转发到以下用户/账户”,并输入刚刚设置的用户名 i,然后点击 “应用” 即可。

配置 Catch-All

配置域名转发

目前,浏览器里的网站是无法访问的,因为我们还没有配置用于 Web 的服务器,也没有建立自己的网站。但我们可以配置域名转发,将访问到域名的的流量跳转到其他 URL。比如,你可以设置跳转到自己的微博、GitHub 等网站。具体操作如下:

前往域名转发菜单,点击 “管理域名转发” 以激活域名转发:

点击 “管理域名转发” 以激活域名转发

此时,你可以配置要转发的域名和要转发到的地址:

这里以跳转到我的 GitHub 页面为例

同时,也可以选择高级设置。我建议关闭 “URL掩蔽 / 重定向 / URL隐藏”。

建议关闭 “URL掩蔽 / 重定向 / URL隐藏”

同样,该配置需要 24-72 小时后才能生效。

总结

本文介绍了如何注册属于自己的域名,建立以自己域名结尾的的企业邮箱,以及配置域名转发。后续的文章将会更新如何建立属于自己的个人网站。可以点击页面顶部的关于按钮订阅本网站,这样就不会错过后续的内容啦~

本站改版后的架构与优化——Hexo,分区解析,CDN,图像压缩等

去年,我把我的网站从 WordPress 迁移到了 Hexo。随后的一段时间里,我对 Hexo 进行了大量定制,包括修改主题,实现图片自适应,适配视频等。

基础架构

本站使用 Hexo 博客框架生成静态网页,使用 Nginx 服务器分发静态网页、图片等。本站的静态文件和图片同时部署在全球四台服务器上,使用 Route 53 实现了分区解析和宕机后自动切换,使用 CloudFront 和 UPYUN CDN 分发视频。

主题

本站主题是在 Claudia 的基础上进行定制与魔改。原主题就有如下功能:

  • 移动端适配
  • 评论插件集成
  • 页面边栏 (个人信息,最近文章等)
  • 自适应设备的深色模式
  • 目录自动生成
  • 现代化的设计语言
Claudia 主题封面

我对其增加的功能主要如下:

图片

  • 自动为文章中图片增加 srcset 和 sizes 属性
  • 支持全屏展示
  • 支持全屏后缩放,并按需加载缩放后的分辨率
  • 移动端 100vw 宽度无边距
  • 自动将图片转化为 <figure> 并展示图片描述

视频

  • 自动解析 <iframe>src= 的内容并将其放在 srcdoc= 中减少网络请求
  • 可以实现在首页显示视频预览并自动静音播放(集成了 HLS.js

搜索

原本主题的搜索功能在电脑端只会在最右侧的边栏展示搜索结果,我对其进行了改进,实现了用户在搜索时搜索栏和搜索结果自动延长。各位可以直接前往首页体验,或者查看下方的效果视频:

网站搜索演示

分区解析与 CDN

我的网站目前同时部署在国内外多个主机上,使用着相同的配置。域名使用 Route 53 的延迟记录进行分区解析,并开启了 “运行状况检查” 实现宕机后自动切换服务器目前本站使用了 5 个服务器,分别部署在北京、东京(日本)和拉斯维加斯 (美国)、蒙特利尔 (加拿大) 和法兰克福 (德国)。

选择使用 Route 53 作为解析服务器的原因是:

  • 它使用了 Anycast 技术,在全球访问速度都很快
  • 国内连接 Route 53 的 DNS 服务器可以连接到延迟小于 50ms 的日本节点,
  • 支持 DNSSEC 和 IPv6
  • 支持按地区的分区解析、延迟解析等。在美国可以细分到州,其他地方也可以细分到国家
  • 支持 “运行状况检查”
  • 按量计费。起步价每个域名 $0.50 /月,“运行状况检查” 每个服务器 $0.50 /月。上述的所有功能也均是按量付费,没有固定月费。

视频 CDN

本站视频虽然是使用 Cloudflare Stream 存储和转码,但实际分发使用的是 CloudFront 和阿里云 CDN。主要是 Cloudflare 的视频是按量计费,其单价比 CloudFront 要贵。其次是 Cloudflare Stream 不提供国内节点,因此为国内提使用阿里云 CDN。

双 CDN 配置——Nginx 替换 CDN URL

实现双 CDN 有两种方法,第一种是使用 Nginx 根据访客国家替换 CDN URL。这样做相比分区解析的好处是即便用户配置的 DNS 服务器非用户所在地服务器,替换 CDN URL 方式依然会让用户使用正确的 CDN。可以采用了 Nginx 根据客户端 IP 的国家进行 CDN 域名的替换,具体配置——在 http 中:

geoip2 /usr/share/GeoIP/GeoLite2-Country.mmdb {    auto_reload 1d;    $geoip2_data_country_code default=CN country iso_code;}map $geoip2_data_country_code $tlo_domain {    default    "tlo.xyz";    "CN"       "tloxygen.com";}

server 中:

sub_filter '//videodelivery.net/' "//video.${tlo_domain}/";

这样一来,用户访问网站时,服务器会根据用户访问网站时的 IP 地址(而非 DNS 提供的 IP 地址)来选择合适的 CDN。

双 CDN 配置——分区解析

这就不用多说了,将两个 CDN 绑定在一个域名上,使用 GeoDNS 对不同地区的访客返回不同的结果。

图像 CDN

本站的图片均使用 Cloudflare Images 进行压缩与存储,并通过 Nginx 进行代理与缓存。Nginx 配置如下,实现了根据设备兼容性优先提供 AVIF、WebP 和 JPEG。这是因为 Cloudflare Images 在国内的速度不佳。此外 Cloudflare Images 可以在访问时自动将图片调整分辨率和格式。当用户访问相对路径 /cdn-cgi/imagedelivery/ 时,网站就会加载相应的图片,还省去了与新的域名建立 HTTP 连接的时间。

Nginx 配置

http 中:

map $http_accept $suffix {    default        "jpeg";    "~image/avif"  "avif";    "~image/webp"  "webp";    "~image/apng"  "apng";}map $http_accept $png_suffix {    default        "png";    "~image/avif"  "avif";    "~image/webp"  "webp";    "~image/apng"  "apng";}map $http_accept $gif_suffix {    default        "gif";    "~image/avif"  "avif";    "~image/webp"  "webp";    "~image/apng"  "apng";}map $http_accept $default_suffix {    default        "default";    "~image/avif"  "avif";    "~image/webp"  "webp";    "~image/apng"  "apng";}map $sent_http_Content_Type $file_name {    default        "default";    "image/avif"   "avif";    "image/webp"   "webp";    "image/apng"   "apng";    "image/jpeg"   "jpeg";    "image/png"    "png";    "image/gif"    "gif";}

server

proxy_store /var/www/images$uri/image.$file_name;location /cdn-cgi/imagedelivery/6T-behmofKYLsxlrK0l_MQ/ {    root /var/www/images/;    try_files $uri/image.$suffix $uri/image.$png_suffix $uri/image.$gif_suffix $uri/image.$default_suffix @proxy;}location @proxy {    proxy_ssl_name imagedelivery.net;    proxy_ssl_server_name on;    proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;    proxy_set_header Host imagedelivery.net;    proxy_set_header Upgrade $http_upgrade;    proxy_set_header Connection upgrade;    proxy_hide_header Upgrade;    proxy_hide_header Alt-Svc;    proxy_hide_header Expect-CT;    proxy_http_version 1.1;    proxy_set_header Connection "";    if ($uri ~* '^https://cdn.tlo.xyz/6T-behmofKYLsxlrK0l_MQ/(.*)$') {         add_header X-Cache-Status "MISS";        proxy_pass https://cdn.tlo.xyz/6T-behmofKYLsxlrK0l_MQ/$1;        break;    }}

通过 proxy_store,图片将会在第一次请求后永久的存储在本地,并在下次访问时从本地提供。在存储时,图片的变体名和格式会作为文件名的一部分进行存储。在访问时,服务器会根据客户端发送的 http_accept 请求头去查找对应文件。

AVIF 格式比 WebP 的压缩效率更好,而 WebP 格式比 JPEG 的压缩效率更好。然而对于兼容性而言,JPEG > WebP > AVIF。尽量不要在网站上使用 GIF,如果需要展示动画,可以使用静音自动循环播放的 <video> 代替。

WebP/AVIF 自适应之 CDN 配置

如果原站支持 WebP/AVIF 自适应,那么在配置 CDN 的时候,需要选择根据客户端的 Accept 头进行缓存。CloudFront 和阿里云 CDN 的配置分别如下:

CloudFront Accept 配置阿里云 CDN Accept 配置

自动部署

本站使用 GitHub Action 在服务器上运行 SSH 脚本实现自动部署。在服务器上配置了 post-merge 的 git hooks,在有改动后自动运行脚本。具体来讲,是在一个部署专用的服务器上生成静态页面,然后将这些静态页面分发到对应的服务器。

统计

本站使用自建的 Matomo网站统计。Matomo 是一个基于 PHP 和 MySQL 的非常强大的开源统计软件。

Matomo 后台管理界面截屏

除此之外,本站还通过 JavaScript 实现了对视频播放,图像查看和搜索的统计。本站还使用了 Nginx 的 post_action 功能实现了异步发送统计,具体在 server 中的配置如下:

location /api/a {    post_action @tracker;    return 204;}location @tracker {    internal;    proxy_pass https://origin/matomo.php$is_args$args;    proxy_set_header Upgrade $http_upgrade;    proxy_set_header Connection upgrade;    proxy_set_header Host matomo.tloxygen.com;    proxy_set_header TLO-Connecting-IP $remote_addr;}

HTTP/2 Server Push

本站还启用了 HTTP/2 Server Push,用户在访问网站时,服务器会一次性直接推送首屏渲染必要的 CSS 和 JS 文件,由于用户不需要在获取到 HTML 页面后再去获取 CSS 和 JS 文件,首屏渲染的时间大大缩短。实测在模拟 Fast 3G 环境下,启用 HTTP/2 Server Push 后首屏时间减少了约 0.3 秒:

仅启用 HTTP/2,首屏耗时 1.48 秒启用 HTTP/2 Server Push,首屏耗时 1.20 秒

具体 Nginx 中 server 的配置如下

listen 443 ssl http2;listen [::]:443 ssl http2;location ~* \.(?:html)$ {    http2_push /style/common/bulma.css;    http2_push /style/base.css;    http2_push /style/common/helper.css;    http2_push /style/post.css;    http2_push /style/widget-header.css;    http2_push /style/widget-post-list.css;    http2_push /style/themes/highlight-theme-light.css;    http2_push /js/common.js;    http2_push /js/sdk.latest.js;    http2_push /js/post.js;}

国内外几家全站 CDN 对比

配置全站 CDN 可以缓存 HTML 页面和加快页面首次加载所耗时间。本文重点讲述 WordPress 的全站缓存,国内外 CDN 混用的解决方案,以及让页面也在 CDN 上缓存的正确做法。本文主要介绍 CloudFront,同时也对 Cloudflare、又拍云、百度云加速、KeyCDN、Google Cloud CDN 这几家 CDN 进行对比。

全站 CDN 能在哪些地方加速?

我已经像你之前一样只缓存了图片、视频、CSS 和 JS 之类的静态资源,全站 CDN 有什么优点?

就算不缓存任何内容,全站 CDN 也是有他的优点的:

  1. SSL 卸载:源站到 CDN 之前走 HTTP 传输,CDN 到用户走 HTTPS 传输。这样,能减轻源站原本因为 SSL 所造成的硬件负担。然而,由于源站到 CDN 的传输是明文的,仅建议全程内网的情况,或线路可控的情况下使用,否则有很大的安全隐患。然而几乎所有的 CDN 也可以配置源站到 CDN 之间走 HTTPS 加密传输。
  2. 安全防护:所有的 CDN 都自带基于第一、二、三层网络的防护(防止 SYN 攻击),大多数还带了第七层的防护(防止 CC 攻击)。
  3. 减少延迟:建立 HTTP 连接之前需要先进行 TCP 和 HTTP 的 SSL 握手,这样会增加首次加载所需时间。而很多 CDN 都会与服务器进行预连接,而且 CDN 的服务器离用户较近,所以能减少首次加载所需时间,即使没有缓存页面。
  4. 缓存动态页面:所谓动态页面,其实大多数对于没有登录的用户来说内容其实是固定的(如 WordPress 的文章页),所以可以针对未登录的用户缓存。这需要 CDN 能自动根据 Cookie 判断用户有没有登录,这下就只剩 Cloudflare 企业版和 CloudFront 可以做到了。

使用 CloudFront 作为全站 CDN

CloudFront 有 Amazon 自建的网络,单价较高但是 0 元起步,适合中小客户。本文将重点介绍 CloudFront 和 WordPress 配合实现动静分离,缓存 HTML 页面。之后将对比其他的一些 CDN。

  • 国外速度:★★★★☆,节点数量众多,但相比 Cloudflare 要差一些,并且不支持 Anycast。
  • 国内速度:★★★☆☆,国内开始走亚洲节点,速度要比 Cloudflare 快
  • 可定制性:★★★★★,可以根据不同的路径回源使用不同的服务器,甚至回源到不同的服务器,且没有规则数量上限。此外,配合 Lambda@Edge 甚至可以将原本需要源站响应的动态内容交给缓存服务器做,只需使用 Node.js。
  • 廉价指数:★★★☆☆,从免费起,Pay-as-you-go,单价确实高,但是可以通过价格级别牺牲速度来换取更低廉的价格
  • 方便接入:★★☆☆☆,需要配置各种缓存参数才能使用,NS 接入并不直接,CNAME 接入相比 NS 更有难度。SSL 证书首次也需要手动申请,但自动续签。
  • 缓存命中:★★★★☆,支持 _Regional Edge Caches_,先缓存到全球的 9 个节点,再向下分发,大大提升缓存命中率
  • 动静分离:★★★★★,自动分离,一个服务下可以根据不同目录设置不同 Behaviors,甚至配置多个源站服务器,支持匹配 Cookie、GET、Header 规则缓存,支持禁用 POST 等提交方式
  • 缓存刷新:★★★★☆,支持单个 URL 刷新以及规则匹配刷新
  • 接入方式:NS/CNAME
  • 证书兼容性:默认仅限支持 SNI 的浏览器,可额外购买服务($600/月)以兼容所有浏览器。

CloudFront 作为全站 CDN 的特性:

  • 支持根域名
  • 缓存静态文件
  • 缓存页面
  • 页面更新自动清理缓存
  • 免费 SSL 证书
  • 可配置国内外 CDN 混用

使用方法

先去 CloudFront 控制面板,点击 “Create Distribution”,选择 “Web”,然后进行类似如下的配置。源站配置注意 Origin Domain Name 必须是完整域名,而且如果用了 HTTPS,那么那个域名下必须有配置有效证书。

CloudFront 基础配置截图

缓存配置,我把 Host 加入了 Header 白名单,Cookie 要添加 wordpress*wp* 到白名单。

CloudFront 详细配置截图

然后前端配置,证书点 “Request or Import a Certificate with ACM” 就能申请 Amazon 颁发的证书了。CNAMEs 下填写你的网站的域名。

CloudFront 前端配置截图

注意,创建后可能要等不到一小时才能被访问到。 为了根域名和 CloudFront 配合使用,我还得换 Route 53 这个 DNS 解析。由于这是精度非常高的 GeoDNS,是需要将解析服务器向各大 DNS 缓存服务器去提交,让这些缓存服务器去针对你的 DNS 缓存服务器加入到启用 EDNS Client Subnet 的白名单中。还好 Route 53 是最流行的 GeoDNS 之一,所以如果你用它给的 NS 记录,而不去自定义,就不用操心这个了。在配置根域名时,直接选择 A 记录,然后开启 Alias,填写 CloudFront 域名就行。如果想要支持 IPv6,那就再建一个 AAAA 记录即可。这样的话如果你从外部解析,你会直接解析到 A 记录和 AAAA 记录,而不是 CNAME 了!

CloudFront 配合 Route 53 使用截图

此时,CloudFront 就配置完了。现在 CloudFront 会自动缓存页面约一周的时间,所以需要配置文章更新时清理缓存。我写了一个插件,可以在有文章更新/主题修改/内核更新时清理所有缓存,新评论时清理文章页面,控制刷新频率为 10 分钟(这是由于 CloudFront 刷新缓存的速度是出奇的慢,而且刷新缓存只有前一千次免费)。欢迎使用我制作的插件。 不过,CloudFront 在国内的访问速度还不如我之前用的 GCE,这可怎么办?没关系,Route 53 可以 GeoDNS,我把中国和台湾还是解析到了原本的 GCE 上,这样速度其实只提不减。注意,若要这样做,原本的服务器也要有有效证书(同理,你要是域名已经备案,则可以设置为国内的 CDN 的 IP,达到国内外 CDN 混用的效果)。CloudFront 会影响 Let’s Encrypt 的签发,所以需要通过设置 Behaviors 和多个源站服务器,来继续实现 80 端口的文件认证。实际测试 Route 53 为中国解析的 IPv4 识别率为 100%,IPv6 的识别率欠佳。

CloudFront 配合 Route 53 使用截图 2

实际使用情况

GeoDNS 效果测试

国内解析情况:

$ dig @8.8.8.8 +short guozeyu.com a104.199.138.99$ dig @8.8.8.8 +short guozeyu.com aaaa2600:9000:2029:3c00:9:c41:b0c0:93a12600:9000:2029:9600:9:c41:b0c0:93a12600:9000:2029:2a00:9:c41:b0c0:93a12600:9000:2029:1600:9:c41:b0c0:93a12600:9000:2029:c00:9:c41:b0c0:93a12600:9000:2029:ce00:9:c41:b0c0:93a12600:9000:2029:6400:9:c41:b0c0:93a12600:9000:2029:ac00:9:c41:b0c0:93a1

国外解析情况:

$ dig @8.8.8.8 +short guozeyu.com a52.222.238.23652.222.238.22752.222.238.20752.222.238.10752.222.238.20852.222.238.7152.222.238.6852.222.238.67$ dig @8.8.8.8 +short guozeyu.com aaaa2600:9000:202d:5c00:9:c41:b0c0:93a12600:9000:202d:ec00:9:c41:b0c0:93a12600:9000:202d:7c00:9:c41:b0c0:93a12600:9000:202d:2a00:9:c41:b0c0:93a12600:9000:202d:9400:9:c41:b0c0:93a12600:9000:202d:c600:9:c41:b0c0:93a12600:9000:202d:f600:9:c41:b0c0:93a12600:9000:202d:6200:9:c41:b0c0:93a1

没错,CloudFront 分配给的 IP 数量就是多,让别人看了会感觉很厉害。

Ping 启动前后对比

这里只对比国外的速度

源站速度CDN 速度

HTTPs Get 启动前后对比

这里也是只对比国外的速度

源站速度CDN 速度

启动 CDN 后的 TTFB 几乎全面绿色,建立 TCP 和 TLS 的时间显著降低。

Amazon 的 SSL 证书

CloudFront 免费签发的 SSL 证书是多域名通配符证书(Wildcard SAN),并且主要名称是自定的,要比 Cloudflare 的共享证书高级。此类证书在 Cloudflare 上需要花费每月 10 美元。此类证书在市面上很难买到,而且价格取决于域名数量,在一年几千到几万不等。 然而,这个证书只能在 AWS 的 CloudFront 和负载均衡器上使用。

Amazon 证书

CloudFront 的证书链较长,会影响 TLS 时间,不过由于它同时也是 CDN,这样 TLS 时间几乎减少到了可以忽略不计的程度。主要还是因为 macOS 上还没有直接信任 Amazon Root CA,如果直接信任了,就用不着这样了。

其他 CDN 厂商对比

以下列出的所有提供商(或某一提供商的某些版本),均符合以下条件,如果不符合则单独列出:

  1. 是个 CDN 厂家
  2. 支持 HTTPS、HTTP/2
  3. 免费签发 SSL 证书,且自动续费
  4. 我现在正在使用,或曾经长期使用过,或深入了解过
  5. 可以给 WordPress 全站 CDN 加速

Cloudflare 免费版/专业版

有自建的网络,最快的速度、最低廉的价格,主要提供网站安全防护,当然还附带了 CDN。其提供的 NS 服务也是(国外)业界第一的速度。本站国外使用了 Cloudflare,欢迎直接测试本站国外的速度。

  • 国外速度:★★★★★,由于拥有众多的海外节点并支持 Anycast,给满分。速度指标指全球各地的 Ping 值,下同
  • 国内速度:★★☆☆☆,国内走美国西岸的节点,速度欠佳
  • 可定制性:★★★★★,需要使用 Page Rules 进行基础定制,还可以使用 Worker 进行编程定制。
  • 廉价指数:★★★★★,从免费起步,给满分
  • 方便接入:★★★★★,改完 NS 直接接入,自动签发 SSL 证书,无需服务器配置,还有比这更简单的吗?
  • 缓存命中:★★★★★,由于节点数量实在众多,于是在每一个地方都需要单独缓存,所以缓存命中率很低;但是如果开启了 Argo,那么就能够实现更高的缓存命中率,此外还能自动调配最优线路。Argo 需要每月额外的消费($5/mo + $0.10/GB)。
  • 动静分离:★★★☆☆,自动分离,它遵守 Cache-Control 规则,也可以设置 Page Rules 修改默认缓存规则。但是,默认不缓存 HTML 页面、Page Rules 只有 3 个的限制、以及没有开放匹配 Cookie 规则的缓存。
  • 缓存刷新:★★☆☆☆,仅支持刷新某个页面的 URL 和刷新全部内容,不支持规则刷新
  • 接入方式:NS(如果是 Partner 则可以有免费的 CNAME 接入)
  • 证书兼容性:仅限支持 SNI 的浏览器

Cloudflare 作为全站 CDN 的特性:

  • 支持根域名
  • 缓存静态文件
  • 不支持缓存页面
  • 免费 SSL 证书

有一点不同的是,Cloudflare 签发的是共享证书,证书样式如下:

Cloudflare 共享证书

我觉得 Cloudflare 签发共享证书有两个原因,一是历史遗留问题:Cloudflare 专业版的 SSL 证书服务是支持无 SNI 的客户端的,而为了支持无 SNI 的客户端,一个 IP 就只能配置一个证书,所以就使用了共享证书节约 IP 资源。而现在免费版也有了 SSL,虽然免费版使用了 SNI 技术,但是证书总不能比付费版本还要高级吧,于是还是使用了共享 SSL 证书;二是为了增加更多的增值服务,现在 Cloudflare 上可以购买 Dedicated SSL Certificates,实现独立的证书(如果是付费版本启用,不支持 SNI 的客户端仍然 Fall back 到共享证书,所以仍然兼容不支持 SNI 的设备)。

Cloudflare 企业版

简介同上,此版本适合大客户,流量越大越适合用。百度云加速是和 Cloudflare 深度整合的,其实基础设施完全一样,但百度云加速没有提供 API 接口。

  • 国外速度:★★★★★,同上
  • 国内速度:★★★★★,有众多的国内节点
  • 可定制性:★★★★★,同上,Page Rules 数量有所提升
  • 廉价指数:★★☆☆☆,每月固定的花销,不是按需付费,量越大越实惠
  • 方便接入:★★★★★,同上
  • 缓存命中:★★★★★,同上
  • 动静分离:★★★★☆,对于 WordPress 来说安装了官方插件就可以自动分离,相比免费版,他有更多的 _Page Rules_、支持匹配 Cookie 规则缓存,相比 CloudFront 差一些
  • 缓存刷新:★★★★☆,相比免费版,支持了 Cache-Tag 刷新规则,然而需要服务端的配置
  • 接入方式:NS/CNAME
  • 证书兼容性:所有浏览器

Cloudflare 企业版作为全站 CDN 的特性:

  • 支持根域名
  • 缓存静态文件
  • 支持缓存页面
  • 页面更新自动清理缓存(完美清理缓存)(由于百度云加速没有提供 API,所以云加速没有这个功能)
  • 强大的 DDOS 防御以及 WAF 功能
  • 免费 SSL 证书

UPYUN

使用自己管理的机房,网络有些受限于中国的环境,单价业界最低。

  • 国外速度:★★☆☆☆,北美洲、欧洲、亚洲都有一定数量的节点,但速度欠佳。且 CNAME 接入所用的 NS 在国外没有节点,在解析速度上就牺牲很多。
  • 国内速度:★★★★★,国内节点很多,但是由于只能 CNAME 接入,需要多一次解析请求,花费时间
  • 可定制性:★★★★☆,可以设置很多个缓存规则,并且有自定义 Rewrite,可以实现比 Rewrite 更丰富的功能,但是函数功能受限。
  • 廉价指数:★★★★½,从免费起,Pay-as-you-go,价格也是一降再降,业界较低的标准
  • 方便接入:★★★☆☆,不需要配置多少参数,CNAME 接入相比 NS 更有难度。SSL 证书首次需要手动添加,自动续签。
  • 缓存命中:★★★★½,有源站资源迁移功能,首次访问后直接永久缓存。但是如果要删除文件,还需要用 API 手动删除,扣半分
  • 动静分离:★★★★☆,自动分离,可以配置不同目录的缓存规则,但是不支持Cookie 规则缓存
  • 缓存刷新:★★★★☆,支持单个 URL 刷新以及规则匹配刷新
  • 接入方式:CNAME,所以不能根域名使用
  • 证书兼容性:仅限支持 SNI 的浏览器

UPYUN 作为全站 CDN 的特性:

  • 不支持根域名
  • 缓存静态文件
  • 不支持缓存页面
  • 有 WAF 功能
  • 免费 SSL 证书
  • 可配置国内外 CDN 混用

UPYUN 和下面的 KeyCDN 签发的都是 Let’s Encrypt 的独立证书,但都是单域名证书,甚至有 www 和无 www 的都要单独申请。

Google Cloud CDN

有全球最密集的网络集群,最快的速度、较低的单价,主要提供负载均衡,SSL 卸载,当然还附带了 CDN。由于缓存命中率低,需要超大型访问量的网站才有效。正是因为这一点,Google 自己只是将用户量极大的搜索服务用上了这个 CDN 系统,其余的很多 CDN 用的是 Cloudflare 和 Fastly 的。Google 的网络和 Cloudflare 和 Fastly 的网络有内网链接。详细介绍看本站的这篇文章

  • 国外速度:★★★★★,由于拥有众多的海外节点并支持 Anycast,给满分。
  • 国内速度:★★★☆☆,国内直连香港节点,几乎是速度最快的香港网络的,与国内几大运营商都有接入,但毕竟没有国内节点,比不过一些国内的速度。(但是目前所分配到的一些 IP,联通会绕道至美西了)
  • 可定制性:★★☆☆☆,可以根据不同路径配置不同的服务器,然后,好想也没什么别的可定制的了。
  • 廉价指数:★★☆☆☆,由于占用了 IP 资源,每月需要花费 18 美元的固定价格,并还需要再为流量付费。流量的单价较低。
  • 方便接入:★☆☆☆☆,需要各种复杂的配置,但是一旦完成了配置,就同时有了负载均衡,弹性伸缩等等特性。
  • 缓存命中:★½☆☆☆,节点太多,小流量网站都很难遇到命中的情况。但可以利用跨区域负载均衡提高缓存命中率。
  • 动静分离:★★☆☆☆,自动分离,但不能配置任何规则。
  • 缓存刷新:★★★★☆,支持单个 URL 刷新以及规则匹配刷新
  • 接入方式:IP 绑定,它直接给你分配一个独立的 Anycast IP,只需要 A 记录解析即可。
  • 证书兼容性:所有浏览器
  • 不包含免费 SSL,需要自己购买

Google Cloud CDN 作为全站 CDN 的特性:

  • 支持根域名
  • 缓存静态文件
  • 不支持缓存页面
  • 免费 SSL 证书
  • 可配置国内外 CDN 混用

KeyCDN

他们是租用别人的独立服务器,提供一体化 CDN 服务,单价业界最低。

  • 国外速度:★★★★☆,和 CloudFront 有一拼,但是由于只能 CNAME 接入,需要多一次解析请求,花费时间
  • 国内速度:★☆☆☆☆,国内的话香港节点,但是狂绕道,反而比美国还慢
  • 廉价指数:★★★☆☆,有最低年费(相当于起步价)
  • 方便接入:★★★½☆,不需要配置多少参数,CNAME 接入相比 NS 更有难度。SSL 可以一键添加。
  • 缓存命中:★★★★☆,有类似 CloudFront Regional Edge Caches 的功能
  • 动静分离:★★☆☆☆,自动分离,但不能配置规则。支持针对 Cookie 的缓存配置,但不能匹配 Cookie 内容
  • 缓存刷新:★★★★☆,支持单个 URL 刷新、全部刷新、Cache-Tag 刷新
  • 接入方式:CNAME,所以不能根域名使用
  • 证书兼容性:仅限支持 SNI 的浏览器

KeyCDN 作为全站 CDN 的特性:

  • 不支持根域名
  • 缓存静态文件
  • 缓存页面
  • 页面更新自动清理缓存(完美清理缓存)
  • 免费 SSL 证书
  • 可配置国内外 CDN 混用

我为他写了一个插件可以实现完美清理缓存,详情见此

关于 WordPress 动静分离的新方法

WordPress 可以分别设置 Site URL 和 Home URL,对于 https://example.com 这个网站,这两栏就可以这样设置:

然后,直接给 Home URL 上 CDN,在 CDN 或者源站上配置忽略 Cookie 信息。Site URL 回源,用作 WordPress 后台管理即可。

关于建站和服务选购的一些建议

建立网站、建立软件(或游戏)的服务器等,可能会有很多纠结的地方,也有很多坑,这篇文章根据我个人的经验来帮助大家选择最适合自己的方案,以及一些建议,在最后列出来一些我推荐的服务。

服务的三种类型

一般的,建站所需要购买的服务也是属于这三种服务之间的。从 SaaS、Paas 到 IaaS,依次从使用简便到复杂,从可拓展性低到高。了解这三种服务类型有助于选择合适的服务。

  • SaaS,软件即服务:比如 WordPress.com 等提供了一整套服务(包括了域名、主机、平台和软件)的,就算是 SaaS,这种服务对于初学者使用起来最方便,专业人士也能玩出不少花样,但可拓展性受到软件的限制,通常这种服务都有较高的可用性,并且是分布式的。
  • PaaS,平台即服务:比如基于 cPanel、Plesk 面板的虚拟主机,你可以在平台上安装已有的开源软件,或者将自己软件代码上传,总体使用几乎和 SaaS 一样简单,使用特定的操作系统和代码语言,安装各种程序。PaaS 有普通的也有分布式的,后者的在可用性和数据保障,以及可拓展性上都要好于前者。
  • IaaS,基础设施即服务:包括 VPS、独立服务器、云 VPS 和共有/私有云服务器。VPS 和独立服务器相比主要差距是在配置上,包括 CPU、内存、硬盘等,后者的配置会高很多,可用性方面没有太大区别。云 VPS 和共有/私有云实际上是基于云端分布式的 VPS 和独立服务器,一样的,他们的在可用性和数据保障,以及可拓展性上都要好于 VPS 和独立服务器。IaaS 需要自己选择操作系统,所有的服务和软件都是自己配置,通常都给你 root 权限。

服务的选择

  • 位置选择之国内:首先需要考虑的是国内还是国外?如果选择国内,首先你得域名需要经过备案,这可能需要将近一个月时间,这无疑为建网站增加了不少成本。而且国内的服务器普遍较贵。不过如果要选择国内,我比较推荐的主机是新浪的 SAE,它价格很低,是按需付费,并且还有免费额度,它属于分布式的 PaaS,提供高可用率的服务,支持 Docker 容器、DDOS 防御。不过 SAE 对于非企业用户不提供 CDN 和自定义域名 HTTPS,我推荐你使用 UPYUN 来实现 CDN 和自定义域名 HTTPS 功能。国内的优点:可以保证网络延迟低,并能符合目前的一些法律政策。
  • 位置选择之国外:不少亚洲的主机(包括但不限于香港、日本、新加坡)从大陆连接会 “绕道”,导致延迟很高,购买前需要先了解清楚,香港便宜的共享主机推荐 TlOxygen。亚洲的主机普遍网络带宽不大,流量比较少,如果不选择亚洲的,那就建议先选北美的。国外的主机通常会有比国内很多主机更低的价格,更好的国际带宽。 如果有条件,可以配置多个服务器,两个服务器推荐的解决方案是亚洲 + 北美东岸,并将亚洲和大洋洲都指向亚洲,其余的都指向北美。如果有条件配置更多服务器,那么可以同时配置北美东岸 + 北美西岸 + 欧洲 + 亚洲的四个服务器并分区解析,就我的实际测试而言,把非洲指向欧洲,把大洋洲指向北美西岸能达到最快的速度。

一些可能需要的特性:基于要实现的不同功能,可能需要在以下方面有要求,在选择服务的时候需要优先考虑。

  • 高数据可靠性:几乎所有的网站或是和网络相关的软件,都需要存储用户的数据,所以高数据可靠性是十分重要的。所以磁盘阵列为 RAID1 和 RAID10 是首选。而且用户数据的备份也是十分重要的,可以存储在第三方如 AWS S3。一些服务提供商提供了备份功能,其实也是能够保证高数据可靠性。
  • 防御攻击的能力:攻击的成本已经越来越低,种类也很多。通常最难防御的攻击种类是 DDOS,其余的几乎都可以通过软件实现。建议在选择服务器时就要选择有 DDOS 防御的服务器,或者直接使用 CloudFlare 之类的基于第七层的防御。
  • 可伸缩,按需付费:最简单的例子就是网络的计费方式不是按照带宽计费,而是按照每 GB 多少钱计费,不限带宽,能够避免不必要的支出的同时还会让用户享受最快的速度。同样的道理,按照系统资源的使用来计费的模式是最好的选择。一般的,基于云端的 PaaS 都是这种计费方式,IaaS 则需要自行配置来实现资源不够时升级配置,资源过剩时回收配置(也可以是 Auto Balancing),所以按小时(或分钟、秒种)级别的计费 IaaS 计费方式最适合这样伸缩以达到按需付费的目的。
  • 网络可靠性:网络可靠性也十分重要,如果服务的网络不好,那么将极大的影响用户体验,导致用户不可以使用服务。
  • SLA:重要的服务都需要 SLA,SLA 能给你承诺服务的可用率,当服务没有满足承诺时,服务提供商会给你赔偿。
  • IPv6:就目前来看,如果不支持 IPv6 也没什么问题。但是能有原生的 IPv6 支持总比没有好,而且现在正在有越来越多的运营商支持 IPv6,使用 IPv6 有可能会有更低的网络延迟,同时配置 IPsec 也有优势。

其他

  • 域名相关:不管你是选择使用虚拟主机、VPS 或是独立服务器,通常你还需要自己买一个域名,配置 DNS 解析等等,推荐免费的 DNS 解析有 CloudFlare、Rage4,国内还有 CloudXNS,一些虚拟主机商以及域名注册商也提供免费的解析,但不如前面介绍的那几个(详细关于 DNS 的介绍请见此)。如果选择使用 CloudFlare,那么你还可以在 DNS 后台选择开启 Proxy(CDN),这样能为你的网站缓存并加速(但实际上对于国内来说有可能反而减速),并获得一些基础的 DDOS 防护,并隐藏你的源站 IP 地址。
  • 域名注册商的选择:首先,要保证总的域名保有量大;其次,要域名后缀种类齐全;第三,最好能附加免费的企业邮箱和高级的隐私保护;第四,域名注册后要能删除并退款,防止手抖注册错了;第五,价格不能太贵。在我做的 TlOxygen 这个公共域名注册服务上,使用的域名注册商是全球前十大域名注册商;有 500 多种域名后缀,数量超过 GoDaddy;赠送企业邮箱,可以配置无限个转发邮箱,甚至还可以配置子域名邮箱,还支持 DKIM;大多数种类域名删除可以拿到退款;价格比 Godaddy 便宜很多,续费价格没那么坑,基本上是 7 折;域名隐私保护只有 5 元,但功能比很多免费的高级:即使开了域名隐私保护,别人给你发邮件时,会收到表格,还能继续填写表格与你联系。

一些服务商的推荐

排列的顺序只是与添加在这个列表里的时间有关,新添加的会被放在后面。此处添加的服务商全是个人的推荐的,以后还会持续更新。 标注列表:

  • (6):全面支持 IPv6
  • (6):部分支持 IPv6
  • (D):支持免费 DDOS 防御

SaaS

建立网站

CDN

以下 CDN 都支持 HTTPS 与 IPv6

DNS

数据存储

代码托管

SaaS 还有很多,太多的东西都是 SaaS 了,所以这里只能算举几个例子。

PaaS

虚拟主机

云主机

或者说是分布式的虚拟主机,但是有独立的 CPU 和内存资源。

可自选软件语言的/Docker 容器

IaaS

VPS/Cloud

标注列表:

备注

  1. SAE 的 IPv6 的激活需要额外的月付
  2. OVH 的 SSD VPS 暂时不支持 IPv6
  3. 在购买某种配置时,若告知你是共享 CPU,那么还是共享 CPU
  4. OVH 只有 Cloud VPS 是基于云端的 VPS
  5. Google 官方并没有明确说明提供 DDOS 防御,但实际上是有能力防御的
  6. Vultr 的 DDOS 防御需要额外购买,且仅部分地区支持,最大防御仅 10Gbps

在自己服务器上安装 GitLab,代替 GitHub!

我的服务器上部署的代码、配置文件等内容大多是使用 Git 进行版本控制。为了能够使用、配置起来更方便,通常使用一整套系统去管理。很显然,在一些代码和配置文件里会有一些机密的内容,如一些密钥什么的,所以必须不能公开。GitHub.com 虽然提供了 Private 存放处功能,但是由于此功能是付费的,而且对于 Organization 的 Plan 还是极贵,并不十分划算;就算能有免费的 Private 存放处,把自己的很多重要的密钥放在第三方服务器上还是很不安全,所以能够 Host 在自己的主机上的,并且能够替代 GitHub.com 的软件/服务就是不错的选择。 本文将讲一下我在自己服务器上安装 GitLab 遇到的坑,进阶使用,包括使用 .gitlab-ci.yml 文件实现自动 Build,实时同步镜像到 GitHub。

能够 Host 在自己的服务器上的软件/服务其实有很多,比如 GitHub Enterprise,Bitbucket Server。不过再此还是推荐完全开源、免费、由社区维护的 GitLab Community Edition,没有任何限制,只是相比 Enterprise Edition 少了些本来也用不着的功能。

安装及遇到的坑

具体安装方法见文档,目前官方推荐的系统环境是 Ubuntu 16.04 LTS,安装起来非常简便,整个 Web 环境都会配置好。安装后的更多配置请参见文档。如果你的主机上跑了不只一个 Web 程序,那就需要对现有的 Web 软件做修改,需要参见官方的 Nginx 的配置文档。我的代码中使用了 sub_filter 来实现替换默认的标题,实现更好的 SEO,更加品牌化。 然后为了能达到更好的使用效果,还应该配置 SMTP 发件服务器,我使用的是 AWS SES;然后还需要一个支持 IMAP 的收件服务器实现 Reply by email,我使用的是 Gmail,收邮件的限制总比发邮件的限制少吧~这些的具体设置方法官方文档里都有。 安装后默认是允许注册的,如果你不想让外人注册,你需要直接去 Web 后台禁用。如果你想要开放注册,那么最好先想好新注册用户能干什么,比如和我一样:只允许新用户创建 Issues 和 Snippets,那就在 Web 后台将 Default projects limit 设置为 0,然后编辑后台的配置文件,禁止新用户创建 Group。同时建议在 Web 后台启用 reCAPTCHA 和 Akismet,防止恶意注册和恶意发 Issues。既然允许注册,那么也建议使用 OmniAuth 来支持第三方 OAuth 的方式登陆。

GitLab Runner

GitLab Runner 十分强大,但是并不是内置的,它可以极其方便的实现自动部署等非常有用的功能。安装配置好 Runner 后,在项目根目录下添加一个名为 .gitlab-ci.yml 的文件,以 master 分支为例,为了实现每次 commit 到 master 都将文件部署到 /var/gitlab/myapp ,那么文件内容应该是这样的:

pages:stage: deployscript:- mkdir -p /var/gitlab/myapp- git --work-tree=/var/gitlab/myapp checkout -fonly:- master

注意,你需要先创建 /var/gitlab 文件夹,并设置这个文件夹的用户组为 gitlab-runner:gitlab-runner

$ sudo chown -R gitlab-runner:gitlab-runner /var/gitlab

.gitlab-ci.yml 核心的部分就是 script: ,这里的脚本都是由用户 gitlab-runner 执行的,你可以根据需要修改,后文中也给了几种范例。 然后 commit,去设置页面里里激活这个项目的 Runner。建议在设置里设置 Builds 为 git clone 而不是 git fetch ,因为后者常常出现奇奇怪怪的问题,前者的速度瓶颈主要在于网络传输。

部署 Runner 在同一个主机上,Or not?

官方的文档里强烈不推荐把 Runner 部署在同一个主机上,其实这种说法并不正确。官方不推荐这样做是因为一些 build 会花费很长时间,占用很多的 CPU 和内存资源。但是如果你执行的 build 脚本并不会这样,那么安装在同一个主机上也未尝不可。

常见的部署范例

这几种部署是我比较常用的,大家可以当作范例,具体根据自己的需要弄各种不同的部署。 以下几种 Web 的部署方式所消耗的系统资源都不多,而且由于使用了 nice ,并不会阻塞其他任务,可以部署在同一台主机上。

Jekyll

修改之前那个 .gitlab-ci.yml 文件的 git checkout 一行,替换为:

jekyll build --incremental -d /var/gitlab/myapp

检查 PHP 的编译错误

也是添加以下代码到 .gitlab-ci.yml 即可自动检查所有 PHP 文件的编译错误,编译通过的文件不会显示,只会显示编译错误的:

if find . -type f -name "*.php" -exec nice php -l {} \;  grep -v "No syntax errors"; then false; else echo "No syntax errors"; fi

自动与 GitHub 同步

以下过程需要 root 权限登陆到主机,或者在每行命令前添加 sudo。 首先,需要先给 gitlab-runner 用户一个单独的 SSH Key:

$ ssh-keygen -f /home/gitlab-runner/.ssh/id_rsa

然后,创建 /home/gitlab-runner/.ssh/known_hosts ,内容是:

github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==

之后,获取 /home/gitlab-runner/.ssh/id_rsa.pub 文件内容,在 GitHub 上添加这个 SSH Key。 由于是使用 root 帐号,弄完了之后不要忘了修改用户组:

$ sudo chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/.ssh

然后,同样是通过 .gitlab-ci.yml 实现自动同步:

git push --force --mirror git@github.com:[Organization]/[Project].git

修改 [Organization][Project] 为你自己的名称即可。

谈谈安装在自己服务器上的 GitLab 的好处

文件都存储在自己的服务器里,安全性比较有保障,自己有最高权限,不会遇到项目被删的情况。部署时延迟极低,可靠性也高,不会遇到自己服务器没问题但是第三方服务宕机导致无法部署的窘况。 可以根据情况部署到离自己最近的服务器,或者是内部服务器,像 GitHub 的服务器就在美国东岸,亚洲这边连接并不快,国内也不稳定。 最关键的是,如果你本来就有个 VPS 什么的,也有很大的空闲,那么相当于你可以免费获得私有存放处,但是要注意性能需求,没有足够的空闲还是不要启用。 由于能够配置好实时同步镜像到 GitHub,GitLab 还有那么多 GitHub 没有的功能,其实已经可以完全使用 GitLab 作为主要的版本控制工具,GitHub 只是存一份镜像备用。

几个 WordPress 的加速建议

WordPress 是目前最流行的内容管理系统,本网站正是使用着它。但对于一个全新安装的 WordPress 来说,它的性能并不是很高,当网站的访问量突然增加时,优化性能就显得十分重要了。通过实施以下几个方案,可以大大提升 WordPress 访问速度:

配置缓存

WordPress 是一个动态的系统,如果不配置缓存,每次请求都需要服务器去读取数据库,生成页面内容,对于不同性能的主机,这可能就需要 20ms~1000ms 甚至更慢。如果能够正确配置缓存,就可以明显的加速,并且减少主机的运算资源。

配置页面缓存

使用插件来配置缓存是最简单的方法。在此推荐 WP Super Cache,这是 WordPress.com 出品的缓存插件,就页面缓存来说,功能非常全面,它支持多种缓存模式,包括 mod_rewrite,如果你使用 Nginx,那么可以使用我这个配置文件,这样可以直接跳过 PHP 而直接服务静态文件,页面相应速度有显著提升。 同时,为浏览器返回正确的 Cache-Control 也是十分有必要的,尤其是 CSS 和 JS 文件。

配置对象缓存

对象缓存比页面缓存更灵活,使用范围更广,但速度肯定不如页面缓存。在此推荐 APCu 缓存系统。在 Ubuntu/Debian 安装方法如下:

$ apt install php-apcu

然后重启 Web server,安装 APCu Object Cache Backend 即可。 Redis、Memcached 等都算此类型的缓存,不过 APCu 配置最为简单,速度也很快。

建立分布式缓存系统

比如我的网站使用北美东岸(主要)和亚洲的 VPS,主服务器配置了 Nginx,PHP 和 MySQL;亚洲的服务器只配置了 Nginx。在这些服务器上都配置好缓存,并用 lsyncd 同步缓存内容。每次访问时 Nginx 检查缓存,仅当没有缓存时代理,这样可以大大减少首页面的延迟。

使用 CDN

使用全站 CDN

使用全站 CDN,可以免去在自己的服务器上配置缓存的问题,还可以为服务器增加 HTTPS、HTTP/2 等功能,同时还能过滤非法流量,防御 DDOS(前提是你的 IP 没有被暴露,或者你设置好了白名单)。 除此之外,使用 CDN 后还能更加明显的提高网站加载速度,让访客从中受益。

使用 CloudFlare

CloudFlare 是可以免费使用的,使用 CloudFlare 前需要更改 DNS 服务商,然后无需额外配置就能使用了。但是它只会缓存 CSS、JS 和多媒体文件,不会缓存 HTML 页面,也就是说用户每次访问时还是会返回到原始服务器,页面本身的速度不会有明显提高,在原始服务器上配置缓存也是必要的。

使用 KeyCDN 并配合插件

KeyCDN 是一个按流量使用付费的 CDN 提供商,使用我制作的插件 Full Site Cache for KeyCDN 可以简单的对其配置,这个插件会自动刷新缓存。 KeyCDN 相比 CloudFlare,可以缓存 HTML 页面,大大减少源服务器的压力,同时在刷新缓存时可以通过 Tag 方式刷新,避免不必要的刷新。 在网站访问量较大时,使用 KeyCDN 就能明显的提高速度,缓存命中率也会有很大的提高。

仅资源部份使用 CDN

你可以配置另一个域名,在那个域名上使用 CDN,然后通过插件重写页面地址实现部分 CDN。上文提到的 WP Super Cache 就能配置 CDN,或者使用 CDN Enabler 也能实现部分 CDN 功能。至于 CDN 的选择无所谓,只要支持 Origin Pull(也就是请求回源)就行。

服务器性能

提高服务器本身的性能是最简单的方法,使用更大的内存,更多核心的 CPU 能明显提速。除此之外,提高服务器上应用的性能也很重要:

脚本性能

PHP 脚本的处理速度是 WordPress 的一大瓶颈,使用最新版本的 PHP,可以获得更高的性能,例如 7.0 就比 5.6 快了 3 倍

其次,少用插件能减少 PHP 需要执行的脚本,因为在加载每一个页面时,WordPress 都会加载一遍所有的插件。少量的插件(10个以下)对 WordPress 速度的影响不大,当然也取决于插件本身。

数据库性能

数据库是 WordPress 性能的瓶颈之一,在数据库上优化能提高一定的速度。 一般情况下,如果正确的使用 WordPress,并不需要清理数据库。但可能会有某些插件可能在数据库中创建了太多没用的表,这时服务器的响应速度就会大大降低(约 1~3 倍),推荐使用 WP-Optimize 进行清理。 不是太多的文章数量,是不太会的影响加载速度(1 万篇文章以下速度其实都还能接受,不过你写那么多文章干嘛,质量比数量更重要嘛)。

图片优化

图片占据着网页中很大一部分的大小,同时也关系着用户体验。

图片压缩

对图片压缩不仅可以提高访问时图片加载速度,还能减少服务器带宽 推荐使用免费的 EWWW Image Optimizer,可以在服务器上对图片进行处理。如果你的服务器性能有限,可以使用 Optimus 在线处理,免费版功能十分有限。

响应式图片

对于不同的设备加载不同的图片,比如在手机上加载的图片,就可以比视网膜屏幕的电脑上要加载的图片小的多。使用本站曾经提到过的 srcset 技术可以最简单的实现这个功能,只要你的主题支持就可以了(官方的最新默认主题已经支持),如果主题本身不支持,也可以通过插件实现。

禁用不需要的服务

WordPress 中有一些自带的服务你可能并不需要,禁用它们可以减少页面所需要加载的资源以及服务器需要做的事情。

Emoji 支持

WordPress 支持 Emoji 表情符号,但会因此在页面中引入额外的 CSS,使用这个脚本可以禁用它(如果你不需要的话)。

Google Fonts

Google Font 在国内加载非常慢,而且加载完成之前页面会一直白屏。你可以专门安装 Disable Google Fonts 的插件,或者在下文要提到的 Autoptimize 插件中的设置里禁用它。

Pingback

进入 设置 => 讨论 中可以禁用 “尝试通知文章中链接的博客” 和 “允许其他博客发送链接通知(pingback和trackback)到新文章” 功能(如果你不需要的话)。 此功能并不影响页面加载时间。

减少请求数和页面大小

减少请求数在也一些情况下也能提高加载速度,减少页面大小能缩短下载页面所需要的时间。推荐使用 Autoptimize,它可以 minify CSS、JS 和 HTML,还能 combine CSS 和 JS 以减少请求数。

然而,如果你的博客启用了 HTTP/2 协议,那么减少请求数就没什么必要了,不过为了启用 HTTP/2,必须要使用 HTTPS,所以最终下来是快是慢也不好说。不过还是强烈推荐使用 HTTPS,为了安全,牺牲点速度算什么。

总结

做到上面几点,就能有效提速了,我的网站做到以上几点,在国内无缓存的 Wi-Fi 情况下本网站的时间线如下:

在 1 秒钟内完成包括图片在内的加载

CloudXNS、Route 53、阿里云解析等 DNS 服务的全面对比

DNS(域名系统)是因特网的一项服务。它能够将域名指向一个 IP(服务器),这样你就可以通过域名来访问一个网站。能够通过域名访问的网站,都需要一个 DNS 服务器。这里指的是给站长的域名使用的权威 DNS 而并非缓存 DNS。本文包括 CloudXNS、Route 53、Cloudflare、Google Cloud DNS、Rage4 以及阿里云解析的全面对比。

CloudXNS

备注:CloudXNS 不支持 TCP。

国内免费 DNS 中最好用的,作为 DNS 服务来说其功能也算齐全。CloudXNS 的服务器国内有不少,但没有使用 Anycast 技术,所以谈任何国外的服务器都是白搭。

CloudXNS 通过 GeoDNS 对其 NS 服务器的域名进行分区解析,国内的解析到国内服务器,国外的解析到国外服务器。然而其根域名的 Glue Record 中的四个仍是国内的四个服务器,实际解析中会优先使用 Glue Record,所以并不会用上任何国外的服务器。

为什么不将这些国外服务器也添加到 Glue Record 上?因为 Glue Record 并不支持 GeoDNS,所以解析器将会随机选择服务器,所以如果这样的话会导致国内的一部分请求也走到美国服务器,反而减速。

  • 国外速度:★☆☆☆☆,248 ms
  • 北美速度:★☆☆☆☆,272 ms
  • 亚洲速度:★★☆☆☆,196 ms
  • 欧洲速度:★☆☆☆☆,283 ms
  • 国内速度:★★★★☆,32 ms
  • 最短 TTL:60s
  • 国内分区解析:★★★★★,精确到绝大多数的运营商和省
  • 国外分区解析:★★☆☆☆,精确到了大洲和一些国家,而没有城市
  • DNSSEC:不支持
  • IPv6:不支持
  • 记录类型:基本齐全,只支持 A、AAAA、CNAME、NS、MX、TXT、SRV。
  • 根域名 CNAME 优化:不支持
  • 优先级:支持,可以配置解析到不同的服务器的优先级
  • 自定义 NS:不支持,由于它不支持修改根域名下的 SOA 和 NS,所以这是做不到的
  • 价格:免费,按功能收费
  • 用例 A 价格:免费
  • 用例 B 价格:免费
  • 用例 C 价格:免费
  • 统计功能:支持,能精确到国家和省份、运营商
  • SLA:99.9%。(超出防护峰值或账户月解析量时降为98%)

Route 53

国外相当流行的 DNS 服务,必要的那些功能也算齐全。服务器都遍布全球,使用了 Anycast 保证最低的延迟。

  • 国外速度:★★★☆☆,84 ms
  • 北美速度:★★★☆☆,61 ms
  • 亚洲速度:★★★☆☆,79 ms
  • 欧洲速度:★★★☆☆,82 ms
  • 国内速度:☆☆☆☆☆,328 ms
  • 最短 TTL:0s
  • 国内分区解析:★★½☆☆,只能为中国这一个地区作单独设置,不支持省和运营商。若使用 Regional 智能解析,那么可以设置偏向于宁夏和北京的两个服务器。
  • 国外分区解析:★★★★★,精确到了各个国家,众多的国家还精确到了省/市
  • DNSSEC:不支持
  • IPv6:支持
  • 记录类型:更加齐全,支持 A、AAAA、CNAME、NS、MX、TXT、SRV、PTR、SPF、NAPTR、CAA。
  • 根域名 CNAME 优化:不支持
  • 优先级:支持
  • 自定义 NS:支持,同时也可以修改根域名下的 SOA 和 NS
  • 价格:每个域名 $0.5/月,**$0.4/百万**个请求,分区解析 $0.7/百万个请求
  • 用例 A 价格:**$0.90**
  • 用例 B 价格:**$10.50**
  • 用例 C 价格:**$16.50**
  • 统计功能:基本不支持,只有在每月最后结算的账单中看到
  • SLA:100%

Cloudflare

国外占有量相当大的免费 DNS,服务器都遍布全球,使用了 Anycast 保证最低的延迟。

  • 国外速度:★★★★★,13 ms
  • 北美速度:★★★★★,10 ms
  • 亚洲速度:★★★★☆,30 ms
  • 欧洲速度:★★★★★,8 ms
  • 国内速度:★★☆☆☆,193 ms
  • 最短 TTL:120s
  • 国内分区解析:☆☆☆☆☆,完全不支持国内的分区解析,国内的请求一般会被认作美国西岸。
  • 国外分区解析:★★★☆☆,如果购买了 Load Balancing 服务后,可以根据不同的区域配置分区解析。虽然没有按国家和城市区分,但是有时却比国家还精细(比如它支持为北美洲东西中部不同地区作分区解析)
  • DNSSEC:支持,同样支持 DNSSEC 特有的记录,包括 SSHFP、TLSA、DNSKEY、DS
  • IPv6:支持
  • 记录类型:更加齐全,支持 A、AAAA、CNAME、TXT、SRV、LOC、MX、NS、SPF、CERT、NAPTR、SMIMEA、URI
  • 根域名 CNAME 优化:支持
  • 优先级:支持,需要购买了 Load Balancing 服务
  • 自定义 NS:不支持,购买 $200/月的 Business 版本后才能支持
  • 价格:免费
  • 用例 A 价格:免费
  • 用例 B 价格:免费
  • 用例 C 价格:**$20.00**
  • 统计功能:部分支持,免费用户可以看到的统计有限
  • SLA:无(Business 和 Enterprise 版本有 100% 的 SLA 保障)

Google Cloud DNS

价格低廉,提供 100% 的 SLA,使用了 Anycast 保证最低的延迟。

  • 国外速度:★★★☆☆,60 ms
  • 北美速度:★★★☆☆,53 ms
  • 亚洲速度:★★★☆☆,95 ms
  • 欧洲速度:★★★★☆,30 ms
  • 国内速度:★★☆☆☆,171 ms
  • 最短 TTL:0s
  • 分区解析:☆☆☆☆☆,不支持
  • DNSSEC:支持,同样支持 DNSSEC 特有的记录,包括 IPSECKEY、SSHFP、TLSA、DNSKEY、DS
  • IPv6:支持
  • 记录类型:几乎完全齐全,支持 A、AAAA、CNAME、NS、MX、TXT、SRV、SPF、LOC、NAPTR、PTR、CAA 以及上方列出的 DNSSEC 相关记录。
  • 根域名 CNAME 优化:不支持
  • 自定义 NS:支持
  • 价格:每个域名 $0.2/月,**$0.4/百万个请求**。
  • 统计功能:基本不支持,只有在每月最后结算的账单中看到
  • SLA:100%

Rage4

同时支持 DNSSEC 和分区解析,使用了 Anycast 保证最低的延迟。

  • 国外速度:★★★★☆,30 ms
  • 北美速度:★★★★★,18 ms
  • 亚洲速度:★★★☆☆,59 ms
  • 欧洲速度:★★★★☆,26 ms
  • 国内速度:★★☆☆☆,153 ms
  • 最短 TTL:根据套餐情况而定
  • 国内分区解析:★★☆☆☆,只能为亚洲东部为中国配置解析
  • 国外分区解析:★★★★☆,可以根据不同的区域配置分区解析
  • DNSSEC:支持
  • IPv6:支持
  • 记录类型:更加齐全,支持 SOA、NS、A、AAAA、CNAME、TXT、MX、SRV、PTR、SPF、SSHFP、TLSA、LOC、NAPTR
  • 根域名 CNAME 优化:支持
  • 优先级:支持
  • 自定义 NS:支持,同时也可以修改根域名下的 SOA 和 NS
  • 价格:每个域名 €2/月 起,根据功能而非使用量定价
  • 用例 A 价格:€2
  • 用例 B 价格:€10
  • 用例 C 价格:€100
  • 统计功能:支持,能精确到国家
  • SLA:99.99%

阿里云解析

阿里云旗下产品,解析服务器全部使用阿里云机房,有速度保障。按照使用功能而非解析量收费。服务器国内有不少,但没有使用 Anycast 技术,所以国外速度很差。 测速基准:

ns1.alidns.com. 106.11.141.111

阿里云付费版与免费版线路有所不同,付费版含有海外线路,但由于没有 Anycast,所以最终线路是随机选择的,所以付费版与免费版相比,其在国外的响应时间稍短,在国内的解析时间稍长。 备注:阿里云 DNS 不支持 TCP。

  • 国外速度:★☆☆☆☆,238 ms
  • 北美速度:★☆☆☆☆,229 ms
  • 亚洲速度:★★☆☆☆,186 ms
  • 欧洲速度:★☆☆☆☆,251 ms
  • 国内速度:★★★★☆,33 ms
  • 最短 TTL:免费套餐:600s;付费套餐:1~120s
  • 国内分区解析:★★★★★,免费版支持运营商,付费版支持地域解析
  • 国外分区解析:★★★☆☆,免费版仅支持海外,付费版可以支持到洲、国家
  • DNSSEC:不支持
  • IPv6:不支持
  • 记录类型:支持 A、AAAA、CNAME、NS、MX、TXT、SRV。其中 CAA 仅限付费版。
  • 根域名 CNAME 优化:不支持
  • 优先级:支持
  • 自定义 NS:不支持
  • 价格:免费,按功能收费
  • 用例 A 价格:免费
  • 用例 B 价格:免费
  • 用例 C 价格:免费
  • 统计功能:仅限付费版
  • SLA:99.95%
❌