2020年5月

使用开源路由协议栈 Quagga,使你的 Linux 系统成为一台路由器。

网络路由协议分为两大类:内部网关协议和外部网关协议。路由器使用内部网关协议在单个自治系统内共享信息。如果你用的是 Linux,则可以通过开源(GPLv2)路由协议栈 Quagga 使其表现得像一台路由器。

Quagga 是什么?

Quagga 是一个路由软件包),并且是 GNU Zebra 的一个分支。它为类 Unix 平台提供了所有主流路由协议的实现,例如开放最短路径优先(OSPF),路由信息协议(RIP),边界网关协议(BGP)和中间系统到中间系统协议(IS-IS)。

尽管 Quagga 实现了 IPv4 和 IPv6 的路由协议,但它并不是一个完整的路由器。一个真正的路由器不仅实现了所有路由协议,而且还有转发网络流量的能力。 Quagga 仅仅实现了路由协议栈,而转发网络流量的工作由 Linux 内核处理。

架构

Quagga 通过特定协议的守护程序实现不同的路由协议。守护程序名称与路由协议相同,加了字母“d”作为后缀。Zebra 是核心,也是与协议无关的守护进程,它为内核提供了一个抽象层,并通过 TCP 套接字向 Quagga 客户端提供 Zserv API。每个特定协议的守护程序负责运行相关的协议,并基于交换的信息来建立路由表。

 title=

环境

本教程通过 Quagga 实现的 OSPF 协议来配置动态路由。该环境包括两个名为 Alpha 和 Beta 的 CentOS 7.7 主机。两台主机共享访问 192.168.122.0/24 网络。

主机 Alpha:

IP:192.168.122.100/24 网关:192.168.122.1

主机 Beta:

IP:192.168.122.50/24 网关:192.168.122.1

安装软件包

首先,在两台主机上安装 Quagga 软件包。它存在于 CentOS 基础仓库中:

yum install quagga -y

启用 IP 转发

接下来,在两台主机上启用 IP 转发,因为它将由 Linux 内核来执行:

sysctl -w net.ipv4.ip_forward = 1
sysctl -p

配置

现在,进入 /etc/quagga 目录并为你的设置创建配置文件。你需要三个文件:

  • zebra.conf:Quagga 守护程序的配置文件,你可以在其中定义接口及其 IP 地址和 IP 转发
  • ospfd.conf:协议配置文件,你可以在其中定义将通过 OSPF 协议提供的网络
  • daemons:你将在其中指定需要运行的相关的协议守护程序

在主机 Alpha 上,

 [root@alpha]# cat /etc/quagga/zebra.conf
interface eth0
 ip address 192.168.122.100/24
 ipv6 nd suppress-ra
interface eth1
 ip address 10.12.13.1/24
 ipv6 nd suppress-ra
interface lo
ip forwarding
line vty

[root@alpha]# cat /etc/quagga/ospfd.conf
interface eth0
interface eth1
interface lo
router ospf
 network 192.168.122.0/24 area 0.0.0.0
 network 10.12.13.0/24 area 0.0.0.0
line vty

[root@alphaa ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes

在主机 Beta 上,

[root@beta quagga]# cat zebra.conf
interface eth0
 ip address 192.168.122.50/24
 ipv6 nd suppress-ra
interface eth1
 ip address 10.10.10.1/24
 ipv6 nd suppress-ra
interface lo
ip forwarding
line vty

[root@beta quagga]# cat ospfd.conf
interface eth0
interface eth1
interface lo
router ospf
 network 192.168.122.0/24 area 0.0.0.0
 network 10.10.10.0/24 area 0.0.0.0
line vty

[root@beta ~]# cat /etc/quagga/daemons
zebra=yes
ospfd=yes

配置防火墙

要使用 OSPF 协议,必须允许它通过防火墙:

firewall-cmd --add-protocol=ospf –permanent

firewall-cmd –reload

现在,启动 zebraospfd 守护程序。

# systemctl start zebra
# systemctl start ospfd

用下面命令在两个主机上查看路由表:

[root@alpha ~]# ip route show  
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 via 192.168.122.50 dev eth0 proto zebra metric 20
10.12.13.0/24 dev eth1 proto kernel scope link src 10.12.13.1
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.100 metric 100

你可以看到 Alpha 上的路由表包含通过 192.168.122.50 到达 10.10.10.0/24 的路由项,它是通过协议 zebra 获取的。同样,在主机 Beta 上,该表包含通过 192.168.122.100 到达网络 10.12.13.0/24 的路由项。

[root@beta ~]# ip route show
default via 192.168.122.1 dev eth0 proto static metric 100
10.10.10.0/24 dev eth1 proto kernel scope link src 10.10.10.1
10.12.13.0/24 via 192.168.122.100 dev eth0 proto zebra metric 20
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.50 metric 100

结论

如你所见,环境和配置相对简单。要增加复杂性,你可以向路由器添加更多网络接口,以为更多网络提供路由。你也可以使用相同的方法来实现 BGP 和 RIP 协议。


via: https://opensource.com/article/20/4/quagga-linux

作者:M Umer 选题:lujun9972 译者:messon007 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

此初学者教程讨论了在 Ubuntu 桌面上添加文件和文件夹时可能遇到的一些困难。

我认识一些习惯将所有重要/常用文件放在桌面上以便快速访问的人。

我不喜欢杂乱的桌面,但是我可以想象它实际上可能对某些人有所帮助。

在过去的几个版本中,很难在 Ubuntu 的默认 GNOME 桌面上添加文件。这并不是 Ubuntu 的错。

GNOME 的开发者认为,桌面上没有图标和文件的存身之地。当你可以在菜单中轻松搜索文件时,无需将文件放在桌面上。这在部分情况下是事实。

这就是为什么 GNOME 的文件管理器 Nautilus 的较新版本不能很好地支持桌面上的图标和文件的原因。

也就是说,在桌面上添加文件和文件夹并非没有可能。让我告诉你如何做。

在 Ubuntu 的桌面上添加文件和文件夹

我在本教程中使用的是 Ubuntu 20.04。对于其他 Ubuntu 版本,步骤可能会有所不同。

将文件和文件夹添加到“桌面文件夹”

如果打开文件管理器,你应该在左侧边栏或文件夹列表中看到一个名为“桌面”的条目。此文件夹(以某种方式)代表你的桌面。

Desktop folder can be used to add files to the desktop screen

你添加到此文件夹的所有内容都会反映在桌面上。

Anything added to the Desktop folder will be reflected on the desktop screen

如果你从“桌面文件夹”中删除文件,那么文件也会从桌面中删除。

将文件拖放到桌面不起作用

现在,如果你尝试从文件管理器往桌面上拖放文件,它会不起使用。这不是一个 bug,它是一个使很多人恼火的功能。

一种临时方案是打开两个文件管理器。在其中一个打开“桌面”文件夹,然后将文件拖放到该文件夹​​中,它们将被添加到桌面上。

我知道这并不理想,但是你没有太多选择。

你不能使用 Ctrl+C 和 Ctrl+V 在桌面上复制粘贴,请使用右键单击菜单

更恼人的是,你不能使用 Ctrl+V(著名的键盘快捷键)将文件粘贴到桌面上。

但是,你仍然可以使用右键单击,然后选择“粘贴”,将文件复制到桌面上。你甚至可以通过这种方式创建新文件夹。

Right click menu can be used for copy-pasting files to desktop

是否有意义?对我来说不是,但这就是 Ubuntu 20.04 的方式。

你无法使用 Delete 键删除文件和文件夹,请再次使用右键菜单

更糟糕的是,你无法使用 Delete 键或 Shift+Delete 键从桌面上删除文件。但是你仍然可以右键单击文件或文件夹,然后选择“移至回收站”来删除文件。

Delete files from desktop using right click

好了,你现在知道至少有一种方法可以在桌面上添加文件,但有一些限制。不幸的是,这还没有结束。

你无法在桌面上用名称搜索文件。通常,如果你开始输入 “abc”,那么以 “abc” 开头的文件会高亮显示。但是在这里不行。

我不知道为什么在桌面上添加文件受到了如此多的限制。值得庆幸的是,我不会经常使用它,否则我会感到非常沮丧。

如果有兴趣,你也可以阅读在 Ubuntu 桌面上添加应用快捷方式这篇文章。


via: https://itsfoss.com/add-files-on-desktop-ubuntu/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

黑客操纵一物联网僵尸网络 8 年,只为下载动漫视频

据报道,这个名为“Cereals”的僵尸网络于 2012 年首次被发现,并于 2015 年达到顶峰,当时它积累了超过 1 万个“僵尸”。然而,尽管这个僵尸网络规模庞大,但大多数网络安全公司都没有发现它的踪迹。不过目前,“Cereals”正在慢慢消失,因为这些年来它所依赖的旧式 D-Link 设备已经开始老化,而且用户也在更换产品。此外,一个名为“Cr1ptT0r”的勒索病毒毒株在 2019 年冬天从许多 D-Link 系统中破坏了“Cereals”恶意软件,这也加速了这一僵尸网络的衰落。目前所有证据都表明,这个僵尸网络的作者据称是一个名叫 Stefan 的德国人,他在制作“Cereals”的过程中从未有任何犯罪意图,似乎只有一个目的——下载动画短片。

来源:凤凰网科技

硬核老王点评:这种僵尸网络的用途真是别开生面啊。

成功在 iPhone 上运行的 postmarketOS 已经适配了 200 台移动设备

postmarketOS 已经在大约 200 台移动设备(包括手机和平板)上运行,这无疑是 Linux 领域的一个重要成就。在这 200 台移动设备中,最值得关注的就是 iPhone 7 了。经过开发者的逆向工程, iPhone 7 已成功引导了 postmarketOS,成为首款苹果 Linux 智能手机。

来源:cnBeta.COM

硬核老王点评:这种黑客精神才是真正有趣的黑客精神。

有黑客从微软私有 GitHub 库中窃取了 63.2GB 的源代码

根据文件的目录列表截图显示,转储文件中涵盖了 Azure、Office 和部分 Windows runtimes。随后这条消息得到了数据泄露监控和防范服务机构 Under the Breach 推特账户的证实。需要注意的是,尽管此次泄露的源代码规模很大,但不代表黑客会获取到微软的核心商业机密,微软在 GitHub 仓库中存储的内容一般都是公开的,即便存储在私人仓库中的内容也是如此。

来源:cnBeta.COM

硬核老王点评:究竟发生了什么,私有仓库也不安全了么?

IBM 开源用于简化 AI 模型开发的 Elyra 工具包

“Jupyter Notebooks 现在是数据科学和人工智能(AI)模型开发的开放标准”,IBM 在官方博客文章中表示,“为了兑现我们对开源和 Jupyter 社区的承诺,IBM 宣布推出 Elyra,这是 Jupyter Notebook 的一组以开源 AI 为中心的扩展,更具体地说是新的 JupyterLab 用户界面。”

来源:开源中国

全国首起暗网平台案告破,注册会员逾 6 万

无锡市公安局 7 日召开新闻通气会,对外发布该市警方破获的全国首起“暗网”平台案件详情。该案中,男子王某在“暗网”上搭建淫秽网站、传播淫秽物品牟利,被警方查获时,网站注册会员已达 6 万多名。检法部门认为:专案组获取的证据确凿、指向清晰、证据链完备,足以认定犯罪事实,可在“零口供”前提下对王某按涉嫌传播淫秽物品牟利罪予以提捕。

来源:环球时报

欧盟正试图修正其糟糕的 Cookie 同意政策

对于许多互联网用户而言,欧盟的 Cookie 同意政策在浏览网络时是一种令人沮丧且不可避免的体验,它于 2018 年作为《一般数据保护条例》(GDPR)的一部分而出台,它要求用户在首次访问网站时同意被跟踪,但其中措辞往往有误导性,或者无法拒绝。为了让 cookie 同意更符合用户的意愿,欧盟本周发布了最新的指导方针,禁止对这些政策进行最糟糕的解释。

来源:cnBeta.COM

伦敦帝国学院的新冠模型代码存在严重 bug

在新冠疫情爆发的初期,伦敦帝国学院的 MRC 全球传染病分析中心曾多次做出被广泛报道的预测,而它的预测被认为也对政府的公共政策决策产生影响。但众所周知,科学家并非是出色的程序员,他们写的代码可能存在严重问题,而根据这些代码做出的研究显然也会存在严重问题,更不用说公共政策决策。MRC 全球传染病分析中心发布在 Github 上的 COVID-19 CovidSim 模型就被发现其代码有严重缺陷,有软件开发者呼吁撤回所有基于这些代码的论文。科学家则感到被程序员的出言不逊冒犯了。

来源: solidot

硬核老王点评:来自程序员的鄙视。

Facebook iOS SDK 导致众多应用崩溃

开发者在 Facebook iOS SDK 的 Github 问题页面报告,多个版本的 SDK 导致了大量应用崩溃。Facebook SDK 被广泛用于身份验证和广告展示。受影响的流行应用包括了 Spotify、TikTok、Pinterest、Winno 等等

来源: solidot

硬核老王点评:除非绝对必要,不要轻易使用第三方 SDK。据说受此牵连,连统计应用崩溃的 Firebase Crashlytics 服务都崩溃了十几个小时。

Fedora 32 已经发布。你可能想升级系统以获得 Fedora 中的最新功能。Fedora Workstation 有图形化的升级方法。另外,Fedora 提供了命令行方法,用于将 Fedora 31 升级到 Fedora 32。

升级前,请访问 Fedora 32 个常见 bug 的维基页面,查看是否存在可能影响升级的问题。尽管 Fedora 社区试图确保升级正常进行,但是无法为用户可能使用的每种软硬件组合提供保证。

将 Fedora 31 Workstation 升级到 Fedora 32

在新版本发布不久之后就会出现通知,告诉你有可用的升级。你可以单击该通知启动 “GNOME 软件”。或者,你可以从 GNOME Shell 中选择“软件”。

在 “GNOME 软件”中选择 更新 Updates 选项卡,你会看到一个页面通知你 Fedora 32 现在可用。

如果你在此页面看不到任何内容,请尝试使用左上方的重新加载按钮。发布后,所有系统可能都需要一段时间才能看到可用的升级。

选择 下载 Download 获取升级包。你可以继续做事直到下载完成。然后使用 “GNOME 软件”重启系统并应用升级。升级需要时间,因此你可能需要喝杯咖啡,稍后再回来。

使用命令行

如果你是从 Fedora 的先前版本升级的,那么你可能对 dnf upgrade 插件很熟悉。这个方法是推荐和受支持的从 Fedora 31 升级到 Fedora 32 的方法。使用此插件将使你轻松地升级到 Fedora 32。

1、更新软件并备份系统

在开始升级过程之前,请确保你有 Fedora 31 的最新软件。如果你安装了 模块化软件 modular software ,这尤为重要。dnf 和 “GNOME 软件”的最新版本对某些模块化流的升级过程进行了改进。要更新软件,请使用 “GNOME 软件” 或在终端中输入以下命令。

sudo dnf upgrade --refresh

此外,在继续操作之前,请确保备份系统。有关备份的帮助,请参阅 Fedora Magazine 上的备份系列

2、安装 DNF 插件

接下来,打开终端并输入以下命令安装插件:

sudo dnf install dnf-plugin-system-upgrade

3、使用 DNF 开始更新

现在,你的系统已更新、已备份、并且已安装 DNF 插件,你可以在终端中使用以下命令开始升级:

sudo dnf system-upgrade download --releasever=32

这个命令将开始在本地下载所有的升级包,为升级做准备。如果你在升级的时候因为没有更新的包、依赖关系破损或退役的包而出现问题,请在输入上述命令时添加 --allowerasing 标志。这将允许 DNF 移除可能阻碍系统升级的软件包。

4、重启并升级

当上一个命令完成了所有升级包的下载,你的系统就可以重新启动了。要将系统引导至升级过程,请在终端中输入以下命令:

sudo dnf system-upgrade reboot

此后,系统将重启。在许多版本之前,fedup 工具会在内核选择/启动页上创建一个新选项。使用 dnf-plugin-system-upgrade 包,你的系统会重启进入 Fedora 31 当前安装的内核;这个是正常的。在选择内核之后,你的系统会立即开始升级过程。

现在可能是喝杯咖啡休息的好时机!完成后,系统将重启,你将能够登录到新升级的 Fedora 32 系统。

解决升级问题

有时,升级系统时可能会出现意外问题。如果你遇到任何问题,请访问 DNF 系统升级文档,以获取有关故障排除的更多信息。

如果升级时遇到问题,并且系统上安装了第三方仓库,那么在升级时可能需要禁用这些仓库。对于 Fedora 不提供的仓库的支持,请联系仓库的提供者。


via: https://fedoramagazine.org/upgrading-fedora-31-to-fedora-32/

作者:Adam Šamalík 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

就在昨天,终于得到了微信官方的视频号公测邀请,于是,我们也开了一个视频号,和公众号同名,也叫“Linux中国”。大家如果已经能看视频号,可以扫描如下二维码关注我们,也可以在视频号中搜索“Linux中国”​:

说明:如果你的微信发现页没有“视频号”入口,并且设置里面也没有,那你可能无法关注(显示“功能暂未开放,无法查看”),需要等微信逐步灰度测试到才行。

这个视频号目前初期准备用来配合公众号传播一些有趣的技术视频;后期我也在考虑是否亲自出镜做一下直播,不知道大家支持不支持​?(支持的点个在看)

目前已经发布了一些视频,是来源于几年前我们翻译合成的 Linux 基金会的《如果这个世界没有 Linux》系列视频(感谢 Linux 基金会,感谢字幕译者:@name1e5s、校对:@jerryling315 的贡献)​,可能许多后来关注我们的同学是没看过的,我就再次将家底翻出来给大家欣赏一下​。

不过,如果你暂时还没有开通视频号看不到,那也不要紧,我会这几天陆续将这系列的六个视频都在公众号也推送一下​。​

了解一下这个开源的图片编辑工具来节省时间和空间。

WebP 是 2010 年 Google 开发的一种图片格式,它为网页上的图片提供了卓越的无损和有损压缩。网站开发者们可以使用 WebP 来创建尺寸更小、细节更丰富的图片,以此来提高网站的速度。更快的加载速度对于网站的用户体验和网站的营销效果是至关重要的。

为了在所有设备和用户中达到最佳加载效果,你网站上的图片文件大小不应该超过 500 KB。

与 PNG 图片相比,WebP 无损图片通常至少要比 PNG 图片小 25%。在同等的 SSIM( 结构相似度 structural similarity )质量指标下,WebP 有损图片通常比 JPEG 图片小 25% 到 34%。

无损 WebP 也支持透明度。而在可接受有损 RGB 压缩的情况下,有损 WebP 也支持透明度,通常 PNG 文件大小比它大三倍。

Google 报告称,把动画 GIF 文件转换为有损 WebP 后文件大小减少了 64%,转换为无损 WebP 后文件大小减少了 19%。

WebP 文件格式是一种基于 RIFF( 资源互换文件格式 resource interchange file format )的文档格式。你可以用 hexdump 看到文件的签名是 52 49 46 46(RIFF):

$ hexdump --canonical pixel.webp
00000000  52 49 46 46 26 00 00 00  [...]  |RIFF&...WEBPVP8 |
00000010  1a 00 00 00 30 01 00 9d  [...]  |....0....*......|
00000020  0e 25 a4 00 03 70 00 fe  [...]  |.%...p...`....|
0000002e

独立的 libwebp 库作为 WebP 技术规范的参考实现,可以从 Google 的 Git 仓库 或 tar 包中获得。

全球在用的 80% 的 web 浏览器兼容 WebP 格式。本文撰写时,Apple 的 Safari 浏览器还不兼容。解决这个问题的方法是将 JPG/PNG 图片与 WebP 图片一起提供,有一些方法和 Wordpress 插件可以做到这一点。

为什么要这样做?

我的部分工作是设计和维护我们组织的网站。由于网站是个营销工具,而网站的速度是衡量用户体验的重要指标,我一直致力于提高网站速度,通过把图片转换为 WebP 来减少图片大小是一个很好的解决方案。

我使用了 web.dev 来检测其中一个网页,该工具是由 Lighthouse 提供服务的,遵循 Apache 2.0 许可证,可以在 https://github.com/GoogleChrome/lighthouse 找到。

据其官方描述,“LIghthouse 是一个开源的,旨在提升网页质量的自动化工具。你可以在任何公共的或需要鉴权的网页上运行它。它有性能、可用性、渐进式 web 应用、SEO 等方面的审计。你可以在 Chrome 浏览器的开发工具中运行 Lighthouse,也可以通过命令行或作为 Node 模块运行。你输入一个 URL 给 Lighthouse,它会对这个网页进行一系列的审计,然后生成这个网页的审计结果报告。从报告的失败审计条目中可以知道应该怎么优化网页。每条审计都有对应的文档解释为什么该项目是重要的,以及如何修复它。”

创建更小的 WebP 图片

我测试的页面返回了三张图片。在它生成的报告中,它提供了推荐和目标。我选择了它报告有 650 KB 的 app-graphic 图片。通过把它转换为 WebP 格式,预计可以把图片大小降到 61 KB,节省 589 KB。我在 Photoshop 中把它转换了,用默认的 WebP 设置参数保存它,它的文件大小为 44.9 KB。比预期的还要好!从下面的 Photoshop 截图中可以看出,两张图在视觉质量上完全一样。

左图:650 KB(实际大小)。右图: 44.9 KB(转换之后的目标大小)。

当然,也可以用开源图片编辑工具 GIMP 把图片导出为 WebP。它提供了几个质量和压缩的参数:

另一张图放大后:

PNG(左图)和 WebP(右图),都是从 JPG 转换而来,两图对比可以看出 WebP 不仅在文件大小更小,在视觉质量上也更优秀。

把图片转换为 WebP

你也可以用 Linux 的命令行工具把图片从 JPG/PNG 转换为 WebP:

在命令行使用 cwebp 把 PNG 或 JPG 图片文件转换为 WebP 格式。你可以用下面的命令把 PNG 图片文件转换为质量参数为 80 的 WebP 图片。

cwebp -q 80 image.png -o image.webp

你还可以用 Image Magick,这个工具可能在你的发行版本软件仓库中可以找到。转换的子命令是 convert,它需要的所有参数就是输入和输出文件:

convert pixel.png pixel.webp

使用编辑器把图片转换为 WebP

要在图片编辑器中来把图片转换为 WebP,可以使用 GIMP。从 2.10 版本开始,它原生地支持 WebP。

如果你是 Photoshop 用户,由于 Photoshop 默认不包含 WebP 支持,因此你需要一个转换插件。遵循 Apache License 2.0 许可证发布的 WebPShop 0.2.1 是一个用于打开和保存包括动画图在内的 WebP 图片的 Photoshop 模块,在 https://github.com/webmproject/WebPShop 可以找到。

为了能正常使用它,你需要把它放进 Photoshop 插件目录下的 bin 文件夹:

Windows x64 :C:\Program Files\Adobe\Adobe Photoshop\Plug-ins\WebPShop.8bi

Mac:Applications/Adobe Photoshop/Plug-ins/WebPShop.plugin

Wordpress 上的 WebP

很多网站是用 Wordpress 搭建的(我的网站就是)。因此,Wordpress 怎么上传 WebP 图片?本文撰写时,它还不支持。但是,当然已经有插件来满足这种需求,因此你可以在你的网站上同时准备 WebP 和 PNG/JPG 图片(为 Apple 用户)。

Marius Hosting 有下面的说明

“直接向 Wordpress 上传 WebP 图片会怎样?这很简单。向你的主题 functions.php 文件添加几行内容就可以了。Wordpress 默认不支持展示和上传 WebP 文件,但是我会向你介绍一下怎么通过几个简单的步骤来让它支持。登录进你的 Wordpress 管理员界面,进入‘外观/主题编辑器’找到 functions.php。复制下面的代码粘贴到该文件最后并保存:

//** *Enable upload for webp image files.*/
function webp_upload_mimes($existing_mimes) {
    $existing_mimes['webp'] = 'image/webp';
    return $existing_mimes;
}
add_filter('mime_types', 'webp_upload_mimes');

如果你想在‘媒体/媒体库’时看到缩略图预览,那么你需要把下面的代码也添加到 functions.php 文件。为了找到 functions.php 文件,进入‘外观/主题编辑器’并搜索 functions.php,然后复制下面的代码粘贴到文件最后并保存:

//** * Enable preview / thumbnail for webp image files.*/
function webp_is_displayable($result, $path) {
    if ($result === false) {
        $displayable_image_types = array( IMAGETYPE_WEBP );
        $info = @getimagesize( $path );

        if (empty($info)) {
            $result = false;
        } elseif (!in_array($info[2], $displayable_image_types)) {
            $result = false;
        } else {
            $result = true;
        }
    }

    return $result;
}
add_filter('file_is_displayable_image', 'webp_is_displayable', 10, 2);

WebP 和未来

WebP 是一个健壮而优化的格式。它看起来更好,压缩率更高,并具有其他大部分常见图片格式的所有特性。不必再等了,现在就使用它吧。


via: https://opensource.com/article/20/4/webp-image-compression

作者:Jeff Macharyas 选题:lujun9972 译者:lxbwolf 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出