解决 macOS 上运行 App 提示「已损坏」的问题
Apr 29, 2024
假如你打开别人发过来的 Sublime Text,系统提示「已损坏」。那么说明这个 App 被修改过了,最好遵照系统的提示不要运行。 但是,你很确定它的来源没有问题,又想体验一下最新的功能,可以用以下命令移除这个风险提示: …
找回缺失的 md5sum 命令
Apr 19, 2024
MD5 和 SHA1 算法因为安全问题已经被标记为废弃,所以与之相关的命令也被移除了。 可以通过安装这个 md5sha1sum 工具包把这些命令找回来: sudo port install md5sha1sum 安装后,这三个被废弃的命令又回来了:md5sum, sha1sum, ripemd160sum …
生成符合 GitHub 要求的新版本 SSH Key
Apr 19, 2024
传统的 RSA 算法的 SSH Key 已经被 GitHub 废弃了,现在需要使用新的算法: ssh-keygen -t ed25519 -C "[email protected]" 会生成使用 ed25519 算法的公钥和私钥,把公钥文件内容更新到 GitHub 上就可以了: cat ~/.ssh/id_ed25519.pub | pbcopy
FreeBSD 启用 BBR
Apr 17, 2024
BBR 是谷歌设计的用来解决 TCP 拥堵的优化算法,最早是用于 Linux ,现在 FreeBSD 也支持了。 加载 BBR 驱动 $ sudo kldload tcp_bbr 更改 TCP 协议栈为 BBR: $ sudo sysctl net.inet.tcp.functions_default=bbr $ sudo sysctl net.inet.tcp.hpts.skip_swi=1 持久化保存配置 sudo sysrc kld_list+="tcp_bbr" 启动时自动修改网络的 tcp 协议栈配置:/etc/sysctl.conf …
VN009 获取超级管理员权限
Apr 15, 2024
!!! 2.7 版本的固件把 adb 调试关掉了,这篇文章仅适用 2.6 版本,如果你已经升级到 2.7 或者以上版本,需要刷回 2.6 再执行以下操作。 需要安装 android-platform-tools ,如果你是 macOS 系统,可以使用 macports 进行安装: …
Openwrt 使用 stubby 实现 DoT 代理
Apr 14, 2024
默认设置下,OpenWRT 使用 DNS Masq 进行 DNS 转发,所以客户端通过 DHCP 分配到的 DNS 地址是路由器的地址。 DoT(RFC 7858) 和 DoH(RFC 8484) 都是 DNS 加密标准,区别在于使用 TCP 还是 HTTPS 替代之前的传统 UDP 查询。 …
Openwrt 安装 modemmanager 的注意事项
Apr 14, 2024
luci-proto-modemmanager 是 OpenWRT 中统一管理 SIM 卡拨号上网的组件。 安装 luci-proto-modemmanager 后发现一个问题,找不到 USB 设备。 解决方法是手动安装 kmod-usb-serial-option 组件: 安装后重启路由器,再重新添加 modem 接口就可以正常使用了。 …
解决安装 Xcode 后仍然需要依赖 CommandLineTools 的问题
Mar 26, 2024
在执行命令 sudo gem install cocoapods 安装 pod 的时候,出现了一个错误: clang: warning: no such sysroot directory: '/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk' [-Wmissing-sysroot] 可是我已经安装了 Xcode 15 ,难道还需要安装 CommandLineTools?这个安装脚本看来是硬编码了路径,只会去找 CommandLineTools 目录下的 SDK。 …
Swift 中使用字符串 length 时的注意事项
Mar 07, 2024
在 NSString 中,有一个length 属性,在 NSMutableAttributedString 设置属性的时候, range 指定的 length 需要和 NSString 的 length 一致,否则就会出现越界错误而导致崩溃。 在 Swift 中使用的是 String 而不是 NSString ,而且 String 是全新设计的类型,虽然可以和 NSString 桥接互相使用,但是 String 的 count 属性却和 NSString 的 length 完全不同,如果在 Swift 里面操作 NSAttributedString 的时候,对于 range 的 length 设置,使用的是 count ,就会造成错误。 …
解决 Xcode 智能提示失效的问题
Dec 13, 2023
清理 xcuserdata 和 DerivedData 可以有效解决 Xcode 打开项目慢和智能提示无效的问题: $ rm -rf your.xcworkspace/xcuserdata $ rm -rf your.xcodeproj/xcuserdata $ rm -rf ~/Library/Developer/Xcode/DerivedData Tips: 如果使用 git 作为项目管理的话,建议把 xcuserdata/ 加入到 .gitignore 文件中。