Reading view

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

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。

[事实核查] 图片反向搜索核查工具汇总,检测 AI 生成图像的真实性实战指南

DUN.IM BLOG

DUN.IM BLOG

在中文社交上,单纯以文字形式流传的虚假信息从比例上越来越少,以图片、截图形式流传的可疑信息则越来越多。

究其原因,一是「有图有真相」的观念深入人心,网络传言往往会附上图片来增加内容的可信度;二是图片形式更容易在群、朋友圈、微博等社交网络平台传播。

结果,有很多图片被抽离原有的背景和时间线流传,让受众对于该图片产生完全不同的认识和理解。还有的图片被软件加工篡改,完全改变了原有的意义。

因此,使用图片反向搜索(Reverse Image Search)工具,追溯图片的来源,在此基础上检查图片是否被修改或者挪用,是事实核查员最常处理的工作。

目前比较常用的图片反向搜索工具有谷歌、Yandex、Bing、TinEye、百度等,其中以前四个最为常用,各有优势和特点。

谷歌适合大多数基本的反向图像搜索,包括识别照片中的知名人物、查找已在网上大量共享的图像的来源、确定一件艺术品的名称和创作者等等。

使用方法:

1.在电脑上保存要核查的图片,或者复制该图片的网址

2.前往 Google 图片页面(https://images.google.com

3.点击搜索框的相机图标

4.可以选择直接上传图片、拖拽图片或粘贴图片的链接

比如核查以下图片(LIBKOS/AP):

在搜索结果中,可以看到页面右侧「图片匹配结果」中有两张完全一致的图片,点击图片即可找到这张图片的详细说明,包括时间、地点和拍摄者。

点击「查找图片来源」的选项,可以查看所有包含此图片的网页,从中选择可靠的信源,找到图片的详细说明:

还可以点击搜索框的「工具」按钮,进一步收窄搜索结果的范围,可以选择「按图片搜索」、「外观相似」或「更多尺寸」。

「工具」还有「时间」选项,可以选择从「过去 1 小时内」到「过去 1 年内」不同的时间范围,也可以自定义范围。通过这种设置,可以更容易找到图片初次发布的网页。

如果希望进一步搜索图片的局部,谷歌提供了裁剪工具,图片的四个圆角是可以移动的,用来调整搜图的范围,页面右侧会实时展示对裁剪后的画面进行图片搜素的结果。

对核查员来说,有时要核查的图片画面非常复杂,但有效信息只有其中的一部分,这时候裁剪功能就非常有用。

如果使用谷歌 Chrome 浏览器,可以直接在需要核查的图片上点击右键,选择「使用 Google 搜索图片」,搜索结果会在页面右侧显示。

也可以在页面空白处点击右键,选择「使用 Google 搜索图片」,页面会出现「选择要搜索的图片区域」的提示和截图用的图标,可以任意选择要搜索的图片区域,有关该区域的图片搜索结果会出现在页面右侧。

识别图片中的文字信息

在谷歌图片的搜索结果页中,点击「文字」按钮,谷歌可以识别图片上的文字信息,并且将其转换成可复制的文本。

这一功能非常实用,核查带有标语、路牌等元素的图片时,可以快速提取其中的文字,然后检索,以可能的线索。尤其是有关文字元素为俄语、阿拉伯语、韩语等语种时,核查员不必担心电脑输入法问题。

比如,查证一张带有俄语的图片(Alexander Ermochenko/Reuters):

在搜索结果中点击「文字」按钮,光标可以在图片上点击并拖动选择任意文字,也可以选择「选择所有文字」,这是页面右侧已经出现了标语上的文本,这时可以有 4 个选项:「复制文字」、「聆听」、「翻译」和「搜索」,可直接进行下一步的操作。选择「翻译」可知,这是俄罗斯在一个名为苏多普拉托夫的地点的征兵广告。

翻译图片中的文字信息

点击「翻译」按钮,谷歌可以直接在图片上将外语文字翻译成中文,可以大致明白图片上外语文字的意思,但受到识别度的限制,并不完整和准确,仅可提供快速的参考。

比如查证这张带有法语的图片(AFP):

在搜索结果中点击「翻译」,可大致知道这次示威的主题是关于养老金改革。

谷歌 lens 的特点是试图识别图像的主题,而非图像本身。不利的一面是,许多匹配项都侧重于图像中的主题。因此,如果图像搜索的主题不太清楚,可能不会获得高质量的结果。

比如搜索这张乌克兰总统泽连斯基的图片(EPA/UKRAINIAN PRESIDENTIAL PRESS SERVICE – HANDOUT):

返回的大部分却是与战术背心有关的结果:

「关于此图像」功能

2023 年 5 月 10 日,谷歌在 I/O 2023 开发者大会上宣布,将在接下来的几个月里添加一种新方法来帮助用户评估图像来源。

通过在搜索中的「About this Image」工具,用户将能够看到重要的背景信息,例如:

该图片和类似图片是什么时候首次被谷歌索引的,

这张图片可能首次出现的地方,

这张图片还出现在了网上的什么地方(例如新闻、社交或事实核查网站)

用户可以有三种方式来使用这一功能:点击 Google 图片搜索结果中的图片上的三个点;在 Google Lens 中使用图片或屏幕截图进行反向搜索;在使用 Google 的移动时,如果在一个页面上遇到想了解更多信息的图片,可以向上滑动。

按照谷歌的计划,2023 年晚些时候,用户还可以在桌面和移动端的 Chrome 浏览器中通过右键点击或长按图片来使用这一功能。

该功能将首先在美国以英语提供。

Yandex是一个俄罗斯的搜索引擎,检索有关俄罗斯、东欧、中亚等地区的内容时特别有优势,因此在俄乌战争期间很有价值。

使用方法:

1.在电脑上保存要核查的图片,或者复制该图片的网址

2.前往 Yandex 图片搜索页面(https://yandex.com/images/

3.点击搜索框的相机图标

4.可以选择直接上传图片、拖拽图片或粘贴图片的链接

5.单击搜索选项以在 Yandex 上查找相关图片。Yandex 将返回具有完全匹配或视觉相似图像的结果,包括使用这些图像的网页列表。

比如,2022 年 3 月 20 日,有微博用户称:「波兰铁路工人中断了与乌克兰的铁路连接,使装有英美武器的火车无法前往乌克兰。」有关博文还附有一张模糊的铁路照片,画面中有两列列车,但是没有显示地点的明显标记。(参考阅读:波兰铁路工人中断与乌克兰铁路连接?

在 Yandex 上反搜这张图片,可以找到大量的匹配结果:

在谷歌上反搜,首先出现的是一大批相似图片:

下拉数页后才能发现匹配的图像:

2023 年 4 月,中文网络流传一段视频,称「歌手席琳·迪翁参加她儿子的婚礼,因为罕见的僵硬人综合症已无法自己站立,看到的画面让人感伤」。

截取视频画面分别在谷歌、Yandex 和 TinEye 上反搜,可以发现,只有 Yandex 返回了包括大量相似图片的搜索结果,并且其中包含有意义的线索。

Yandex 还可以在搜索结果中显示其找到的核查图片的不同尺寸,如果核查的原图比较模糊,此时可以点击并保存更大尺寸的图片,然后继续反搜大尺寸的图片,一般而言可能更接近于找到图片的源头。

同样,Yandex 也具有识别图片中的文字,裁剪图片等与谷歌类似的功能。

案例 1:

2022 年 2 月,俄罗斯进攻乌克兰之前,中文网络广泛流传一张据称是乌克兰少女拿枪乘坐公交车的图片。

图片中,这位女孩头戴米色编织毛线帽,身穿带圆形拉链的黑色高领羽绒服,左手涂蓝色指甲油,右手涂红色指甲油。图片中没有明确可以提示时间、地点的元素。

有关图片被指拍摄于乌克兰,在俄罗斯和俄语区广泛使用的搜索引擎 Yandex 上反搜图片,可以发现该图片自 2020 年起就在俄罗斯社交网络 VK 上广泛流传。

在 VK 上进一步检索,可以发现能够找到的最早版本发布于 2020 年 3 月 27 日,发布者名为「寻找新西伯利亚的你」。从其主页内容看,这是一个寻人账号,slogan 是「连接命运」。账号介绍称:如果你在某个地方看到一个人,但由于某种原因无法接近和认识,那么你可以通过描述你的故事来尝试找到 Ta。

这张照片由名为 Karpov Sasha 的用户拍摄,配文是:「我一路坐在她旁边,我非常喜欢她,但很害怕打招呼。我在寻找你,美女。」

在帖子下方的评论中,一位名为 Ekaterina Gladkikh 的用户称,她就是照片中的女子。

她还在自己的 VK 页面上转发了这个帖子。

根据 Ekaterina Gladkikh 的 Instagram 账号,她是俄罗斯人,目前在新西伯利亚生活,是一位网红。

检索 Gladkikh 的 Instagram 账号,可以发现她在 2020 年 3 月 10 日发布的视频中,左手涂有红色指甲油、右手涂有蓝色指甲油,与网上流传的照片特征一致。

在 Gladkikh 于 2020 年 4 月 8 日发布的照片中,可以看到她穿戴着与网络流传照片中同款的毛线帽、黑色羽绒服,右手也涂有蓝色指甲油。

(参考阅读:乌克兰少女带枪坐公交?

案例 2:

2022 年 5 月,短视频平台抖音出现一批内容几乎一模一样的视频,文案是:「没有国哪有家,俄罗斯进入最困难时期,民众排队存钱救国!」

视频画面多是俄罗斯人在银行、ATM 取款机等处排长队的场景。

核查的关键之处在于找到每张图片的来源。

比如这张图片,使用谷歌和 Bing 都没有找到理想的结果:

使用俄罗斯搜索引擎 Yandex,裁剪截图的文字部分,可以找到一张同类结果:

点开网页发现,使用这张图片的文章发布于 2014 年 12 月 17 日,虽然可以断定此图与 2022 年俄乌局势无关,但是网页没有提供有关这张图片的详细信息,如图片说明、出处等。

不过,与最初的视频截图相比,这个网页上的照片尺寸较大,也更清晰,我们可以把这张大尺寸照片保存下来在 Yandex 上反搜,可以在第二个搜索结果中发现 Getty 图片社的网站包含了这张图片。

点击搜索结果中的 Getty 网站,可以发现该图片由彭博社记者安德烈·鲁达科夫(Andrey Rudakov)拍摄于 2014 年 12 月 17 日,图片说明是:俄罗斯圣彼得堡的一家 M-Video 商店内,顾客排队购买电子物品。在该国自 1998 年以来最严重的货币危机中,人们担心价格会进一步上涨而抢购消费品。

由此这张图片的身世就完全搞清楚了。(参考阅读:俄罗斯全民排队存钱救国?

Bing 是微软旗下的搜索引擎。在首页(bing.com)的搜索框旁边即有图像搜索的图标,可以直接进行反向图片搜索,而不必像谷歌和 Yandex 那样进入二级页面。

使用Bing 图片搜索时,可以将一张或多张图片拖到搜索框中、粘贴图像或 URL、从电脑上传图像,还可以用设备拍照——然后 Bing 将在网络上搜索匹配的图像。

Bing 也具有和谷歌、Yandex 类似的图片裁剪功能,在搜索结果页面点击「视觉搜索」按钮,可以裁剪照片的不同区域并查看实时搜索结果,这对于查找那些具有多个可识别主题的图像来说会非常有用。

Bing 另一特点是在搜索结果页,选择「具有此图像的页面」后,可以选择以「最新」或「最久」来对搜索结果进行排列。此功能与 TinEye 的按时间排序类似。

此外,与谷歌相比,Bing 会尝试识别照片中的不同元素,然后查找包含所有这些元素的图像。

比如,一张停在树旁的古董车的图片会触发包含一棵树和一辆古董车的相关匹配,而谷歌在这种情况下会选择其中一个更强烈的主题并寻找匹配。

TinEye创办于 2008 年,总部位于加拿大多伦多。TinEye 的最大优势是可以对搜索结果进行时间排序。

TinEye 使用图像识别技术来搜索图像,而不是关键字、元数据或水印。当用户提交要搜索的图像时,TinEye 会使用图像识别为其创建一个独特且紧凑的数字签名(「指纹」),然后将此指纹与其索引中的所有其他图像进行比较以查找匹配项。TinEye 会不断爬取网络并将图像添加到其索引库中。

使用方法:

通过单击上传(upload)按钮从电脑上传图像,也可以用拖曳方式把图片拖入搜索框。如果按 URL 搜索,可以把图像的 URL 地址复制并粘贴到搜索框中。

使用 TinEye 搜索图像时,可以通过几种不同的方式对这些结果进行排序和过滤:

最佳匹配(best match):首先显示视觉上最接近被搜索图像的图像。这也是默认的排序选项。

改动最大(most changed):首先显示对搜索图像改动最大的图像(经过大量编辑的图像)。

最大图像(biggest image):首先显示最高分辨率的图像。

最新的图像(newest):首先显示 TinEye 最新发现的图像。

最早的图像(oldest):首先显示 TinEye 最早发现的图像。

能够对搜索结果按照时间排序,是 TinEye 相比其他图片反搜工具的最大优势。对事实核查员来说,这一功能更容易破解挪用旧图片的传言,足以证明那些被形容为新闻的图片实际上已经有数月甚至数年之久。

以下图为例,2022 年 2 月 26 日,俄罗斯对乌克兰开战 2 天后,微信群流传一张据称是战场的新闻照片,两名儿童面对飘扬着乌克兰国旗的装甲车队敬礼,远处硝烟弥漫。

在 TinEye 上输入照片,排序选择 sort by oldest,可以发现出现在 TinEye 搜索结果第一位的是乌克兰网站 Gordonua 的页面,时间是 2016 年。

点击 Gordonua 的网络链接,可以找到 2016 年 3 月 23 日的一张图片与要核查的图片相同。

图片说明称,这是乌克兰国防部在其 Facebook 页面上发布的「战争之子」系列照片中的一张。

因此可以判定,这张图片至少拍摄于 2016 年,与 2022 年的俄乌战争无关。(参考阅读:乌克兰儿童向乌军车队敬礼?

可以在 TinEye 上搜索哪些类型的图像?

文件类型:TinEye 接受各种格式,包括但不限于 JPEG、PNG、GIF、BMP、TIFF 和 WebP 图像。

图像尺寸:最适合使用至少为 300 像素的图像,但也可以接受低至 100 像素的图像。

文件大小:最大为 20M。

为了获得最佳搜索效果,应尽量避免使用有明显水印的图像,因为 TinEye 可能会搜索水印而不是图像本身。

TinEye 的搜索结果会以域名分类,显示包含相关图片的网站;如果想知道搜索图片的版本是否出现在一个特定的网站上,可以在「按域名/集合过滤」(filter by domain/collection)的输入框里输入该网站的网址。TinEye 也会自动设置一些域名分类,主要包括主要的社交媒体平台和媒体,如 Twitter、Reddit、AFP 等。

如果搜索的图片属于图库里含有的图片,会标记为 stock;如果隶属于某一个系列的图片,则会标记为 collection。当 TinEye 确定一个网站已经无法访问时,会默认隐藏该网站的搜索结果。但如果用户对这些匹配结果感兴趣,可以勾选「包括不可用的结果」(include results not available),TinEye 就会显示该网页的存档。

TinEye 还有比较(compare)功能,可以将搜索结果与用于执行搜索的图片进行比较,这在识别裁剪过的、调整过大小的、倾斜过的或 PS 过的图片时非常有用。

但是,有些图像 TinEye 找不到:

大多数社交媒体网站,如 Facebook 和 Instagram,都限制 TinEye 抓取他们的图片。

受密码保护的页面或不可公开访问的页面上的图像。比如,如果要核查的图片最早发布在一个 WhatsApp 群组或微信群里,并且从来没有在网上被分享过,TinEye 就无法找到。

用户个人设备上的个人照片。

一些太小的或简单的图像,可能没有足够的细节让 TinEye 制作「指纹」。

与其他搜索引擎不同,TinEye 只能找到与我们搜索的图像完全匹配的图像(也包括经过裁剪、颜色调整、大小调整、编辑或轻微旋转的图像),但一般来说无法找到相似的图像。

注意:

TinEye 抓取到最旧的图片并不一定是该图片第一次出现在互联网上的日期。因此,TinEye 不能告诉我们一张图片首次出现在互联网上的时间,只能告诉我们 TinEye 首次发现它的时间。

一般而言,核查员在核查图片时会尝试使用多个反搜工具,而最方便的是下载安装 InVID Verification Plugin 插件,该插件集成了多种图片验证功能。

通过 Chrome 或 Firefox 浏览器下载安装插件后,在网页浏览图片时,可以直接右键点击图片,选择 Fake news debunker by InVID by WeVerify,进一步选择 Image Reverse Search-All,即可同时启动谷歌、Yandex、Bing、TinEye 等多种图片反搜工具,并在不同的新窗口展示搜索结果,极大地提高了效率。

另外一种使用方法是进入 InVID 系统。安装 InVID 后,Chrome 浏览器顶部会出现一个启动图标:

点击后选择「打开工具箱」(Open Toolbox)

进入 InVID 界面,选择图片处理(Image),即可看到 6 大功能:

1.图片分析(Image analysis):针对 Twitter 和 Facebook 上的图片,进行详细的数据分析。

输入图片的网址,点击提交,出现有关该图片的信息。

图片 ID、平台、创建时间、图片链接、点赞数、转推数,同时还抓取了推文下面所有的评论并且分类,包括带有链接的回复数。

比如我们分析 SpaceX 的这则推文图片:

2.放大镜(Magnifier):用户可以在图片上使用放大镜功能,以帮助解读和阅读图像中难以看到的细节——比如汽车牌照、飞机侧面的识别号码、徽章、标志、横幅等等。用户可以输入图片的网址,或者使用本地文件按钮(LOAD LOCAL FILE)从本地上传图像。

比如我们可以用放大镜检查这架战斗机涂装上的信息:

然后可以使用图片下方的谷歌、Google Lens、Yandex、Tineye、百度等按钮对图片进行反向搜索,或使用图像取证选项。

该功能还包括图片编辑(点击 EDIT IMAGE),可以对图片进行裁剪、翻转、锐化等。

3.元数据(Metadata):用户可以查看 jpg 和 tiff 格式的图片的 Exif 数据,可以输入图片链接或上传本地图片文件。

Exif (可交换影像档案格式,Exchangeable Image File Format) 档案会储存照片的重要资料,例如设备、曝光值、拍摄时间、地点以及使用的任何设置。每当用户拍摄新的照片时,几乎所有数码相机和智能手机都会建立这些资料档案。

4.取证(Forensic):帮助用户检测图片是否被篡改,比如是否被 Photoshop 软件编辑过。不过,使用者需要极其丰富的图像知识,且结果可能存在误差,所以,一般而言仅能作为参考,而非决定性证据。

5.OCR:可以将图片上的文字内容,智能识别成为可编辑的文本,不过有时无法识别。

6.检查 GIF 图片(CheckGif):可以对比原始图像和被篡改的图像(包括图像被裁剪过的情况),然后生成一个 GIF 并输出,可以更直观地展示篡改行为。不过,该功能目前仅对事实核查员、记者和研究人员开放。

2022 年 7 月 8 日,日本前首相安倍晋三遇刺后,中文网络流传一张照片称,被称为「日本第一女保镖」的石田萌美也在现场,却未能阻止杀手。

石田萌美此前在中文网络被形容为「日本第一女保镖」。她被指曾是安倍晋三最信任的贴身人员之一,因为外型靓丽和身份特殊受到关注。有文章指她是日本顶尖的武功高手,能够在 0.2 秒内拔枪制服袭击者,曾击退 10 名壮汉。

使用图片反搜工具搜索这张照片,可以确定照片本身是真实的,但是因为安倍身边的这位女士戴着口罩,也无其他明显的识别特征,所以依然很难判断她的身份。

这时我们仔细观察这张被指是石田萌美检查安倍伤势的照片,可以发现这位女士外表可供辨认的几大特征:长发束辫,黑色或深蓝色上衣,带有花卉纹样的裙装,低跟皮鞋。

由于安倍遇刺发生在公开场合,且现场媒体众多,因而有利的一面是,有大量现场照片可供检索。在《朝日新闻》网站上的安倍遇刺现场图片集中,我们可以发现大批同一场景的照片,能够较清晰地分辨出这位女士身穿的是一件罩衫,罩衫内是黄色 T 恤。

在美联社转发《读卖新闻》的一张照片中,安倍被送上救护车,救护车旁有一位女士的正面照片,放大后可见其发型、黄色 T 恤和蓝色罩衫、带花纹的裤装、黑色皮鞋,均与网传照片一致,可以判定她与被中文网络认为是石田萌美的那位女士是同一人。

大量现场视频和照片显示,安倍遭到枪击后,一批身穿黄色 T 恤的人员对其进行了心肺复苏等急救。这些人员的黄色 T 恤与这位女士的黄色 T 恤一致,因此,黄色 T 恤成为识别这位女士身份的最关键因素。

核查员用日语在推特、Facebook 平台上搜索「安倍 黄色衣服」关键词,发现有日本网民的推文中提供了线索,指出这是日本看护联盟的工作人员在急救。

据此线索,检索看护联盟的官方网站,了解到看护联盟是代表日本护理行业的组织,而且网站上的照片显示,看护联盟的成员在参加集体活动时一般均着黄色标志色衣服,有护理、急救知识和经验。

再用日语检索「看护联盟 安倍」,可以发现代表日本看护联盟参加众议院选举的友納理緒在有关安倍的讣告中提到,「在这次事件中,现场的看护联盟的各位在混乱中奋力救助」。

照片中的这位女士也穿着统一的黄色 T 恤,因此可以判定,她不可能是石田萌美,也不可能是安倍的保镖。

从这张照片的核查过程来看,以图搜图只是一个起点,更需要根据图片中的各种信息、图片外的各种新闻报道、社交媒体上的线索等等综合研判,得出结论。(参考阅读:安倍遇刺时网红女保镖就在身边?

2021 年 9 月,中文网络流传一张照片称,被加拿大扣押的华为公司首席财务官孟晚舟「困境中不忘支持国货,穿鸿星尔克出庭」,并附上孟晚舟穿运动鞋面带笑容的照片。不过,这双鞋上并无醒目的品牌 logo。

以「Meng Wanzhou+sneaker」为关键词在搜索引擎检索,可以在德国新闻图片社 IMAGO 的网站上发现一组照片,与中文网络流传的照片一致。

该组照片由加拿大新闻社记者 Darryl Dyck 拍摄,图片说明是:2021 年 8 月 6 日,华为公司首席财务官孟晚舟戴着脚踝监视器,穿跑鞋(running shoes)离开温哥华的家,前往位于温哥华的加拿大不列颠哥伦比亚省高等法院参加引渡听证。

此时我们已经找到了图片的来源,但是原图的图片说明中并未指出这双鞋是什么品牌。

不过,搜索结果很有利的一点是,摄影师拍了一组照片,尤其是有一张特写孟晚舟脚踝监视器的照片,孟晚舟的跑鞋也相比网传图片更加清晰。

这时我们使用 Google Lens 搜索这双鞋,因为 Google Lens 不仅可以搜索图片,还会试图提供图片中的信息,比如你扫描一张产品图片,可能会看到购物链接。果然,搜索结果指向了 HOKA 品牌。

核查员还使用了淘宝 APP 的拍照功能,拍下图片上的鞋子,然后淘宝快速识别出相似的结果,也指向了 HOKA 品牌。

据此线索进入 HOKA 官网的网络商店检索,可以发现孟晚舟所穿鞋款品牌为 HOKA ONE ONE,款式为 Clifton 8。

与此同时,核查员还登录了鸿星尔克官方商城、鸿星尔克淘宝旗舰店,没有发现类似商品。鸿星尔克淘宝旗舰店的客服也证实这款鞋子并非鸿星尔克。

由此可以得出结论,这张照片是孟晚舟于 2021 年 8 月 6 日离开住所前往加拿大不列颠哥伦比亚省高等法院参加引渡听证时拍摄的,她脚穿鞋款品牌并非鸿星尔克,而是法国品牌 HOKA ONE ONE。(参考阅读:孟晚舟穿鸿星尔克运动鞋在加拿大出庭?

2022 年 7 月 8 日,日本前首相安倍晋三遇刺后,中文网络流传一张照片,一位日本电视台的男性主播在咧嘴大笑,画面下方是一行日语字幕,可以辨认出与安倍遇刺有关——“安倍晋三元首相死亡確認”。

首先我们先从照片上的信息入手,这张截图的左上角有日文字样「イット」,在谷歌检索,找到节目的官网,可见这是日本富士电视台和富士新闻网(FNN)播放的一档新闻节目,全称为 Live News it!(日语片假名为:ライブ ニュース イット!),于 2019 年 4 月 1 日开播,一般直播时段为每周一至周五下午 3 点 45 分-7 点。

比对节目官网上的主持人形象,可以确认屏幕上的主播名叫榎並大二郎,毕业于庆应大学,2008 年加入富士电视台,从 2020 年 9 月 25 日起开始担任 Live News it!的主播。

这时我们要确认的是,榎並大二郎在播报安倍遇刺后确认死亡的新闻时是否大笑,所以最好要找到有关的节目视频。在 FNN 的 频道检索,可以发现该频道 2022 年 7 月 8 日上传的一则视频与中文流传截图的字幕、主持人衣着、背景均一致:「速报:安倍晋三元首相死亡確認 元海上自衛官に銃撃される」。

不过,在这则时长 44 秒的视频中,榎並大二郎并无大笑的表情。

那这张网传截图中大笑的表情从何而来?P 图能够如此自然吗?

事实上,随着 AI 技术的进步,常见的人脸编辑器或修图应用已经能很轻松地改变照片中的人物表情,比如国外的 FaceApp 和国内的醒图 App。

核查员从榎並大二郎播报安倍遇刺视频中截取照片,试图复现图片中的主持人大笑效果:

在醒图应用中选择「微笑」的特效选项后,应用自动处理完成后展示的效果如下,与网传图片非常接近:

核查至此,得到两个证据:一是检索到主持人播报该条新闻时的完整视频片段,主持人并无大笑;二是核查员使用修图软件,复现了网传图片中的主持人大笑效果。

但是,为了让结论更坚实,我们还就这张图片联络了富士电视台观众中心,工作人员回复查询时表示,当天紧急速报无异常,播报员榎並大二郎没有大笑的行为。

此时我们可以得出结论,主持人当天播报有关新闻时并未大笑。这一核查案例也提醒我们,随着 AI 技术的日益进步,对于图片的识别难度也在增加,必须借助更多信息加以综合研判。(参考阅读:日本主持人播报安倍遇刺时咧嘴大笑?

三星手机的 Space Zoom 功能可以让用户拍摄到美丽的月球图像,但也引发了由此产生的图像是否「真实」的争议。

2023 年 3 月,Reddit 上的一则帖子引发激烈的讨论,该贴清楚地拿出「证据」说明,指责三星的月球照片是「假」的。

Reddit 用户 ibreakphotos 先故意制作了一张模糊的月球照片,将其显示在电脑屏幕上,然后用三星 S23 Ultra 手机拍摄屏幕上这张模糊的月球照片,最终的照片显示了一张清晰的月球照片,增加了一些以前没有的细节。

制作过程:

1.从互联网上下载了这张高分辨率的月球图片

2.将图片尺寸缩小到 170×170 像素并使用高斯模糊,让月球上所有的细节都消失,这意味着它不可恢复,信息不存在,数字模糊

放大 4 倍的版本,以便更好地看清模糊效果:

3.在显示器上全屏显示该图像(尺寸为 170×170 像素,非常模糊),拍摄者移到房间的另一端,关掉所有灯光,开始拍摄

4.手机拍摄效果

5.对比

ibreakphotos 认为,用三星 Galaxy S23 Ultra 拍摄的月球图像,是通过应用「月球纹理」(Moon texture)来伪造的。 这名用户得出的结论是,三星的月球照片是假的,在没有细节的地方添加了细节,大部分工作是 AI 完成的,而不是光学器件。

对于图片造假指控,三星向著名的科技产品评测指南网站 Tom『s Guide回应称:「三星致力于在任何条件下提供最佳的拍照体验。当用户拍摄月亮时,基于 AI 的场景优化技术会识别出月亮是主要拍摄对象,并进行多帧合成,然后 AI 会增强图像质量和颜色细节。它不会对照片应用任何图像叠加(image overlaying)。用户可以关闭基于 AI 的场景优化功能,这将禁用对用户拍摄的照片进行自动细节增强。」

也就是说,三星否认了 Galaxy S23 Ultra 使用基于 AI 的图像叠加技术来增强月亮照片细节的说法。

科技网站 The Verge 就此评论称:「在这种情况下,『假』到底是什么意思?这是一个很难回答的问题,随着计算技术进一步融入摄影过程,这个问题将变得越来越重要和复杂。我们可以肯定地说,我们对照片造假的理解很快就会改变,就像过去对数码相机、Photoshop、Instagram 滤镜等的理解一样。

摄影正在发生变化,我们对什么是『真实照片』的理解也会随之改变。「

AI 图像生成工具在 2023 年呈现出爆发性应用趋势,可以通过利用海量数据库生成无限数量的图像。

Midjourney是一种使用生成 AI 从简单的文本提示创建图像的工具,2023 年 3 月推出了更先进的模型,能够生成更逼真的图像。

Stable Diffusion是一个文字转图片的生成模型,可以只用几秒钟时间就生成比同类技术分辨率、清晰度更高,更具「真实性」或「艺术性」的图片结果。

DALL-E 的出品方 Open AI 旗下的一个模型,接收文本和图像作为输入,以多种形式输出最终转换后的图像。升级版本 DALL-E 2 在生成用户描述的图像时具有更高的分辨率和更低的延迟。

Craiyon AI是一个免费的在线 AI 图片生成器工具,可以根据用户输入的任意文本生成独一无二的视觉艺术作品。

2023 年 3 月,微软 Bing 在线 AI 绘图功能Image Creator上线,由 Open AI 的 DALL-E 驱动,可通过文字描述生成图片内容。Bing 绘图目前仅支持英文,使用「形容词 + 名词 + 动词 + 风格」的格式可以生成高质量图片。每个由图像创建器生成的图像都会在左下角添加 Bing Logo。

Adobe 也在 2023 年 3 月发布了使用人工智能生成图像的新工具Adobe Firefly。Firefly 允许用户通过文字来描述其软件将创建的图像、插图或视频。

英伟达公司也推出了名为「毕加索「的自有服务,该服务使用人工智能技术从文本描述中生成图像、视频和 3D 应用程序。

虽然篡改图片和创建假图像的做法并不新鲜,但 、DALL-E、Stable Diffusion 的 AI 图像生成工具更易于使用。它们可以快速生成具有详细背景的逼真图像,只需来自用户的简单文本提示即可。这些技术如果被不良行为体利用,可能会大幅提高核查难度。

在过去,包括深度伪造(deepfake)在内的造假者会篡改一张已经存在的图片或一段已经存在的视频,此时尚且可以通过图片反搜等方式,追根溯源找到原图来进行核查。

但是,新时代的造假者已经不需要这么做,他们可以使用人工智能 技术,特别是文本生成图像的模型,创建完美支持其虚假叙述的全新图像,制造逼真的假证据。这种图像,无法通过图片反搜的方式直接追根溯源,因为它本身就是源头。

2023 年 3 月,在美国纽约检方可能因一起案件逮捕前总统特朗普之际,开源调查新闻机构 Bellingcat 创始人 Eliot Higgins 在一系列广为流传的推文中,用 Midjourney 工具的最新版本制作了特朗普虚构被捕的大量戏剧性画面。他在推文中明确表示这些图像是 AI 生成的,也说明了自己在 AI 生成过程中发布的指令:「特朗普在被捕过程中摔倒。新闻报道画面。」 随后 AI 给出了这些图片。

虽然推特的资深用户和人工智能爱好者可能第一眼就能认出这些假图片,但也有很多人并没有,甚至会提出疑问:「为什么特朗普被捕没有成为新闻」?在没有关键背景的情况下,这些视觉效果很快就会被其他人转发。一篇 Instagram 帖子分享了 Higgins 的一些特朗普照片,就好像它们是真的一样,获得了超过 79000 个赞。

虽然这些照片存在瑕疵,比如脸和手明显扭曲,警察制服上的文字乱七八糟,一张图片显示特朗普戴着警用腰带,等等。然而,这些线索没有那么简单被觉察,而且在现阶段可以很容易就被 Photoshop,或者一点动态模糊、像素化所掩盖。可以预见的是,随着技术的进步和迭代,这些瑕疵肯定也会消失,比如 Midjourney 的第五代版本已经可以较好地解决手部问题。

2023 年 4 月,德国摄影师鲍里斯·艾达格森(Boris Eldagsen)的黑白肖像摄影作品「电工」(The Electrician)不仅入围「Sony 世界摄影大奖」(Sony World Photography Awards)的创意类别,更获选为冠军,看起来是以传统摄影技术所拍摄的、两名来自不同世代的女性。

不过,艾达格森在 Facebook 发文坦承,这张其实是由 Open AI 的「DALL-E 2」工具生成的图像。事实上,「电工」是艾达格森 2022 年开始创作的「Pseudomnesia」系列作品之一;Pseudomnesia 在拉丁语中指的是「虚假记忆」,包括从未发生过的虚假事件,而不只是不准确的记忆。

艾达格森表示:「这是一个历史性时刻,这是第一张由 AI 生成的图像赢得了一个国际摄影大奖。」他声明称:「我想检验摄影比赛是否已经准备好接受 AI 生成图像。但事实上并没有明确的规定,关于 AI 图像是否合法,该组别允许编辑和合成图像。」

目前核查这些 AI 生成的图像并无非常有效的工具,只能综合各种信息研判。

人工智能创业公司 Hugging Face 开发了一个人工智能图像检测器(AI Image Detector),能检查图像的显著特征,并对图像是自然的还是假造的做出说明。

比如这张特朗普被「逮捕」的 AI 生成图片,检测器判断出 67%的图像是由人工智能创造的。

这张乌克兰总统办公室 3 月 23 日发布的泽连斯基视察赫尔松的真实照片,检测器判断出其 83%的图像是由人而非人工智能创造的。

但是这种检测只能作为一种参考,而无法成为唯一的决定性证据。

图像数据分析公司 Mayachitra 也有一个针对使用 GAN(Generative Adversarial Network,生成对抗网络)技术生成图像的检测工具,目前只有测试版,不过可靠性仍有待提高。

比如这张特朗普被「逮捕」的 AI 生成图片,Mayachitra 工具却认为它「很可能不是使用 GAN 技术生成的」(Probably not GAN generated)。

人工智能公司 Hive Moderation 也有一个AI 生成内容检测工具,既可以检测文字内容,也可以检测图像内容。图像检测方面,可以检测由 DALL-E、Midjourney 和 Stable Diffusion 等流行工具生成的图像。

上传图片后,Hive 的人工智能检测模型会进行处理,以确定图片是否由 AI 生成,然后给出一个分数结果。如果模型认定图片由 AI 生成,结果还会判断这张图片是由哪个引擎创建的。

比如这张火车站老人与孔雀的 AI 生成图片,Hive 判断其 99.9%由 AI 生成,并且是由 Midjourney 生成的。

这张法国总统马克龙官方推特 4 月 7 日发布的访问中国中山大学的图片,Hive 判断其只有 0.5%的可能性是由 AI 生成的。

另一个核查的线索是找到图片首次发布到网上的时间。在某些情况下,最初的创作者可能会明确表示图片是人工智能生成的,并指出使用的工具。反向图像搜索可以帮助查看图片是否已在搜索引擎中编入索引并查找包含相同照片的旧帖子。反向图像搜索也会找到相似的图片,这时可以将潜在的 AI 生成的照片与来自可靠来源的照片进行比较,发现有用的线索。

有时照片本身也隐藏着线索,例如某些 AI 创作工具使用的水印。

例如,DALL-E 会在其所有图像的右下角自动生成一个多色条。

Craiyon 在同一个地方放了一支小红铅笔。

但并非所有人工智能生成的图像都有水印——这些水印可以被移除、裁剪或隐藏。

2023 年 5 月 10 日,谷歌在 I / O 2023 开发者大会上宣布,将确保每一张由谷歌 AI 生成的图像在原始文件中都有一个标记。其他创作者和出版商将能够添加类似的标记,因此用户将能够在 Google 图像搜索结果中看到这些 AI 生成标签。

另外,尽管生成式 AI 取得了长足的进步,但截至 2023 年 3 月,AI 生成的内容中仍然会出现错误,这些缺陷是目前识别 AI 生成图像的重要方式。比如,逼真的手仍然很难生成。AI 图像也很难产生反射,发现人工智能的一个好方法是寻找阴影、镜子、水,也可以放大眼睛,分析瞳孔,因为拍照时通常会有反光。有时图像会出现眼睛大小不一,颜色不同。还可以查看照片的远景,元素离得越远,物体就越模糊、扭曲并且视角不正确。

但是,AI 生成图像的技术绝对会快速进步,这些视觉缺陷也绝对会被弥补。比如,2023 年 3 月月发布的 Midjourney 的最新版本能够描绘出逼真的手部。所以从长远来看,视觉线索也并不可靠。

为了应对深度伪造图像,科技公司、研究人员、新闻机构正在试图建立内容来源和所有权的标准,从源头出发对影像的创造和传播进行全程跟踪。或许未来我们核查图像时,首先要做的是查看其数字水印。

2021 年 2 月,多家具有影响力的科技和媒体公司结为伙伴,成立「内容来源和真实性联盟「(Coalition for Content Provenance and Authenticity,C2PA),制定媒体内容来源与历史或出处认证技术标准,试图解决虚假信息、错误信息和在线内容欺诈的扩散问题。联盟创始成员包括 Adobe、Arm、BBC、Intel、Microsoft 和 Truepic,着力建立一套标准化溯源解决方案,解决好误导性内容问题。

C2PA 成员将共同针对常见资产类型和格式制定内容溯源规范,让出版商、创作者和消费者能够追踪媒体内容(包括图像、视频、音频和文档)的来源和演变。这些技术规范明确各类资产应标示的相关信息内容、如何显示和存储该信息以及如何识别篡改的证据。

各平台能够通过 C2PA 开放标准保存和读取基于出处的数字内容。一项开放标准可供任何在线平台采用,因此对于在整个互联网上提升信任度至关重要。除了将各类媒体类型纳入其中,C2PA 还着力推动从捕获设备到信息消费者的端到端出处体验。与芯片制造商、新闻机构以及软件和平台公司合作对于促进出处标准和推动整个内容生态系统的推广采用至关重要。

C2PA 的成立将 Adobe 主导的内容真实性倡议(Content Authenticity Initiative,CAI)和 Microsoft 与 BBC 主导的项目溯源(Project Origin)的众创始成员召集在了一起,在一个联盟下统一技术规范。CAI 正在构建一套数字媒体出处与历史系统,创作者可通过该系统声明其作者身份,消费者则可以通过它来判断其所看到的内容是否值得信赖。「项目溯源」针对的是新闻制作与传播。其方向是将证明内容真实性的标示附加到内容上,并让用户能够看到该标示信息,由此来解决数字新闻生态系统中的虚假信息问题。C2PA 成立后,技术标准将统一,上述两个实体将继续在各自社区内进行推广、原型设计和教育。

2022 年 2 月,C2PA 联盟发布了用以对抗深度伪造技术的数字内容认证技术规范的第一版,包括实现指南、考虑因素、用户体验指南以及关于程序目标和基本原理的完整细节。

C2PA 称:「C2PA 规范将为平台提供一种方法,以定义与每种类型的资产(如图像、视频、音频或文档)相关的信息,以及这些信息如何呈现和存储,以及如何识别篡改证据。作为一个开放标准,它被设计用于任何软件、设备或在线平台,以及监管机构和政府机构建立数字来源标准。」

在理想状况下,未来视觉内容的生产、传播与消费可能是这样的链条:制造视频和照片生产工具的公司——包括手机和相机制造商——需要在一开始就纳入 C2PA 身份验证标准。用户需要主动将内容凭证包含在他们制作的视觉效果中。主流出版商和社交媒体公司需要先找到这些凭证,然后才在其平台上显示图像。观众在信任图像或视频之前,可能要先查看一个带有下拉菜单的小图标。

目前,C2PA 联盟的成员已经扩展到包括索尼、佳能、尼康、松下、加拿大广播公司、德国新闻社、纽约时报等等在内的 52 家科技公司、媒体以及其他机构。

从应用层面看,2022 年 10 月,Adobe宣布与徕卡和尼康建立合作关系,这将使这两家相机公司在两款相机中实施符合 C2PA 标准和 CAI 标准的图像证明技术:徕卡 M11 和尼康 Z9,该技术将允许摄影师在相机拍摄时安全地附上照片的来源信息,包括每张照片的拍摄时间、地点和方式。

Adobe 还推出了内容凭据 (Beta)功能,这是 Adobe Photoshop 中一项正在开发的功能,凭借此功能,创作者可向导出的图像中添加其归因详细信息。启用后,内容凭据会收集编辑、活动和制作者姓名等详细信息,然后在创作者导出其最终内容时将这些信息作为防篡改归因和历史数据(称为内容凭据)附加到图像。不过,目前该功能只提供英语、德语、法语和日语版本。

C2PA 联盟中,尤为值得一提的是Truepic 公司,该公司是 C2PA 联盟的创始成员,相比 Adobe 这样的巨头,Truepic 是一家位于美国加州的创业公司,但是 Adobe 的内容凭据功能有一部分就是 Truepic 提供技术支持的。

通过捕获、签名和密封任何照片或视频中的元数据,Truepic 的技术可以创建防篡改数字指纹,并可以在整个网络上进行跟踪。这一流程也被称为「镜对镜」(glass-to-glass)系统,在该系统中拍摄、存储和传输的图片和视频会向观看者发出关于内容已被修改的提醒,无论这些修改是在何时何地进入一则影像从镜头到屏幕的过程中的。

首先,Truepic 的安全相机技术可捕捉、标记和密封每张照片或视频中的关键细节,例如日期、时间、位置和捕捉到的真实像素。

随后,Truepic 对图像实施符合 C2PA 标准的签名并密封。

然后,Truepic 将可以通过 SDK 将数据集成到任何网站或数字服务中,让关注可以查看任何媒体文件的来源和历史记录。

2023 年 3 月底,Truepic 和微软宣布发起「普罗维登斯计划「(Project Providence),利用上述技术和标准帮助记录和保护乌克兰的文化遗产。

2023 年 4 月初,Truepic 和荷兰公司 Revel.ai 合作创造并发布了一段深度伪造的视频:人工智能专家尼娜·希克(Nina Schick)在视频中发出「真实与虚构之间的界限正在变得模糊」的警告。

然而,这并非她本人。视频以一条字幕结尾:「这个深度伪造作品是由 Revel.ai 在尼娜·希克的同意下创建的,并由 Truepic 加密签名」。

这两家公司将这一视频描述为「第一个数字透明的深度伪造」(first digitally transparent deepfake),视频右上角有一个带有 i 标志的水印,表明它是计算机生成的,数据被加密密封在文件中,如果篡改图像,就会破坏数字签名,并在使用可信软件时阻止该证书显示。

除了 Truepic 以外,位于伦敦的机构eyeWitness to Atrocities也开发了类似的系统。作为系统核心的应用有两个功能。首先,当安装有该应用的手机拍摄照片或视频时,它会记录下事件发生的时间和地点,而这些时间和地点是由 GPS 卫星、附近的手机基站和 Wi-Fi 网络等难以否认的「电子证人」报告的。这被称为元数据的受控捕获,它比从手机上收集这类元数据更可靠,因为手机时间和位置的设置是可以更改的。第二,该应用读取图像的整个数字序列(用 0 和 1 呈现),并使用标准数学公式计算出该图像独有的由字母和数字组成的数值,即哈希值。

然后,使用者将图片或视频发动到 eyeWitness 的服务器,eyeWitness 会创建一个受信任的监管链,此链表明原始信息未以任何方式更改。

随后,eyeWitness 收到的所有信息都将由律师,他们对这些视觉证据进行标记、分类和处理,以满足调查人员的需求。

C2PA 项目联合创始人兼主席安德鲁·詹克斯(Andrew Jenks)认为,身份验证标准应该被视为一项重要的数字素养工作,其最接近的类似应用是如今被广泛采用的保证网页安全的 SSL 证书。

网站 SSL 证书是一种遵守 SSL 协议的服务器数字证书,由受信任的根证书颁发机构颁发。SSL 证书采用 SSL 协议进行通信,SSL 证书部署到服务器后,服务器端的访问将启用 HTTPS 协议(超文本传输安全协议),网站将会通过 HTTPS 加密协议来传输数据,可帮助服务器端和客户端之间建立加密链接,从而保证数据传输的安全。

如果某个网站受 SSL 证书保护,其相应的 URL 中会显示 HTTPS。单击浏览器地址栏的挂锁图标,即可查看证书详细信息,包括颁发机构和网站所有者的公司名称。

「我们必须训练用户寻找你今天在每个浏览器中上看到的挂锁图标,」詹克斯说,「那是一个非常困难的问题,花了很长时间,但这与我们今天面临的媒体素养问题完全相同。」

1.工具很重要,但更重要的是常识和逻辑。

2.没有任何工具是完美的,每个搜索引擎都有其优点和缺点,核查员可以使用 InVid 插件,尝试多种工具,确保找到更准确的图片源头。

3.搜寻到相同的图片并非一定就是最终的答案,也不一定能确定图片的真伪。若要确定图片中所展现的原始事件,必须更加谨慎地检查搜索结果,反复比对不同搜索结果对图片的描述;检查图片的拍摄时间和地点;分析包含图片的网页的发布者身份,判断其是媒体、政府机构,还是普通网民,以评估其可信度等。综合考虑搜索结果、影像细节和信源可信度等要素,进行交叉验证,才可能揭示事件的真相。总之,必须全方位分析才能确认原始事件的来龙去脉。

4.仅仅因为反向搜索引擎得到的结果都是同一张图片,并不一定代表该图片是真实且未被修改的。因为,即使一张图片被广泛传播,它也可能会被进行过后期修改,反向搜索结果也可能是其修改后的版本而非原始版本。举个例子,如果某个用户修改了他所拍摄的照片 A 并将其改成了图片 B,然后只上传了经过修改后的图片 B,那么反向搜索引擎将无法搜索到原始的照片 A。因此,需要注意的是,反向搜索引擎仅仅是一种帮助我们找到类似图片的工具,需要进行进一步的验证和核实才能确定图片的真实性和完整性。

5.有时候对原始图片进行某些修改可以更容易地找到最佳结果。

例如,有些人会发布一张照片并声称它是原始图片,但实际上只是对现有照片进行了翻转。在这种情况下,通过对照片进行翻转并进行搜索,可能会找到更准确的搜索结果。

6.留意图片上不起眼地方的水印,有时会提供图片原始来源的线索。

7,搜索结果有时会受到算法的影响,因此出现在前几页或出现多次的信息并不一定代表可信度高或图片的源头,因此需要更耐心地翻查搜索结果。

Fotoforensics是一个检测图片是否被修改过的免费网络工具。

ELA 是其主要特殊功能,ELA 是 Error Level Analysis 的缩写,表示错误级别分析,它通过在图像上显示错误级别来帮助我们检测图像是否经过 处理。

数字图像修改过的地方以及对比度较高的边界,往往 ELA 值较高,即表现为比较醒目的白色;而大面积的同色或者背景,往往表现为暗沉的黑色。

JPEG%的意思是图片质量比,显示上次保存时的图像质量。 每修改一次质量都会下降,一般来说也可证明图片被软件修改过。

元数据显示有关该图片的可用信息,例如创建时间、修改时间以及用于拍摄该照片的相机。

需要注意的是,使用 Fotoforensics 需要专业的影像知识,一般仅作为参考证据之一,而不宜作为主要的或者唯一的证据;还需要利用图片反向搜索工具等方法,寻找图片的来源,作为最终判断的依据。

VerEXIF可以用来查看照片的 EXIF 资料,也可以用来删除照片的 EXIF。

EXIF 是可交换图像文件的缩写,它是一种使用 JPEG 压缩在数码摄影图像文件中存储交换信息的标准格式。几乎所有新的数码相机都使用 EXIF 注释,在图像上存储信息,例如快门速度、曝光补偿、光圈值、使用的测光系统、是否使用闪光灯、ISO 编号、拍摄图像的日期和时间、白平衡,使 用的辅助镜头和分辨率等。有些图像甚至可能存储 GPS 信息,可以查看图像的拍摄地点。

注意:EXIF 资料是可以修改、编辑和删除的,因此只应作为核查参考。

而且,不是所有互联网上的照片都有 EXIF 信息,有些人在将其个人影像上传到网站之前,会先移除 EXIF 档案,例如其 GPS 位置。很多社交网络平台也会移除 EXIF 数据。

用于识别不同旗帜的大型数据库,可以按照不同的维度检索。

LICENSE PLATES OF THE WORLD

Plates Mania

提供全球各国和地区的车牌样式资料,按大洲和国家分类。如果不确定图片是在哪个国家/地区拍摄的,图片上的车牌可能是线索之一。

比如,2022 年 1 月初,中文网络流传一则视频,几名武装分子乘坐三轮车,在街头伏击扫射一辆白色轿车,镜头一转,白色轿车内出现孩子和女性惨死的镜头。有关文字称视频内容是「阿富汗,女人开车,被塔利班全车射杀」。

在视频的后半部分画面中,可以比较清晰地看到受害者的车牌样式和号码「LEH 15 6840」及位于号码下的「PUNJAB」字样。

在搜索引擎中检索「PUNJAB」,可以发现这一般是指是跨越印度和巴基斯坦的旁遮普地区。在上述车牌资料库查询,可以发现视频中的车牌样式是巴基斯坦的。这样可以确认视频不是发生在阿富汗。(参考阅读:阿富汗女性开车遭塔利班全车射杀?

高速公路标志数据库,按照国家分类。当图片或视频没有其他线索的时候,这些信息可以成为一个核查的入口参考。

Elmo – 免费好用的 AI 浏览器助理工具,提升网页效率的 Chrome 扩展

DUN.IM BLOG

DUN.IM BLOG

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

Elmo 是一个免费的 Chrome 扩展,主要功能是利用 AI 技术快速建立摘要、观点和总结,当用户在浏览网站、 文件或 YouTube 时只要点击 Elmo 就会对当前内容进行摘要和重点整理,同时显示于的侧边栏,最大程度提升阅读上的速度和效率。它同时也是一个「可互动性」AI ,还能够对内容提问、指定关键词深入探索或洞察,非常强大。

Elmo is your AI companion to create summaries, insights and extended knowledge.

Elmo 背后使用的大型语言模型〔LLM〕API 是由 Lepton AI 提供,从 Chrome 程序商店后就能使用,不需要额外注册、也不会用到 / 账户,不仅免费、而且也支持多国语言,更重要的是能整合 PDF、Google 文件,就不用再手动将文件上传到 AI 服务。

另一个我觉得很好用的是 Elmo 兼具翻译功能,如果遇到英文、日文或其他语言,也能将摘要、重点、作者观点等输出为中文或指定语言,默认值是依照用户浏览器的主要语言而定〔也能手动选择〕,对于要阅读外文网站或文件来说 Elmo 是很好的 AI 助理哦!

Elmo is your AI web copilot to create summaries, insights and extended knowledge.

从 Elmo 官网会看到 Chrome 应用程序商店页面链接,进入后点击右上角「获取」将它下载到浏览器,不过当前在 Arc 浏览器还无法使用,如果是使用 Arc 浏览器就会显示 Not available for Arc 信息。

安装到浏览器后记得将 Elmo 固定于右上角,要启动 AI 功能时可以使用快捷键

或点击 Elmo 闪电图标。

使用方法很简单,在浏览网页时点一下 Elmo 右上角的按钮后会出现侧边栏,利用 AI 将网页内容进行总结、摘要和重点整理,默认情况下生成的内容会以用户浏览器的主要语言为主,这部分非常方便,不用手动输入提示词。

往下滑动后还会生成各种可能的相关问题,点击就能让 AI 继续帮你解答,Elmo 侧边栏最下方还能输入要询问的问题或输入 / 〔斜线〕选择操作指令。

要询问相关问题以外的内容也可以,Elmo 回答还蛮精确,排列方式很好阅读。

Elmo 设置选项里能够调整「偏好语言」,默认是使用浏览器语言,其他还有像「保持侧边栏进入」或设置快捷键功能,我觉得维持侧边栏打开很好用,否则在切换至其他分页后 Elmo 侧边栏就会自动关闭。

试着在英文网页点击 Elmo 就会在侧边栏显示总结、摘要和观点,直接翻译为中文。

还能使用中文进行提问,有助于用户更深入了解相关信息。

当遇到专有名词时选取后会出现选项,点击「Insight」可以对指定关键词生成更多说明〔包含相关网页链接〕。

在浏览时 Elmo 就很方便,不用从头到尾逐字阅读,只要生成总结、摘要后就能知道新闻大致内容。

Elmo 还能整合 PDF、Google 文件和 YouTube 视频,这个功能真的很好用,不过在遇到 YouTube 视频没有字幕时可能会出现不正确或幻觉问题。

省钱秘笈:把域名迁移到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 秒钟内完成包括图片在内的加载
❌