标签 gmail 下的文章

安卓 14 开源项目发布

谷歌在纽约举行的“谷歌制造”活动上正式发布了安卓 14。与此同时,谷歌还发布了对应的开源项目 AOSP,安卓 14 的源代码已被推送到 AOSP。安卓 14 将于今天开始向 Pixel 设备推出,并在今年晚些时候向更多移动设备推出。安卓 14 带来的一系列升级和更新就不一一赘述了,值得注意的是,此版本支持 OpenJDK 17。

消息来源:Phoronix
老王点评:虽然越来越多的部分被谷歌放在自己的专有部分,但不管怎么说,安卓总是开源的,而且不是“延迟”开源。

Gmail 向电子邮件添加表情符号反应

在 Gmail 中,你现在可以像回复即时消息聊天一样回复电子邮件,在电子邮件上粘贴一个 “?” 的表情符号,而不是回复。就像信息应用一样,现在你的电子邮件下方会出现一排表情符号反应数,对话线索中的其他人可以点击添加到反应数中。电子邮件本身并不支持表情符号反应,这使得该功能成为 Gmail 的专有功能,其它没有使用 Gmail 客户端的人会收到一封包含你的单个表情符号反应的新邮件。目前,这项新功能不适用于企业或学校账户、邮件列表等情形。

消息来源:Ars Technica
老王点评:在不破坏电子邮件协议兼容性的情况下,增加一些创新是好的,但是似乎可以比每个表情符都发一个电子邮件做的更好。

X.Org 被发现新安全漏洞,可追溯到 1988 年

十年前,一位安全研究人员评论说,X.Org 服务器的安全性 “比看起来还要糟糕”,例如 GLX 代码就是 “8 万行恐怖代码”,整个代码库中发现了数百个漏洞。而到了 2023 年,新的 X.Org 安全漏洞还在不断被发现,今天公开的几个漏洞中,有几个最早可追溯到 1988 年的 X11R2 代码。

消息来源:Phoronix
老王点评:88 年时我还没见过电脑。所以,这一堆代码中到底有多少问题,就像沙虫里面的沙子一样,怎么也淘洗不干净。

Hugging Face 发布免费的代码生成 AI

AI 可以大幅削减开发成本,同时让编码员专注于更有创造性的任务。据研究,开发人员至少有一半的工作是在调试,而不是积极编程。人工智能初创公司 Hugging Face 和 ServiceNow 发布了 StarCoder,这是一个免费的代码生成 AI,与 GitHub Copilot 等类似。它在 80 多种编程语言以及 GitHub 资源库中的文本上进行训练,包括文档和编程笔记本。StarCoder 可以集成在 VSCode 中,并且像 ChatGPT 一样,可以遵循基本指令(例如,“创建一个应用程序的用户界面”)并回答关于代码的问题。

消息来源:Tech Crunch
老王点评:但是 AI 会让程序员从事更多更有创造性的工作吗?还是会让程序员更偷懒?

Gmail 开始在收件箱中间显示广告

在移动设备上,Gmail 会在你的收件箱的“更新”过滤器中显示广告。据用户报告,桌面版的 Gmail 近期开始在“推广”标签下的邮件列表中插入广告,和你接收到的推广邮件混在一起,不过它们至少没有显示在“主要”标签中。

消息来源:9to5google
老王点评:虽然很多人反对,但是我觉得还可以接受,毕竟“推广”标签本来就是各种软硬广告。

OpenAI 不再依赖 API 客户的数据来训练

OpenAI 称该公司不再用付费客户数据训练其人工智能大语言模型,“已经有一段时间没有训练了”。OpenAI 的服务条款已于 3 月 1 日悄然更新。OpenAI 的新隐私和数据保护只延伸到使用该公司 API 服务的客户,如微软、Salesforce 等,但可能会使用来自 API 以外的服务的内容,例如,输入到聊天工具 ChatGPT 的文本。

消息来源:CNBC
老王点评:免费的代价就是被用来训练。

LastPass 被入侵源于其工程师家用电脑被黑

去年,著名的密码管理服务 LastPass 被入侵(#740),并被窃取了部分源代码和客户的保险库的 备份(859)。经过调查,该公司公布了更多关于其系统如何被攻击的细节,“威胁者利用从一名高级 DevOps 工程师那里偷来的有效凭证来访问一个共享的云存储环境……这是通过瞄准该工程师的家用电脑并利用一个脆弱的第三方媒体软件包来完成的。威胁者能够在员工用 MFA 认证后,捕捉到员工输入的主密码,并获得该工程师的 LastPass 公司保险库的访问权。”

消息来源:Dev Class
老王点评:远程工作越来越流行,其带来的安全风险敞口不可忽视。

Gmail 客户端加密现在公开可用

谷歌现在对谷歌工作空间企业版、教育版和教育标准版客户开放了 Gmail 客户端加密(CSE)。一旦启用,Gmail CSE确保作为电子邮件正文和附件(包括内联图像)的一部分发送的任何敏感数据在到达谷歌的服务器之前将是不可读和加密的。同样重要的是要注意,电子邮件的标题(包括主题、时间戳和收件人名单)将不会被加密。

消息来源:Bleeping Computer
老王点评:其实类似的技术,如 PGP,早就有了,但是一直难以推广开来。

OpenAI 现在与其承诺背道而驰

OpenAI 成立于 2015 年,原本是一家非营利性研究机构。在其成立声明中,该公司宣布其研究承诺 “以最有可能造福全人类的方式推进数字智能,不受产生经济回报的限制”。OpenAI 鼓励所有研究人员分享 “论文、博文或代码,我们的专利(如果有的话)将与世界共享”。但八年后的今天,我们面对的是一家既不透明也不以积极的人类影响为动力的公司。OpenAI 摆脱了其非盈利地位,建立了一个 “封顶利润” 部门,该公司现在可以接受投资,并将为投资者提供封顶为 100 倍的投资利润。OpenAI 也没有开源和公开它的技术,并且它开发的技术反而使更多人失业了。

消息来源:VICE
老王点评:终究成了自己当初最讨厌的模样——问题是,在商业上还挺成功。

Flickr 成立基金会希望将照片保存 100 年

新成立的 Flickr 基金会的目标是“确保 Flickr 将被保留给后代”,而不会像 MySpace 照片一样丢失。他们提到一个特别的集合 “Flickr Commons”,这是一个巨大的、不拘一格的、迷人的档案,它从世界各地收集图像和内容,它由策展人挑选和组织,允许人们访问从历史肖像到科学图像,以及其它等等各种图片。Flickr 希望它能使 “Flickr Commons” 运行到 100 年后。

消息来源:Pop Photo
老王点评:虽然不如北极种子计划宏伟,但是也是非常重要的计划。

Gmail 开始向部分用户提供端对端加密

Google 称其为 Gmail CSE。一旦启用,邮件主体、附件和内嵌图像都将在传输和储存前由客户端的浏览器进行加密,Google 服务器无法获得加密密钥,因此也无法对其进行解密。邮件的标题、时间戳和收件人名单不加密。目前该功能只提供给部分企业用户,暂时不提供给普通个人用户。

消息来源:谷歌
老王点评:这不就是 PGP/OpenGPG 做的事情吗?

3/4 的开发者正在积极寻找新的工作

根据 Stack Overflow 的开发者年度调查,74% 的开发者正在积极寻找新的角色或对新的机会持开放态度,积极求职者中比例最高的是 20-24 岁的人群(27%),而 45-54 岁的人只有 12%。调查显示 54% 的受访者表示在考虑新的机会时,更好的薪水是最大的动力。但阻止开发者寻找新工作的最大因素是灵活性(58%)。

消息来源:ZDNet
老王点评:找工作这事情其实就是,要么钱委屈,要么是心委屈。

即使你用的是诸如 Gmail 的托管邮件服务,你也可以通过 Mutt 在终端里收发电子邮件。

 title=

我喜欢在 Linux 终端上读写电子邮件的便捷,因此我是 Mutt 这个轻量简洁的电子邮件客户端的忠实用户。对于电子邮件服务来说,不同的系统配置和网络接入并不会造成什么影响。这个客户端通常隐藏在我 Linux 终端的 某个标签页或者某个终端复用器的面板 上,需要用的时候随时可以调出来,不需要使用的时候放到后台,就不需要在桌面上一直放置一个电子邮件客户端的应用程序。

当今我们大多数人使用的都是托管电子邮件账号,在这种使用场景中并不会与电子邮件协议发生过多的直接交互。而 Mutt(以及更早的 ELM)是在更简单的时代创建的,那时候检查邮件只是对 uucp 的调用,以及对 /var/mail 的读取。当然 Mutt 也很与时俱进,随着各种流行的协议(如 POP、IMAP、LDAP)出现,它都实现了良好的支持。因此,即使我们使用的是 Gmail 这种邮件服务,也可以与 Mutt 无缝衔接。

如今在大多数情况下,用户都不会拥有自己的电子邮件服务器,大部分用户都会选择 Gmail,因此下文会以 Mutt + Gmail 为例作介绍。如果你比较注重电子邮件隐私,不妨考虑 ProtonMail 或者 Tutanota,它们都提供完全加密的电子邮件服务。其中 Tutanota 包含很多 开源组件,而 ProtonMail 则为付费用户提供 IMAP 桥接,简化了在非浏览器环境下的邮件访问。不过,很多公司、学校和组织都没有自己的电子邮件服务,而是使用 Gmail 提供的邮件服务,这样一来,大部分用户都会有一个 Gmail 邮箱。

当然,如果你自己就 拥有电子邮件服务器,那么使用 Mutt 就更简单了。下面我们开始介绍。

安装 Mutt

在 Linux 系统上,一般可以直接从发行版提供的软件库中安装 Mutt,另外需要在家目录中创建一个 .mutt 目录以存放配置文件:

$ sudo dnf install mutt
$ mkdir ~/.mutt

在 MacOS 上,可以通过 MacPorts 或者 Homebrew 安装;在 Windows 上则可以使用 Chocolatey 安装。

Mutt 是一个 邮件用户代理 Mail User Agent (MUA),因此它的作用是读取、编写以及向外部邮件池发送邮件。向邮件服务器实际传输邮件是其它应用或邮件服务的工作,尽管它们可以和 Mutt 进行协作,让我们看起来是 Mutt 完成了所有功能,但实际上并非如此。在弄懂了两者之间的区别之后,我们会对 Mutt 的配置更加清楚。

这也是为什么除了 Mutt 之外,我们还需要视乎进行通信的服务种类选择一些辅助应用程序。在本文中我使用的是 IMAP 服务,这可以让我本地的电子邮件副本与电子邮件服务提供商的远程邮件副本保持同步。如果你选择 POP 服务,配置的难度就更下一个台阶了,也无需依赖其它外部工具。我们需要 OfflineIMAP 这个 Python 应用程序来实现 IMAP 的集成,这个应用程序可以在 它的 GitHub 存储库 获取。

OfflineIMAP 目前仍然在从 Python 2 移植到 Python 3,目前需要手动安装,但以后你也可以通过 python3 -m pip 命令进行安装。

OfflineIMAP 依赖于 imaplib2 库,这个库也在努力开发当中,所以我更喜欢手动安装。同样地,也是通过 Git 将代码库克隆到本地,进入目录后使用 pip 安装。

首先安装 rfc6555 依赖:

$ python3 -m pip install --user rfc6555

然后从源码安装 imaplib2

$ git clone [email protected]:jazzband/imaplib2.git
$ pushd imaplib2.git
$ python3 -m pip install --upgrade --user .
$ popd

最后从源码安装 OfflineIMAP:

$ git clone [email protected]:OfflineIMAP/offlineimap3.git
$ pushd offlineimap3.git
$ python3 -m pip install --upgrade --user .
$ popd

如果你使用的是 Windows 上的 Cygwin,那么你还需要安装 Portlocker

配置 OfflineIMAP

OfflineIMAP 默认使用 ~/.offlineimaprc 这个配置文件,在它的代码库中会有一个名为 offlineimap.conf 的配置模板,可以直接将其移动到家目录下:

$ mv offlineimap3.git/offlineimap.conf ~/.offlineimaprc`

你可以使用任何文本编辑器打开浏览这个配置文件,它的注释很完善,便于了解各个可用的配置项。

以下是我的 .offlineimaprc 配置文件,为了清晰起见,我把其中的注释去掉了。对于你来说其中有些配置项的值可能会略有不同,但或许会为你的配置带来一些启发:

[general]
ui = ttyui
accounts = %your-gmail-username%
pythonfile = ~/.mutt/password_prompt.py
fsync = False

[Account %your-gmail-username%]
localrepository = %your-gmail-username%-Local
remoterepository = %your-gmail-username%-Remote
status_backend = sqlite
postsynchook = notmuch new

[Repository %your-gmail-username%-Local]
type = Maildir
localfolders = ~/.mail/%your-gmail-username%-gmail.com
nametrans = lambda folder: {'drafts':  '[Gmail]/Drafts',
                            'sent':    '[Gmail]/Sent Mail',
                            'flagged': '[Gmail]/Starred',
                            'trash':   '[Gmail]/Trash',
                            'archive': '[Gmail]/All Mail',
                            }.get(folder, folder)

[Repository %your-gmail-username%-Remote]
maxconnections = 1
type = Gmail
remoteuser = %your-gmail-username%@gmail.com
remotepasseval = '%your-gmail-API-password%'
## remotepasseval = get_api_pass()
sslcacertfile = /etc/ssl/certs/ca-bundle.crt
realdelete = no
nametrans = lambda folder: {'[Gmail]/Drafts':    'drafts',
                            '[Gmail]/Sent Mail': 'sent',
                            '[Gmail]/Starred':   'flagged',
                            '[Gmail]/Trash':     'trash',
                            '[Gmail]/All Mail':  'archive',
                            }.get(folder, folder)
folderfilter = lambda folder: folder not in ['[Gmail]/Trash',
                                             '[Gmail]/Important',
                                             '[Gmail]/Spam',
                                             ]

配置文件里有两个可以替换的值,分别是 %your-gmail-username%%your-gmail-API-password%。其中第一个值需要替换为 Gmail 用户名,也就是邮件地址中 @gmail.com 左边的部分。而第二个值则需要通过双因素身份验证(2FA)后从 Google 获取(即使你在查收邮件时不需要使用 2FA)。

为 Gmail 设置双因素身份验证(2FA)

Google 希望用户通过 Gmail 网站收发电子邮件,因此当你在 Gmail 网站以外操作电子邮件时,实际上是被 Google 作为“开发者”看待(尽管你没有进行任何开发工作)。也就是说,Google 会认为你正在创建一个应用程序。要获得开发者层面的应用程序密码,就必须设置双因素身份验证。完成了这个过程以后,就可以获得一个应用程序密码,Mutt 可以通过这个密码在浏览器以外的环境登录到你的电子邮箱中。

为了安全起见,你还可以在 Google 的 账号安全 页面中添加一个用于找回的电子邮件地址。

在账号安全页面中,点击“ 两步验证 2-step Verification ”开始设置 2FA,设置过程中需要用到一部手机。

激活 2FA 之后,账号安全页面中会出现“ 应用程序密码 App Passwords ”选项,点击就可以为 Mutt 创建一个新的应用程序密码。在 Google 生成密码之后,将其替换 .offlineimaprc 配置文件中的 %your-gmail-API-password% 值。

直接将应用程序密码记录在 .offlineimaprc 文件中,这种以纯文本形式存储的做法有一定的风险。长期以来我都是这样做的,而且感觉良好,因为我的家目录是加密的。但出于安全考虑,我现在已经改为使用 GnuPG 加密应用程序密码,这部分内容不在本文的讨论范围,关于如何设置 GPG 密码集成,可以参考我的 另一篇文章

在 Gmail 启用 IMAP

在你永远告别 Gmail 网页界面之前,还有最后一件事:你必须启用 Gmail 账户的 IMAP 访问。

在 Gmail 网站页面中,点击右上角的“cog”图标,选择“ 查看所有设置 See all settings ”。在 Gmail 设置页面中,点击“POP/IMAP”标签页,并选中“ 启用 IMAP enable IMAP ”,然后保存设置。

现在就可以在浏览器以外访问你的 Gmail 电子邮件了。

配置 Mutt

Mutt 的配置过程相对简单。和 .bashrc.zshrc.emacs 这些配置文件一样,网络上有很多优秀的 .muttrc 配置文件可供参照。我自己的 .muttrc 配置文件则借鉴了 Kyle RankinPaul Frields 等人的配置项和想法。下面列出我的配置文件的一些要点:

set ssl_starttls=yes
set ssl_force_tls=yes

set from='[email protected]'
set realname='Tux Example'

set folder = imaps://imap.gmail.com/
set spoolfile = imaps://imap.gmail.com/INBOX
set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"
set smtp_url="smtp://smtp.gmail.com:25"
set move = no
set imap_keepalive = 900
set record="imaps://imap.gmail.com/[Gmail]/Sent Mail"

# Paths
set folder           = ~/.mail
set alias_file       = ~/.mutt/alias
set header_cache     = "~/.mutt/cache/headers"
set message_cachedir = "~/.mutt/cache/bodies"
set certificate_file = ~/.mutt/certificates
set mailcap_path     = ~/.mutt/mailcap
set tmpdir           = ~/.mutt/temp
set signature        = ~/.mutt/sig
set sig_on_top       = yes

# Basic Options
set wait_key = no
set mbox_type = Maildir
unset move               # gmail does that

# Sidebar Patch
set sidebar_visible = yes
set sidebar_width   = 16
color sidebar_new color221 color233

## Account Settings
# Default inbox
set spoolfile = "+example.com/INBOX"

# Mailboxes to show in the sidebar.
mailboxes +INBOX \
          +sent \
          +drafts

# Other special folder
set postponed = "+example.com/drafts"

# navigation
macro index gi "<change-folder>=example.com/INBOX<enter>" "Go to inbox"
macro index gt "<change-folder>=example.com/sent" "View sent"

整个配置文件基本是开箱即用的,只需要将其中的 Tux Exampleexample.com 替换为你的实际值,并将其保存为 ~/.mutt/muttrc 就可以使用了。

启动 Mutt

在启动 Mutt 之前,需要先启动 offlineimap 将远程邮件服务器上的邮件同步到本地。在首次启动的时候耗时可能会比较长,只需要让它整晚运行直到同步完成就可以了。

在同步完成后,启动 Mutt:

$ mutt

Mutt 会提示你打开用于管理电子邮件的目录权限,并展示收件箱的视图。

 title=

学习使用 Mutt

在学习使用 Mutt 的过程中,你可以找到最符合你使用习惯的 .muttrc 配置。例如我的 .muttrc 配置文件集成了使用 Emacs 编写邮件、使用 LDAP 搜索联系人、使用 GnuPG 对邮件进行加解密、链接获取、HTML 视图等等一系列功能。你可以让 Mutt 做到任何你想让它做到的事情,你越探索,就能发现越多。


via: https://opensource.com/article/21/7/gmail-linux-terminal

作者:Seth Kenlon 选题:lujun9972 译者:HankChow 校对:wxy

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

Linspire 10 发布,自称“第一发行版”

Linspire 的前身是 20 多年前知名的 Lindows 发行版。去年底发布 Linspire 10 Beta 版时,声称 Linspire 是“新用户、中级用户和高级用户的第一发行版”。其正式版于近日发布,在发布公告中该团队骄傲地宣称该团队“努力开发出了市场上最好、最精心的设计和工程化的 FOSS 桌面”。该版本基于 Ubuntu 20.04 LTS,使用 Linux 5.8 内核、定制的 GNOME 3.38 桌面,Chrome 88,以及微软 PowerShell 7 和 DVD/蓝光解码能力。

但是,要注意的是,这是一款商业版的 Linux 发行版,其单个许可证的起价为 29.99 美元,而企业无限授权模式下,起价则高达 2500 美元。

敢于宣称自己是 No. 1,还这么贵,我觉得没点底气是不行的,或许该试试。

研究人员利用开源软件依赖攻击入侵 35 家科技公司

安全研究人员注意到 PayPal 使用的一个程序包含了非公开的私有 npm 包,他想知道如果他创建一个同名的公开的 npm 包,那么软件在构建时是优先使用私有的还是公开的版本?为了进行测试,他向流行的软件包库 npm、PyPI 和 RubyGems 上传了同名的冒牌项目,结果这些项目自动下传到了公司的内部应用程序中。作为道德黑客测试,他上传的冒牌项目明确地解释了软件包“不包含任何有用的代码,只是用于安全研究目的”。

该攻击利用了开源生态系统的一个独特设计缺陷,被称为“依赖性混淆”。他发现,公开的软件包会比私有的软件包优先度更高;某些情况下版本更高的软件包优先度更高,无论私有还是公开。利用这一方法,他成功地入侵了 35 家知名科技公司,包括微软、苹果、特斯拉、PayPal、Shopify、Netflix、Yelp、和 Uber 等,获得了超过 13 万美元的漏洞报告奖励。

这种攻击很可能会迅速针对使用开源软件构建内部软件的公司展开,而且,就目前而言,现有的开源软件依赖模式并没有直接的防范方法。如果你的公司也存在类似情况,请尽快采取缓解措施。

Gmail iOS 应用已有 2 个月未更新,开始弹安全警告

虽然谷歌已经承诺更新其应用程序套件的应用程序隐私标签,以遵守苹果在 12 月开始执行的 App Store 规则,但它的许多主要应用程序已经几个月没有更新。iOS 版 Gmail 自 12 月 1 日以来就没有更新过。当用户在其上登录一个新的账户时,它会给出了一个应该更新的警告,并建议你只有在“了解风险的情况下”才继续登录。

目前仍不清楚谷歌为什么要花这么长时间为其 iOS 应用添加应用隐私标签,Gmail 何时能获得更新也没有消息。但谷歌一直在定期更新其 Android 应用,Android Gmail 应用的最后一次更新是在 2 月 9 日发布的。

看来,谷歌对如何遵守苹果的隐私政策,心有疑虑啊;难道是谷歌的应用实在是要的隐私太多了,不好意思公开说明吗?