自从暑假那次说 Morny 将要发布 1.4.0 以来都过去了一个多月了。 1.4.0 代码也早已写好了,但是就是被一堆别的事情弄的没有处理发版的事情。本来这些事情也基本上都弄好了,但是在写 blog 记录这些事情上面,最近又卡了很久(目前有至少 4 篇的草稿文章,其中一篇已经达到 WP 统计 7000+ 字了🥺)。眼看着 10 月都过去几天了,感觉还是先写一个周报凑合一下吧,也算是回归这个站最开始就是用来写周报的正统。
Home Assistant
最开始还是 8 月末的时候,因为一些需求在家里尝试配 Home Assistant。因为 9 月往后就不在家跑去外面继续与世隔绝了,所以 8 月末了要在几天内把这个弄能用的时间特别紧张。于是就去收了一个 rpi 和一些设备,8 月的最后一段时间基本都在弄这个了。
最开始 rpi 和设备都还没到,就先在自己(不在家里的)Home Server 上面搭了一个 Home Assistant 看看。在这里用的是自配置 HA Core 和 Archlinux 仓库里的 HA Core,然后配完了才发现原来不能用 Addons。后来还在 HA Core 里发现了别的坑,这些就在以后再说吧。
然后 rpi 到了。在经历了很多(其实自己都不太知道是什么流程的)折腾以后,最终选择了 Debian + HA Supervisor 方案。刚开进来就是一个 AppArmor 无法使用的提示,不过后来使用起来也没什么大问题。在接上了自己买的网关设备和终端设备之后,用起来都还可以。
不过后来在使用 NodeRed 的时候就遇到一些问题了:不挂代理的话,NodeRed 的插件因为用的是 npm 对网络要求比较高,就导致它的包完全下不下来。之前在连 docker 和 github 下插件/Addons的时候似乎因为我们家网环境还行所以还能用,但是到 npm 就完全没办法了。在 Debian 上面搭一个 TUN 代理又会破坏 Supervisor 的一些运行状态,这个问题后来也只有在后来在自己 Home Server 那边搭了一个旁路由才解决。
后来就是离开家里去到自己 Home Server 所在地的地方,在 PVE 上面起 HAOS 了。全程没遇到什么大问题,尽管 Home Server 网络糟糕到 github 直连完全不通,走旁路由还是很好的工作了。通过 PVE 的 USB Zigbee 网关 / 蓝牙 / USB WebCam 设备直通也工作了。除了,后面发现 HAOS 时间没同步,给 HAOS 同步时间又花了很久,于是感觉还是 Debian 上的 Supervisor 好,至少还是一个正常系统,在 HAOS 里面改个 NTP 还要一行一行 echo 过去。
然后这两天一个设备掉线之后突然就怎么也连不上了…仍然在继续配置中。
“刷”手机
在还没从家里离开的最后几天,自己也终于拿到了一个新手机。这也是自己第一次使用国产手机,到手的第一件事当然是把 BL 解了然后刷系统。
1+ 9 Pro 的质感摸起来还挺好,虽然自己其实并不喜欢反光的或者有渐变的那种背板,不过这个的银色背板看起来倒是也很好看。前摄是自己很喜欢的侧置,以及 1+ 经典的铃声滑块——确实很好玩😺。倒是一些缺点也有,比如说指纹的位置也太靠下了,都靠下到了能让原生 ui 产生小 bug 的程度了(解锁速度倒是没问题,还蛮好)。刷完类原生系统,感觉用起来都和前一段坏掉的自己很喜欢的橙色p6p差不多了🥺。
然后就是刷机了。最开始用了自己对象之前买一个二手机的时候自带的 CherishOS,这个系统给安妮的最大印象就是非常好看。刷到手之后也是能感觉到的非常好看。系统内就有很多的 UI 相关的自定义选项,单是这些内置选项都能让人玩一天。Settings 的布局做的蛮有意思的。不过稍微用了一段之后就开始发现这个系统哪里不好了,也开始明白自己对象为什么现在也不用这个系统的——对于手机的适配很差,还有一些很影响使用的 bug。首先是工作资料夹/多用户有一些诡异的权限问题(logcat 才看到的,在外面表现就是直接崩 app,为了这个问题还翻了一小时 AOSP 源码),会在 Chrome 加载到欢迎第二页或者 Bilibili 加载评论的时候直接崩 app,虽然工作资料夹/多用户可能基本没人用,不过因为自己还是要用到的,所以对自己来说属于是无法忍受的 bug。然后是没有 1+ 铃声滑块支援,导致这个特色按钮现在从好玩完全变成了玩具…再然后是系统自带的是 LineageCam,只能说凑合能扫码,想好好拍照还是太勉强了。
由于 CherishOS 体验完之后感觉到了这个系统的种种问题,于是自己决定去找一个别的系统用。本来 PE 应该是一个很好的选择的,可惜 PE 已经不复存在了,无奈只能去 xda 上找各种别的自制系统。挑选来挑选去,选了如下几个 ROM,然后备份数据,一个个体验,然后再恢复数据,再重新设置各种东西,刷自定义 ksu 支援固件,也是不止半天一天的时间全花在这上面了。
最后终于是确定下来用 SomethingOS 了,有 OOS Cam,没什么 bug,有一些需要的 sproof 内置 feature,虽然没有 UI Tweaks,不过后来(花了好久)折腾装完 Iconify 之后,也是有点 CherishOS 那么好看的感觉了。感觉一切都没有问题了的时候,突然发现自己 IMEI 似乎炸掉了,变成了一个 00 开头的数字。虽然到最后通话也都能用了,最后还是没怎么管这件事了。
其实相比于别的几个系统,选择 SomethingOS 的最大原因可能是:它的 logo 和启动画面比较好看🫠
Proxmox VE 尝试一机多用
在来到了有 Home Server 的那边之后,就计划着给这边也搭一个 Home Assistant。这次计划是直接用 HAOS 好了,但是众所周知 HA 对外网连线质量还蛮有要求的,然后这边的网络属于 github ping 都不通的程度,因此一个旁路由还是挺有必要的。但是家里 Home Server 只有一个机子(穷穷有没有赞助),因此一机多用也是不可避免的了。在简单的看了一下 Archlinux 怎么配置 kvm 之后,深感自己没水平摸这个,于是就决定还是整台机子迁到 PVE 环境好了。
于是就产生了现在还没写好的 PVE AIO 三篇文章的系列的大坑了。
在为了其购置的有线网线(因为之前一直用的wifi网配v-switch好像挺麻烦的)和随机硬盘(实在不想把旧系统里几十个 GB 的东西备份下来,PVE 又要直接格掉整个盘)到货之后,就开始安装 PVE 了。整个过程还算顺利(除了买不少的几个小配件,尤其是急着买硬盘的时候还蛮折腾的),各种小问题解决的也都很快,旧硬盘通过直通的方式通进去之后数据也是无损的迁移过去了。
接下来,就是痛苦的搭旁路由和 HA 的过程了。
计网 之 Clash 旁路由
别计网了,我看到寄网就头痛
— by 自己对象
先上图:
这个图是中秋节过去之后,终于把各种东西配的差不多都能用了,虽然还是各处都有各种各样的小问题,不过也算是可以休息一下了,遂随便画个 meme 图吐槽一下自己一段时间的经历。
回到搭旁路由这件事情上。前面也说了搭旁路由主要是为了给 Home Assistant 供一个透明的,能上国外的网络。其实之前在家里的时候,就已经在那个搭 HA Supervisor 的 Debian rpi 上简单尝试过一下用 Clash Meta(好像早就改名叫 Mihomo 了,下文就用 Mihomo 称呼好了)的 TUN 模式来设置旁路由。当时搭的还挺顺利的,基本上 Debian 那边的 Mihomo 起来之后,手机上设一下网关就直接能连外网了。(不过因为旁路由和 HA 就在一个机器上,显然算不上是透明代理了,根本就是 TUN 代理,前面也提到了在 HA 机器上搭 TUN 是会破坏掉 HA 的行为的,当时也不知道什么 PVE(倒是就算知道也让人好奇 rpi 这个小东西真的能跑 pve 吗),所以就只是测试一下搭建旁路由的流程)
然后再到 Home Server 这边,Home Server 已经在前文顺利转换为一个 PVE 服务器了。于是我们就在 PVE 上面开了一个小的 Debian 虚拟机,然后给它装上 Mihomo,把自己的 clash 配置文件拖上去,然后稍微改改开机!然后….客户端把网关设成这个旁路由之后,无论自己怎么调 Mihomo 配置,怎么设客户端,一直都是只有 CONNECTION_TIMED_OUT。后来直到自己对象说了一句“不是要在系统里调一下允许转发什么的吗?”,然后自己就:“要吗?之前配的时候就什么设置都没动的?”,然后查了一下有一个 ip_forward 字段,然后设置了那个之后,果然就完全可以了。
这之后就,继续弄各种旁路由的 IPv6 的配置,重新写分流规则,处理 DNS 泄露问题等等,也是研究 Clash/Mihomo 的配置了好久,给自己的各个系统都重新配置了一个 Clash 配置文件。最终配了几天还是有一些连接速度和 v6 等等的小问题,不过也基本上能用了。
最近也在尝试写一个通过一个模板文件来自动生成各种可供各个不同设备使用的配置文件的,可能类似于配置文件托管服务的东西。目前的进度是写了一个 #uni-preprocessor。
计网 之 OpenWrt
在 Home Server 这边,之前的路由器用的是 Pandavan 的系统。这个系统当时用着也没什么问题,虽然不好看不过功能都有也就凑合着用了。不过在用了 Home Assistant 之后,在 Home Assistant 的 uPnP 集成上遇到了一个严重的问题:上报的数据会在累计数据量达到 4GB 左右的时候,或者严格说是统计的累计数据量的字节值达到 uint32 最大值(4,294,967,295)之后,就会停止上报数据。也没找到什么办法能修,所以不得已还是决定换用一个标准的 OpenWrt 系统以解决这个问题。
因为路由器已经刷过了 pandavan 和自定义引导,跟着自定义引导的安装系统指引也是很简单且顺利的就把新的 OpenWrt 系统装上了。
然后简单装了一些主题等等的包,配置了一下镜像之类的。IPv4 的配置也是开箱即用的,2.4G/5G 共用 SSID 的设置也很方便的设置好了,不过 IPv6 的设置又是花了自己半天到一天才配好:因为这边的上游光猫非常垃圾连一个 IPv6 PrefixDelegate 都不支持,所以想让下游有一个公网 IP 只能是把整个 IPv6 的网络桥接到上面的光猫的网络里去,而 IPv4 因为自己要自定义一个子网段(以及给下游固定 IP)所以 IPv4 也不能桥接。IPv6 配好之后,又发现网络上的内网发现行为似乎还是不太对…这个问题也是直到现在也没解决。虽然基本的联网也没什么问题了,在尝试找了很久的资料还是弄不懂之后还是一段时间放弃把它配好了。
不过还是想到既然主路由都用 OpenWrt 了,那就很轻松刷个包就能在路由器上面跑 Mihomo 了,前面还花了很大力气配旁路由代理是不是完全没必要了。
Electron 2 Tauri / ann-tool-box
除了这些给家里配网之类的乱糟糟的又花了很久很久时间的东西之外,也就是给 Ann-Tool-Box 这个项目重新翻新一下,做了点新功能什么的。
最开始是想把随机生成那个功能好好做一下然后可能可以用到的(虽然不记得当时也有什么需求了),然后发现自己电脑 Electron 的开发环境怎么也起不来了。刚好感觉用 Electron 也用得感觉不开心了,于是就花了半天一天把这个 Electron 的项目换成了 Tauri 后端的项目。过程也没什么很大的磕磕绊绊,启动起来基本上几个小时就弄好了,后面几天研究了一下 Tauri 的后端功能,基本上把之前后端支持的内容也都加进来了(除了还是有点写不来 Rust 以及 VSC 的 Rust 支持好难用)。
随机生成的功能也是在开发当中了。简单的部分也基本上都做出来了。在做姓名随机的时候,从网上拖现成的姓名库找到了一些非常大的姓名库,还是用 JSON 存储的。简单看了一下感觉好像直接读 JSON 的话性能大概率会有点问题,遂准备有空把这个东西迁移到可能 SQLite 之类的其它存储方式上面。
uni-preprocessor
最后就是最近几天,在继续配置 Clash 配置文件的时候,写了一个模板。本来预设了一个很方便的可以通过类似于 C 那样的预处理器来实现一键生成各种平台用的配置文件的东西,然后就可以通过 HTTP 下发什么的。结果找了一圈没找到什么好用的 node 上的预处理器实现(因为 HTTP 服务计划是用 node 写),于是就决定自己写一个好了。
也是在简单抄了一下别人的代码,然后自己做了一点封装之后,基本上也是把自己需要的功能差不多都粗糙的写了一下。
这也是自己第一次写一个标准的 NodeJS 项目,也是同时包含了一个 npm 包经常会用到的最多的两个类型:作为 dependency 和作为 cli。感觉 npm 写 cli 工具确实还是蛮方便的。不过给 TS 项目编译打包,尤其是配置单元测试的运行就还是花了蛮久的。
尽管如此还是比之前配 python 项目的体验好得多
然后写完发现,这个东西说不定可以解决像是 Tauri 那种一个项目要在三个地方定义版本之类的问题!
准备下一步把这个项目的包装弄得更好一点,然后功能可能也可以扩充一下什么的。
End of 9th;黄金周 杂谈
这一两个月的工作,比较大的部分基本上就是这样了。其实 uni-preprocessor 这个项目已经是 10 月份开始才在做的了。
上面有说到 Electron2Tauri,其实是有给这个东西单独写了一个文章讲 Electorn 2 Tauri 的(最开始也说到了还有好几个没写完的文章),然后….花了好久写了 7000 字还没写完(怎么这个文章也 5000 多字了,是不是自己太能水了),感觉写的头晕脑花🥺。其实前面说的大部分都有一个对应的单独文章的。所以这个文章里大部分也没很细讲(虽然有些可能也讲挺细的了)。希望那几篇单独文章能快点写完。
除此之外的,也有在手机上折腾了一个 yuzu,然后成功地…什么都没跑起来。好像是手机内存有点太小了初始化到一半就会 oom 崩程序。不过也是在 PC 上成功体验上了大鹅游戏(Untitled Goose Game)。也是给对象买了一个手柄然后有做到一起打游戏了。两个人一起打游戏的体验真开心😭可惜对象不怎么喜欢打游戏,未来大概也没什么机会能一起玩。对象说可以做一个手柄评测什么的水一个文章,虽然自己感觉自己用过的手柄也没几个,而且这次买的两个基本都是凑合用的水平,可能也评测不出来什么。(想起来还有一个三星板子的评测文章…写了一半也在草稿堆里放着🥺唉 7000 字好难)
这两个假期,中秋节和黄金周,这边也是天天下雨…出去旅游什么的,甚至是想稍微去远点的地方转转都没做到。明天又是工作日了,希望未来的节假日是晴天。
也希望堆起来的东西能快点完成吧。尤其是这好几篇文章。See you next article.
此文章由 安妮 花了 不知道多久 写完
此文章由 安妮对象 花了 1小时左右 完成校对整理,感谢 安妮对象 对本文章,以及 #Annouha 的奉献
發佈留言