前言
疫情期间,宅在家中时间充足,我重新开始认真观看调查新闻还有一些长文章,手机屏幕时间骤升到 9 个多小时,我觉得自己的眼睛在这样下去就要废了,作为一名 kindle 的老用户,我便想着把这些长文章发送至 kindle 观看,上网搜了一下解决方案,方法有很多,浏览器插件,网页发送,微信公众号,其核心原理都是依靠亚马逊官方的邮件推送功能将重排版之后的网页发送至 kindle,然而,考虑到垃圾邮件的影响,亚马逊官方设置了信任邮箱这一限制条件,必须将某一邮箱设置为信任邮箱之后,才能将文档与网页发送至 kindle。
设置信任邮箱这件事情并不算很麻烦,但是因为推送的机制比较多样,如果不是一个通用的的解决方案,在浏览器与手机上所涉及的服务往往也并不一致,这样就需要添加多个信任邮箱,关于这一点我心里有点抵触。首先我尝试的是亚马逊官方的微信公众号,绑定之后发了几篇文章,虽然显示了成功,但是我实际上并没有收到,而且高度依赖微信,我觉得并不是所有的文章都适合经过微信这个中间商,就放弃了。
民间自有方法,我原则上回避了国内的服务,最后找到了找到了一个网站 https://www.fivefilters.org/push-to-kindle/ ,Chrome 插件 push to kindle 就是该该网站开发,虽然在连接速度上偶尔会受到用户的抱怨,我多次试验之后觉得整体的服务体验还可以接受。在推送文章之外,我在测试之中发现了几个更吸引我的点:
- 无需注册即可使用
- 无需在亚马逊添加信任邮箱即可使用
- 如果推送失败,可以将重排版的文章下载为 mobi、epub 与 PDF 文档
我认为第1点和第2点都比较好理解,第2点我需要单独解释一下,实际上这一点网上很多文章都没有注意到,都会推荐在亚马逊官网添加 fivefilters 的官方邮箱到信任邮箱列表中去。这个问题主要是因为 fivefilters 官方有意引导的结果,不多尝试几次还真不一定知道。
正如前文所述,信任邮箱的作用是为了保证用户不会受到大量的垃圾邮件,干扰用户体验。在我的理解中,只有通过用户指定的邮箱服务器才能将文档和网页通过邮件服务发送至kindle。我在尝试中发现,假如你的信任邮箱地址列表中有一个信任邮箱:xxx@gmail.com,fivefilters在推送文章的时候,可以直接使用你本身已经存在的信任邮箱地址xxx@gmail.com,最神奇的地方在于,它并未真正使用你的邮箱去发送,因为用户只需要提供邮箱地址,而并不需要登录邮箱授权,也不需要启用是SMTP,发送成功之后,你的邮箱中也并不存在发送记录,也就是说,你的邮箱服务器全程并没有参与到这件事情中去。我测试了很多遍,只要是在我的信任列表中的邮箱地址,通过 fivefilters 均可以发送文章到kindle,而我的邮箱对此事一无所知。
因为这部分算是一个黑盒 api,并不清楚 fivefilters 采用了什么技术,简单理解来看它是采用用户的信任邮箱地址模拟发送了文档,实际上还是 fivefilters 自己的服务器发送的文档,但是通过某种伪造让亚马逊误以为是用户的信任邮箱地址。
教程与捷径
电脑端
在电脑端,fivefilters可以通过浏览器插件以及网页端直接将网页发送至kindle,网页端的操作如下:
- 输入网页文章地址
2. 预览文档,并填写相关信息
3. 点击发送,稍带片刻即可享受阅读
值得注意的是,目前 fivefilters 部署的正式版目前还不能突破付费墙的限制,但是其正在测试的 2.0 beta 版,可以在某种程度上绕开付费墙,为什么说是某种程度,如果你是 NYT 的会员,你可以阅读付费墙文章,如果在正式版中发送该付费墙文章,kindle 接收到的文章依然存在付费墙,因为本身fivefilters的服务器并没有 NYT 的会员。在 2.0 beta 中,如果你是 NYT 的会员,在安装浏览器插件的情况下,你可以将该文章推送至 kindle 阅读,如果你不是 NYT 的会员,那么抱歉,fivefilters 依然无法推送全文到 kindle,因此 2.0 beta 实际上更适合已经解除网站付费墙的用户。
iOS端
实际上 fivefilters 提供了 iOS 客户端 Push for Kindle,但是25元的高价瞬间便让我死心了,我觉得网页版也不是不能用。
不可否认的是,在手机上使用网页版发送文件的整体体验相对来说会差很多,来回的切换tab,复制粘贴让人相当的难受,于是我利用 Charles 的抓包结果配合 Shortcuts,制作了一个小小的iOS分享菜单 Push2Kindle,设置好之后,只要能够分享的地方,两步点击操作即可将感兴趣的文章发送至 kindle。下载地址如下:
Push2Kindle <---点击即可安装
首次使用
首次使用需要在Push2Kindle中设置3个参数: kindle 邮箱,信任邮箱地址以及kindle邮箱域名参数,填写规则如下:
email=&from=xxx%40gmail.com&title=&email=oasis&domain=4&save=yes
#注释 :email=&from=%信任邮箱地址%&title=&email=%kindle邮箱,不包含@之后的内容%&domain=%kindle邮箱域名参数(默认4)%&save=yes
- 信任邮箱地址:任何一个已经存在于亚马逊信任邮箱列表的地址即可,需要将@转换为%40,例:xxx@gmail.com --> xxx%40gmail.com;
- kindle邮箱:仅需要填写@之前的内容;
- kindle邮箱域名参数:与下面表格参数对应
域名 | 应填写的参数 |
---|---|
@free.kindle.com | 1 |
@kindle.com | 2 |
@iduokan.cn | 3 |
@kindle.cn | 4(默认值) |
@pbsync.com | 5 |
kindle.com 与 free.kindle.com 的差异
实际上这个差异在国内基本上是没有的,因为从 com 的后缀可以看来基本上它是面向国际用户的。kindle 实际上也是有蜂窝版本的,其蜂窝流量服务由 Whispernet 提供,比如我的 kindle oasis2 蜂窝版本,在美国是 4G 网络,在美国之外就只有 3G 网络了。根据亚马逊的规则,如果是亚马逊网站的内容,流量服务是免费的,但是如果是个人文档,那么就需要收费,建议使用 free.kindle.com 地址,因为它可以保证你在接收通过fivefilters发送的文章时,kindle 仅会在连接 WiFi 的情况下下载文档,那么用户不会被亚马逊收取费用,相反 kindle.com 会在 WiFi 不可用的情况下采用流量下载文档,那么此时流量费用将会不可避免。