-
PN53 PVE 显卡直通踩坑记
PN53 6900HX + 64GB内存,用了半年多的 Win11,每次干点啥都 WSL,但是WSL 有些时候太麻烦了,而使用 VMware 太慢。所以想着换个硬盘来搞一下 Proxmox VE,把原来的 Windows 变成虚拟机,但是后来,硬盘买到手,改变主意了,直接踢掉原装的 512GB 镁光,换上国产 2T。
-
WSL Docker 迁移 Volume 到 Linux
看了一堆 Volume 迁移的教程,麻烦死。其实操作逻辑很简单,找到源主机的 docker volume 目录(一般在 /var/docker/volumes/ ),在目标端建立同名的volume,停掉两端的docker,从源把目录 rsync 到目标。 Windows 11 + WSL2 + Docker。 操作步骤如下 1 找到 Docker 的数据盘 VHDX。 我自己的磁盘被迁移到了 D盘,如果不知道在哪儿,一般在用户目录,例如 C:\Users\sskaje\AppData\Local\Docker,这个目录下 distro 是程序的镜像,data是数据的镜像。 如果还不在这里,Windows 11 可以使用任务管理器 -> 性能 右上角… -> 资源监视器 -> CPU,在关联的句柄里搜索 vhdx,然后操作docker,例如 系统托盘退出docker 再打开,或者打开docker-desktop 的界面,乱点点。 2 退出 Docker Desktop。 3 在 WSL 里 手动加载 Docker Desktop 的数据盘。 参考 https://www.sskaje.me/2023/08/13/wsl-mount-external-vhdx-disk/,找到…
-
WSL 加载 VHDX 文件
Windows 11 + WSL2 + WSL Ubuntu + WSL Debian 为了编译各种奇奇怪怪的东西,经常要在两个不同的 WSL Linux 里切换。 WSL 本质上是虚拟机,直接copy文件比较麻烦,用 /mnt/wsl/ 当共享目录也得去复制,所以索性在外边建了一个单独的vhdx 文件,当格式化成 ext4 后,给两个 WSL Linux 挂载。自己用不跑服务,不担心文件操作的冲突,遇到点小问题也能接受。 直接把下列命令加到 .bashrc 里,加完后 WSL 加载时自动检测并执行mount,实现把 vhdx 挂载成 /opt/work 。 这个脚本有个不合理的地方,因为我不知道如何从 WSL 已加载的磁盘里找到刚mount的,而正好我的几个硬盘大小不一样,所以找到了一个可以匹配的 pattern 去定位要挂载的分区。 但是我准备抛弃 WSL了,尝试把主机切换到 PVE下,这样远程出问题好解决。
-
OpenWRT Auto Bind USB Device to USBIP
OpenWRT 加载设备自动执行脚本使用的是 hotplug,官方文档在 https://openwrt.org/docs/guide-user/base-system/hotplug 一般 Linux 可能要使用 udev。 此方案的设计目标是,使支持 OpenWRT 的随身路由,通过 USB/IP,改造成车载CAN采集终端,并可以支持远程实时采集、刷写。 简单的脚本如下。(此处只使用了 ETAS 的产品的 USB VID,其他诸如 Vector,IntrepidCS,Peak 等的,修改 if 的条件即可。) /etc/hotplug/usb/99-usbcan 附上记录的日志,内容格式 插拔 ES582.1 的日志 其他已知的 USB VIDs: 也可以从Linux 内核源码里找 https://github.com/torvalds/linux/tree/master/drivers/net/can/usb
-
USBIP + Windows
测试环境:Linux(PVE) + Windows 10 软件 https://github.com/vadimgrn/usbip-win2 使用设备 ETAS ES582.1 服务端安装 启动后,服务端会打开 TCP 3240 端口。 客户端,Windows,安装二进制,按要求重启。 管理员模式 CMD 允许自定义驱动,执行完再重启 usbip.exe 被加到了 %PATH% 里,我是用的 0.9.5.5 版,命令行需要使用 usbip.exe ,如果使用 usbip 会无响应。 使用 ETAS HSP,设备能正常识别。 Linux 端,tcpdump 抓包,数据能抓到,但是 WireShark 自带的 dissector 暂时有问题,解析不完整。 理论上到了 tcp/ip 的这条路,做个 mitm 应该就好搞了。
-
使用 Proxmox VE 抓 USB 数据包
试过 Windows + USBPcap,Windows + VirtualBox,Mac + VirtualBox,都各种问题。 本来目标是监测一个设备的 usb 刷写过程,用笔记本电脑的方案里最靠近成功的是 Mac + VirtualBox,需要使用 root 启动 VirtualBox,相关命令如下 其中Address 里的s=,或者 UUID 每次都不一样,导致刷写过程的 USB 断开之后,下一次就没法自动发现了。 因为按VirtualBox 文档要求,需要手动 usbattach,所以还没办法用 USB filter 来自动操作。 而,文档里介绍的抓 Root Hub 的方法,在我的 mac 上无效,而我试图 Windows + VirtualBox,崩。所以转过来看qemu 的方案。 搜到了 qemu 的官方文档。 https://qemu-project.gitlab.io/qemu/system/devices/usb.html 于是赶紧去看 Proxmox VE 的 USB 选项,配置之后,可以正常发现设备,虚拟机里的软件也能正常识别。 ssh 到 pve 宿主机上,我的虚拟机 ID 102…
-
Gl-inet AXT1800 修改国家代码
暴力搜索,查到在 mtd8 导出 修改,opkg里没有 hexedit,但是有个 jupp 比较难用,ctrl + o + g 进入16进制模式,把 COUNTRY:CN 改成 COUNTRY:US ,再使用 ctrl + k + x 保存。可以看 ctrl + j 的帮助。 回写,重启
-
iOS DNS Tunnel
一直想留个 dns tunnel 的实例给手机用,以便不时之需。最近发现有个特殊场景,需要用到 dns tunnel。 很多年前调研的时候,选定了 iodine,但是客户端是个问题,windows的程序古早,而且需要 openvpn 古早版本的 tuntap 驱动,iOS之前一直没有找到合适的客户端,拿电脑开热点有点过于傻(虽然我还是买了个 Connectify并用过几次),带个 OpenWRT 的路由(gl-inet)配充电宝好像是可以但是也挺麻烦。 其他方案也看过,dns2tcp 算是接受度很高的方案,但是没找到 iOS 的客户端。 Github 上有个 iOS 版的开源项目,不想折腾。 最近又发现一个上架了的开源项目,Purple Haze,使用的方案是基于 iodine 的,省事了。 服务器,iodined MTU是个大问题,如果不指定,客户端每次建立连接都要去试。大概观察了一下客户端的日志,选了个小的 1120,客户端也得同步设置。 NAT是需要开启的。eth0是公网的出口设备。 实测,速度大概比 56k 猫的速度快一点,图片什么的基本看不到了,而且丢包率可观。 再,如果iodined的服务器有其他网络,需要指定出口,例如: 流量按本机的路由表转给其他二层设备,直接添加路由,并根据需求在出口设备上加 NAT。 流量转给一个 point-to-point 设备,例如 wireguard、sit tunnel,OpenVPN TUN等,或者 OpenVPN TAP 类似的 二层设备 例如,全部流量转给 wireguard wg0,table 33
-
Protected: 某 License Server 的逆向思路
There is no excerpt because this is a protected post.
-
EE_KEY_TOO_SMALL
Windows 11 + Python 3.10, ssl 加载了 1024-bit 的 证书和私钥。然后遇到了错误 EE_KEY_TOO_SMALL 。 尝试手动修改并加载 openssl.cnf ,无效。 由于是临时服务,只对内,所以简单粗暴 Python 3.10 的 OpenSSL 版本