解决ikuai后台管理页面反向代理404问题
ikuai 的管理页面一般用 IP + 端口 访问,出于习惯和记忆方便考虑,我喜欢配置上域名。
用 caddy 配置上域名后,访问一切良好,直到有一天我升级了 caddy,页面突然打开空白。/static/css/app.be60beb9952431ed9dc9c166d90ab89e.css 等前端 JS 返回 404 状态码。为此进行了排查,结果令人难以理解。

好奇宝宝
ikuai 的管理页面一般用 IP + 端口 访问,出于习惯和记忆方便考虑,我喜欢配置上域名。
用 caddy 配置上域名后,访问一切良好,直到有一天我升级了 caddy,页面突然打开空白。/static/css/app.be60beb9952431ed9dc9c166d90ab89e.css 等前端 JS 返回 404 状态码。为此进行了排查,结果令人难以理解。

我用的是 Windows 11,很多台电脑都遇到类似问题,尤其是Chrome、VS Code工具中,切换Tab标签的时候,画面的一部分会停留在上一个标签页面的内容,此时切换下窗口到Chrome以外的窗口就好了。看起来是跟多窗口有关系,查了下禁用 MPO 即可解决。
操作步骤:
regedit,然后打开 注册表编辑器。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DwmOverlayTestMode。OverlayTestMode,在弹出的窗口中,将数值数据设置为 5,然后点击 确定。参考链接:
主板:华硕 ROG x670e extreme
更新最新 BIOS 时,无论是通过开机进入 BIOS 界面手动选择 U 盘更新,还是用 BIOS Flashback 按键+U盘更新,更新完成后重启时,屏幕提示 cypress pd firmware is updating,自动重启并循环提示。
记录一个坑爹的小问题,买了张七彩虹 4070 Ti Super 16GB 做推理用,结果用了一段时间,开机后会风扇狂转,并 nvidia-smi 输出报错、掉卡。
搜索到一篇帖子 折磨两月,总算找到4090黑屏风扇狂转的问题了,说是因为电源线没有插紧,试了下果然有效,本文记录下,SEO下方便检索到参考。
顺便记录下超微主板 H13SSL-N 风扇间歇性狂转的问题(供应商竟然和我说是正常的),可以用 ipmitool 调整风扇转速保持恒定。
~Update: 本文提的 Issue 在 huggingface-hub 的main分支已解决,暂未发版,大家可以手动安装main分支版本。~
huggingface-hub 目前对于 HF_ENDPOINT 的支持存在几个 bug,已经给官方提了 issue,在修复前,先记录下临时解决方案。
执行以下命令后再打开被sni阻断的域名
Mac OS
open -a "Google Chrome" --args --origin-to-force-quic-on=hf-mirror.com:443
Windows/Linux
cmd
"C:\Program Files\Google\Chrome\Application\chrome.exe" --origin-to-force-quic-on=hf-mirror.com:443
Powershell
Start-Process "C:\Program Files\Google\Chrome\Application\chrome.exe" -ArgumentList "--origin-to-force-quic-on=hf-mirror.com:443"
Update: 推荐 huggingface 镜像站: https://hf-mirror.com
Update: 推荐官方的 huggingface-cli 命令行工具、以及本站开发的 hfd脚本。
本文已发表至知乎 https://zhuanlan.zhihu.com/p/663712983。
Stackoverflow 上有个AI开发入门的最常见问题 How to download model from huggingface?,回答五花八门,可见下载 huggingface 模型的方法是十分多样的。
其实网络快、稳的话,随便哪种方法都挺好,然而结合国内的网络环境,断点续传、多线程下载等特性还是非常有必要的,否则动辄断掉重来很浪费时间。基于这个考虑,对各类方法做个总结和排序:
| 方法类别 | 推荐程度 | 优点 | 缺点 | |
|---|---|---|---|---|
| 基于URL | 浏览器网页下载 | ⭐⭐⭐ | 通用性好 | 手动麻烦/无多线程 |
| 多线程下载器 | ⭐⭐⭐⭐ | 通用性好 | 手动麻烦 | |
| CLI工具 | git clone命令 |
⭐⭐ | 简单 | 无断点续传/冗余文件/无多线程 |
| 专用CLI工具 | huggingface-cli+hf_transfer |
⭐⭐⭐ | 官方下载工具链,功能最全 | 无进度条/容错性低 |
huggingface-cli |
⭐⭐⭐⭐⭐ | 官方下载工具 | 不支持多线程 | |
| Python方法 | snapshot_download |
⭐⭐⭐ | 官方支持,功能全 | 脚本复杂/无多线程 |
from_pretrained |
⭐ | 官方支持,简单 | 不方便存储,功能不全 | |
hf_hub_download |
⭐ | 官方支持 | 不支持全量下载/无多线程 |
另外对于数据集的下载和模型基本相同,同理参考。
以下对上述方法进行介绍,并介绍几个常见问题:
利用 name.com 的 REST API 随手写了个 name.com 的 DDNS 脚本:
最近给 Git 配置代理,发现给 SSH 配置有认证的代理并不容易,没找到直接的教程,其实由于 ssh:// 形式的 Git 链接会走 SSH 协议,问题已经转化为 ssh 如何配置有认证的代理,这样就好搜到相关资料了,为方便后来者检索,本文对 git 的代理配置做个总结。
Git 支持 http 和 ssh 两种传输协议,前者就是 git clone https://github.com/xxx/xxx 这种形式的 URL,后者是 git clone [email protected]/xxx.git 这种形式。由于是两种不同的协议,因此要分协议单独配置。
Pixel 自用,分享出来:
captive.padeoe.com
使用方法:
adb shell "settings put global captive_portal_http_url http://captive.padeoe.com";
adb shell "settings put global captive_portal_https_url https://captive.padeoe.com";
服务端使用 caddy 搭建的,配置仅3行:
http://captive.padeoe.com https://captive.padeoe.com {
respond 204
}