解决树莓派 HW CSum Failure 问题

今天登录上树莓派,习惯性 df 查看磁盘空间,发现树莓派 TF 卡上的空间所剩无几。最开始我以为我设置错误,把要挂机下载的文件下载到了 TF 卡里而不是移动硬盘里。结果排查下来,/var/log 下的日志文件居然占据了整整 18G 的空间。查看了一下日志,基本上都是类似如下的报错: Jan 25 22:51:15 lantian-rpi3 kernel: [ 22.143274] eth0: hw csum failure Jan 25 22:51:15 lantian-rpi3 kernel: [ 22.143281] CPU: 0 PID: 1075 Comm: vncagent Not tainted 4.9.77-v7+ #1081 Jan 25 22:51:15 lantian-rpi3 kernel: [ 22.143283] Hardware name: BCM2835 Jan 25 22:51:15 lantian-rpi3 kernel: [ 22.143294] [<8010fa48>] (unwind_backtrace) from [<8010c058>] (show_stack+0x20/0x24) Jan 25 22:51:15 lantian-rpi3 kernel: [ 22.143303] [<8010c058>] (show_stack) from [<804578e4>] (dump_stack+0xd4/0x118) Jan 25 22:51:...

让 ASF 帮你在 Steam 中挂“贪玩蓝月” 的插图

让 ASF 帮你在 Steam 中挂“贪玩蓝月”

最近贪玩蓝月因为其洗脑的广告而流行了起来,也出现了许多通过在 Steam 中添加自定义程序后重命名为「贪玩蓝月」,达到显示自己在玩贪玩蓝月效果的教程。不过这么做需要把那个自定义程序一直开着,有些时候还是比较麻烦的。 ASF(ArchiSteamFarm)则是一个模拟用户玩游戏,从而刷 Steam 交易卡掉落的程序。因为它能模拟用户玩游戏,自然也能模拟玩「贪玩蓝月」,在自己电脑上什么都不用设置的情况下达到如图效果: 实现这个效果,在你运行 ASF 的主机上修改 ASF 的配置即可。打开 config/[BOT 名称].json ,找到下面三行并修改成对应的参数: "CustomGamePlayedWhileFarming": "贪玩蓝月", "CustomGamePlayedWhileIdle": "贪玩蓝月", "FarmOffline": false, 第一项是在模拟玩 Steam 游戏时显示的名称,第二项是不模拟时(也就是交易卡挂完后)显示的名称。第三项是「离线挂卡」功能,就是模拟玩游戏时不在好友列表中显示上线,这项必须关闭,...

如何在 SSLLabs 测试中冲满分 的插图

如何在 SSLLabs 测试中冲满分

Qualys SSL Labs 是一个测试服务器 SSL 功能的网站,我们在配置服务器时经常用它作为参考。一般来说我们只参考它的评级(A+,A,B,C,D,E,F,T)等,达到 A+ 就认为服务器的配置足够优秀。不过,SSLLabs 也在评级右侧给出了分项分数,而我的主站并没有把它们全部冲到满分。如果把 SSLLabs 的各项分项分数全部达到满分,会是什么效果,有什么实际意义吗?我用一台不运行网站的 VPS 安装了 nginx 并进行了一些配置,成功刷到了全满分,如图或者 这里所示 : 作为对比,这是本站的评分,除看图外也可 在此处看到 : 本文有关 SSLLabs 评分标准全部来自于 SSLLabs 官方的评分标准文档 在本文写成之日的版本。 准备工作 我们要先安装好 nginx。因为这台 VPS 是 OpenVZ 的,没法装 Docker,所以没法像我的其它 VPS 一样一键部署。不过因为我的 VPS 和镜像都是 Debian,所以我就把之前写过的 Dockerfile 里的指令直接复制过来用了。...

树莓派 3B 折腾笔记:硬件随机数发生器

随机数在计算机中有着十分重要的应用,例如常用的 SSL 加密算法就非常依赖随机数。如果随机数不够随机,就很有可能被攻击者猜到,相应的加密验证体系也就土崩瓦解。但是由于计算机说零是零、说一是一的特点,它没有办法产生真正的随机数,只能通过复杂的算法去尽可能模拟随机数。 在 Linux 系统上,由于 Linux 「万物皆文件」的特点,可以从 /dev/random 读取到由 Linux 内核综合大量数据生成的随机数。但是因为 Linux 基于「安全第一」的原则综合了大量数据,随机数的产生速度很慢。用 rng-tools 软件包中的 rngtest 工具就可以看到: lantian@lantian-rpi3:~ $ cat /dev/random | rngtest -c 1000 rngtest 2-unofficial-mt.14 Copyright (c) 2004 by Henrique de Moraes Holschuh This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. rngtest:...

树莓派 3B 折腾笔记:BT 下载与策略路由

这次就直接进入正题。(其实是不知道该拿什么开头) 安装 Transmission 挂 PT 作为一个可以自由连接各种传感器的小型电脑,树莓派的可玩性相当高。即使你不想在 GPIO 上接一大堆传感器(或者像我一样觉得另外的传感器暂时没什么用),你也可以利用它低功耗的特点,让它 24 小时运行,做一些不需要大量 CPU 运算,但是因为其它因素需要较长时间才能完成的任务,例如……挂机下载。 我所在的大学有一个内网的 PT(Private Tracker)站。PT 站就是一个 BT 种子的发布网站,但是它在传统 BT 的基础上增加了用户管理功能,并且通过限制客户端种类、强制要求上传率等方式,解决了传统 BT 下各类客户端吸血(只下载不上传,例如迅雷)和种子很快失效(因为一段时间后就没人继续上传了)的问题。 但因为有了这些要求,PT 站用户往往需要长时间挂机上传下载,而这刚好是树莓派擅长的事。 在 上篇文章 里,我弄好了一个简单的 NAS。...

树莓派 3B 折腾笔记 的插图

树莓派 3B 折腾笔记

国庆放假期间我在某宝上买了一只树莓派 3B 和一堆传感器,准备搞一波事情。因为是国庆,所以各家店发货都有不同的延迟,导致我国庆长假后又过了好几天东西才到齐。 先上张完成体的图片: 我分了五家店买了这些东西: 树莓派 3B(含外壳、风扇、散热片、电源套装) 闪迪 32G TF卡 树莓派传感器套装(支持树莓派的 3.3V 电平,总共 16 个) 5 寸 800x480 触摸屏 DS3231 时钟模块和 GPIO 针脚标记板(后买) 树莓派本体 最先到的是树莓派 3B 本体,以及配套的外壳风扇散热片等等。然而我买的 TF 卡还没到…… 所以这只树莓派暂时什么都干不了。不过我还是可以把外壳风扇等等先组装起来。 然而我很快发现了问题:店家的外壳内支撑柱的位置不准,同一侧的两根柱子同时只能有一根插在树莓派电路板的孔里,另一根只能顶在电路板上,树莓派装不进去。 然后我就拿起剪刀把那两根柱子剪了。 树莓派很顺利地放了进去。因为外壳大小刚好,所以没了柱子不影响树莓派的稳定性。...

CommentToMail 修改版 的插图

CommentToMail 修改版

最近突然发现本来每天一封的自建贴吧签到系统的邮件突然没有了,但是贴吧还是正常签到。上 Mailgun 界面一看,状态全线飘红: 日志里一大排发往我自己 Outlook 邮箱的退信,比如: 看提示是 Mailgun 的整个 AS 都被 Outlook 拉黑了。这下子是完全没法用了。 好消息是,有许多和 Mailgun 提供类似服务的邮件服务商,例如 SendGrid。我很快在他们网站上注册了一个账号,并且开启了 SMTP,把我的贴吧签到、NextCloud 等都接了进去,非常顺利。 坏消息是,我的博客用的是我专门给 Mailgun 写的 CommentGun ,需要修改一下才能接到 SendGrid 上。 本来我可能修改一下插件,然后又能出一个 CommentGrid 之类的插件,但是每家邮件服务商的 API 都不一样。如果这些服务商轮着被 Outlook 屏蔽……画美不看。 另一个好消息是,这些邮件服务商普遍支持 SMTP 发信。这意味着我可以用 CommentToMail。坏消息是,这个插件年久失修,在不少情况下会 GG(例如网站开了 SSL,...

为 nginx 启用 TLS 1.3,并传递给 FastCGI 后端 的插图

为 nginx 启用 TLS 1.3,并传递给 FastCGI 后端

OpenSSL 在最新的测试版中提供了 TLS 1.3 的实验性支持,包括了一系列的性能和安全性优化。最新的 nginx 1.13 系列也相应的添加了 TLS 1.3 的相关选项。 不过由于 TLS 1.3 还处在草案状态,现在使用还是要踩一些坑的: TLS 1.3 目前有 18、19、20 三个版本的草案已经被 OpenSSL 等实现,而且它们互不兼容,也没有一个 SSL 的库把它们三合一。 目前 Chrome、Firefox 等浏览器广泛使用的是 18 版草案,但是这个版本的 OpenSSL 不支持 TLS 扩展,而 Certificate Transparency 需要用到它。 虽然最新的 nginx-ct 插件增加了 TLS 1.3 的 Certificate Transparency 支持,但是由于第二条,它无法与草案 18 的 OpenSSL 一同工作,会出现编译失败的情况。因此必须退回到 nginx-ct 项目 release 中的 1.3.2 版本,而这个版本对 TLS 1.3 不生效。 我部署 nginx 使用的 Dockerfile 如下: FROM debian:jessie-slim MAINTAINER Lan Tian "lantian@lantian....

加入 DN42 实验网络 的插图

加入 DN42 实验网络

2020-03-16 提示 本文已有更新版本:参见《 DN42 实验网络介绍(2020 版) 》。 新版介绍中有更详细的注册申请流程,并根据 DN42 三年来的变化做出了修改。 以下内容写于 2017 年,仅作存档用途。 DN42 全称 Decentralized Network 42(42 号去中心网络),是一个大型的 VPN 网络。但是与其它传统 VPN 不同的是,DN42 使用了大量在互联网骨干上应用的技术(例如 BGP),可以很好的模拟一个真实的网络环境。 正因为它的真实,使用 DN42 的门槛比较高。你要扮演一个 ISP(互联网服务提供商),注册一个 ASN 号码,注册 IPv4 和 IPv6 的地址池,并且使用 BGP 在自己的服务器上广播它们。你还要和其它的用户联系,和他们做 Peering(对接),一步步进入完整的 DN42 网络。 DN42 在 172.20.0.0/14 和 fd00::/8 上运行,而这两个 IP 段都是分配给内网使用的。换句话说,你在 DN42 上怎么折腾,都不会影响到服务器其它的互联网连接。...

使用 ZeroTier One 建立自己的 IPv6 隧道

前言 天朝绝大多数 ISP 均不为用户提供 IPv6 地址,除了教育网。但是教育网的 IPv6 很不稳定(可能和我的学校有关),而且一旦离开学校就没有 IPv6 了,很不爽。 有一种方法是使用 HE.NET 的隧道服务 。在 SixXS 关闭之后,他们是目前仅存的最大的 IPv6 隧道提供者,而且他们的服务完全免费。但是他们的服务并不适用于天朝的家庭网络环境,因为家庭网络普遍是动态 IP,并且部分运营商为了节省成本已经开始使用大内网,用户无法获取独立 IP,在同一内网就会产生冲突。 好消息是,我有好几台 VPS,均由 VPS 提供商或者 HE.NET 的隧道服务提供了 IPv6。这意味着我可以使用 VPN 方案。但是 Open^_^VPN 早就无法正常跨境使用了,其它 VPN 方案或多或少都有一些问题。 之前我拿来 Docker 组网的 ZeroTier One VPN 倒是能很好的解决这个问题。有中心管理面板,配置简单;跨境使用目前没有问题;官方甚至提供了详细的教程。 准备 ZeroTier One 的注册安装和加入网络,...