跟着不良林,处理DNS泄露问题

不良林的视频估计是中文网络技术相关最强的视频内容了,今天抽空跟着教程处理一下 DNS 泄露的问题。视频参考 # 进阶•DNS 泄漏篇】竟能提速降延迟!再也不用担心 DNS 污染了!
查询 DNS 泄漏:https://ipleak.net

不良林的视频估计是中文网络技术相关最强的视频内容了,今天抽空跟着教程处理一下 DNS 泄露的问题。视频参考 # 进阶•DNS 泄漏篇】竟能提速降延迟!再也不用担心 DNS 污染了!
查询 DNS 泄漏:https://ipleak.net

使用 edgetunnel 的教程,部署完 pages 和 worker,小火箭,各种客户端都能正常用,就是 passwall 不行。现象就是,在 openwrt 的后台,使用 passwall 可以订阅,也有 ping 值,但是选为代理,就不能访问。
真实的技术原因不太清楚,目前试用下来就是因为域名的 dns 在 Cloudflare,如果使用了小云朵的代理,passwall 就不可用。
一定要使用 pages 部署,因为 worker 方式部署,DNS 配置没有小云朵开关,小云朵没法关闭,至少我没找到。

使用 pages 部署完,去 DNS 设置这里,小云朵关掉,把代理改为仅 DNS,passwall 可以用了。

家里的网络一直比较简单,也没怎么大折腾。
1、光猫改桥接,目的是获取公网 IP,
2、连一个 R4S 的双口软路由,目的是拨号、passwall2、端口转发等
3、然后再连一个路由器,设置成 AP 模式,有线接 NAS,无线当 WIFI。
一直这种方式用了几年,也省心,线路简单,也不需要复杂配置。偶尔距离路由器远的房间,信号差一点。最近把 AP 从华为的 AX6 的 WIFI6,换成了华为 BE3 Pro 的 wifi7。这样就多出了一个路由器,想着平常房间信号不好,准备用有线的方式多装个 AP,刚好不浪费。
问题来了:
1、弱电箱只有 2 个电源插口,一个光猫,一个软路由,也没法再加个交换机
2、R4S 只有 1 个 LAN 口,接了第一个 AP,就没法接第二个了
解决方法:
1、光猫上还剩下 3 个网口,似乎可以利用一下
在不改造所有硬件线路的情况下,所有网线还是从弱电箱出去,通过光猫剩余的网口,接 AP 用。
步骤如下:
1、光猫配置 VLAN,我是上海联通,ID 是 847,每个地方不同;绑定到网口 1
2、光猫的网口 1 连上 Openwrt 的 WAN 口,配置拨号设备为 vlan.847
3、Openwrt 配置 br-lan,除了默认的 eth1,再加一个 vlan.1

搬家完之后,大门锁是一个德斯曼门锁,型号是 T700,指纹识别特别拉胯,加上自己的手换季就有点脱皮,所以门锁一直用官方 app 开门,每次开门,都需要打开 App,靠近门锁,点击一下一键开门。
用了几个月之后,突然想到为啥这个门锁不支持像 Tesla 一样,靠近自动解锁呢?于是,我就在 app 上提了一个意见反馈,希望可以像 Tesla 一样,只要手机靠近,拉一下门把手就开门的功能。可能这个锁太小众,或者开发人员是外包?提交了需求,三个月过去了,后台一直都是待回复。
于是,自己写一个吧,虽然,没做过 iOS 开发,不过也不用做界面,就做蓝牙调用就好了。
iOS 使用 stream 抓包,获取网络 Http 请求,很容易就能找到 2 个关键请求。
/lock/command/secret 获取 command_secret ,这个值测试下来是固定的。
/lock/open/new 开锁
所有的请求使用 sessionId 进行用户验证,亲测一个 sessionId 基本可以用很久,几个月都不会过期。
使用 https://github.com/jnross/Bluetility 这个工具,即可扫描蓝牙设备,获取广播信息。可以找到锁的蓝牙特征值
1 | central.scanForPeripherals(withServices: [CBUUID(string: "6E400001-B5A3-F393-E0A9-E50E24DCCA9E"),], options: [CBCentralManagerScanOptionAllowDuplicatesKey:**true**]) |
拿到这些所有数据,就可以开始做个 app 了。步骤
1、蓝牙扫描周围设备,如果发现设备名称为 “LOCK_1234”的设备,即是自己的锁,1234 为锁的蓝牙 Mac 地址后 4 位拼接。
2、连接这个设备。
3、处理 notifyService 和 writeService。
4、将 Http 请求获取到的 command_secret 使用 hexWrite 写入蓝牙锁,锁会返回一个 secret 值。
5、使用锁返回的 secret 值,调用 /lock/open/new 即可获取开锁的 command
6、使用 hexWrite 写入 command ,锁就开了。
通过上面的流程,就可以完成一次开锁了,如何像 Tesla 一样,靠近,拉门把手,就开锁呢?
处理 deviceDidDisconnect 方法就可以了。断联后,自动等待下次连接,这个指令有 iOS 调度,所以也不用担心 App 后台的问题。
最终效果,还挺好,每天开门都不用掏手机了。


家里的网络一直是 openwrt+passwall+unraid+qbittorrent 做下载管理,在 m-team 和 zmpt 的网页上,每次看到接入 ip 有时候是本地网络,有时候又是代理,一直也没太关注,直到突然最近 m-team 判定为盒子,于是仔细设置一下网络。

1、 qbittorrent 的 Host 网络。unraid 上通过 docker 安装的 qbittorrent,容器开通的是 host 网络,因为 host 可以直接使用 upnp,虽然网上对安全性差一点,不过 Host 有更好的网络效率。这就导致 qbittorrent 的设置页面有很多的网络接口和 Ip 地址,服务端识别到很多的 IP,可能某次调整网络的时候,直接走了代理,就判定盒子了。

这是示例代码,主要处理 PDF 的去白边,再将尺寸调整为 A4 标准大小。
1 | import fitz # PyMuPDF |

iOS 17 虚拟定位似乎和以前 iOS 不太一样了,以前一直用 LocationSimulator,现在手机更新到 iOS17 后,就不能用了,找到一个新的项目。可以使用了。kinesis
注意事项:
1、下载 https://github.com/kkpan11/kinesis 这个 pull request 的项目,因为我也遇到同样的问题
1 | # Fix the AttributeError: '_RSAPrivateKey' object has no attribute 'write' |
2、python 使用 3.11.6,实测 3.12.* 是不行的
1 | conda create --name kinesis python=3.11.6 |
3、如果提示 pymobiledevice3 相关的错误,可以尝试更新依赖。
1 | pymobiledevice3==2.18.1 |


要忽略名为 RedisData 的文件夹,您可以在项目根目录下创建一个名为 .gitignore 的文件,并在其中添加以下内容:
1 | RedisData/ |
这将告诉 Git 忽略名为 RedisData 的文件夹及其内容。确保每行一个忽略规则,并在规则后面添加斜杠 / 表示忽略整个文件夹。

平常使用的电脑是一台 Mac,使用的 M1 max 64G 的内存,下载了 ollama 的模型。拷贝到家里的 Debian 电脑上。
从 Mac 模型目录,复制整个 .ollama文件夹
1 | /home/ron/.ollama/ |
到 Debian 的模型目录
1 | /usr/share/ollama/.ollama |
Debian 上,修改目录权限
1 | sudo chown -R ollama:ollama /usr/share/ollama/.ollama |
这样就可以正常运行了。