使用 OpenSSH 连接到 OpenWRT 的 SSH 服务
Apr 25, 2023
OpenWRT 默认使用的是 Dropbear SSH 服务器,macOS 上的 SSH 默认是 OpenSSH,它们使用的密钥格式不同。 Dropbear 可以使用 OpenSSH 格式的公钥(id_rsa.pub),但是如果在 macOS 上直接使用 ssh 连接会报错: …
理解字节顺序的大端和小端
Apr 12, 2023
大端和小端是用来描述字节在内存中存储的顺序: 大端 (big endian):内存中的高位地址。 小端 (little endian):内存中的低位地址。 字节序的最小数据单位是字节(Byte)而不是比特(Bit),对于单个 char 不需要关心字节序。 …
使用命令行把 p12 证书导入系统钥匙链
Feb 19, 2023
使用 OpenSSL 把 p12 格式转换为 cer 格式: openssl pkcs12 -in MitM_CA.p12 -clcerts -nokeys -out MitM_CA.cer 把 cer 格式的文件导入到系统根证书中,并设置为信任: sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain MitM_CA.cer -d 表示把证书添加到「系统」。默认是添加到当前的「登录」中。 -r trustRoot 表示添加为信任的根证书。
iOS 13 新增的创建 Key Window 的方式
Jan 30, 2023
iOS 13 开始,SceneDelegate 取代了原来 AppDelegate 里的大部分代理方法,如果 App 最低系统要求是 iOS 13,那么就不会走原来 AppDelegate 里的代理方法了。 对应地,原来在 didFinishLaunchingWithOptions 里创建 Key Window 的逻辑也需要移到 SceneDelegate 中: …
[教程]使用证书助理创建自签名证书
Dec 21, 2022
在 macOS 上可以使用图形界面创建自签名证书,不需要记住 openssl 冗长的命令。 Apple 在 iOS 13 和 macOS 10.15 中对自签名证书有一定的要求:https://support.apple.com/en-us/HT210176 …
在 M1 芯片的 macOS 上创建 10.15 以及之前版本的启动 U 盘
Dec 21, 2022
因为 10.15 以及之前的系统镜像都是 x86_64 架构的,在 M1 芯片的 macOS 系统上直接运行 createinstallmedia 创建启动 U 盘会报错: $ sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/Lexar Killed: 9 解决方法是移除掉原有签名: $ codesign -s - -f --deep /Applications/Install\ macOS\ Catalina.app /Applications/Install macOS Catalina.app: replacing existing signature 在 M1 上转译运行 x86_64 的程序是不需要验证签名的,所以移除签名也没有问题。 …
从源码编译安装 macports
Dec 19, 2022
MacPorts 是 macOS 上的第三方包管理工具,它的特点是与系统自带的命令行工具环境互相独立。 下载源码包: $ https://github.com/macports/macports-base/releases/download/v2.8.0/MacPorts-2.8.0.tar.bz2 解压: $ tar -xvf MacPorts-2.8.0.tar.bz2 配置 MacPorts: $ cd MacPorts-2.8.0 $ ./configure --with-macports-user=root \ --with-install-user=root \ --with-install-group=admin \ --enable-shared \ --prefix=/opt/local 这里主要调整的是用户和组相关的设置,把 root 作为 macports 的操作用户,并且 macports 安装的程序都所属于 root:admin。 如果使用默认配置,就会创建 macports:macports 用户组作为 macports 的操作用户。 …
iOS 越狱后增加网络扩展的内存大小限制
Nov 17, 2022
Jetsam 是 macOS / iOS 系统中的内存监控程序,如果某个服务超出了所能使用的内存限制大小,Jetsam 就会直接把对应的服务或者 App 干掉。 网络扩展是 iOS 9 开始引入的特性,可以让开发者使用自定义的 Tunnel 进行网络通讯,直到 iOS 15 网络扩展的内存限制才从 15MB 提高到 50MB。 …
dot_clean 命令清除 macOS 上的隐藏文件
Nov 09, 2022
.DS_Store, _MACOSX 是 macOS 上特有的文件和目录,如果把文件夹打包发到 Windows ,别人就看到这些文件/目录就很奇怪。 dot_clean 是用于清除 . 或者 _ 开头文件的工具,使用比较简单: dot_clean /path/to/you/dir 而且会递归处理子目录,特别方便。 …
Mac 平台上常见的的包管理器的缓存位置
Oct 28, 2022
在 Mac 开发中,常用的包管理工具有三个: Cocoapods Carthage Swift Package Manager 这几个工具不仅支持本地路径,还支持远程 git 仓库连接。 随着使用时间的增加,包管理器积累的仓库代码会逐渐增多,有必要把它们的缓存位置记录下来,直接复制到其它电脑上使用,或者把缓存集中保存到一个地方,再使用符号链接重定向。 …