分类 趣分享 下的文章

我想应该还有人记得不久前重装WIndows的事情:重新安装了Windows11 24H2
值得注意的是,我的电脑有两块Nvme。

产品 英特尔 SSDPEKNU512GZ (固态硬盘)
大小 512 GB
固件 002C
接口 PCIe 3.0 x4
数据传输率 4000 MB/秒
特性 S.M.A.R.T, TRIM, VolatileWriteCache
硬盘已使用 共 3923 次,累计 5115 小时

产品 ZHITAI TiPlus7100 1TB (固态硬盘)
大小 1024 GB
固件 ZTA22005
接口 PCIe 3.0 x4
数据传输率 4000 MB/秒
特性 S.M.A.R.T, TRIM, VolatileWriteCache
硬盘已使用 共 849 次,累计 220 小时

由于当初的安装不当,引导分区的管理是混乱的,两块硬盘均有一个ESP分区并且不确定正在使用的Fedora和Windows的启动项到底在哪个里面。
现在这个问题已经被我暂时解决了,WIndows和Fedora的引导文件都在TiPlus7100的ESP分区中,这也连带解决了Fedora默认无法识别本体所在硬盘之外的硬盘里的WIndows引导的问题。当时迫使我去手动添加,但是这显然不优雅:解决Fedora41 Grub2 无法通过os-prober自动添加Windows启动项的问题
而且,由于直接安装了最新版本,致命BUG更少可能没有解决:双系统对Windows更新产生的负面影响的问题。

让Grub记住上次选择的启动项

方便节约时间,上次启动Windows下次还启动Windows。

  1. 编辑GRUB 配置文件:
    打开终端并使用文本编辑器(如nano 或vim)编辑 /etc/default/grub 文件。
  2. 修改 GRUB_DEFAULT:
    找到 GRUB_DEFAULT 行,并将其值改为 saved,例如:GRUB_DEFAULT=saved
  3. 更新Grub启动项列表
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Windows神奇的能正常更新了:

昨天配完Grub启动项记忆后今天回来开机放着没联网,然后去洗澡回来发现Windows提示更新,想着双休有时间折腾索性又点一次。
结果关机开始更新居然更新成功了,也许和Grub的配置以及断网有关。

非中国大陆IPv4 443端口服务全部ERR_CONNECTION_REFUSED,大量HTTPS站点受影响。
并且此次影响是双向的,境外也无法访问境内的443端口TCP服务。
比如:https://chat.qwen.ai/
2025-08-19T17:23:15.png
由于CF自带IPv6服务,因此对几乎所有使用CloudFlare CDN 的站点(包括本站)没有实际影响。

疑似和9.3阅兵活动有关,可能是GFW审计服务器线路割接/其他操作失误导致的。

隔壁说运营商防火墙配错了家宽443屏蔽策略上到骨干网了。
神人🤣阿里云的通报基本核实了这一点。

今天看了一个温铁军讲课的视频,提到了一个重要的观点:中国经济施行的是国家资本主义。

我们建国后本来是打算先走新民主主义(资本主义)的(当时中国的社会基础是农民构成的小农经济,根本无法一步登天搞社会主义),但是随着1950年猝不及防的迎来了抗美援朝,中共领导人面临了一个问题:是照着苏联走国家资本主义(斯大林主义的实质就是国家资本主义)领取苏联趁着抗美援朝给中国的重工业大礼包还是继续坚持原有计划先柔和自然的过渡再慢慢发展实现工业化。
如果要领大礼包,苏联送到东北的重工业大礼包这个国家资本主义的东西跟新民主主义(民族资本主义)是必然发生冲突的,而且抗美援朝之前中苏在苏联眼中是竞争关系(因为苏联认为中共是民族主义的农民党,他们害怕中国要自己发展起来和他们竞争),如此重大问题毛也难以抉择,党中央和政治局多次开会讨论最终决定这个大礼包(重武器装备产线)还是要收下,所以为了能留下这个大礼包就不得不改成了国家资本主义,但是国内刚闹完革命建国成功,对外不能说革命半天又革回去变成资本主义了(况且苏联自己玩国家资本主义的时候也是称为斯大林主义没直接说是国家资本主义),所以最终决定就说:我们现在是社会主义过渡时期
在我看来即便到了今天,叫法改来改去改成:“习近平新时代中国特色社会主义” 都没有改变本质:中国是一个经济上施行国家资本主义的国家。
至于其他的方面放到现在已经多有混杂,我出了校门不怎么研究这些也理不清楚,但是说是中国特色社会主义也确实是有道理的。

前段时间我去爬山,回来写了文章:朱雀国家森林公园痛苦一日游
上传图片的时候发现当前时代的浏览器并不支持浏览HEIF格式的图片,但是这一标准在苹果和许多较新安卓设备上都已经开始推广,并且压缩率不错,所以能不能想办法让浏览器显示HEIF格式的图片呢?

找到所需开源项目:

hoppergee/heic-to Convert HEIC/HEIF images to JPEG, PNG in browser
我的需求显然早就有人在做了,这个项目利用javascript提供了一个在前端将HEIF格式图片转换成jpeg/png的方案。

引用heic-to

工作原理:

  1. 自动检测所有带有.heic或.HEIC扩展名的图片
  2. 使用fetch API获取原始HEIC文件
  3. 在浏览器中转换为JPEG格式
  4. 替换图片的src属性显示转换后的图片
<script type="module">
// 导入CSP安全版本的HEIC转换模块 需要支持ES6特性
import { heicTo } from 'https://cdn.jsdelivr.net/npm/[email protected]/dist/csp/heic-to.js';

document.addEventListener('DOMContentLoaded', async function() {
    // 检查浏览器是否支持所需API
    if (!window.fetch || !window.URL || !window.Blob) {
        console.warn('浏览器不支持HEIC转换所需API');
        return;
    }
    
    // 处理HEIC图片转换
    async function processHEICImages() {
        const images = document.querySelectorAll('img[src$=".heic"], img[src$=".HEIC"]');
        if (images.length === 0) return;
        
        console.log(`找到 ${images.length} 张HEIC图片,开始转换...`);
        
        for (const img of images) {
            const src = img.src;
            const originalAlt = img.alt || '';
            const originalClass = img.className;
            
            try {
                // 添加加载状态
                img.alt = 'HEIC图片转换中...';
                img.classList.add('heic-loading');
                
                // 获取HEIC文件
                const response = await fetch(src);
                if (!response.ok) throw new Error(`HTTP错误! 状态码: ${response.status}`);
                
                const blob = await response.blob();
                
                // 转换为JPEG
                const jpegBlob = await heicTo({
                    blob: blob,
                    type: "image/jpeg",
                    quality: 0.8
                });
                
                // 创建对象URL并替换
                const jpegUrl = URL.createObjectURL(jpegBlob);
                img.onload = function() {
                    URL.revokeObjectURL(jpegUrl); // 释放内存
                    img.classList.remove('heic-loading');
                    img.classList.add('heic-converted');
                };
                img.src = jpegUrl;
                img.alt = originalAlt;
                img.className = originalClass;

            } catch (err) {
                console.error('HEIC转换失败:', err);
                img.alt = originalAlt + ' [HEIC转换失败]';
                img.classList.remove('heic-loading');
                img.classList.add('heic-error');
            }
        }
    }
    
    await processHEICImages();
});
</script>

<style>
.heic-loading {
    position: relative;
    min-height: 100px;
    background: #f5f5f5 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" stroke="%233498db" stroke-width="8" fill="none" stroke-dasharray="62.8 188.8"><animateTransform attributeName="transform" type="rotate" repeatCount="indefinite" dur="1s" values="0 50 50;360 50 50" keyTimes="0;1"></animateTransform></circle></svg>') no-repeat center;
    background-size: 50px;
}
.heic-converted {
    border: 2px solid #2ecc71;
}
.heic-error {
    border: 2px dashed #e74c3c;
}
</style>

使用方法:

你可以引用上面的代码到任意html页面,通常我们把他放在header或footer里。
在Typecho上我们可以把它放在主题文件的: header.php 中

本文代码已在Github以MIT协议开源,感谢自由软件与开源社区!
DisplayMyHEIC

测试图片

测试图片1-人物
测试图片2-缆车

=-=本来不想去的,但是工友盛情难却还是在周六窜出去了。
爬山,累得半死,回来肌肉酸痛那叫一个酸爽。当然,出于被忽悠去爬山的报复心理,我拉着他俩不坐缆车硬腿上去,又腿下来,只有临走的时候时间太晚了我也懒得折腾了才花20块钱买了张景区内的载客观光车加速回到起点。
不知道当时脑子是不是在厂里干活干多了坏掉了,出去的时候没提前做防晒,戴着鸭舌帽穿着短T就冲了。
回来发现裸露的肢体直接就是一个晒伤,皮肤红的跟大虾一样,一接触阳光或外力刺激就有刺痛感。
就在写本文的时候又感觉胳膊晒伤的位置瘙痒难耐,可能是皮肤组织的炎症反应。
罢了罢了,吃点维生素C+复合B硬抗吧,自限性疾病又没什么特效药...唉。

8月5日

洗澡的时候发现胳膊晒伤的区域起皮了,看来损伤的皮肤正在缓慢修复。

照片

我GFPGAN1.4修复2025-08-07T09:19:28.png
工友拍的有点难绷,以后一定要自己买个大疆好拍照,只有自己才知道自己想拍成什么样。
下面是我拍的。
场内车票
下面是一张HEIC图片,根据在博客上无障碍浏览HEIC/HEIF图片我已经给博客添加了用于转换HEIF格式到浏览器可显示的图片格式的代码,理论上你可以在大部分现代浏览器上浏览下面这张图片。
两位工友-HEIC测试图片
由于Chromium目前还不支持HEIC图片所以你可能需要下载才能看。不过,你可以通过我的NAS浏览这些照片。
NAS预览
密码xfox.fun

路径前情提要

本文中指定在/ZHITAIPC005/aria2 下进行频繁读写操作。
配置目录则按照Linux推荐规范在/etc/aria2/

安装aria2

sudo apt install aria2c

编写配置文件

sudo nano /etc/aria2/aria2.conf

xfox@EliteDesk800G3:/ZHITAIPC005$ sudo cat /etc/aria2/aria2.conf
# 启动时加载的任务文件
input-file=/ZHITAIPC005/aria2/aria2.session

# 退出时保存的任务文件
save-session=/ZHITAIPC005/aria2/aria2.session

# 预分配文件方式 固态无需
file-allocation=none
# 缓存大小,单位字节(64M 是推荐值,可调整)
disk-cache=64M

# 临时缓存目录
dir=/ZHITAIPC005/aria2/temp/

# 启用断点续传
continue=true

# 日志文件路径
log=/ZHITAIPC005/aria2/aria2.log

# 日志级别:debug, info, notice, warn, error
log-level=info

# 下载完成后的存储目录(自定义)
completed-dir=/ZHITAIPC005/aria2/downloads

# 启用 RPC 服务
enable-rpc=true

# RPC 服务监听端口
rpc-listen-port=6800

# 设置 RPC 授权令牌
rpc-secret=自己写=-=,可不要告诉我,不然我给你下满葫芦娃救爷爷。

# 允许所有来源访问
rpc-allow-origin-all=true

# 启用外部访问(需防火墙规则控制)
rpc-listen-all=true

# 最大并发下载数
max-concurrent-downloads=5

# 单文件分片数
split=16

# 分片的最小大小
min-split-size=10M

# 每个服务器的最大连接数
max-connection-per-server=5

# 下载失败的最大重试次数
max-tries=5

# 每次重试前的等待时间(秒)
retry-wait=5

# 启用 DHT
enable-dht=true
enable-dht6=false
# 启用本地对等发现
bt-enable-lpd=true

# IPv4 DHT 网络引导节点
dht-entry-point=dht.transmissionbt.com:6881

# IPv6 DHT 网络引导节点
dht-entry-point6=dht.transmissionbt.com:6881

# 种子验证前可做种
#bt-seed-unverified=true

# 保存种子元数据文件
bt-save-metadata=true

# BT强制加密, 默认: false
# 启用后将拒绝旧的 BT 握手协议并仅使用混淆握手及加密。可以解决部分运营商对 BT 下载的封锁,且有一定的防版权投诉与迅雷吸血效果。
# 此选项相当于后面两个选项(bt-require-crypto=true, bt-min-crypto-level=arc4)的快捷开启方式,但不会修改这两个选项的值。
bt-force-encryption=true

# BT加密需求,默认:false
# 启用后拒绝与旧的 BitTorrent 握手协议(\19BitTorrent protocol)建立连接,始终使用混淆处理握手。
#bt-require-crypto=true

# BT最低加密等级,可选:plain(明文),arc4(加密),默认:plain
#bt-min-crypto-level=arc4

# 分离仅做种任务,默认:false
# 从正在下载的任务中排除已经下载完成且正在做种的任务,并开始等待列表中的下一个任务。
bt-detach-seed-only=true


## 客户端伪装 ##

# 自定义 User Agent
user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.47

# BT 客户端伪装
# PT 下载需要保持 user-agent 和 peer-agent 两个参数一致
# 部分 PT 站对 Aria2 有特殊封禁机制,客户端伪装不一定有效,且有封禁账号的风险。
# 伪装为 qBittorrent
user-agent=qBittorrent/4.3.7
peer-agent=qBittorrent/4.3.7
peer-id-prefix=-QB1234-

Systemd后台保活

sudo nano /etc/systemd/system/aria2.service

[Unit]
Description=Aria2 Download Manager
After=network.target

[Service]
#User=aria2                                     
#Group=aria2                                   
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

新建aria2专用用户、目录、文件

mkdir /ZHITAIPC005/aria2/
mkdir /ZHITAIPC005/aria2/downloads
mkdir /ZHITAIPC005/aria2/temp
touch /ZHITAIPC005/aria2/aria2.log
touch /ZHITAIPC005/aria2/aria2.session
chmod 600 /ZHITAIPC005/aria2/aria2.session

sudo useradd -r -m -d /ZHITAIPC005/aria2/ -s /usr/sbin/nologin aria2

启动服务:

sudo systemctl daemon-reload
sudo systemctl enable aria2.service
sudo systemctl start aria2.service

Mumble 是什么?

Mumble is a free, open source, low latency, high quality voice chat application.
Mumble是一个免费且自由、开源、低延迟、高质量的语音聊天应用。
(同时,Mumble还是一个跨平台应用,你可以在Linux,Windows,MacOS以及Android/IOS设备上运行Mumble客户端。

怎么称呼Mumble?

按照实际的英文读音可以叫它:Mang Bou 芒布偶

- 阅读剩余部分 -