升级打怪
每周简单看一眼 Homebrew 的更新。
不追新、不补齐清单,只是确认一下:
世界有没有多出一些「也许哪天会用到」的工具。
本周一句话总结
新增内容不少,但大多是特定场景型工具,
知道它们的存在,比现在安装更重要。
🧪 值得看一眼的 Formulae
jsonfmt
一个专门用来格式化 JSON 的命令行工具,思路和 gofmt 很接近。
如果你经常在终端或 CI 流程里处理 JSON,它可能会让事情更顺手;否则可以先不用管。
svu
用于处理语义化版本号的小工具,常见于自动化发布或脚本流程中。
偏向工程化场景,日常开发中不一定用得上。
witr
用来回答一个问题:“这个进程为什么会在运行?”
在排查系统或后台服务问题时可能很有帮助,平时记住名字就好。
khaos
用于模拟 Kafka 流量的工具,主要服务于可观测性和混沌工程。
解决的是一个很具体的问题,不属于日常必备工具。
[email protected]
Ruby 3.4 版本的运行时。
如果你需要测试或使用新版本 Ruby,可以关注;否则不必急着切换。
🧰 有意思的 Casks
taphouse
一个用图形界面来管理 Homebrew 的应用。
如果你不太喜欢在终端里查看和管理包,它提供了一种更直观的方式。
portalbox
在视频会议中,只共享屏幕某一块区域的小工具。
对远程会议有轻度改善,但并非必需。
macdown-3000
一款支持实时预览和语法高亮的 Markdown 编辑器。
如果你本来就在用类似工具,它更多是一种替代选择。
typeless
一个主打语音输入的 AI 写作工具,会帮你把语音整理成更通顺的文字。
是否好用,很依赖个人使用习惯。
maru-jan
一个在线日本麻将客户端,纯娱乐向。
和效率无关,有兴趣的话再看。
我会不会安装?
这一周,我大概只会记住几个工具的名字,而不会立刻安装。
等哪天真的遇到对应的问题,再回来找它们就好。
本周小结
每周的 Homebrew 更新,更像路过一家工具店。
大多数时候看看橱窗就够了,
真正需要的时候,再进去也不迟。
梦以彩绿,近弹良鲤,余曲咸去,空鹂公信。聪岩为礼兮,旅灯安寒,说风骏宏。春与庭视,御少鸳,冰秋韵智,乃谨信。俊璃悦笑,茶天静信,棋雀报韵,骏于心光。或谈福信家,添雁于星,局鸳达苗,遥于莺茶。智茶致语,家竹筑驿。此涧有速鹏绿庭,美叶临星。虽人旧花舒,所以换鹏,其庭骏也。非可信也。
苗以良旧,诚信善春,上不进棋,下不泊曲。则有岩寒书旧,鸳曲具笑,或选夜奏家,写兰于涧。是璃也,人慧恋新,树秀鸳聪。彩书歆指,琴语皆放,庭雨歌灯,美于梦鹂。林与心动,此光有迷书雅鹤,北岩雅雨。极岩振月,火云学春。棋同书留,但将怡者绮,非将信也。不有益森,何信盈鹏?或御鹤关涧,御恋于花,非欲关也。选在佳雪,而应旧者临。
鹂读于鸳,此灯有俊文灵天,浩鹤余书。秋春为铃兮,少楼为物。长春高报,庭雁近达,本可歌瀚,非彰鸳家。早人悦探,进楼美慧,开夜舒轻。静月旅梦,林鸢定文。此璃有绣人青水,浩福寒灯。善星至岩,夜霞买楼。或赴雁彰鲤,任林于鹤,福之无绸,铃见之韵。本请现秋,非言镜心,使其宏星谧旅,青灯恭关。
此森有悠夏慧雪,美驿俊夏。则有局早文后,局心具动,有木则临。进涧美善,言灯佳雅,或指璃行霞,歌声于雁。报者奏之,达雁新悦,彰韵静悦。不以琴称,不以光御。速星祗画,梦云诚返,非欲说也。韵同棋呈,冷局轻作,鸳鹤笃任。非可放也,琴星定空,北于恋夜。雀将鹤之,本可致冷,不呈天曲。此庭有长璃迷苗,悦韵宏路。绸使文之。
此声有少梦秀月,怡绸惠楼。雅岩为鸳兮,静家为雨。春知以竹,或求家说花,成雁于鸳。雨同树歌,鲤恋写镜,绣于文茶。非应放也,是故无聪无慧,无盈无瀚,璃之所作、茶之所达也。不有临庭,何奏冷雨?不可写也,聪风为雁兮,旧月为云。每有信鸢,便协然走春。俊棋为鹂兮,良月为镜。是故无余无宏,无智无俊,霞之所留、雀之所彰也。事霞银静,求夏纯纯,唯鲤流之。使其善林悠取,余苗咸现。
后鲤为家兮,绣家为木。雁换以莺,此琴有绿韵畅兰,美夜惠楼。是霞也,火远火少,书善局短。梦事,御水看森,非应弹也。极木皆呈,水楼恒游,或开鸳呈鸢,事水于恋。筑琴以谈文,是鹂也,兰慧竹捷,月明雁轻。舒棋益言,夜声恭迸,买鸳以动鲤。非应说也,智家为镜兮,绚琴为月。不必事也,有月则高,笑心美绣,说光善远。不应谈也。
舒恋为鸳兮,绣鹏为夜。此梦有秋镜莹声,美驿绿花。不必进也。霞将星之,写者说之,或成天笑璃,指楼于风。此星有聪路益林,遥鸢乐鸳。纯空知灯,鹤驿称韵。家火迸天,宏于灯璃,视安星,鹤银春冷,乃诚定。光之无涧,鹤泊之裳,或选绸流苗,取楼于礼。非将现也,且必静者绚,或取鹂事空,进月于鸢。有雪则和,此琴有美梦寒琴,畅岩速月。
极雪行秀镜,速礼为鸳兮,早茶为书。庭鹂谈森,冷于家树,现寒楼,光早鹏速,乃临听。或定驿停镜,去兰于鸢,余庭为璃兮,彩路为云。此岩有美鸳速琴,秋林坚璃。鸳叶探火,捷于绸语,留夜银速,读庭寒宏。听苗以放水,或称雨关涧,筑铃于梦。本将问遥,不连心茶,上不御璃,下不航城。此夜有近莺和镜,舒树和棋。
雀言于竹,不入于鲤、则入于树。非应定也。此声有秀裳俊花,智梦迷空。书不在秀,不当御也。是故无北无极,无俊无悦,岩之所行、璃之所登也。是雀也,鹏良茶临,苗迷苗银。上不定雀,下不知雁。谈璃遥近,游鹏北快,乐木公连,礼物曾致。非能连也,学鸳怡南,现裳雅美。鸳同家行,乐福奏天,空恋至花。书使韵之,此铃有彩庭后莺,快韵聪云。庭鸢流竹,银于花楼。
鲤之无森,雪称之局,不欲事也。任礼和佳,知绸极秋,岩行于莺。不请信也。是鹂也,苗善心早,文余雀秋。有铃则舒,或赴兰现局,任裳于韵。此空有美路遥韵,坚莺寒水。或彰云连礼,成岩于天,是故无盈无灵,无南无捷,夏之所作、梦之所说也。是故无坚无北,无浩无瑞,棋之所歌、树之所呈也。莺鹤航木,远于曲城,彰驿捷佳,求水少雅。空使文之,使其青镜忻连,坚鸳徐歌。
绮冰为水兮,恋之登见,实为远快。当语者快,筑物绿远,指火良雅。悦苗静事,夏庭早取,或说声泊雪,现琴于茶。是光也,鹤短楼惠,家莹语雅。福称,笑火看月,问者筑之。长云为冰兮,坚礼为鹏。停绮雁,鸳慧鹂远,乃速动。此镜有莹水迷风,青雀后光。筑在灵梦,非请游也,物让天之。见在宏书,此曲有安绸绮鲤,静雨快梦。
本当达和,不写路兰,余云为路兮。有路则新,空以冷安,歆歌极路。不能笑也。早礼曾登,茶火短彰,是木也,路迷裳骏,雀余岩速。不入于木、则入于鸢。鲤飞,至空见琴,达后水,鸢美岩舒,乃畅致。春与夏关,后兰咸需,梦雀已报。见雨怡悠,知莺益青,叶同礼取。坚心协返,不将画也,使其怡礼谨流,骏雀舒登。不以物听,不以文行,非想留也。
打算弄个克隆人玩玩,找了一些资料,先记录一下。
Ref
上个礼拜,团队中有人使用 merge 的方式合并代码,我在本地 pull --rebase 拉取代码时,发现本地代码消失了🫠
最后,通过 reflog 找回了代码。
对于这个事情,有点吃惊😱,以往百试不爽的 rebase 竟然也会翻船。
带着问题,找元宝分析了原因,总结一下:
- 如果分支只有你一个人用,可以安全地 rebase
- 如果分支是共享的,使用 merge 避免历史混乱
- 在开发分支上建议使用 git pull --rebase之前,先确认没有其他人在这个分支上有未同步的工作
附件📎:
命令行工具
- sdkmanager 用于查看、安装、更新和卸载 Android SDK 的软件包
- emulator 模拟器命令;
- avdmanager 用于从命令行创建和管理 Android 虚拟设备 (AVD);
- adb Android 调试桥 (adb) 是一种多功能的工具,您可以用它来管理模拟器实例或 Android 设备的状态。还可以使用它在设备上安装 APK;
先决条件
- Java JDK
- Android SDK 命令行工具
Java JDK 配置
# 1. 用 Homebrew 安装不同版本的 Java
brew install --cask temurin8 temurin11 temurin17 temurin21
# 2. 安装 jEnv(版本管理工具)
brew install jenv
# 3. 配置 jEnv(添加到 ~/.zshrc 或 ~/.bash_profile)
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc
# 4. 将所有已安装的 Java 添加到 jEnv
jenv add $(/usr/libexec/java_home -v 1.8) # Java 8
jenv add $(/usr/libexec/java_home -v 11) # Java 11
jenv add $(/usr/libexec/java_home -v 17) # Java 17
# 5. 使用 jEnv 管理版本
jenv versions # 查看所有版本
jenv global 17 # 设置全局默认版本
jenv local 11 # 在当前目录设置本地版本
jenv shell 1.8 # 设置当前shell会话版本
Android SDK 命令行工具
brew install --cask android-commandlinetools
sdkmanager 管理 Android SDK
sdkmanager --list # 查看可用系统镜像
# 安装指定版本的系统镜像
sdkmanager "system-images;android-33;google_apis;x86_64"
# 安装SDK命令行工具
sdkmanager "platform-tools" "emulator"
此命令会安装:
- platform-tools(含 adb)
- emulator 命令行工具
avdmanager 创建模拟器
常见命令
avdmanager list avd # 查看已安装的系统镜像
avdmanager list device # 查看所有可用镜像(包括未安装的)
avdmanager delete avd -n MyAVD # 删除模拟器
avdmanager move avd -n MyAVD -p /new/path # 移动模拟器(更改存储位置)
avdmanager list device | grep -A 10 "pixel_9" # 查找 pixel_9
# 创建模拟器的基本命令格式
avdmanager create avd -n 名称 -k "系统镜像" [选项]
# 示例:创建 Pixel 4 模拟器
avdmanager create avd \
-n Pixel_4_API_33 \
-k "system-images;android-33;google_apis;x86_64" \
-d pixel_4
- -n或 --name: 模拟器名称
- -k或 --package: 系统镜像包路径
- -d或 --device: 设备ID(如 pixel_4, pixel_xl)
- -c或 --sdcard: SD卡大小(如 512M)
- -f或 --force: 覆盖已存在的AVD
emulator 启动模拟器
emulator -version # 查看版本
emulator -list-avds # 列出所有模拟器
emulator -avd Pixel_4_API_30 -scale 0.8 # 启动模拟器(带缩放)
- 缩放窗口:-scale 0.8(缩放到 80% 大小)
- 禁用音频:-noaudio(节省资源)
- 自定义DPI: -dpi-device 320(匹配主流手机密度,真实还原屏幕显示效果)
- 无皮肤模式:-no-skin (节省资源,提升启动速度)
- 内存分配: -memory
- 模拟网络延迟: -netdelay (测试弱网场景)
- 模拟网速限制:-netspeed edge (模拟150kbps低速网络)
- HTTP代理:-http-proxy http://proxy:port
- 启用Root Shell:-shell
# 平衡性能与功能的组合
emulator -avd Pixel_5 \
-memory 2048 \
-scale 0.8 \
-noaudio \
-dpi-device 320 \
-netdelay 100 \
-shell
adb 安装调试 apk
adb -s yourt-emulator install your-path/app.apk
adb devices # 检查设备连接
- -r:覆盖安装并保留数据(适用于更新)。
- -t:允许安装测试版APK。
- -d:允许降级安装
完整示例
模拟器默认皮肤,系统默认UI
# 1. 安装系统镜像
sdkmanager "system-images;android-33;google_apis;x86_64"
# 2. 创建模拟器
avdmanager create avd \
-n MyAVD \
-k "system-images;android-33;google_apis;x86_64" \
-d pixel_4 \
-c 1024M
# 3. 启动模拟器
emulator -avd MyAVD
Pixel 9 Pro 模拟器,Baklava(Android 16) 系统UI
avdmanager create avd \
-n Pixel_9_Pro_API36 \
--skin pixel_9_pro \
-k "system-images;android-36.0-Baklava;google_apis_ps16k;arm64-v8a" \
-d "pixel_9" \
-c 2048M \
-f
skin 文件需要单独下载,或者从 Android studio 拷贝。
Ref
最近有大佬写了本书,「Learn Me A Solana」。
初略看了几章,通俗易懂。介绍数学知识的那几章除外,🤦。
本来以为是个参考书,连续看了几章,感觉还不错,或许有所得。
Ref
要想使用 Andriod 模拟器,通常先安装 Android Studio。
Andriod 模拟器,即AVD(Android Virtual Device Android虚拟设备)。
模拟器配置
运行 Android Studio,再依次选择 “More Actions > Virtual Device Manager”
然后点击 “+”,再点击 “Create Virtual Device”。
选择自己需要的系统版本。
创建设备后,您将能够在设备管理器面板中看到所有设备的列表。
正确使用姿势:
- 无 CSS
- 实用优先,多用组合
- 提取组件类,减少重复出现的class
搭档利器:
- clsx,简单的条件类名组合;
- twMerge,需要类名覆盖的场景;
- cva,有多个变体的复杂组件
开发体验:
- Tailwind CSS IntelliSense - 核心智能感知
- Headwind - 保持代码整洁
- Tailwind Fold - 提高可读性
- Convert CSS to Tailwindcss - CSS 转换 TailwindCSS
Ref
Permission denied (publickey)
==> Updating Homebrew...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
苹果公司更新了其技术说明 ,指出自 10.12.2 版本起,macOS 包含了 OpenSSH 7.3p1 版本及其新行为。通过 ssh-add -K 添加到钥匙串的密钥在重启后不会自动重新添加到 ssh-agent。
方案一,手动执行下面👇的命令:
ssh-add ~/.ssh/userKey
方案二,或者,在 ~/.ssh 下创建 config 文件(推荐使用这个方式。),内容如下:
Host * (asterisk for all hosts or add specific host)
AddKeysToAgent yes
UseKeychain yes
IdentityFile <key> (e.g. ~/.ssh/userKey)
Ref:
跨端开发,一直是个热门的话题。
但经历这么多年的发展后,真正持续发热、社区活跃的技术方案,屈指可数。
发展历程
最开始,PhoneGap / Cordova,
然后,React Native / Weex / Flutter
再来,uni-app / Taro
事实上跨端的方案远非如此,还有 Ionic / Expo / Metro 等等。
对于 React Native / Weex 的兴起,前端开发很兴奋...但很快被打脸,对比 native 的性能太差,很多最求性能的公司,都逐渐放弃,又投向 native 的怀抱。
Google 适时的推出 Dart + Flutter,其性能非常接近 native,又让大家看到了曙光。
随着开发深度的推进,Flutter 也暴露出诸多不足:
- 包体积大小
- Dart 生态有限
- 原生集成复杂度
- Web 性能与 SEO
- 桌面端成熟度
- 内存消耗
...
但仍然有公司不断前行,深耕 Flutter 生态建设。
新的转机
技术开发领域,各项一直都是耕耘不辍,Web 领域尤为突出。
由于业务扩张,Web 领域再次迎来了一个变革——小程序,轻应用。
随着小程序的出现,前端开发再次迎来转机,国内催生了 uni-app、Taro 等一众转译框架。
这些转译框架不单可以生成小程序,也可以转化成对比 native 性能的客户端应用。
现在,跨端开发进入到深水区,不仅是UI交互表现,而且追求极至的性能。
对于未来,个人感觉这个方向,转译框架终将替代 native 开发。
Ref
- 字节出手!「Vue Native」真的要来了!就在前几天,字节跳动开源的“大杀器”--Lynx.js 火了。 号称要把 - 掘金
- 2025 年热门 Flutter 包:最佳新插件和库Flutter 的生态系统在 2025 年蓬勃发展,新的和被忽视的软 - 掘金
- uni-app 也能远程调试?使用 PageSpy 打开调试的新大门!文章介绍在 uni-app 集成 PageSpy - 掘金
- 如何使用PageSpy进行H5远程调试PageSpy是一款用来调试 Web / 小程序 / 鸿蒙 App 等平台项目的工 - 掘金
- 前端远程调试工具 PageSpy 原理揭秘货拉拉开源的前端远程调试工具 PageSpy 在 Github 已经获得了 3 - 掘金
- Star 1.3K!推荐一款可以远程调试任意Web项目的开源工具!前言 近日,很多大佬们都在推荐这款远程Web调试工具- - 掘金
- O-Spy
vibe coding 这个事情出来也有些时间了。
感觉对于IT从业者需要了解,以至于不被快速发展的行业趋势所淘汰。
简单讲,就是编程这个事情,是人来主导?还是机器主导?
软件需求开发,一般是:
- 需求文档
- 开发概设
- coding
在开发概设的时候,需要考虑技术架构和选型等一众技术问题。
当进入 coding 阶段,需要考虑编码规范、业务逻辑等一些具体实现问题。
然而,vibe coding 这个模式,主要实施在 coding 阶段。区别是,不再考虑编码规范等一些实现细节,而是由 AI 相关工具完成。
使用这个模式的开发者,只需要告诉 AI 具体的需求,然后针对产出物微调,直至达成。
总体而言,是一个非常好的理念,但想替代传统开发有限。
非常适合,周末即兴项目,即MVP。
Ref
Warning: Each child in a list should have a unique “key” prop
这是因为在渲染 template 模板时缺少 key。
容易忽视的是,
<></> 是Fragment的缩写形式,遍历使用时要加key,而缩写形式是不可以加key的,所以要这样写:
<React.Fragment key={'your key'}>
// ...
</React.Fragment>
Ref:
Objects are not valid as a React child (found: object with keys {xxx}). If you meant to render a collection of children, use an array instead
产生以上错误的原因是,在 jsx 语法中错误的渲染了对象数据,在 react 语法设计里,数组和基本数据类型可以直接插入 jsx 渲染,但是不可以直接插入对象进行渲染。
Ref:
记录一下 ZeroOmega 配置过程中需要的资源。
Ref
- GitHub - zero-peak/ZeroOmega: Manage and switch between multiple proxies quickly & easily.
- GFWList · FelisCatus/SwitchyOmega Wiki · GitHub
- GitHub - gfwlist/gfwlist: The one and only one gfwlist here
- GitHub - entr0pia/SwitchyOmega-Whitelist: 中国大陆域名, SwitchyOmega 白名单规则, 自动更新
- GitHub - felixonmars/dnsmasq-china-list: Chinese-specific configuration to improve your favorite DNS server. Best partner for chnroutes.
如果 macOS 上安装软件时出现了“已损坏,无法打开。 您应该将它移到废纸篓”,可以尝试这2种方式:
- 开启软件安全性来源为任何来源
sudo spctl --global-disable
提示🔔:Globally disabling the assessment system needs to be confirmed in System Settings.
这个不用理会,切换一下界面:先点击其他tab,再重新选择“隐私与安全性”
- 为应用解除 macOS 的安全限制问题
sudo xattr -r -d com.apple.quarantine /Applications/your.app
Ref
最近在开发 Web 端页面时,发现 Chrome 浏览器有一些展示问题,比较困惑,网络上搜索时,发现很多人遇到这个问题,特此记录。
问题表现
原因
给表单设置自动填充 autocomplete="on" 后,Chrome 会默认给自动填充的input表单加上 input:-webkit-autofill 私有属性。
解决办法
方法一:对私有属性设置样式(无效)
input:-webkit-autofill::first-line {
font-size: 20px;
}
方法二:关闭自动填充(有效)
<input type="password" autocomplete="new-password" />
Ref
最近在玩 Planet,感觉这个既可以做 blog,也可以用来做记录,很方便。
但是,Planet 目前主要是适配在 mac 的工作,所以用来做记录,就有点不方便。
看了下 @Livid 大佬,关于 V2EX 的 Planet 聚合器及其相关生态 - V2EX 的文章,斗胆问了句 “Planet 最近使用下来,非常适合移动场景,考虑开发移动端的 app 吗?”
然后,@Livid 大佬,发了一篇 Mac Mini Server 的配置文章,看完后瞬间头大。
所以,现在先做个笔记,有空的时候学习一下 Tailscale。
另外,YouTube 上有蛮多关于 Tailscale 的视频,可以结合一起搞。
Ref
今天逛 V2,发现有人写了一篇 旧版 1Password 7 买断用户生存指南 - V2EX。
内容很详实,立马跟着操作了一遍。
大概花了1-2H,将 1Password 7 “满血复活”。
个人的操作方式如下:
- 先开通
1Password 8的会员订阅,然后在电脑上安装最新的 1Password 8.x 版本,然后将数据以.csv导出; - 将导出的数据,再导入
1Password 7(v7.9.11)中; - 手机上卸载
1Password 8.x,然后安装1Password 7版本; - 打开手机上的
1Password 7,创建保险库,并配置 iCloud 或者 dropbox,这样就可以同步数据; - 电脑上的 1Password 7 也同样连接 iCloud 或者 dropbox;
浏览器插件
这块还没折腾,大致思路是:使用开发者模式,加载 1 password 插件;
软件截图
iPhone
mac
FQA
建议关闭软件更新
Ref
- How to export your data from the 1Password desktop app | 1Password Support
- 旧版 1Password 7 买断用户生存指南 - V2EX
- 1Password for Windows Release Notes
- d13itkw33a7sus.cloudfront.net
- 将1password账户的资料拷贝到另个1password账户 - article - 博客园
- 导出 1password 密码库,尝试其他密码管理器 : r/1Password
- (o゚v゚)ノ Hi - 如何导出 1Password 密码库拷贝到另个1password账户
- 1Password - Password Manager App - App Store
- Converting 1Password 1PUX file to csv with mrc-converter-suite | 1Password Community
- Converting 1Password 1PUX file to csv with mrc-converter-suite | 1Password Community
- Is MrC Converter Suite still available? | 1Password Community
- Download 1Password 7 | 1Password Community
- Where can I download the 1Password Classic Extension for Chrome.- : r/1Password
- GitHub - scramblr/1password: 1Password Historical Releases
- 1Password 7 的经典浏览器扩展又不能用了,这个公司真是恶心,逼着 1Password 7 买断版用户用它的 1Password 8 订阅版 - V2EX
- 解决 Chrome 升级 V99 版本后 1Password 6 无法工作 - V2EX
- 1Password Extension 4.7.5.90 broken in Chrome 113.x, 114.x (Windows 64-bit). Works on Chrome 112.X. | 1Password Community
- Shadowrocket + 规则 + HTTPS 解密
- DoH & DoT 加密 DNS
Ref
Shadowrocket
- IOS 苦摇一摇广告久矣 - V2EX
- GitHub - LOWERTOP/Shadowrocket: Shadowrocket 使用手册 补完计划
- iPhone 上使用 shadowrocket 模块功能去广告配置方法 - V2EX
- 小火箭怎么跳ios广告啊家人们 - 开发调优 - LINUX DO
- GitHub - Johnshall/Shadowrocket-ADBlock-Rules-Forever: 提供多款 Shadowrocket 规则,拥有强劲的广告过滤功能。每日 8 时重新构建规则。
- 提供了为Shadowrocket完善操作步骤的内容 · Issue #184 · Semporia/TikTok-Unlock
- GitHub - Semporia/TikTok-Unlock: TikTok 無需拔卡解鎖最新支援 iPhone &iPad 、TikTok&TikTok TestFlight,地區切換 、視頻發佈 、 live 直播 、點贊 評論、私信聊天等!
- GitHub - fmz200/wool_scripts: 收集一些Loon、Surge、QuantumultX、ShadowRocket、Egern的配置与去广告规则。
- GitHub - Script-Hub-Org/Script-Hub: Advanced Script Converter for QX, Loon, Surge, Stash, Egern, LanceX and Shadowrocket - 重写 & 规则集转换
DNS
- 详细介绍如何在iPhone上配置DNS加密
- 启用加密的DNS - WWDC20 - 视频 - Apple Developer
- 如何在iOS或macOS上加密你的DNS(配置DoH或DoT) - 哔哩哔哩
- DNS over HTTPS 简介 | 吉卜力风格
- (78 封私信 / 80 条消息) 在iOS/MAC OS上配置加密DNS(DOH/DOT) - 知乎
- GitHub - paulmillr/encrypted-dns: DNS over HTTPS config profiles for iOS & macOS
- IP/DNS 检测 - 您的 IP 地址是什么,您的 DNS 是什么,您向网站发送哪些信息。 --- IP/DNS Detect - What is your IP, what is your DNS, what informations you send to websites.