果然上次入手的树莓派还是逃不过吃灰的命运,本来想买个温湿度传感器做个室内环境监控的,但一直都难得动手,而且貌似小米空气净化器已经带有这些功能了…也考虑过直接刷个openwrt做旁路由,但感觉太浪费了,后来试过直接搭建透明代理,CPU 不支持 AES,速度达不到理想值,故弃之真香打脸QAQ

之所以说不完全吃灰,是因为确实是运行着一些简单的服务,虽然远没有达到对树莓派的预期使用。

使用 AdGuard Home 去广告

尽管从使用情况来看,AdGuard Home 通过 DNS 的方式去广告效果甚微,远不如通过浏览器插件修改页面元素来的好用,而且实际使用来看,性能方面不如 uBlock Origin,但聊胜于无。除了去广告之外,我感觉 AdGuard Home 搭建 DNS 服务器的作用更大,通过 DoH/DoT然而目前国内已经开始争对性阻断了 防污染。下面简单的写一下用 Docker 搭建 AdGuard Home 的过程。

先把 Docker 的源换成国内:

vim /etc/docker/daemon.json
{
 "registry-mirrors" : [
   "https://docker.mirrors.ustc.edu.cn",
   "http://registry.docker-cn.com",
   "https://dockerhub.azk8s.cn"
 ]
}
systemctl restart docker

运行命令 docker info, 在输出中查看 Registry Mirrors 下是否有设置的内容,有的话就说明成功了。

设置 AdGuard Home 的配置文件存储位置:

mkdir /etc/adguardhome/

拉取 AdGuard Home 镜像:

docker pull adguard/adguardhome

创建 AdGuard Home 容器,如果有端口冲突自行修改:

docker run \
--name adguardhome \
-v /etc/adguardhome/:/opt/adguardhome/work \
-v /etc/adguardhome/:/opt/adguardhome/conf \
-p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 368:68/tcp -p 368:68/udp -p 3080:80/tcp -p 3443:443/tcp -p 853:853/tcp -p 3000:3000/tcp \
--restart=always \
-d adguard/adguardhome

容器部署成功后,通过 http://IP:3000​ 打开管理页面。

后面要更新的话,则:

docker pull adguard/adguardhome
docker stop adguardhome
docker rm adguardhome
docker start adguardhome

使用 SMB 自建 NAS

从抽屉里翻出一块吃灰的硬盘,于是找了个外接硬盘盒,搭建个小型 NAS 还是很不错的。树莓派 4B 支持 USB3.0,搭建后实测能稳定跑满局域网千兆,配合 aria2 下载(搭建方法见以前的文章)一些视频很方便。**值得一提的是,挂载硬盘最好将硬盘格式化为 xfs 格式,**最开始一直用的 ext4,后来一次停电导致了硬盘上的文件全部消失了,抢救一晚上也没找回来,xfs 格式的校验和容灾机制更强大。如果是 CentOS7 之后默认就是 xfs格式,Debian 要使用 xfs 的话首先需要安装 XFS 系统工具集:

apt install xfsprogs

如果在分区上已经有其他文件系统,需要加上 -f 参数来覆盖它:

mkfs.xfs -f /dev/sda

之后再挂载硬盘到需要的目录下,安装 smb 服务:

apt install samba samba-common-bin

编辑配置文件:

vim /etc/samba/smb.conf
[NAS]
   comment = Raspberry Pi Samba
   valid users = pi, root
   path = /disk/nas
   browseable = no
   writable = yes
   create mask = 0777
   directory mask = 0777

为 smb 添加用户,在 /etc/samba 下运行:

smbpasswd -a pi

最后启动 smb 服务:

systemctl start smbd

安装 OpenWrt Docker

最终我还是试了试使用 OpenWrt,作为家庭网关的话其实还不错,于是研究了一番,最后基于 Lean’s Openwrt source,并且精简了很多自己不需要的插件,创建了 Github Actions 自动构建方便更新,你可以在 Dockers hub 上查看我上传的镜像,也写了如何自己构建的文档。用了一段时间很稳定,资源占用很低,虽然还有许多用途需要发掘一下,但目前来看已经比较满意了。

除了这些之外,我的树莓派上还运行着一些不值一提的服务,比如有时还在上面运行测试一些 Python 程序,并定时将结果发送到 Telegram Bot 等。显然我对树莓派的利用已经走偏了,只是当成一台小型服务器来用的话,显然有更多更好的选择,我认为要充分使用树莓派还是往软硬件开发上面靠,毕竟 GPIO 空在那里总感觉有点不对,当然,这都是后话,就目前来看,还是吃灰更省事。