目录
Hshh's Cosmos
又是鸡飞蛋打的时间
一堆 Linux 需要更新 OpenSSH: CVE-2024-6387.
rustdesk
现在 TeamViewer 越来越恶心, 国内用还会提示绑手机号. AnyDesk 连接服务器慢, 中继服务器国内连接不快, 直接端口连接对于同一个ip地址不同端口支持不好.
改用 RustDesk, 自己搭了个服务端, 连接速度真够快的.
btrfs
由于 btrfs 缺少 ext4 的 e2image 工具, 所以如果要把分区前部空出一段空间, 而且使用空间超过一半, 就要操作很多步才能达到目的.
把当前的文件系统缩小, 修改分区缩小后段, 新建分区, 加到 btrfs 的相同挂载点.
重复上面步骤. 最后就是新建了一堆临时分区, 最后腾出前段的空间, 再反向操作.
如果给 windows 设置测试用的 IPv6
根据命令 netsh interface ipv6 show prefixpolicies
Precedence Label Prefix ---------- ----- -------------------------------- 50 0 ::1/128 40 1 ::/0 35 4 ::ffff:0:0/96 30 2 2002::/16 5 5 2001::/32 3 13 fc00::/7 1 11 fec0::/10 1 12 3ffe::/16 1 3 ::/96
如果只是测试, 不要给 windows 使用大于 label 1 的 IPv6 地址段, 避免以后碰到的坑.
碰到 bhyve 的 efi boot var 坏了
bhyve 里的 arch linux 更新重启后, bhyve core dump, 启动不了了.
把 ini 的 lpc.bootvars 注释掉, 正常启动, 看来不知道什么原因把 efi 的 启动变量弄坏了.
重新把 /usr/local/share/edk2-bhyve/BHYVE_UEFI_VARS.fd 复制过来覆盖掉, 启动正常.
重新进到虚拟机后, 用 efibootmgr 添加启动项, 修改启动顺序. 再次重启, 没问题.
非常奇怪, 坏之前明明没有碰过 efi boot var 啊.
有点想把 locale 设为 C.UTF-8
一直以来都在用 en_US.UTF-8, 但是用 sort, comm 总是怪怪的.
Linux
用 en_US, 排序会忽略符号
$ printf "a.d\na_c\nab" | sort ab a_c a.d
用 C
$ printf "a.d\na_c\nab" | sort a.d a_c ab
用 awk 排序, 不依赖 locale
$ printf "a.d\na_c\nab" | awk '{if ($0!="") {a[$0]}} END {asorti(a); for (k in a) {print a[k]}}' a.d a_c ab
FreeBSD
用 en_US
$ printf "a.d\na_c\nab" | sort a_c a.d ab
用 C
$ printf "a.d\na_c\nab" | sort a.d a_c ab
用 gawk 排序和 Linux 一样 (FreeBSD 自身的 awk 不支持 asorti)
DNSSEC & EDNS
查 DNS 总是 DNSSEC 失败, 查了几天, 终于想起来, DNSSEC 需要用 EDNS, 而我对某些 IP 段关闭了 EDNS. 原来傻逼是自己.
用 gost 替换 3proxy
自从 FreeBSD 14.1 开始, 3proxy 的 tcppm (TCP端口映射), 如果配置不指定 log 是不会继承主配置, 启动会报错. 虽然可以在参数指定 log, 但是还是觉得不爽. 看了半天源代码, 没找出问题.
我需要用到通过 socks5 做 TCP 端口映射. 可选的方案不多, gost 可以, 反正 go 的程序部署简单.
不过, gost 的 cpu/ram 占用还是要比 3proxy 高.
FreeBSD 14.1
FreeBSD hshh.org 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-10e31f094 hshh amd64