本文记录给我的机械革命钛钽PLUS换屏。 旧屏幕用了将近4年（2021年6月购入），今年花屏（几月份来着，不记得了，这不重要），然后全黑，最后怎么都不亮了。我外接了两块显示器使用，一根使用 typec to hdmi 接入显示器，另一根使用 hdmi to hdmi 接入显示器。最近准备给这个电脑换一下屏幕，了解到机革同年甚至22年几个系列都喜欢用京东方 NY2 屏幕，网上能搜到很多翻车信息。 哔哩哔哩这两个视频评论区有很多有价值的信息，如果你有同款电脑并且屏幕有问题的不妨看看。 机械革命钛钽PLUS 花屏，黑屏，坏屏问题： 【铭达数码电子商行:机械革命蛟龙7 钛钽Plus 旷世 笔记本屏幕换屏教程。】 https://www.bilibili.com/video/BV1PN4y1W7jf/ 【机械革命 钛钽plus 刚过保 NE173QHM-NY2屏幕挂了 自己换屏】 https://www.bilibili.com/video/BV1mP4119768/ 原屏幕 面板 京东方液晶模组NE173QHM-NY2 面板型号 NE173QHM-NY2 详细信息见屏库网链接 https://www.panelook.cn/modeldetail_cn.php?id=49784 我在淘宝买了一块新的，A+品质，将近无暇的屏幕，我选择了NZ2这个型号 面板 京东方液晶模组NE173QHM-NZ2 面板型号 NE173QHM-NZ2 详细信息见屏库网链接 https://www.panelook.cn/modeldetail_cn.php?id=54632 屏幕到货，准备拆下旧的屏幕，建议参考上面第二个bilibili视频，记住要点 一定要先断电再拆屏幕（电池的排线也要断开，所以要拆后盖） 易拉胶一定要清除干净，这玩意还是挺粘的，不清除干净影响屏幕取下。如果易拉胶断头了，用薄的翘片或者不用的卡片（比如说过期了的理发店会员卡）借助吹风机从上往下“切断”易拉胶，这个时候如果能将易拉胶拉出来就更好，后面就小心“卷出来”易拉胶即可 换上新的屏幕先测试屏幕是否能点亮，可以再装回去 我拆下了的旧的显示屏 一次就成功点亮显示屏 旧的NY2屏幕 新的NZ2屏幕 换上了新的 NZ2 显示屏，但是开机后只能 60Hz 使用，切换到 240Hz 就闪屏。我在网上查询，都说是intel核显电压不足导致的，也可能就是核显问题，和供电电压无关。再问客服，客服给了我一个视频，让我从 bios 里切换到 dGPU only （也就是独显 only），默认是 hybrid 核显独显混合模式。实际上就是机械革命的电竞控制台独显直连的开关，我观察了开和关会让bios里变成混合模式/dGPU only，只不过有些人说在bios里修改会更稳定 那就切独显直连吧 但我切换到独显就无法开机，重启（或者开机）进入到输入密码的界面机器就强制关机了（键盘灯灭了），后面问客服，客服找到了技术，技术找我要电话，打电话给我，但他也并没有给我任何实质性的建议，或者操作方式，于是我就说算了吧，我就60Hz 用。。。 我在网上搜了一些资料 有的说需要重置 bios，我做了没有用 有的说需要关闭 windows 电源管理的 fast boot 快速启动，但我检查了我的 win11已经没有这个选项了 我都测试了，但没有成功。在我抱着试试的态度，将 Secure Boot 关掉，最后又因为 BitLocker 问题重新打开了 Secure Boot，最终保存 bios 设置重启电脑，居然就成功启动了！！！ 最后核显被成功屏蔽，资源管理器当中只显示了 GPU0 - nvidia rtx 3060 laptop gpu，并且在显示设置中将刷新率调到 240Hz 也正常运行，不会闪烁了，不会闪屏了，太棒了！ 并且这一个 display 也显示 connected to rtx 3060 所有测试完毕，使用3mm黑色双面胶粘贴在屏幕周围塑料边框上再将边框贴紧 将屏幕装好，再拆下D壳，将电池排线重新连接上，最后装好D壳，就完成了，完美搞定（实际上不是完美，在用纤维布擦拭屏幕时将呼吸灯的一颗灯珠碰掉了。。😭️ 不过也无伤大雅就是）
记录一次pve宿主机和上面的debian虚机无故down机事件
我去年8月出去旅行，今年8月出去旅行，在外面访问家里 memos，都挂了，我每次都吐槽出远门家中网络必挂，-_-。一开始我一直认为是主路由网络挂了，以前我用的是野路子来的 OpenWrt 固件（比如各种高大全固件），但是今年我转战了 ImmortalWrt 官方构建的固件，这个稳定性很好建议使用这个。建议从他们的 firmware-selector 网站下载适合你的镜像 -> https://firmware-selector.immortalwrt.org/ 第一次down机买了个风扇给机械硬盘散热 最近发现可能不是这么回事，应该是我的 pve 宿主机和上面的 debian11 虚拟机的问题，这个问题从一次远程访问家中 pve 宿主机执行一些命令时候报错 Input/output error 开始。 我的 pve 宿主机上有两块磁盘，如下 NAME SIZE MODEL sda 3.6T ST4000VX000-2AG166 nvme0n1 238.5G HS-SSD-C2000Pro 256G 在宿主机上执行各种需要读写磁盘的命令都会报错 Input/output error 回家后发现主机温度很高，直接强制断电了，然后将外壳拆下，发现机械硬盘非常烫，我就赶紧拿起风扇对着吹。 大概吹了30多分钟，主机很凉快了，尝试再次开机，发现一切如常。支线：决定购买风扇增加散热 第二次down机发现已失效的nfs挂载 第三天发现memos又无法访问了，进 pve 终端查看虚机状态是 RUNNING，但是 ping 不通，最后只好执行 qm stop 100 && qm start 100 重启了一下虚机，也正常了。接着进入debian11 的终端立即检查，发现了关键错误 Read-only file system, rsyslogd: file '/var/log/syslog' write error - OS error: Read-only file system 从日志中的 Read-only file system 错误可以看出，你的系统根文件系统已被内核强制挂载为 只读模式 。这是Linux系统检测到严重磁盘错误时的保护机制，防止进一步数据损坏。以下是详细分析和解决方案： 关键日志解读 核心错误 ：rsyslogd: file '/var/log/syslog' write error - OS error: Read-only file system 含义 ：rsyslog（系统日志服务）尝试写入 /var/log/syslog 时失败，因为文件系统已处于只读状态。 还有一段核心错误 kernel: FS-Cache: Duplicate cookie detected kernel: FS-Cache: O-cookie c=00000000439c879b [p=000000000e48f285 fl=222 nc=0 na=1] kernel: FS-Cache: N-key=[16] '0400000002000000020008010a0a0a01' 这段日志帮我找到了磁盘挂载的问题。我查看 /etc/fstab 发现了4个无效挂载点(下图是我注释之后截的) 原来是我以前在软路由（10.10.10.1）上接了这4块硬盘，但是后来取下了这几块硬盘，然后这边没删除，给忘掉了。几年前就意识到要将家里各种设备的职责划分清楚，软路由就只专心做好路由，不搞下载和做种，所以当时就把这几块硬盘拔掉了，对应的 NFS 服务也就不存在了。所以现在这个小问题的解决办法就是删除这几行或者注释这几行。 pve宿主机 /etc/fstab 这个文件还硬编码写死了这几个挂载，导致拖慢系统，有时候甚至卡死了，于是我赶紧添加了注释，重启了pve，再次执行 journalctl -b -p 3 --no-pager 输出如下 -- Journal begins at Sun 2025-07-27 21:59:23 CST, ends at Fri 2025-09-05 22:04:09 CST. -- -- No entries -- 没有输出就是最好的状态，于是我以为这就解决问题了。 第三次down机安装intel-microcode后彻底解决 第四天发现又访问不了 memos 了。这一次一定要找到原因。在我大量的 google, bing, chatgpt, deepseek 之后，看到一些有用的信息，猜测有可能是内核版本 5.13.19，pve版本7.1-7，还有我的CPU Intel(R) Xeon(R) CPU E3-1265L v3 @ 2.50GHz 之间的冲突。也看到了国内恩山论坛这个帖子 https://www.right.com.cn/forum/thread-8266555-1-1.html [虚拟机相关] 记录对于说N5105在PVE不稳定无故死机的一种解决方法 最后我增加了 non-free 的四个源之后，试图安装 intel-microcode，期待解决问题。 新的源文件/etc/apt/sources.list内容 # 默认注释了源码镜像以提高 apt update 速度，如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free # 以下安全更新软件源包含了官方源与镜像站配置，如有需要可自行修改注释切换 deb https://security.debian.org/debian-security bullseye-security main contrib deb https://security.debian.org/debian-security bullseye-security main contrib non-free 执行 apt update 之后执行 apt-get install intel-microcode，成功安装 intel-microcode 软件包 一段和chatgpt的对话，它照着日志讲出了核心原因 目前接着观望pve宿主机和debian11虚机的运行情况。 后续更新 2025年09月15日上午更新，稳定运行，10.10.10.5 是虚拟机 IP，宿主机本身的IP是 10.10.10.3，虚机没断过网络，各种服务也没有 down 过。基本上可以判断出之前就是因为 intel 微码没有安装导致的虚拟机 down…… 不过这个机器组装以及系统安装是在 2021 年，怎么现在才出现这样的问题呢……有点不解 # uptime 08:54:49 up 8 days, 19:06, 1 user, load average: 0.02, 0.03, 0.05 # ping -c 4 10.10.10.5 PING 10.10.10.5 (10.10.10.5) 56(84) bytes of data. 64 bytes from 10.10.10.5: icmp_seq=1 ttl=64 time=0.170 ms 64 bytes from 10.10.10.5: icmp_seq=2 ttl=64 time=0.198 ms 64 bytes from 10.10.10.5: icmp_seq=3 ttl=64 time=0.215 ms 64 bytes from 10.10.10.5: icmp_seq=4 ttl=64 time=0.214 ms --- 10.10.10.5 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3074ms rtt min/avg/max/mdev = 0.170/0.199/0.215/0.018 ms
给图床部署cdn腾讯云的edgeone并排查Cache-Control max-age 3600的问题
正篇 最近发布了徒步反穿武功山，以及自驾皖浙赣的游记文章，点我直达 ，我分享到了 v2ex 以及 linux.do ，各路网友都说图床太慢了。由于原文图片数量的确较多，我的图床部署在家里，然后只有 VPS 的6Mbps小水管，在并发不大的时候阅读文章还行（图片加载的速度还OK，并且有配置懒加载，所以体验还行），但是昨天发了帖子之后有几波流量激增。于是我寻找办法： 准备使用活菩萨 cloudflare，但是要整体迁移域名解析到 cf，因为我这个域名有经过备案，并且数量众多，而且还要兼顾国内访问速率，我就放弃了 cloudflare 方案 准备在源图床那边创建新的存储策略，当前是存储在本地磁盘的，然后想想又要买对象存储，又放弃 最后发现了腾讯云的 edgeone，开通试试一个月只要4.8元，实付款4.7，最近微信支付很多借记卡、信用卡减免活动 最终我买了一个月的 edgeone，只花费4.7元~ 现在部署好了 cdn，访问速度大大增加。当前时间点 2025-08-19 10:30:42 edgeone 流量情况 我这篇文章不算是教程吧，只能是个人的心路历程，我也不想写保姆级教程，太费事了。在此就简单讲讲过程和原理。 首先购买了一个月的 edgeone 产品，需要绑定站点，首先绑定根域名，也就是 940304.xyz 然后经过认证 域名认证方式是：添加 TXT 类型记录，主机记录和对应的值都是 edgeone 给出的，我的域名托管在 dnspod，需要在 dnspod 那边改 也可以不认证根域名，每个二级域名都分别认证 通过CNAME 方式接入 CDN，需要先停止解析或删除之前的 image 主机名的 A记录（DNS A记录），然后添加 image 主机名的 CNAME 记录（因为同一个主机名A记录和 CNAME记录只能有一个条） 创建成功后就等待 edgeone 下发 cdn 配置，等待部署生效即可 我顺利的部署成功，也看到 edgeone 流量页面产生了非常多的数据，当前我博客中的多图文章访问体验肯定就好很多了。 但是后面我发现一个问题，就是图片资源访问后返回头当中的 Cache-Control 始终是 max-age=3600，这说明 cdn 边缘节点只会缓存这张图片一个小时，如果用户在一个小时之后访问同链接会无法击中缓存，导致cdn节点回源获取原始文件，这势必会增加很多源站的流量，我的公网VPS以及家里服务器的流量都会增大，设置CDN的效果就大为下降了，而且我这就是图床程序，资源是静态的，不需要长时间变动。一般情况下图片资源都会设置30天后过期，也就是 max-age=2592000(单位s)，于是我开启了排查。 在部署 edgeone 之前，我的图床架构是这样的 在部署 edgeone 之后，我的图床架构变成这样 在任意有网络机器执行 curl -I https://image.940304.xyz/i/2025/05/21/682dd7d3137c3.jpg 发现返回 Cache-Control: max-age=3600，我开启了漫长的排查，总结下来就是 1、在VPS上修改 nginx 配置，显式增加 Cache-Control 的返回头，设置成 public, max-age=2592000，但是无果 2、在以上基础上，区分单独的匹配图片的 location，因为之前是一个反向代理 location / 就能搞定 配置是这样的 location ~* \.(jpg|jpeg|png|gif|webp|ico|css|js|svg|woff2)$ { proxy_pass http://127.0.0.1:81; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Proto https; proxy_set_header Host $host; # 30天缓存（仅对静态资源） add_header Cache-Control "public, max-age=2592000, s-maxage=2592000"; # 跨域允许设置，允许所有跨域 add_header 'Access-Control-Allow-Origin' *; # 自定义 Debug 头部（仅用于测试） add_header HDKRESP "This-request-matched-jpg-location_test"; # 新增 # 跨域允许设置结束 # 防盗链设置，因为上述跨域是允许所有的，这里就要设置防盗链从而进行域名的白名单设置 valid_referers none blocked 940304.xyz *.940304.xyz hellodk.cn *.hellodk.cn hellodk.com *.hellodk.com 10.10.10.5; #nginx不允许嵌套if语句，这个很关键，否则nginx -t 会测试失败，无法reload或者start nginx服务 set $block_access 0; # 如果 referer 无效 if ($invalid_referer) { set $block_access 1; } # 根据之前的判断结果决定是否拦截 if ($block_access) { rewrite ^/ https://i.imgur.com/CB4Fseq.jpeg; } } 这样的确能增加Cache-Control 的返回头，但是edgeone 那边始终没有生效。我还去lsky pro 图床程序的源 apache2 服务端添加了 Cache-Control 头，因为根据 edgeone 的规则，会先读源站的缓存相关的返回头（Cache-Control:s-maxage, Cache-Control:max-age, Expires），如果有会优先遵循源站的配置 edgeone 的文档：https://cloud.tencent.com/document/product/1552/87651 edgeone默认缓存规则 默认缓存规则文字说明 3、发现修改vps nginx配置无果，我进入了 lsky pro 容器，做了以下操作 # Apache 需要启用 mod_headers 才能使用 Header set 指令，启用这个模块 a2enmod headers # 修改生效配置文件 `/etc/apache2/sites-enabled/000-default.conf` 可以通过命令 `apache2ctl -S` 寻找生效的虚拟主机所在文件 # 并增加如下配置 <LocationMatch "^/i/.*\.(jpg|jpeg|png|gif|webp|ico|bmp)$"> Header set Cache-Control "public, max-age=2592000" </LocationMatch> # 重启apache2服务 service apache2 restart 现在图床源站点会给静态图片资源返回 Cache-Control 了，在图床容器中执行 curl -I http://localhost/i/2025/05/21/682dd7d3137c3.jpg 有如下返回 HTTP/1.1 200 OK Date: Tue, 19 Aug 2025 03:11:18 GMT Server: Apache/2.4.53 (Debian) Last-Modified: Wed, 21 May 2025 13:40:35 GMT ETag: "ef67-635a58279843c" Accept-Ranges: bytes Content-Length: 61287 Cache-Control: public, max-age=2592000 Content-Type: image/jpeg 在 edgeone 管理页面清除了这个URL https://image.940304.xyz/i/2025/05/21/682dd7d3137c3.jpg 的缓存，从 EO-Cache-Status MISS 到 HIT（也就是第一次请求未击中缓存cdn节点回源了，到第二次击中了缓存），返回的 max-age 仍然是 3600 4、开始排查 edgeone 这边，终于找到了原因所在！ 需要在这里点击站点加速，我以为默认的全局配置就是对的，因为设置的是遵循源站的 Cache-Control，所以一直没细看 这里全局配置是正确的，没毛病，但是右侧还有一个规则引擎默认是打开的（但是默认没有任何配置，尼玛坑死我），并且优先级更高。 规则引擎默认打开并且默认无配置坑我导致max-age一直是3600！！！（欲哭无泪 最后我因为不需要个性的规则引擎配置，我就将这边关掉了，直接使用全局配置，遵循源站的 Cache-Control 即可。 最终执行 curl -I https://image.940304.xyz/i/2025/05/21/682dd7d3137c3.jpg 返回了 Cache-Control: public, max-age=2592000 最终解决，这样可以减少 cdn 回源的频率，需求满足！ ok，如果你有任何疑问，欢迎留言与我讨论。 番外篇 edgeone国际版测速分享到X或者Facebook得FreePlan，网站 https://edgeone.ai 甚至分享到X+分享到Facebook可得两份FreePlan 我等当前买的国内版失效之前的几天就切换到国际版。但是需要注意的是，腾讯云的一份身份认证只能实名制一个腾讯云账号，edgeone国际版要想使用中国大陆节点需要实名认证的账号才行。我的身份已经实名了国内版的了，后面大概就选择国际节点 国内版edgeone产品，4.7元买的一个月
如果你畅游社交网络的汽车区，经常有人分享“增程车的增程器就是个充电宝”这样的观点，更有甚者，觉得“1.0L, 1.5L 1.5T 都可以做这个充电宝”。这些排量+是否有涡轮增压的发动机都可以做增程器是不假，但很影响用车体验，并且和车的设计以及定位密切相关，如果是一辆通勤代步小mini车，整车不到4米长，高速需求少，那么增程是非常理想的方案。但是我看大部分买了某 6 7 8 9，以及另一个某8 9 车型的人，是经常跑高速的，这种如果不讨论燃油经济性，也会造成他们的电池很快跑完“可用”循环，并且长时间大功率放电会加速这些电池的衰减。 我从一个点切入，你就知道 1.5T 增程器用在“百万豪车”为何不妥了。 当电池电量 30% 时，三元锂电池整包的放电功率大概只有满电时的60%~70%，如果此时用户正在从【泸定县城】爬往【折多山垭口】，这个例子太具体了，我们换成高速上紧急加速场景。某增程车?6（?代表一个字符）欣旺达三元锂电池包 36.8度，我查到他峰值是8C的放电倍率（几乎只能维持10+s），但是高负载（能扛住长时间大功率需求）时放电倍率只有3C，满电时放电能力有294.4kW，那么30% SOC 时候放电功率只有 110.4kW，无法满足此时的功率需求。 还有一个重要的点，也许很多人知道但是忽略了，电池包同一时间只能进行充电/放电，不可能既在放电又能充电的。 所以上面的场景下，很大可能是发动机+电池共同出力满足电机需求的。发动机 -> 发电机 -> 驱动电机，如果此部分功率不够，整车系统还会继续从电池中取功率喂给驱动电机。 这部分的能量传输路径是：发动机 - 发电机 - 交流电转直流电（AC to DC）- DCDC控制器 - 直流电转交流电（DC to AC）- 驱动电机 - 减速器/差速器 - 车轮。 能量转换图 发动机 → 发电机（AC） → 整流器（AC/DC） → 高压直流母线 → 逆变器（DC/AC）→ 驱动电机 ↓ DCDC（DC/DC）→ 12V系统 所以增程车的增程器只是个充电宝吗？不是，某种意义上他也会参与“直驱”，但是他“直驱”的形式是通过曲轴带动发电机发的电驱动车轮前进。 我们在讨论直驱时，到底是在讨论什么？插混直驱就是发动机曲轴的力通过一些机构直接作用在车轮上，而不经过上面那一大串路径了。城区低速场景，功率需求比较低，大部分时间功率需求都在100kW以内，纯靠电池就能提供，这时候插混和增程是一样的，都是在合适的时间启动发动机专门发电，然后部分功率用于驱动，剩余功率充进电池。
今天看B站动态当中的配图文件格式是 AVIF，瞬间起了兴趣。 然后才发现我的博客这么多图片我一直还在使用 MozJPEG 格式压缩的，虽然 MozJPEG 压缩率已经很高了，但看到更先进的算法不由得还是心动了，于是决定进行一些研究和寻求一些改变。 Squoosh 是 Google chrome labs 推出的，他支持压缩成 AVIF, MozJPEG, BrowserJPEG（就是标准JPEG）, WebP 等格式，我一直用他压缩图片。他是开源的，源码在 https://github.com/GoogleChromeLabs/squoosh 支持这么多压缩算法 Squoosh各种压缩算法对比表 算法名称 核心技术 优势场景 劣势 兼容性 AVIF AV1视频编码 超高压缩率（50%+），支持HDR/广色域 编码速度慢，旧浏览器不支持 需现代浏览器 Browser JPEG 传统JPEG 快速压缩，广泛兼容 压缩率/画质均低于优化算法 全平台兼容 JPEG XL (beta) 新一代JPEG 渐进加载，兼容传统JPEG，超高画质保留 尚处beta阶段，生态未普及 实验性支持 MozJPEG 优化版JPEG 比传统JPEG节省20%-30%体积，兼容性好 无法突破JPEG格式限制 全平台兼容 WebP Google VP8 比JPEG小30%+，支持透明通道 部分旧设备不支持，不支持渐进加载 主流浏览器支持 WebP v2 (unstable) 升级版VP8 比WebP体积更小 不稳定，可能产生画质异常 实验性支持 （注：PNG相关算法未列入主推荐，因PNG格式不适合照片压缩） 我的目标是占用存储空间小（用户访问文章图片加载也会更快），画质能接受不能太差，所以最好的方案是 AVIF，但是兼容性差，图床支持也不行。 最佳选择是这样的 优先级排序：AVIF > WebP > MozJPEG 1️⃣ 首选：AVIF 优势：在 Squoosh 实测中，AVIF 能以 1/3 原图体积（约70%压缩率）保持肉眼难以察觉的画质损失，支持更广色域。 场景：适用于现代浏览器环境（Chrome 85+/Edge 89+），适合博客/电商等需要极致加载速度的网站。 操作建议：压缩时设置 质量等级 65-75，开启 色域保留 选项。 2️⃣ 次选：WebP 优势：体积比原JPEG减少 30-50%，兼容主流浏览器（Chrome/Firefox/Edge），支持透明度。 场景：需要兼顾兼容性与压缩率的场景，如移动端APP、社交媒体图片。 操作建议：设置 质量等级 75-85，勾选 自动滤镜优化。 3️⃣ 保守选择：MozJPEG 优势：完全兼容所有设备，通过智能量化表优化，比原JPEG节省 20-30% 体积。 场景：必须保持.jpg格式的场景（如老CMS系统），或目标用户使用旧设备（IE/老旧安卓机）。 操作建议：设置 质量等级 75-80，开启 渐进加载 提升感知速度。 下面实测我拍的一张南京长江大桥图片，分别使用 AVIF, MozJPEG, WebP 压缩，每种压缩算法均使用 Squoosh 默认压缩选项，来比比看吧 原图 jpg，大小 8.5MB MozJPEG WebP AVIF 可以看出，MozJPEG -> WebP -> AVIF 压缩率逐步提升，文件体积不断减小，我看了一下画质均在可接受范围内，其中 WebP 我勾选了【Auto adjust filter strength 自动调整滤镜增强】（不会影响压缩率和文件体积，只会影响画质），一个表格来表达 算法名称 压缩率 压缩后文件体积 MozJPEG 88% 1.09MB WebP 91% 812KB AVIF 95% 419KB 从表格可以看出 AVIF 压缩率和新文件的文件体积都遥遥领先，这正是未来趋势。不过使用 AVIF 压缩时间很久，电脑风扇也会呼呼转，这也是代价。 我使用的图床是 Lsky Pro，不支持 avif，开源版本目前也不会迭代了，更不会增加新需求。综上，我今后将使用 WebP 作为图床图片的格式，虽然比 MozJPEG 也没有强多少，但是总归是要更好的。
我分享这个 flow 是因为我有分享视频中片段的需求，但是又不想用相机拍摄，相机拍摄效果可能也不好。下载下来再裁剪又太麻烦。尤其是我喜欢看车祸警示录，有时候看到某些事故非常搞笑，我就用这个手段录制下来，视频可能就10s，30s，然后再微信分享，就很 nice 了。如果是分享10min的完整视频那种，就不如直接贴链接，或者直接下载下来再分享，不需要使用本文方案进行录制。 前言 你是否会因为难以下载 YouTube, X(Twitter), 小红书, Instagram, 微博 之类的网站上的视频而发愁呢……虽然下载这些网站的视频大多都有在线工具或者命令行工具，可以在 GitHub 寻找。 但是目前经过我的日常使用，小红书和微博上的视频资源不是很轻松就能下载下来，或者下载用时很久，还可能下载下来文件太大（比如下载时无法执行码率和分辨率），不利于再次分享。 我为了解决这个问题，一开始使用了 NVIDIA Geforce Experience，但是这个只能录制屏幕的完整内容，如果想要录制屏幕当中的某一块区域，英伟达这个软件就不行了。 于是转而使用 Obs Studio。下面这段介绍来自 DeepSeek V3 OBS Studio（Open Broadcaster Software）是一款免费开源的跨平台直播和录屏软件，广泛用于游戏直播、教学演示、视频创作等场景。以下是其核心特点： 1. 核心功能 多场景切换：可创建多个场景（如游戏界面、摄像头画面、PPT等），直播时实时切换。 来源组合：支持添加窗口捕获、摄像头、文字、图片、浏览器、音频等元素，自由布局。 高性能录制：支持高帧率（60fps+）、高分辨率（4K）录制，输出为MP4、MKV等格式。 直播推流：一键推流到Twitch、YouTube、B站等平台，支持RTMP协议。 2. 技术优势 低延迟编码：内置x264、NVENC（NVIDIA显卡）、AMF（AMD显卡）等硬件加速编码器。 音频控制：多轨道音频混合，支持降噪、增益等滤镜。 插件扩展：通过插件支持虚拟摄像头、字幕、特效等扩展功能。 3. 适用场景 游戏直播：捕获游戏画面+摄像头叠加，实时互动。 网课/会议：录制屏幕+PPT演示，或虚拟摄像头接入Zoom/Teams。 视频创作：录制教程、剪辑素材，支持后期音频分离编辑。 4. 跨平台支持 支持Windows、macOS、Linux系统，界面简洁但需一定学习成本。 5. 注意事项 硬件要求：高清直播需中高端CPU/显卡，建议提前测试性能。 学习曲线：高级功能（如音频路由、动态滤镜）需查阅教程。 官网下载：OBS Project 社区活跃，遇到问题可通过论坛或GitHub快速解决。适合追求高自由度、零成本的用户。 我在使用 Windows 11 电脑。安装好 Obs Studio 之后，打开软件，进行初始化配置，我不直播，所以只进行了 recording 录制相关的初始化，最后 apply settings，应用设置。 添加源。我拿录制B站车祸警示录的视频举例，使用 edge 浏览器播放B站视频，那么来源选择【窗口采集】，选中正在运行的 edge 那个窗口，标题前缀是 [msedge.exe]， 如果不想录入当前电脑麦克风的声音，请将 Mic 给静音。 此时会录制整个窗口的画面，如果想录制视频播放区域，需要添加一个裁剪/填充的【滤镜】，如下图，设置好距离左，顶部，右，底部的像素数量关闭即可。 在开始录制前确保输出的视频画面充满整个画布，勾选使用此源的尺寸作为输出分辨率 （重要重要！否则输出的视频可能有很多“留黑”空白区域） 最后再点击【开始录制】，同时播放 edge 浏览器窗口的视频，在视频结束时（或者你想截取的视频片段刚好结束）点击【停止录制】。 最终录制视频呈现的质量，设置项在 【设置】->【输出】->【录制】->【录像质量，录像格式，视频编码器，音频编码器，音轨】等配置。 建议录像格式使用MPEG-4，方便传播，比如微信就可以直接预览 mp4 视频。
使用了这个插件： https://github.com/zyuzhi/MarkdownKatex-typecho ，下载了 v1.0.1，但是点击创建文章之后无法返回所有文章页面。另外博客首页也无法加载，禁用插件即恢复正常。懒的去追究原因了，索性不用插件改用其他方法。 我家里的一台机器也部署了 typecho，同样都是 docker compose 部署的，和当前 typecho 实例的区别大概就是 v1.2.0 vs v1.2.1 。家里机器上的 typecho 是 1.2.0，当前实例是 1.2.1，有可能是版本升级导致的原有插件失效，因为上述插件 GitHub 源代码是2018年左右最终打包到 release 发行的。 在 typecho v1.2.1 实例上测试如下方法可以为 typecho 博客添加 latex 支持。 方法参考： https://www.xrgzs.top/posts/typecho-use-mathjax-add-latex-support 修改当前主题的 header.php 将以下代码添加到 header.php 的适当位置。我这个主题这个文件在 components/header.php。 注意：footer.php 中就不需要重复引用这个 script 了。 mardown + latex 测试 牛顿第二定律 物体所受合外力 $\mathbf{F}$ 与其加速度 $\mathbf{a}$ 满足： $$ \mathbf{F} = m\mathbf{a} = \frac{d\mathbf{p}}{dt} $$ 其中： $m$ 为物体质量（单位：$\mathrm{kg}$） $\mathbf{p} = m\mathbf{v}$ 为动量（单位：$\mathrm{kg \cdot m/s}$） $t$ 为时间（单位：$\mathrm{s}$） 万有引力公式 两个质点间的引力大小： $$ F = G\frac{m_1 m_2}{r^2} $$ 式中普适常量： $G \approx 6.674 \times 10^{-11}\, \mathrm{m^3 \cdot kg^{-1} \cdot s^{-2}}$
21年8月我写过这篇：全国各省份 5A 级景区 时间到了2025年3月，全国5A变化挺大的，今天再来处理一下全部数据。数据来自文化和旅游部 at 2025-03-25 14:32:24 先上代码 import cn.hutool.core.thread.ThreadUtil; import cn.hutool.http.ContentType; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.commons.collections.CollectionUtils; import java.util.Collections; /** * @author: hellodk * @description AllProvince5ASpot * @date: 3/25/2025 1:47 PM */ public class AllProvince5ASpot { private static int globalCounter = 0; public static void main(String[] args) { AllProvince5ASpot spot = new AllProvince5ASpot(); spot.printAll5ASpot(); System.out.println("一共有多少个景区？" + globalCounter); } private void printAll5ASpot() { final String baseUrl = "https://www.mct.gov.cn/tourism/api/content/getContentListByDirId"; int totalPage; int totalItem = 0; int currPage = 1; JSONObject body = new JSONObject(); body.put("directoryId", "4"); body.put("searchList", Collections.emptyList()); body.put("size", 100); body.put("page", currPage); HttpResponse resp = HttpUtil.createPost(baseUrl) .body(body.toJSONString(), ContentType.JSON.getValue()) .timeout(60000) .execute(); if (!resp.isOk()) { System.err.println("第一次就请求失败。现退出程序"); return; } JSONObject res = JSON.parseObject(resp.body()); // .data.contentList.totalPages // totalElements totalPage = res.getJSONObject("data").getJSONObject("contentList").getInteger("totalPages"); totalItem = res.getJSONObject("data").getJSONObject("contentList").getInteger("totalElements"); System.out.println("总的页数：" + totalPage); System.out.println("总的景区数：" + totalItem); JSONArray items = res.getJSONObject("data").getJSONObject("contentList").getJSONArray("content"); printSpot(items); while (currPage <= totalPage) { currPage++; ThreadUtil.safeSleep(3000); body.put("page", currPage); resp = HttpUtil.createPost(baseUrl) .body(body.toJSONString(), ContentType.JSON.getValue()) .timeout(60000) .execute(); if (!resp.isOk()) { System.err.println("第 " + currPage + " 次请求失败。现跳过当次，准备下一次请求"); continue; } res = JSON.parseObject(resp.body()); items = res.getJSONObject("data").getJSONObject("contentList").getJSONArray("content"); printSpot(items); } } private void printSpot(JSONArray items) { if (CollectionUtils.isNotEmpty(items)) { System.out.println(); System.out.println("----"); for (Object item : items) { globalCounter++; JSONObject spot = (JSONObject) item; System.out.print("景区名称：" + spot.getString("name") + " "); System.out.print("地区：" + spot.getString("provinceName") + " "); System.out.print("A级：" + spot.getString("gradesName") + " "); System.out.print("评定年份：" + spot.getString("year")); System.out.println(); } System.out.println("----"); System.out.println(); } } } 输出如下： 总的页数：4 总的景区数：358 景区名称：故宫博物院 地区：北京市 A级：5A 评定年份：2007年 景区名称：天坛公园 地区：北京市 A级：5A 评定年份：2007年 景区名称：颐和园 地区：北京市 A级：5A 评定年份：2007年 景区名称：八达岭—慕田峪长城旅游区 地区：北京市 A级：5A 评定年份：2007年 景区名称：明十三陵景区 地区：北京市 A级：5A 评定年份：2011年 景区名称：恭王府景区 地区：北京市 A级：5A 评定年份：2012年 景区名称：北京奥林匹克公园 地区：北京市 A级：5A 评定年份：2012年 景区名称：圆明园遗址公园景区 地区：北京市 A级：5A 评定年份：2019年 景区名称：北京（通州）大运河文化旅游景区 地区：北京市 A级：5A 评定年份：2024年 景区名称：天津古文化街旅游区（津门故里） 地区：天津市 A级：5A 评定年份：2007年 景区名称：盘山风景名胜区 地区：天津市 A级：5A 评定年份：2007年 景区名称：承德市承德避暑山庄及周围寺庙景区 地区：河北省 A级：5A 评定年份：2007年 景区名称：保定市白洋淀景区 地区：河北省 A级：5A 评定年份：2007年 景区名称：保定市野三坡景区 地区：河北省 A级：5A 评定年份：2011年 景区名称：石家庄市西柏坡景区 地区：河北省 A级：5A 评定年份：2011年 景区名称：唐山市清东陵景区 地区：河北省 A级：5A 评定年份：2015年 景区名称：邯郸市娲皇宫景区 地区：河北省 A级：5A 评定年份：2015年 景区名称：邯郸市广府古城景区 地区：河北省 A级：5A 评定年份：2017年 景区名称：保定市白石山景区 地区：河北省 A级：5A 评定年份：2017年 景区名称：秦皇岛市山海关景区 地区：河北省 A级：5A 评定年份：2007/2018年 景区名称：保定市清西陵景区 地区：河北省 A级：5A 评定年份：2019年 景区名称：承德市金山岭长城景区 地区：河北省 A级：5A 评定年份：2020年 景区名称：唐山市南湖·开滦旅游景区 地区：河北省 A级：5A 评定年份：2024年 景区名称：衡水市衡水湖旅游景区 地区：河北省 A级：5A 评定年份：2024年 景区名称：大同市云冈石窟景区 地区：山西省 A级：5A 评定年份：2007年 景区名称：忻州市五台山风景名胜区 地区：山西省 A级：5A 评定年份：2007年 景区名称：晋城市皇城相府生态文化旅游区 地区：山西省 A级：5A 评定年份：2011年 景区名称：晋中市绵山风景区 地区：山西省 A级：5A 评定年份：2013年 景区名称：晋中市平遥古城景区 地区：山西省 A级：5A 评定年份：2015年 景区名称：忻州市雁门关景区 地区：山西省 A级：5A 评定年份：2017年 景区名称：临汾市洪洞大槐树寻根祭祖园旅游景区 地区：山西省 A级：5A 评定年份：2018年 景区名称：长治市太行山大峡谷八泉峡景区 地区：山西省 A级：5A 评定年份：2019年 景区名称：临汾市云丘山景区 地区：山西省 A级：5A 评定年份：2020年 景区名称：黄河壶口瀑布旅游区(陕西省延安市·山西省临汾市) 地区：山西省、陕西省 A级：5A 评定年份：2022年 景区名称：太原市晋祠天龙山景区 地区：山西省 A级：5A 评定年份：2024年 景区名称：晋中市乔家大院景区 地区：山西省 A级：5A 评定年份：2014/2024年 景区名称：鄂尔多斯市响沙湾旅游景区 地区：内蒙古自治区 A级：5A 评定年份：2011年 景区名称：鄂尔多斯市成吉思汗陵旅游区 地区：内蒙古自治区 A级：5A 评定年份：2011年 景区名称：呼伦贝尔市中俄边境旅游区 地区：内蒙古自治区 A级：5A 评定年份：2016年 景区名称：兴安盟阿尔山-柴河旅游景区 地区：内蒙古自治区 A级：5A 评定年份：2017年 景区名称：赤峰市阿斯哈图石林景区 地区：内蒙古自治区 A级：5A 评定年份：2018年 景区名称：阿拉善盟胡杨林旅游区 地区：内蒙古自治区 A级：5A 评定年份：2019年 景区名称：呼伦贝尔市呼伦贝尔大草原·莫尔格勒河景区 地区：内蒙古自治区 A级：5A 评定年份：2024年 景区名称：呼和浩特市老牛湾黄河大峡谷旅游区 地区：内蒙古自治区 A级：5A 评定年份：2024年 景区名称：沈阳市沈阳植物园 地区：辽宁省 A级：5A 评定年份：2007年 景区名称：大连市老虎滩海洋公园—老虎滩极地馆 地区：辽宁省 A级：5A 评定年份：2007年 景区名称：大连市金石滩景区 地区：辽宁省 A级：5A 评定年份：2011年 景区名称：本溪市本溪水洞景区 地区：辽宁省 A级：5A 评定年份：2015年 景区名称：鞍山市千山景区 地区：辽宁省 A级：5A 评定年份：2017年 景区名称：盘锦市红海滩风景廊道景区 地区：辽宁省 A级：5A 评定年份：2019年 景区名称：本溪市五女山景区 地区：辽宁省 A级：5A 评定年份：2024年 景区名称：延边朝鲜族自治州长白山景区 地区：吉林省 A级：5A 评定年份：2007年 景区名称：长春市伪满皇宫博物馆 地区：吉林省 A级：5A 评定年份：2007年 景区名称：长春市净月潭景区 地区：吉林省 A级：5A 评定年份：2011年 景区名称：长春市长影世纪城景区 地区：吉林省 A级：5A 评定年份：2015年 景区名称：延边州六鼎山文化旅游区 地区：吉林省 A级：5A 评定年份：2015年 景区名称：长春市世界雕塑公园景区 地区：吉林省 A级：5A 评定年份：2017年 景区名称：通化市高句丽文物古迹旅游景区 地区：吉林省 A级：5A 评定年份：2019年 景区名称：松原市前郭查干湖景区 地区：吉林省 A级：5A 评定年份：2024年 景区名称：白城市大安嫩江湾旅游区 地区：吉林省 A级：5A 评定年份：2024年 景区名称：哈尔滨市太阳岛景区 地区：黑龙江省 A级：5A 评定年份：2007年 景区名称：黑河市五大连池景区 地区：黑龙江省 A级：5A 评定年份：2011年 景区名称：牡丹江市镜泊湖景区 地区：黑龙江省 A级：5A 评定年份：2011年 景区名称：伊春市林海奇石景区 地区：黑龙江省 A级：5A 评定年份：2013年 景区名称：大兴安岭地区北极村旅游景区 地区：黑龙江省 A级：5A 评定年份：2015年 景区名称：鸡西市虎头旅游景区 地区：黑龙江省 A级：5A 评定年份：2019年 景区名称：齐齐哈尔市扎龙生态旅游区 地区：黑龙江省 A级：5A 评定年份：2024年 景区名称：东方明珠广播电视塔 地区：上海市 A级：5A 评定年份：2007年 景区名称：上海野生动物园 地区：上海市 A级：5A 评定年份：2007年 景区名称：上海科技馆 地区：上海市 A级：5A 评定年份：2010年 景区名称：中国共产党一大•二大•四大纪念馆景区 地区：上海市 A级：5A 评定年份：2021年 景区名称：西沙明珠湖景区 地区：上海市 A级：5A 评定年份：2024年 景区名称：苏州市苏州园林（拙政园－留园－虎丘） 地区：江苏省 A级：5A 评定年份：2007年 景区名称：苏州市周庄古镇景区 地区：江苏省 A级：5A 评定年份：2007年 景区名称：南京市钟山风景名胜区－中山陵园风景区 地区：江苏省 A级：5A 评定年份：2007年 景区名称：无锡市中央电视台无锡影视基地三国水浒城景区 地区：江苏省 A级：5A 评定年份：2007年 景区名称：无锡市灵山大佛景区 地区：江苏省 A级：5A 评定年份：2009年 景区名称：苏州市同里古镇景区 地区：江苏省 A级：5A 评定年份：2010年 景区名称：南京市夫子庙－秦淮河风光带 地区：江苏省 A级：5A 评定年份：2010年 景区名称：常州市环球恐龙城休闲旅游区 地区：江苏省 A级：5A 评定年份：2010年 景区名称：扬州市瘦西湖风景区 地区：江苏省 A级：5A 评定年份：2010年 景区名称：南通市濠河风景区 地区：江苏省 A级：5A 评定年份：2012年 景区名称：泰州市溱湖旅游景区 地区：江苏省 A级：5A 评定年份：2012年 景区名称：苏州市金鸡湖旅游区 地区：江苏省 A级：5A 评定年份：2012年 景区名称：镇江市金山•焦山•北固山风景区 地区：江苏省 A级：5A 评定年份：2012年 景区名称：无锡市鼋头渚旅游风景区 地区：江苏省 A级：5A 评定年份：2012年 景区名称：苏州市太湖旅游区 地区：江苏省 A级：5A 评定年份：2013年 景区名称：苏州市沙家浜－虞山尚湖旅游区 地区：江苏省 A级：5A 评定年份：2013年 景区名称：常州市天目湖景区 地区：江苏省 A级：5A 评定年份：2013年 景区名称：镇江市茅山景区 地区：江苏省 A级：5A 评定年份：2014年 景区名称：淮安市周恩来故里景区 地区：江苏省 A级：5A 评定年份：2015年 景区名称：盐城市中华麋鹿园景区 地区：江苏省 A级：5A 评定年份：2015年 景区名称：徐州市云龙湖景区 地区：江苏省 A级：5A 评定年份：2016年 景区名称：连云港市花果山景区 地区：江苏省 A级：5A 评定年份：2016年 景区名称：常州市春秋淹城旅游区 地区：江苏省 A级：5A 评定年份：2017年 景区名称：无锡市惠山古镇景区 地区：江苏省 A级：5A 评定年份：2019年 景区名称：宿迁市洪泽湖湿地景区 地区：江苏省 A级：5A 评定年份：2020年 景区名称：连云港市连岛景区 地区：江苏省 A级：5A 评定年份：2024年 景区名称：杭州市杭州西湖风景区 地区：浙江省 A级：5A 评定年份：2007年 景区名称：温州市雁荡山风景区 地区：浙江省 A级：5A 评定年份：2007年 景区名称：舟山市普陀山风景区 地区：浙江省 A级：5A 评定年份：2007年 景区名称：杭州市千岛湖风景区 地区：浙江省 A级：5A 评定年份：2010年 景区名称：嘉兴市乌镇古镇旅游区 地区：浙江省 A级：5A 评定年份：2010年 景区名称：宁波市溪口－滕头旅游景区 地区：浙江省 A级：5A 评定年份：2010年 景区名称：金华市横店影视城景区 地区：浙江省 A级：5A 评定年份：2010年 景区名称：嘉兴市南湖旅游区 地区：浙江省 A级：5A 评定年份：2011年 景区名称：杭州市西溪湿地旅游区 地区：浙江省 A级：5A 评定年份：2012年 景区名称：绍兴市鲁迅故里•沈园景区 地区：浙江省 A级：5A 评定年份：2012年 景区名称：衢州市根宫佛国文化旅游区 地区：浙江省 A级：5A 评定年份：2013年 景区名称：湖州市南浔古镇景区 地区：浙江省 A级：5A 评定年份：2015年 景区名称：台州市天台山景区 地区：浙江省 A级：5A 评定年份：2015年 景区名称：台州市神仙居景区 地区：浙江省 A级：5A 评定年份：2015年 景区名称：嘉兴市西塘古镇旅游景区 地区：浙江省 A级：5A 评定年份：2017年 景区名称：衢州市江郎山•廿八都旅游区 地区：浙江省 A级：5A 评定年份：2017年 景区名称：宁波市天一阁•月湖景区 地区：浙江省 A级：5A 评定年份：2018年 景区名称：丽水市缙云仙都景区 地区：浙江省 A级：5A 评定年份：2019年 景区名称：温州市刘伯温故里景区 地区：浙江省 A级：5A 评定年份：2020年 景区名称：台州市台州府城文化旅游区 地区：浙江省 A级：5A 评定年份：2022年 景区名称：丽水市云和梯田景区 地区：浙江省 A级：5A 评定年份：2024年 景区名称：金华市双龙风景旅游区 地区：浙江省 A级：5A 评定年份：2024年 景区名称：黄山市黄山风景区 地区：安徽省 A级：5A 评定年份：2007年 景区名称：池州市九华山风景区 地区：安徽省 A级：5A 评定年份：2007年 景区名称：安庆市天柱山风景区 地区：安徽省 A级：5A 评定年份：2011年 景区名称：黄山市皖南古村落－西递宏村 地区：安徽省 A级：5A 评定年份：2011年 景区名称：六安市天堂寨旅游景区 地区：安徽省 A级：5A 评定年份：2012年 景区名称：宣城市龙川景区 地区：安徽省 A级：5A 评定年份：2012年 景区名称：阜阳市八里河风景区 地区：安徽省 A级：5A 评定年份：2013年 景区名称：黄山市古徽州文化旅游区 地区：安徽省 A级：5A 评定年份：2014年 景区名称：合肥市三河古镇景区 地区：安徽省 A级：5A 评定年份：2015年 景区名称：芜湖市方特旅游区 地区：安徽省 A级：5A 评定年份：2016年 景区名称：六安市万佛湖风景区 地区：安徽省 A级：5A 评定年份：2016年 景区名称：马鞍山市长江采石矶文化生态旅游区 地区：安徽省 A级：5A 评定年份：2020年 景区名称：滁州市琅琊山景区 地区：安徽省 A级：5A 评定年份：2024年 景区名称：厦门市鼓浪屿风景名胜区 地区：福建省 A级：5A 评定年份：2007年 景区名称：南平市武夷山风景名胜区 地区：福建省 A级：5A 评定年份：2007年 景区名称：三明市泰宁风景旅游区 地区：福建省 A级：5A 评定年份：2011年 景区名称：福建土楼（永定•南靖）旅游景区 地区：福建省 A级：5A 评定年份：2011年 景区名称：宁德市（白水洋•鸳鸯溪）旅游景区 地区：福建省 A级：5A 评定年份：2012年 景区名称：泉州市清源山风景名胜区 地区：福建省 A级：5A 评定年份：2012年 景区名称：宁德市太姥山旅游区 地区：福建省 A级：5A 评定年份：2013年 景区名称：福州市三坊七巷景区 地区：福建省 A级：5A 评定年份：2015年 景区名称：龙岩市古田旅游区 地区：福建省 A级：5A 评定年份：2015年 景区名称：莆田市湄洲岛妈祖文化旅游区 地区：福建省 A级：5A 评定年份：2020年 景区名称：厦门市厦门园林植物园景区 地区：福建省 A级：5A 评定年份：2024年 景区名称：龙岩市冠豸山景区 地区：福建省 A级：5A 评定年份：2024年 景区名称：九江市庐山市庐山风景名胜区 地区：江西省 A级：5A 评定年份：2007年 景区名称：吉安市井冈山市井冈山风景旅游区 地区：江西省 A级：5A 评定年份：2007年 景区名称：上饶市玉山县三清山风景区 地区：江西省 A级：5A 评定年份：2011年 景区名称：鹰潭市贵溪市龙虎山风景名胜区 地区：江西省 A级：5A 评定年份：2012年 景区名称：上饶市婺源县江湾景区 地区：江西省 A级：5A 评定年份：2013年 景区名称：景德镇市昌江区古窑民俗博览区 地区：江西省 A级：5A 评定年份：2013年 景区名称：赣州市瑞金市共和国摇篮景区 地区：江西省 A级：5A 评定年份：2015年 景区名称：宜春市袁州区明月山旅游区 地区：江西省 A级：5A 评定年份：2015年 景区名称：抚州市资溪县大觉山景区 地区：江西省 A级：5A 评定年份：2017年 景区名称：上饶市弋阳县龟峰景区 地区：江西省 A级：5A 评定年份：2017年 景区名称：南昌市东湖区滕王阁旅游区 地区：江西省 A级：5A 评定年份：2018年 景区名称：萍乡市芦溪县萍乡武功山景区 地区：江西省 A级：5A 评定年份：2019年 景区名称：九江市永修县庐山西海景区 地区：江西省 A级：5A 评定年份：2020年 景区名称：赣州市三百山景区 地区：江西省 A级：5A 评定年份：2022年 景区名称：上饶市篁岭景区 地区：江西省 A级：5A 评定年份：2024年 景区名称：泰安市泰山景区 地区：山东省 A级：5A 评定年份：2007年 景区名称：烟台市蓬莱阁-三仙山-八仙过海旅游区 地区：山东省 A级：5A 评定年份：2007年 景区名称：济宁市明故城三孔旅游区 地区：山东省 A级：5A 评定年份：2007年 景区名称：青岛市崂山景区 地区：山东省 A级：5A 评定年份：2011年 景区名称：威海市刘公岛景区 地区：山东省 A级：5A 评定年份：2011年 景区名称：烟台市南山景区 地区：山东省 A级：5A 评定年份：2011年 景区名称：枣庄市台儿庄古城景区 地区：山东省 A级：5A 评定年份：2013年 景区名称：济南市天下第一泉景区 地区：山东省 A级：5A 评定年份：2013年 景区名称：沂蒙山旅游区 地区：山东省 A级：5A 评定年份：2013年 景区名称：潍坊市青州古城景区 地区：山东省 A级：5A 评定年份：2017年 景区名称：威海市威海华夏城景区 地区：山东省 A级：5A 评定年份：2017年 景区名称：东营市黄河口生态旅游区 地区：山东省 A级：5A 评定年份：2019年 景区名称：临沂市萤火虫水洞•地下大峡谷旅游区 地区：山东省 A级：5A 评定年份：2020年 景区名称：济宁市微山湖旅游区 地区：山东省 A级：5A 评定年份：2022年 景区名称：青岛市奥帆海洋文化旅游区 地区：山东省 A级：5A 评定年份：2024年 景区名称：淄博市周村古商城景区 地区：山东省 A级：5A 评定年份：2024年 景区名称：郑州市嵩山少林景区 地区：河南省 A级：5A 评定年份：2007年 景区名称：洛阳市龙门石窟景区 地区：河南省 A级：5A 评定年份：2007年 景区名称：焦作市云台山－神农山－青天河风景区 地区：河南省 A级：5A 评定年份：2007年 景区名称：安阳市殷墟景区 地区：河南省 A级：5A 评定年份：2011年 景区名称：洛阳市白云山景区 地区：河南省 A级：5A 评定年份：2011年 景区名称：开封市清明上河园景区 地区：河南省 A级：5A 评定年份：2011年 景区名称：平顶山市尧山－中原大佛景区 地区：河南省 A级：5A 评定年份：2011年 景区名称：洛阳市老君山－鸡冠洞旅游区 地区：河南省 A级：5A 评定年份：2012年 景区名称：洛阳市龙潭大峡谷景区 地区：河南省 A级：5A 评定年份：2013年 景区名称：南阳市西峡恐龙遗迹园-伏牛山-老界岭旅游区 地区：河南省 A级：5A 评定年份：2014年 景区名称：驻马店市嵖岈山旅游景区 地区：河南省 A级：5A 评定年份：2015年 景区名称：安阳市红旗渠－太行大峡谷旅游景区 地区：河南省 A级：5A 评定年份：2016年 景区名称：商丘市芒砀山汉文化旅游景区 地区：河南省 A级：5A 评定年份：2017年 景区名称：新乡市八里沟景区 地区：河南省 A级：5A 评定年份：2019年 景区名称：信阳市鸡公山景区 地区：河南省 A级：5A 评定年份：2022年 景区名称：周口市太昊伏羲陵文化旅游区 地区：河南省 A级：5A 评定年份：2024年 景区名称：新乡市宝泉旅游区 地区：河南省 A级：5A 评定年份：2024年 景区名称：武汉市黄鹤楼公园 地区：湖北省 A级：5A 评定年份：2007年 景区名称：宜昌市三峡大坝－屈原故里文化旅游区 地区：湖北省 A级：5A 评定年份：2007年 景区名称：宜昌市三峡人家风景区 地区：湖北省 A级：5A 评定年份：2011年 景区名称：十堰市武当山风景区 地区：湖北省 A级：5A 评定年份：2011年 景区名称：恩施州神农溪纤夫文化旅游区 地区：湖北省 A级：5A 评定年份：2011年 景区名称：神农架生态旅游区 地区：湖北省 A级：5A 评定年份：2012年 景区名称：宜昌市清江画廊景区 地区：湖北省 A级：5A 评定年份：2013年 景区名称：武汉市中国武汉-东湖生态旅游风景区 地区：湖北省 A级：5A 评定年份：2013年 景区名称：武汉市木兰文化生态旅游区 地区：湖北省 A级：5A 评定年份：2014年 景区名称：恩施州恩施大峡谷景区 地区：湖北省 A级：5A 评定年份：2015年 景区名称：咸宁市三国赤壁古战场景区 地区：湖北省 A级：5A 评定年份：2018年 景区名称：襄阳市古隆中景区 地区：湖北省 A级：5A 评定年份：2019年 景区名称：恩施州腾龙洞景区 地区：湖北省 A级：5A 评定年份：2020年 景区名称：宜昌市三峡大瀑布景区 地区：湖北省 A级：5A 评定年份：2022年 景区名称：荆门市明显陵文化旅游景区 地区：湖北省 A级：5A 评定年份：2024年 景区名称：黄冈市麻城龟峰山景区 地区：湖北省 A级：5A 评定年份：2024年 景区名称：张家界市武陵源－天门山旅游区 地区：湖南省 A级：5A 评定年份：2007年 景区名称：衡阳市衡山旅游区 地区：湖南省 A级：5A 评定年份：2007年 景区名称：湘潭市韶山旅游区 地区：湖南省 A级：5A 评定年份：2011年 景区名称：岳阳市岳阳楼－君山岛景区 地区：湖南省 A级：5A 评定年份：2011年 景区名称：长沙市岳麓山-橘子洲旅游区 地区：湖南省 A级：5A 评定年份：2012年 景区名称：长沙市花明楼景区 地区：湖南省 A级：5A 评定年份：2013年 景区名称：郴州市东江湖旅游区 地区：湖南省 A级：5A 评定年份：2015年 景区名称：邵阳市崀山景区 地区：湖南省 A级：5A 评定年份：2016年 景区名称：株洲市炎帝陵景区 地区：湖南省 A级：5A 评定年份：2019年 景区名称：常德市桃花源旅游区 地区：湖南省 A级：5A 评定年份：2020年 景区名称：湘西州吉首市矮寨•十八洞•德夯大峡谷景区 地区：湖南省 A级：5A 评定年份：2021年 景区名称：湘西州凤凰古城旅游区 地区：湖南省 A级：5A 评定年份：2024年 景区名称：广州市番禺区长隆旅游度假区 地区：广东省 A级：5A 评定年份：2007年 景区名称：深圳市南山区华侨城旅游度假区 地区：广东省 A级：5A 评定年份：2007年 景区名称：广州市白云区白云山景区 地区：广东省 A级：5A 评定年份：2011年 景区名称：梅州市梅县区雁南飞茶田景区 地区：广东省 A级：5A 评定年份：2011年 景区名称：深圳市龙华区观澜湖休闲旅游区 地区：广东省 A级：5A 评定年份：2011年 景区名称：清远市连州市地下河旅游景区 地区：广东省 A级：5A 评定年份：2011年 景区名称：韶关市仁化县丹霞山景区 地区：广东省 A级：5A 评定年份：2012年 景区名称：佛山市南海区西樵山景区 地区：广东省 A级：5A 评定年份：2013年 景区名称：惠州市博罗县罗浮山景区 地区：广东省 A级：5A 评定年份：2013年 景区名称：佛山市顺德区长鹿旅游休博园 地区：广东省 A级：5A 评定年份：2014年 景区名称：阳江市江城区海陵岛大角湾海上丝路旅游区 地区：广东省 A级：5A 评定年份：2015年 景区名称：中山市孙中山故里旅游区 地区：广东省 A级：5A 评定年份：2016年 景区名称：惠州市惠城区惠州西湖旅游景区 地区：广东省 A级：5A 评定年份：2018年 景区名称：肇庆市端州区星湖旅游景区 地区：广东省 A级：5A 评定年份：2019年 景区名称：江门市开平市开平碉楼文化旅游区 地区：广东省 A级：5A 评定年份：2020年 景区名称：河源市万绿湖风景区 地区：广东省 A级：5A 评定年份：2024年 景区名称：桂林市漓江风景区 地区：广西壮族自治区 A级：5A 评定年份：2007年 景区名称：桂林市独秀峰•靖江王城景区 地区：广西壮族自治区 A级：5A 评定年份：2012年 景区名称：南宁市青秀山风景名胜旅游区 地区：广西壮族自治区 A级：5A 评定年份：2014年 景区名称：桂林市两江四湖•象山景区 地区：广西壮族自治区 A级：5A 评定年份：2017年 景区名称：崇左市德天跨国瀑布景区 地区：广西壮族自治区 A级：5A 评定年份：2018年 景区名称：百色市百色起义纪念园景区 地区：广西壮族自治区 A级：5A 评定年份：2019年 景区名称：北海市涠洲岛南湾鳄鱼山景区 地区：广西壮族自治区 A级：5A 评定年份：2020年 景区名称：贺州市黄姚古镇景区 地区：广西壮族自治区 A级：5A 评定年份：2022年 景区名称：柳州市程阳八寨景区 地区：广西壮族自治区 A级：5A 评定年份：2024年 景区名称：崇左市花山岩画景区 地区：广西壮族自治区 A级：5A 评定年份：2024年 景区名称：三亚市南山文化旅游区 地区：海南省 A级：5A 评定年份：2007年 景区名称：三亚市南山大小洞天旅游区 地区：海南省 A级：5A 评定年份：2007年 景区名称：保亭县呀诺达雨林文化旅游区 地区：海南省 A级：5A 评定年份：2012年 景区名称：陵水县分界洲岛旅游区 地区：海南省 A级：5A 评定年份：2013年 景区名称：保亭县海南槟榔谷黎苗文化旅游区 地区：海南省 A级：5A 评定年份：2015年 景区名称：三亚市蜈支洲岛旅游区 地区：海南省 A级：5A 评定年份：2016年 景区名称：三亚市天涯海角游览区 地区：海南省 A级：5A 评定年份：2024年 景区名称：大足石刻景区 地区：重庆市 A级：5A 评定年份：2007年 景区名称：小三峡－小小三峡旅游区 地区：重庆市 A级：5A 评定年份：2007年 景区名称：喀斯特旅游区 地区：重庆市 A级：5A 评定年份：2011年 景区名称：桃花源旅游景区 地区：重庆市 A级：5A 评定年份：2012年 景区名称：万盛黑山谷-龙鳞石海风景区 地区：重庆市 A级：5A 评定年份：2012年 景区名称：金佛山景区 地区：重庆市 A级：5A 评定年份：2013年 景区名称：四面山景区 地区：重庆市 A级：5A 评定年份：2015年 景区名称：龙缸景区 地区：重庆市 A级：5A 评定年份：2017年 景区名称：阿依河景区 地区：重庆市 A级：5A 评定年份：2019年 景区名称：濯水景区 地区：重庆市 A级：5A 评定年份：2020年 景区名称：白帝城•瞿塘峡景区 地区：重庆市 A级：5A 评定年份：2022年 景区名称：武陵山大裂谷景区 地区：重庆市 A级：5A 评定年份：2024年 景区名称：成都市青城山－都江堰旅游景区 地区：四川省 A级：5A 评定年份：2007年 景区名称：乐山市峨眉山景区 地区：四川省 A级：5A 评定年份：2007年 景区名称：阿坝州九寨沟景区 地区：四川省 A级：5A 评定年份：2007年 景区名称：乐山市乐山大佛景区 地区：四川省 A级：5A 评定年份：2011年 景区名称：阿坝州黄龙风景名胜区 地区：四川省 A级：5A 评定年份：2012年 景区名称：绵阳市羌城旅游区 地区：四川省 A级：5A 评定年份：2013年 景区名称：阿坝州汶川特别旅游区 地区：四川省 A级：5A 评定年份：2013年 景区名称：南充市阆中古城旅游景区 地区：四川省 A级：5A 评定年份：2013年 景区名称：广安市邓小平故里旅游区 地区：四川省 A级：5A 评定年份：2013年 景区名称：广元市剑门蜀道剑门关旅游景区 地区：四川省 A级：5A 评定年份：2015年 景区名称：南充市朱德故里景区 地区：四川省 A级：5A 评定年份：2016年 景区名称：甘孜州海螺沟景区 地区：四川省 A级：5A 评定年份：2017年 景区名称：雅安市碧峰峡旅游景区 地区：四川省 A级：5A 评定年份：2019年 景区名称：巴中市光雾山旅游景区 地区：四川省 A级：5A 评定年份：2020年 景区名称：甘孜州稻城亚丁旅游景区 地区：四川省 A级：5A 评定年份：2020年 景区名称：成都市安仁古镇景区 地区：四川省 A级：5A 评定年份：2022年 景区名称：阿坝州四姑娘山景区 地区：四川省 A级：5A 评定年份：2024年 景区名称：成都市天台山景区 地区：四川省 A级：5A 评定年份：2024年 景区名称：安顺市黄果树瀑布景区 地区：贵州省 A级：5A 评定年份：2007年 景区名称：安顺市西秀区龙宫景区 地区：贵州省 A级：5A 评定年份：2007年 景区名称：毕节市黔西县百里杜鹃景区 地区：贵州省 A级：5A 评定年份：2013年 景区名称：黔南布依族苗族自治州荔波县樟江景区 地区：贵州省 A级：5A 评定年份：2015年 景区名称：贵阳市花溪区青岩古镇景区 地区：贵州省 A级：5A 评定年份：2017年 景区名称：铜仁市江口县梵净山旅游区 地区：贵州省 A级：5A 评定年份：2018年 景区名称：黔东南州镇远县镇远古城旅游景区 地区：贵州省 A级：5A 评定年份：2019年 景区名称：遵义市赤水市赤水丹霞旅游区 地区：贵州省 A级：5A 评定年份：2020年 景区名称：毕节市织金洞景区 地区：贵州省 A级：5A 评定年份：2022年 景区名称：黔西南州万峰林景区 地区：贵州省 A级：5A 评定年份：2024年 景区名称：昆明市石林风景区 地区：云南省 A级：5A 评定年份：2007年 景区名称：丽江市玉龙雪山景区 地区：云南省 A级：5A 评定年份：2007年 景区名称：丽江市丽江古城景区 地区：云南省 A级：5A 评定年份：2011年 景区名称：大理州崇圣寺三塔文化旅游区 地区：云南省 A级：5A 评定年份：2011年 景区名称：西双版纳州中科院西双版纳热带植物园 地区：云南省 A级：5A 评定年份：2011年 景区名称：迪庆州普达措国家公园 地区：云南省 A级：5A 评定年份：2012年 景区名称：昆明市昆明世博园景区 地区：云南省 A级：5A 评定年份：2016年 景区名称：保山市火山热海旅游区 地区：云南省 A级：5A 评定年份：2016年 景区名称：文山州普者黑旅游景区 地区：云南省 A级：5A 评定年份：2020年 景区名称：腾冲市和顺古镇景区 地区：云南省 A级：5A 评定年份：2024年 景区名称：拉萨市布达拉宫景区 地区：西藏自治区 A级：5A 评定年份：2013年 景区名称：拉萨市大昭寺景区 地区：西藏自治区 A级：5A 评定年份：2013年 景区名称：林芝市巴松措景区 地区：西藏自治区 A级：5A 评定年份：2017年 景区名称：日喀则市扎什伦布寺景区 地区：西藏自治区 A级：5A 评定年份：2017年 景区名称：林芝市雅鲁藏布大峡谷景区 地区：西藏自治区 A级：5A 评定年份：2020年 景区名称：西安市秦始皇帝陵博物院景区 地区：陕西省 A级：5A 评定年份：2007年 景区名称：西安市华清宫景区 地区：陕西省 A级：5A 评定年份：2007年 景区名称：延安市黄帝陵景区 地区：陕西省 A级：5A 评定年份：2007年 景区名称：西安市大雁塔－大唐芙蓉园景区 地区：陕西省 A级：5A 评定年份：2011年 景区名称：渭南市华山风景区 地区：陕西省 A级：5A 评定年份：2011年 景区名称：宝鸡市法门文化景区 地区：陕西省 A级：5A 评定年份：2014年 景区名称：商洛市金丝峡景区 地区：陕西省 A级：5A 评定年份：2015年 景区名称：宝鸡市太白山旅游景区 地区：陕西省 A级：5A 评定年份：2016年 景区名称：西安市城墙•碑林历史文化景区 地区：陕西省 A级：5A 评定年份：2018年 景区名称：延安市延安革命纪念地景区 地区：陕西省 A级：5A 评定年份：2019年 景区名称：西安市大明宫旅游景区 地区：陕西省 A级：5A 评定年份：2020年 景区名称：延安市延川黄河乾坤湾景区 地区：陕西省 A级：5A 评定年份：2024年 景区名称：咸阳市乾陵景区 地区：陕西省 A级：5A 评定年份：2024年 景区名称：嘉峪关市嘉峪关文物景区 地区：甘肃省 A级：5A 评定年份：2007年 景区名称：平凉市崆峒山风景名胜区 地区：甘肃省 A级：5A 评定年份：2007年 景区名称：天水市麦积山景区 地区：甘肃省 A级：5A 评定年份：2011年 景区名称：酒泉市鸣沙山月牙泉景区 地区：甘肃省 A级：5A 评定年份：2015年 景区名称：张掖市七彩丹霞景区 地区：甘肃省 A级：5A 评定年份：2019年 景区名称：临夏州炳灵寺世界文化遗产旅游区 地区：甘肃省 A级：5A 评定年份：2020年 景区名称：陇南市官鹅沟景区 地区：甘肃省 A级：5A 评定年份：2022年 景区名称：甘南州冶力关旅游区 地区：甘肃省 A级：5A 评定年份：2024年 景区名称：青海湖风景区 地区：青海省 A级：5A 评定年份：2011年 景区名称：西宁市塔尔寺景区 地区：青海省 A级：5A 评定年份：2012年 景区名称：海东市互助土族故土园旅游区 地区：青海省 A级：5A 评定年份：2017年 景区名称：海北州阿咪东索景区 地区：青海省 A级：5A 评定年份：2020年 景区名称：石嘴山市沙湖旅游景区 地区：宁夏回族自治区 A级：5A 评定年份：2007年 景区名称：中卫市沙坡头旅游景区 地区：宁夏回族自治区 A级：5A 评定年份：2007年 景区名称：银川市宁夏镇北堡西部影视城 地区：宁夏回族自治区 A级：5A 评定年份：2011年 景区名称：银川市水洞沟旅游区 地区：宁夏回族自治区 A级：5A 评定年份：2015年 景区名称：吴忠市青铜峡黄河大峡谷旅游区 地区：宁夏回族自治区 A级：5A 评定年份：2024年 景区名称：固原市六盘山红军长征旅游区 地区：宁夏回族自治区 A级：5A 评定年份：2024年 景区名称：昌吉回族自治州天山天池风景名胜区 地区：新疆维吾尔自治区 A级：5A 评定年份：2007年 景区名称：吐鲁番市葡萄沟风景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2007年 景区名称：阿勒泰地区喀纳斯景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2007年 景区名称：伊犁哈萨克自治州那拉提旅游风景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2011年 景区名称：阿勒泰地区可可托海景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2012年 景区名称：喀什地区金湖杨景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2013年 景区名称：乌鲁木齐市天山大峡谷 地区：新疆维吾尔自治区 A级：5A 评定年份：2013年 景区名称：巴音郭楞蒙古自治州博斯腾湖景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2014年 景区名称：喀什地区喀什古城景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2015年 景区名称：伊犁哈萨克自治州喀拉峻景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2016年 景区名称：巴音郭楞蒙古自治州巴音布鲁克景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2016年 景区名称：喀什地区帕米尔旅游区 地区：新疆维吾尔自治区 A级：5A 评定年份：2019年 景区名称：克拉玛依市世界魔鬼城景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2020年 景区名称：博尔塔拉蒙古自治州赛里木湖景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2021年 景区名称：昌吉回族自治州江布拉克景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2022年 景区名称：阿克苏地区天山托木尔景区 地区：新疆维吾尔自治区 A级：5A 评定年份：2024年 景区名称：兵团十师185团白沙湖景区（阿勒泰地区） 地区：新疆生产建设兵团 A级：5A 评定年份：2017年 景区名称：兵团阿拉尔市塔克拉玛干•三五九旅文化旅游区 地区：新疆生产建设兵团 A级：5A 评定年份：2021年 一共有多少个景区？358 注意这些只包含了5A
2025最新查看小米/红米手机电池健康度和循环次数方法
先说明一下，网上的一些教程已经过时，从MIUI各个版本迭代到如今 HyperOS 改了又改，很多方法失效了。通过拨号键盘输入 *#*#6485#*#* 现在已不展示 MF_05 和 MF_06 的值。 系统里的【电池保护】功能只使用通俗语言描述了电池健康度，没有显示剩余容量的百分比更没有循环次数。 当前是2025年3月，我经过实践得知，通过拨号键盘输入 *#*#284#*#* ，手机会生成Bug检测报告，仔细查阅这份 txt 报告，能得到当前手机容量和循环次数。 生成bug检测报告大概率很慢，需要耐心等待，系统通知栏会有进度条。生成成功之后，zip 文件存在于 内部存储器/MIUI/debug_log/bugreport-2025-03-07-120503.zip，我是把这个文件拷贝到了电脑上。然后解压缩此 zip 文件，得到 bugreport-Redmi K70-2025-03-07-121000.zip，继续解压缩这个 redmi k70 的 zip 文件，得到 bugreport-vermeer-UKQ1.230804.001-2025-03-07-12-05-04.txt 这个文件。不同型号这个文件名不同，你需要查看的是 bugreport 开头的并且扩展名是 .txt 的文件。使用 vscode 或者其他文本编辑器搜索这个文件 1️⃣ 搜索 battery capacity 能够得到电池当前容量 2️⃣ 搜索 cycle count 能得到手机循环次数，实际上这里的 Full charge 的值也是现在手机电池的最大容量，4825000就是 4825毫安时，除以出厂时的典型容量5000毫安时可得，容量还剩 96.5% 我的 K70 是2023-12-02到手的，典型容量是5000毫安时。手机电池一般是三元锂软包，我的经过了402次循环还剩96.5%的容量，说明我的电池使用习惯还不错。 PS: 今天2025-03-07，距离2023-12-02已经过了461天，这段时间K70一直是我的主力机。 日期间隔计算使用网站：https://www.iamwawa.cn/riqi.html 开始时间：2023年12月02日 00:00 结束时间：2025年03月07日 00:00 相差年数：2年 相差月数：15月 相差周数：65周余6天 相差天数：461天 相差小时：11064时 更新日志 2025-05-14 16:04:48 更新：循环次数 472次，剩余最大容量变成了4911毫安时，还剩 4911/5000 约等于 98.2%，衰减率仅为 1.8%。529天进行了 472 次循环，这数据可信，平均下来26.9小时跑完一个循环（基本就是一天一循环）。剩余容量变多了可能和我日常用慢充居多有关，辅以原厂120W快充。 开始时间：2023年12月02日 00:00 结束时间：2025年05月14日 00:00 相差年数：2年 相差月数：17月 相差周数：75周余4天 相差天数：529天
完美解决 seafile FILE_SERVER_ROOT 配置导致的内网外网不能同时访问和上传下载的问题
我的 seafile 安装在内网，服务地址是 http://10.10.10.5:8088，然后我使用 frp 将其暴露在了公网 https://seafile.940304.xyz。 正常情况下在任何联网设备上都可以通过域名 seafile.940304.xyz 访问，并且能够上传和下载。但是当我处于 10.10.10.0/24 家里的内网时，我发现上传文件走了公网（seafile.940304.xyz所在服务器），所以数据包兜了个圈再回到我家，这样的表现就是上传下载文件都非常缓慢，最大速率刚好是我的公网机器的带宽。我发现这是 seafile 系统设置当中 FILE_SERVER_ROOT 这个变量定义成了 https://seafile.940304.xyz/seafhttp 导致的，于是寻求解决办法。 一个临时办法： 当我处于家庭内网时，如果需要上传大文件，我可以手动改一下系统配置，将 FILE_SERVER_ROOT 改成 http://10.10.10.5:8088/seafhttp，这样可以临时解决上传速度慢的问题。 但是这样未免有点低效。我开始上网搜索解决办法，看到如下这些相似的帖子： 做了ssh反向代理，内外网不能同时下载文件 Seafile服务器FILE_SERVER_ROOT的问题 请教公网映射后如何内网访问 思索再三之后，配合 gpt-4o 对我的一些建议，我发现一个不错的解决办法，因为我的家庭网络使用了 openwrt 作为网关路由器，并且当时构建的镜像使用 nginx 替代了原本的 uhttpd 作为 web server，这样就更加接近我的目标了。简单说下实现思路 seafile 的系统设置当中，SERVICE_URL 保持公网地址 https://seafile.940304.xyz/；FILE_SERVER_ROOT 的值保持公网地址 https://seafile.940304.xyz/seafhttp。此时非内网的公网下访问、上传、下载都没有问题 当我处于内网，将 seafile.940304.xyz 域名直接映射到 10.10.10.1，这是我的 openwrt 地址 通过 nginx 反向代理，将来自seafile.940304.xyz 的请求全都转发到 10.10.10.5:8088 以下是详细步骤。 step 1 填入公网的地址即可。SERVICE_URL 填入公网地址 https://seafile.940304.xyz/；FILE_SERVER_ROOT 的值填入公网地址 https://seafile.940304.xyz/seafhttp，然后保存。 step 2 打开 openwrt 后台管理页面，进入 网络 -> DHCP/DNS -> 主机名映射，添加一条记录，主机名 seafile.940304.xyz，IP地址 10.10.10.1 然后保存。 这个操作是否生效了可以在本地局域网任何一台机器使用命令 nslookup seafile.940304.xyz 检查，返回结果是 10.10.10.1 则说明配置正常且生效了。否则可能还是域名对应的公网地址 step 3 nginx 配置如下，文件名 /etc/nginx/conf.d/seafile-on-pvedebian11.conf，其中 ssl 证书和私钥 key 部分是我从我的公网机器上 copy 过来的。 server { listen 443 ssl; server_name seafile.940304.xyz; ssl_certificate /etc/letsencrypt/live/940304.xyz/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/940304.xyz/privkey.pem; access_log /var/log/nginx/seafile_access.log; error_log /var/log/nginx/seafile_error.log; location / { proxy_pass http://10.10.10.5:8088; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /seafhttp { proxy_pass http://10.10.10.5:8088/seafhttp; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 然后检查 nginx 配置是否正确和重载 nginx 服务即可。 在内网使用公网域名正常访问，并且是反向代理过的，访问、上传和下载速度都极快。可以通过 openwrt 上的 nginx 日志验证。 检查 openwrt 上 nginx 的日志文件 /var/log/nginx/seafile_access.log [root@openwrt_ai_dk_20240831:11:54 AM /etc/nginx/conf.d] # tail -n 10 /var/log/nginx/seafile_access.log 10.10.10.108 - - [13/Oct/2024:11:03:55 +0800] "GET /api/v2.1/admin/web-settings/ HTTP/1.1" 200 1176 "https://seafile.940304.xyz/sys/web-settings/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:03:55 +0800] "GET /media/img/seafile-logo.png?t=1728788662258 HTTP/1.1" 200 12612 "https://seafile.940304.xyz/sys/web-settings/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:03:55 +0800] "GET /media/favicons/favicon.png?t=1728788662258 HTTP/1.1" 200 45439 "https://seafile.940304.xyz/sys/web-settings/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:03:55 +0800] "GET /media/custom/login-bg.jpg?t=1728788662258 HTTP/1.1" 200 338345 "https://seafile.940304.xyz/sys/web-settings/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:05:19 +0800] "GET / HTTP/1.1" 200 2227 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:05:20 +0800] "GET /api/v2.1/notifications/ HTTP/1.1" 200 689 "https://seafile.940304.xyz/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:05:20 +0800] "GET /api/v2.1/repos/?type=mine HTTP/1.1" 200 1394 "https://seafile.940304.xyz/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:24:32 +0800] "GET / HTTP/1.1" 200 2229 "https://seafile.940304.xyz/sys/web-settings/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:24:32 +0800] "GET /api/v2.1/notifications/ HTTP/1.1" 200 689 "https://seafile.940304.xyz/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 10.10.10.108 - - [13/Oct/2024:11:24:32 +0800] "GET /api/v2.1/repos/?type=mine HTTP/1.1" 200 1394 "https://seafile.940304.xyz/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" 并且，在内网依然可以使用内网IP和端口访问，并且此时上传和下载还是走 https://seafile.940304.xyz/seafhttp 匹配到的 nginx 反向代理，即 http://10.10.10.5:8088/seafhttp，所以还是走的内网，速度依然最佳。 于是这个问题通过设置公网地址+公网域名映射内网ip+nginx反向代理完美解决。