obsidian 摘录迁移说明
十月 08, 2026 [杂项] #obsidian #迁移obsidian 摘录迁移说明
本文记录 2026-10 从 ~/project/obsidian/reference/ 迁移到博客 content/obsidian/ 的全部处理决策。源目录未做任何修改,所有丢弃/替换只发生在博客侧。
总览
| 项目 | 数量 |
|---|---|
| 源 md 文件 | 393 |
| 迁移后页面 | 296(合集页 15,带本地图片的页面 9) |
| 同题/文件名变体去重 | 26 |
| 正文完全重复去重 | 4 |
| 空壳索引文件跳过 | 8 |
| 迁移图片(内容哈希去重后) | 1085(共享 1024 → static/obsidian/assets/,其余随页面 bundle 存放) |
| 未被引用、未迁移的图片 | 241 |
| 图片→文字版替换 | 72 |
| 图片判定为装饰/垃圾直接移除 | 34 |
| 迁移中发现的缺失图片引用 | 26 |
| 扩展名修复(.image/.awebp→真实格式) | 156 |
| note/ 目录 | 6 张孤例图片已全部处理:5 张插入对应文章、1 张入杂项页;reconstruct.py 为本地脚本未迁移 |
| smyl/ 目录 | 工作记录等私人内容,按迁移范围排除 |
处理原则:
- 与博客已有文章重复的不迁移:仅发现 1 例标题完全一致(《DNS报文格式》,博客已有同内容文章),其余主题相近但内容不同的均保留并迁移。
- 相似主题合并:同一主题目录下的系列文件合并为一篇合集页(见下表);平铺的上下/中篇系列(如 PGP 三部曲、AES 上下篇)也做了合并。
- 图片有损处理:超过 300KB 的大图与低于 3KB 的小图逐张人工(模型)审查——终端截图/表格转写为文字版,logo/广告等装饰图直接移除,有价值且难以文字化的保留。
- 主题标签:按标题+正文关键词为每篇自动打 1~4 个主题标签(Rust、C++、密码学、网络、代理与科学上网、虚拟化等 30 类),可通过顶部"标签"页按主题浏览;全部页面同时带有
obsidian标记,分类归于"摘录"。 - 全文清理了零宽字符、纯 URL 导航 bullet 等网页抓取残留。
合并的合集页
| 合集页 | 来源文件数 | 来源 |
|---|---|---|
| 实现一个简单的 CRT(issue24 系列合集) | 18 | issue24 实现一个简单的CRT/Issue 2 gcc的fvisibility选项.md;issue24 实现一个简单的CRT/Issue 4 libc库的版本兼容问题.md;issue24 实现一个简单的CRT/Issue 5 深入理解errno.md;issue24 实现一个简单的CRT/Issue 6 深入理解系统调用.md;issue24 实现一个简单的CRT/Issue 7 静态链接库的顺序问题.md;issue24 实现一个简单的CRT/Issue 9 使用objcopy将二进制文件的的内容作为目标文件中的一个段.md;issue24 实现一个简单的CRT/Issue10 弱符号的使用.md;issue24 实现一个简单的CRT/Issue11 符号地址的确定.md;issue24 实现一个简单的CRT/Issue12 重定位.md;issue24 实现一个简单的CRT/Issue13 不依赖glibc的HelloWorld程序.md;issue24 实现一个简单的CRT/Issue14 ELF可执行文件在虚拟地址空间的分布.md;issue24 实现一个简单的CRT/Issue15 位置无关代码(PIC).md;issue24 实现一个简单的CRT/Issue16 共享库及符号的版本控制实践_ 动态链接库符号版本控制.md;issue24 实现一个简单的CRT/Issue17 函数返回值传递.md;issue24 实现一个简单的CRT/Issue18 进程堆栈初始化.md;issue24 实现一个简单的CRT/Issue20 获取签名apk的证书.md;issue24 实现一个简单的CRT/Issue33 TLS-PSK协议分析.md;issue24 实现一个简单的CRT/issue19 glibc的构造函数和析构函数.md |
| Futures Explained in 200 Lines of Rust(Rust Future 系列合集) | 12 | rust future async await generator yeild/1 Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/2 Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/3 Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/4 Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/5 await - Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/6 Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/7 主要例子 - Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/8 Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/9 Futures Explained in 200 Lines of Rust.md;rust future async await generator yeild/Async Rust 的实现.md;rust future async await generator yeild/rfcstext2033-experimental-coroutines.md at master · rust-langrfcs.md;rust future async await generator yeild/rust中async代码块和async fn是怎么编译成状态机的?.md |
| Linux 副屏方案合集 | 8 | linux 副屏方案/How to Use Your Tablet as a Second Monitor on Ubuntu.md;linux 副屏方案/Linux下查看本机显示器分辨率(xrandr)linux 获取当前屏幕分辨率.md;linux 副屏方案/gnome virtual monitor How to Share Virtual Extended Screen in Ubuntu 22.04 _ 24.04.md;linux 副屏方案/gnome virtual monitor_ How to Share Virtual Extended Screen in Ubuntu 22.04 _ 24.04/TMP BUGFIX_ Mouse cursor not visible in extend mode over RDP.md;linux 副屏方案/使用 FreeRDP 远程连接 Windows 机器.md;linux 副屏方案/在 Linux 上使用 Sunshine 把安卓平板作为虚拟副屏,画面清晰延迟极低.md;linux 副屏方案/在 Wayland 下对某会议软件的屏幕共享方案,以及一些笔记.md;linux 副屏方案/技术_如何使用移动设备作为 Linux 副屏.md |
| Linux 笔记本电源管理资料合集 | 6 | 笔记本电源管理/Linux TLP 电源管理教程.md;笔记本电源管理/linux下使用笔记本的相关设置.md;笔记本电源管理/linux笔记本电池管理,Linux系统笔记本电源管理方法实用指南.md;笔记本电源管理/linux系统电源管理之常用工具_upower.md;笔记本电源管理/桌面应用_TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具.md;笔记本电源管理/调试 Linux 设备电源管理,解决笔记本发热和续航问题.md |
| CD/DVD 刻录 - Debian Wiki 合集 | 6 | CD-DVD - Debian Wiki/ManipulatingISOs - Debian Wiki.md;BurnCd - Debian Wiki.md;CDDVD - Debian Wiki.md;How to Burn a CD or DVD ISO in the Linux Terminal Baeldung on Linux.md;Linux Find Out Name Of DVD CD-ROM Blu-ray Writer Device.md;光盘文件格式-udf、iso9660、Joliet、Romeo_怎么看光盘是不是iso9660-CSDN博客.md |
| Linux 虚拟网卡技术:Macvlan | 4 | Linux 虚拟网卡技术:Macvlan/Docker的bridge和macvlan两种网络模式.md;Linux 虚拟网卡技术:Macvlan/Docker跨主机通信之macvlan.md;Linux 虚拟网卡技术:Macvlan/Macvlan 和 IPvlan.md;Linux 虚拟网卡技术:Macvlan/docker使用macvlan配置网络,使容器与宿主机在同一局域网,广播域内_docker macvlan dhcp.md |
| FFmpeg 视频处理相关合集 | 3 | FFmpeg 视频处理等相关/ffmpeg转码常用容器、编码格式与解编码器的搭配总结,-c与-f参数的运用.md;FFmpeg 视频处理等相关/ffmpeg:文件格式、封装格式、编码_ffmpeg 支持rmvb格式.md;FFmpeg 视频处理等相关/【FFmpeg】FFmpeg 相关术语简介 ( 容器 _ 媒体流 _ 数据帧 _ 数据包 _ 编解码器 _ 复用.md |
| C++20 中的 CPO(定制点对象)与 niebloid | 3 | C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/C++ 20 CPO 和 Ranges 新算法.md;C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/C++的定制点设计.md;C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/Niebloids and Customization Point Objects.md |
| 延时 ACK 与 Nagle 算法结合 | 2 | 延时 ACK 与 Nagle 算法结合/Linux下TCP延迟确认(Delayed Ack)机制导致的时延问题分析-腾讯云开发者社区-腾讯云.md;延时 ACK 与 Nagle 算法结合/TCP_NODELAY & Nagle_s Algorithm.md |
| 将 ova/qcow2 导入到 PVE 虚拟机 | 2 | 将ova或qcow2导入到PVE虚拟机/OVF 与 OVA 区别与转换.md;将ova或qcow2导入到PVE虚拟机/使用qemu-nbd挂载qcow2.md |
| SSH FAQ 问题记录 | 1 | ssh FQA/ERROR_ Secsh channel open FAILED_ Connect failed.md |
| 2021年,用更现代的方法使用PGP | 3 | 2021年,用更现代的方法使用PGP(上).md;2021年,用更现代的方法使用PGP(中).md;2021年,用更现代的方法使用PGP(下).md |
| 30分钟搞定AES系列 | 2 | 30分钟搞定AES系列(上):基础特性-腾讯云开发者社区-腾讯云.md;30分钟搞定AES系列(下):IV与加密语义安全性探究-腾讯云开发者社区-腾讯云.md |
图片文字版替换记录
| 图片 | 替代文字 |
|---|---|
/obsidian/assets/migration-log/aes-ciphertext-random-noise.png | 密文随机性示意大图:竖直彩色条纹背景上有两条水平方向的纯噪点条带(右下角 bowenerchen 水印),整体如电视雪花——加密后的数据呈均匀随机分布,已看不出任何原图条纹或图案结构。 |
/obsidian/assets/migration-log/aes-ciphertext-random-noise-2.png | 整幅为均匀随机噪点(电视雪花状,右下角 bowenerchen 水印),示意 AES 加密输出的密文与随机数据无异,肉眼无法从密文中分辨任何明文结构或图案。 |
/obsidian/assets/migration-log/wireshark-usb-device-descriptor.png | Wireshark 抓包的 USB 设备描述符:bLength=18;bDescriptorType=0x01(DEVICE);bcdUSB=0x0200;bDeviceClass=0x00(类信息由接口描述符给出);bMaxPacketSize0=64;idVendor=Qualcomm (0x05c6);idProduct=Gobi Wireless Modem (0x9008);iManufacturer=1、iProduct=2;bNumConfigurations=1。 |
/obsidian/assets/migration-log/vim-multicursor-macro-record-2.gif | vim 多光标宏操作 GIF:底部状态栏显示 recording,输入框显示 qq,演示在多光标场景下用 qq 结束宏录制,录制的改词动作在所有光标处回放,配合前两步实现多行代码中 var→const 的批量替换。 |
/obsidian/assets/migration-log/openssl-s-client-cert-info.png | 终端执行 openssl s_client -connect wangriyu.wang:443 |
/obsidian/assets/migration-log/grub-stage-files.png | GRUB stage 文件终端截图:/usr/share/grub/x86_64-redhat/ 与 /boot/grub/ 下均含各文件系统版本的 stage1_5(e2fs/fat/ffs/iso9660/jfs/minix/reiserfs/ufs2/vstafs/xfs,约 12~15K)、stage1(仅 512 字节,装入 MBR)与 stage2(124K,核心引导代码);可用 find /boot/grub/ -name "stage" |
/obsidian/assets/migration-log/vim-multiple-cursors-demo.gif | vim 多光标演示 GIF:多行 JS 代码中的多个 var 关键字同时被选中形成多个光标,一处输入(输入框显示 var↵)即同步应用到所有光标位置,演示 vim 多光标插件「一处编辑、多处生效」的批量编辑效果。 |
/obsidian/assets/migration-log/vim-multicursor-macro-record.gif | vim 多光标+宏录制 GIF:底部状态栏显示 -- INSERT -- recording,输入框显示 qqce——先按 qq 在寄存器 q 开始录制宏,再按 ce(change to end of word)进入插入模式改写当前词(var 改为 const),多光标下宏会在每个光标处同时生效。 |
/obsidian/assets/migration-log/kernel-hotpatch-ftrace-checkpoint.png | 动态链接库业界方案:内核热补丁以 SUSE kGraft、Red Hat kpatch、Oracle Ksplice 为代表——补丁后函数开头改 call ftrace/kpatch 检查点,命中转 New Function,可不重启修复内核缺陷。进程热补丁:新函数替换旧函数,Android 常用 plthook、android-inline-hook;修复后 func_v1 改为 jump func_v2→return。 |
/obsidian/assets/migration-log/edid-firmware-second-screen.jpg | Obsidian 笔记截图,副屏扩展配置步骤:获取显示器对应的 EDID 文件放入 /usr/lib/firmware/edid/;在 grub 内核参数添加 drm.edid_firmware=HDMI-A-1:edid/<文件名>,update-grub 后重启;电脑装 sunshine、平板装 moonlight,在 sunshine WebUI 用 KMS Monitor List 查虚拟显示器编号填入 Display number,ufw 放行端口。 |
/obsidian/assets/migration-log/mover-prologue-disasm.png | 确定待改函数入口:已被调用过——.got 存真实地址,.dynsym 可查符号,其地址即入口;未调用过——先跳 .plt 桩再到 .got.plt 条目,首次调用条目存解析地址,动态链接器查 .rela.plt 后转交对应库,函数地址 = .rela.plt 的 r_offset + ELF 起始地址。再把旧函数 TEXT 段改为跳新函数指令(截图为 MoveR 函数 prologue 反汇编)。 |
/obsidian/assets/migration-log/pic-plt-got-addressing.png | 地址无关代码 PIC:可在内存任意位置正确运行、不受加载位置影响。示例:program(0x400000) 经 PLT(bar_func 0x800300、foo_func 0x603400)相对寻址调用 libfoo.so(0x600000)/libbar.so(0x800000)。要点:偏移量固定;GOT 运行期填充查真实地址;库 .data/.text 多进程共享、.got 独享;外部符号加载时由动态链接器填 .got;lazy binding 走 .plt→.got.plt。 |
/obsidian/assets/migration-log/ffprobe-flv-stream-info.png | cmd 执行 ffprobe 1.flv 查看 B 站下载的 FLV:时长 00:03:00.18、总码率 290 kb/s;流 #0:0 为 h264 High 1920x1080、153kb/s、25.03fps,流 #0:1 为 aac LC 44100Hz 立体声 128kb/s;元数据 datasize 6531983、videosize 2512679、audiosize 2970280、lasttimestamp 180。 |
/obsidian/assets/migration-log/pathfinding-test-maps.png | 图 4-1-2 展示寻路算法常用的五种测试地图:(a)(b) Room 房间型(大片空地由少量墙/门洞分隔),(c)(d) Maze 迷宫型(走廊迂回密集、墙有粗细两种风格),以及 Random 随机地图(网格中随机散布障碍点)。 |
/obsidian/assets/migration-log/oauth-grants-infographic.png | OAuth 笔记信息图:有 1.0/2.0/2.1 三个版本,共 4 种授权方式。核心授权码流程:客户端携 client_id 跳转授权服务器→登录表单→用户提交账密→按 scope 授权→携 authorization_code 重定向回 redirect_uri→用 code+client_secret 换 token→凭 token 访问资源服务器。隐式流程直接返回 token;客户端凭证流程无用户交互;密码流程账密直交授权服务器;token 均带过期时间与 refresh_token。 |
/obsidian/assets/migration-log/ffmpeg-avi-to-webm.png | cmd 执行 ffmpeg -i 1.avi -f webm 1.webm:输入 h264 1920x1080、383kb/s,mp3 44100Hz、128kb/s;流映射 vp9(libvpx-vp9)与 opus(libopus),未指定码率时 vp9 默认 CRF=32;输出 3 分钟共 7460kB、码率 339.3kbits/s,speed=0.312x。 |
/obsidian/assets/migration-log/axum-extractor-types.png | axum Extractor:BodyStream 请求体流、ConnectInfo 连接信息、ContentLengthLimit 限大小、Extension 取扩展值、Form 表单解析、MatchedPath 匹配路径、Multipart 文件上传、OriginalUri 原始 URI、Path URL 参数解析、Query 查询串解析、RawBody/RawQuery 原始体/查询串、TypedHeader 类型化头、WebSocketUpgrade WS 升级。 |
/obsidian/assets/migration-log/inject-so-dlopen-shellcode-flow.png | 注入 so:调 dlopen(pathname, mode)。步骤:找 __libc_dlopen_mode 地址 → 填寄存器和内存指令 → 执行 callq *%rax。“鸡和蛋”:pathname 要内存而分配内存的指令也要占内存——借系统 so 内存中 ELF 头 8 字节存指令。流程:按 so 名/长度估内存 → save 寄存器执行 mmap → 返回地址写 so 名 → 调 __libc_dlopen_mode → 取 handle → write 回寄存器恢复现场。 |
/obsidian/assets/migration-log/axum-middleware-list.png | axum 中间件:add_extension 注入请求扩展值、auth 授权、compression/decompression 压缩/解压(br/deflate/gzip)、cors 跨域头、follow_redirect 重定向、map_request/response_body 体变换、metrics 指标、propagate_header 头回传、request_id 请求 ID、sensitive_headers 敏感头、set_header 设头、trace 追踪。 |
/obsidian/assets/migration-log/u2f-challenge-response-sequence.png | U2F 挑战-应答时序图(U2F Device/User/Browser/RP 四方):用户打开 RP 页面并先通过主因素认证;RP 向浏览器下发 challenge,要求证明持有该站点注册的 U2F 私钥;浏览器将 challenge 转给 U2F 设备并提示用户触摸;用户确认在场后,设备加载/解出该 RP 对应私钥并对 challenge 签名,经浏览器回传 RP;RP 用注册时保存的 U2F 公钥验证签名,通过后将 session 与该用户关联。 |
/obsidian/assets/migration-log/ptrace-process-control.png | ptrace 控制目标进程:ATTACH 使 tracee 停止;SETREGS 改寄存器、CONT 恢复运行。原型 ptrace(request, pid, addr, data)。参数:TRACEME 被追踪;PEEKTEXT/PEEKDATA 读一字;POKETEXT/POKEDATA 写一字;PEEK/POKEUSER 用户区读写;GETREGS/SETREGS 读写寄存器;ATTACH 追踪并停止;CONT 恢复(data 非空作信号);DETACH 脱离。 |
/obsidian/assets/migration-log/ffmpeg-mp4-to-avi-transcode.png | cmd 执行 ffmpeg -i 1.mp4 -c:v h264 -c:a mp3 1.avi:输入为 B 站下载视频(Bilibili XCode Worker 封装),视频 h264 1920x1080、703kb/s、25fps,音频 aac 44100Hz、127kb/s;流映射 h264→libx264(High 4.0)、aac→mp3(libmp3lame),输出 3 分钟共 11523kB、码率 524kbits/s,speed=2.68x。 |
/obsidian/assets/migration-log/gcc-pg-mcount-atomic-patch.png | 原子性方案2:提前插桩。gcc -pg 在函数开头插入 call mcount()(5 字节,原用于调用统计),借其实现原子补丁。示例 testA:push %rbp; mov %rsp,%rbp; callq mcount@plt; …; retq。覆盖规则:jmp 正好 5 字节,直接覆盖 mcount 即原子;超 32 位用跳板,可在 movabs 前加 mov %rbp,%rsp; pop %rbp。 |
/obsidian/assets/migration-log/pci-config-space-layout.png | PCI 配置空间结构图:每功能 256 字节配置空间,前 64 字节标准配置头(Header 0/1),后 192 字节设备特定寄存器;经 CF8h/CFCh 端口访问。Header 0 双字布局:00h Device/Vendor ID;01h Status/Command;02h Class Code/Rev ID;04h~09h BAR0~5;0Bh Subsystem ID;0Ch Expansion ROM 基址;0Fh Interrupt Pin/Line。 |
/obsidian/assets/migration-log/heartbleed-heartbeat-overread.svg | Heartbleed 原理图(正常 vs 恶意心跳):正常用法客户端请求回传 4 字母词 bird,服务器只回显 bird;恶意用法攻击者声称要 500 字母的词、实际只发 bird,服务器按声称长度回显,把相邻内存一并带出——响应里除 bird 外还有 Server master key is 31431498531054、User Carol wants to change password 等敏感内容,心跳长度字段未校验导致越界读取泄漏服务器内存。 |
/obsidian/assets/migration-log/ffmpeg-codecs-list-output.png | ffmpeg -codecs 查看编解码器列表:标志含义 D=解码、E=编码、V=视频、A=音频、S=字幕、I=帧内、L=有损、S=无损;列表含 012v、8bps、aasc、apng 等,其中 av1 一行标注 decoders: libdav1d libaom-av1、encoders: libaom-av1(红下划线强调)。 |
/obsidian/assets/migration-log/process-virtual-memory-layout.png | 数据继承:进程虚拟内存分布——0xc0000000 内核空间(用户不可见);用户栈(运行时创建,%esp 指示);共享库映射(0x40000000);运行时堆(brk);读写段 .data/.bss;只读段 .init/.text/.rodata(0x08048000 起)。堆上变量:类成员增删或改类型会越界/值错乱(示例 Logic 类新增 m_uNewOne1、m_uNewOne2);静态变量同样要处理(LOG_DEBUG 打印 m_uStatic)。 |
/obsidian/assets/migration-log/ffmpeg-formats-list.png | ffmpeg -formats 查看支持的封装格式:D 表示可解封装(Demuxing)、E 表示可封装(Muxing),每行为标志、短名与说明,如 3dostr(3DO STR)、3g2(3GP2)、3gp(3GP)等,截图仅展示列表开头几行。 |
/obsidian/assets/migration-log/hot-update-shared-memory-lua.png | 业界热更新方案:1) 共享内存,技术点为数据恢复(C++ 对象:指针、容器、多态虚表、全局数据、静态成员);配图虚拟内存:内核态(页表/task&mm、内核栈、内核代码数据)+用户态(用户栈、共享库映射、堆、.bss/.data/.text)。2) Lua 虚拟机,技术点为 C++ 对象与 lua 绑定、C++ 函数导出;时序 lua_newstate → lua_dofile → lua_parse → lua_pcall → luaV_execute。 |
/obsidian/assets/migration-log/so-func-address-lookup.png | 找 so 函数地址:读 /proc/pid/maps 或 pmap -p 8031。系统 so 的 section 全加载可访问、普通 so 才可 open。Func 查找:读 Ehdr → 按 e_shnum 读 section 数组 → e_shstrndx 找名字表 → 定位 .dynsym/.dynstr/.rela.plt 等;已访问:从 .dynsym 按名找 st_value;未访问:.rela.plt 取条目,地址=ELF 起始+r_offset。 |
/obsidian/assets/migration-log/hotfix-jump-offset-selection.png | 按新老地址偏移选指令:iCheckOffset = abs(新地址 − (旧地址+5)),为 jmp+4 字节 offset 留位;近距离 [jmp offset],远距离 [movabs funcaddr,%rax; jmp *%rax]。原子性方案1:待热更函数若正在执行则停止热更——按 rip/rbp 遍历调用栈(FillCallerStack 读栈帧),若栈中 addr 落在替换代码范围内则终止本次热更。 |
/obsidian/assets/migration-log/pgp-private-key-ascii-armor.png | PGP 私钥的 ASCII Armor 文本截图:以 -----BEGIN PGP PRIVATE KEY BLOCK----- 开头,正文为整屏 base64 编码的私钥数据,即密钥导出后的文本形态。 |
/obsidian/assets/migration-log/static-lib-link-order.png | 「表1 链接器添加目标文件步骤」,演示静态库链接顺序:链接器用三个集合跟踪进度——E(已加入目标文件)、U(未定义符号)、D(已定义符号)。第一轮按 a.o→g.o→f.o→e.o→d.o→c.o 处理,库成员 g.o 首次扫描无可满足符号被跳过(记为...),此后 U 含 b_1、function_e、d_1;第二轮按 b.o→g.o→e.o→d.o→g.o 处理,b.o/e.o/d.o 依次加入并解析符号,再扫到 g.o 补上 g_1,最终 U 为 NULL(全部解析)。 |
/obsidian/assets/migration-log/secure-boot-trust-chain.png | Windows 安全启动链:CPU(Intel Boot Guard)→ BIOS/UEFI → Boot Loader(GRUB/IPXE)→ Kernel+Initrd → 应用程序,每级镜像带签名,加载前先 Verify 再 Execute,构成固件到应用的信任链;下半部分为配套截图:openssl 生成密钥、sbsign 签名、qemu 加载自定义 uefi.bin 验证 UEFI 签名及 DxeImageVerificationLib 代码。 |
/obsidian/assets/migration-log/libevent-http-callback-flow.png | Libevent 驱动的 HTTP 请求回调流程:Dial 建连后依次注册并触发 Write Header 回调(写请求头)→ 注册 Write Body 回调(写请求体)→ 注册 Read Header 回调(读响应头)→ 注册 Read Body 回调(读响应体)完成,各阶段由底层 Libevent 事件驱动。 |
/obsidian/assets/migration-log/ptrace-regs-memory-access.png | 访问目标进程寄存器与内存:GETREGS 读通用寄存器到 data,SETREGS 用 data 修改。x86-64:rdi/rsi/rdx/rcx/r8/r9 传前 6 参、rax 为返回值。内存读写用 PEEKTEXT/POKETEXT 或 process_vm_readv/writev。执行指令:Save 源寄存器和内存 → 改成目标所需 → PTRACE_CONT 执行 → trap 后还原。例 mmap:rax=9、rdi~r9 依次填参、rip 指向 glibc 起始地址执行。 |
/obsidian/assets/migration-log/elf-ehdr-shdr-structure.png | ELF 结构:Ehdr 含 e_ident(0x7f ELF)、e_type/e_machine/e_entry、e_phoff/e_shoff、e_shnum、e_shstrndx;Shdr 含 sh_name/sh_addr/sh_offset/sh_size 等。readelf -h libWorldHotfix.so:ELF64、DYN、X86-64、8 程序头、42 节头、节名表索引 41;readelf -l 可看 PHDR/LOAD/DYNAMIC 等 segment 映射。 |
/obsidian/assets/migration-log/process-hot-replace-sequence.png | 业界方案(续):3) 进程热替换,技术点:新进程 fork、Listen FD 迁移、读/写数据迁移(参考《Sidecar 平滑升级方案探索》),时序图含 switch_sock、AcceptNewConnection 等连接迁移。4) 动态链接库,技术点:新老函数地址查找、So 注入、新老函数替换;示意 program(0x400000)/libfoo.so(0x600000)/libbar.so(0x800000) 的 PLT 条目,新库 hook_foo_func 替换 foo_func。 |
/obsidian/assets/migration-log/hifive-unleashed-soc-ddr.png | 同一张 HiFive Unleashed 开发板照片,圆圈标出两处:中央 FU540 SoC 与其下方一排 8 颗 DDR 内存颗粒,用于说明程序地址空间中 DRAM 物理芯片的位置(地址从 0x8000 0000 开始)。 |
/obsidian/assets/migration-log/menuconfig-usb-gadget-drivers.png | Linux/arm 4.4.0-rc8 menuconfig:USB Gadget Drivers(经 configfs 配置 function)选为内置 <>,勾选各 function []:serial bulk、CDC ACM/OBEX/NCM/ECM(含 subset)、RNDIS、EEM、Mass storage、Loopback、FunctionFS、Audio Class 1.0/2.0、MIDI、HID、Webcam、Printer。 |
/obsidian/assets/migration-log/sifive-hifive-unleashed-board.png | SiFive HiFive Unleashed(Rev A00)RISC-V 开发板照片,圆圈标出板中央带 SiFive 标志的 FU540 SoC 芯片,板上另可见 8 颗内存颗粒、GigE 网口、microSD 卡槽、调试接口等。 |
/obsidian/assets/migration-log/sifive-fu540-memory-map.png | 同一 Table 6 后半段:I2C、QSPI0-2、GPIO、OTP、Ethernet MAC、DDR Control(0x100B_0000) 等外设;QSPI0/1 Flash 各 256MiB(0x2000_0000、0x3000_0000 起);ChipLink 两段各 512MiB;关键行 DDR Memory 126GiB,范围 0x8000_0000–0x1F_FFFF_FFFF,即 DRAM 从 0x8000_0000 开始映射。 |
/obsidian/assets/migration-log/pci-command-register-bits.png | PCI 配置空间 Command 寄存器(16 位)位定义图:bit15 保留;bit10 禁用中断;bit9 快速背靠背允许(PCI 专用,Express 不用);bit8 SERR# 允许;bit7 步长控制(PCI 专用);bit6 奇偶校验错误响应;bit5 VGA 调色板侦测(PCI 专用);bit4 存储器写并失效(PCI 专用);bit3 特殊循环(PCI 专用);bit2 总线主控;bit1 存储器空间允许;bit0 I/O 空间允许。 |
/obsidian/assets/migration-log/lspci-vvv-root-port-output.png | lspci -s 00:18.0 -vvv 输出(VMware PCI Express Root Port):Control 为 I/O+ Mem+ BusMaster+,中断引脚路由 IRQ 48;内存窗口 fd100000-fd1fffff;Capabilities:[40] Subsystem、[48] Power Management v3、[50] Express (v2) Root Port(MaxPayload 128);LnkCap:5GT/s、x32、ASPM L0s。 |
/obsidian/assets/migration-log/sifive-fu540-memory-map-2.png | SiFive FU540-C000 手册 Table 6 内存映射前半:0x0 起为 Debug 区、Mode Select、Mask ROM(32KiB)、E51 DTIM(8KiB)、各 Hart ITIM(28KiB)、CLINT(0x0200_0000)、DMA、L2 LIM(32MiB,0x0800_0000 起)、PLIC(0x0C00_0000 起)、PRCI、UART、PWM 等;属性 R/W/X/C/A=读/写/执行/可缓存/原子。 |
/obsidian/assets/migration-log/ethernet-magnetics-bob-smith.png | 以太网磁性元件电路图(左为芯片侧、右为线缆侧):差分线对经共模电感与变压器隔离耦合,线圈中心抽头经中心抽头电容接地(理想情况应低阻抗接零电位参考点),另接高压电容;线缆侧未使用的线对经 Bob Smith 电路端接:4 个 75Ω 电阻汇接后通过 0.1uF 电容接地,用于阻抗匹配与 EMI 抑制。 |
/obsidian/assets/migration-log/wkd-autoencrypt-kleopatra-demo.gif | WKD 自动加密演示图:Outlook(账户 wksdemo@testkolab.intevation.de)窗口上叠加 Kleopatra 证书管理器,All Certificates 列表中有一张 OpenPGP 证书:名称 WKS demo、邮箱 wksdemo@testkolab.intevation.de、Valid From 10.07.2018、Key-ID 以 17DBECAB 开头,展示 WKD 配置后证书被自动获取使用。 |
/obsidian/assets/migration-log/tls-handshake-padding-mitigation.png | 「基于 Padding 的缓解」示意图:TLS 握手的每条消息——客户端 ClientHello、服务端 ServerHello、加密的 Certificate、双方的 Finished——之后都附加 Padding 块,使各消息实际长度被填充掩盖,从而削弱基于报文长度特征(如证书大小)的流量分析。 |
/obsidian/assets/migration-log/gnome-remote-desktop-service-status.png | 在 ~/certs 目录执行 systemctl --user status gnome-remote-desktop.service 的输出:active (running)(自 2023-12-29 20:13 起),Main PID 88276,内存 16.0M,日志显示 Started GNOME Remote Desktop 和 RDP server started,表示配置证书后服务运行正常。 |
/obsidian/assets/migration-log/gnome-connections-rdp-success.png | GNOME Connections(RDP 客户端)连接成功截图:窗口标题栏显示 rdp://192.168.124.59:3389,窗口内呈现远程 Ubuntu 桌面(GNOME 顶栏时间 20:44、左侧 Dock),证明 gnome-remote-desktop 服务可正常远程访问。 |
/obsidian/assets/migration-log/rdp-fullscreen-remote-session.png | 全屏远程桌面会话截图:顶栏显示已连接主机 192.168.124.59,画面为远程 Ubuntu GNOME 桌面(左侧 Dock 与默认壁纸),直观确认 RDP 远程连接可用。 |
/obsidian/assets/migration-log/gdm-keyring-unlock-failure-log.png | 失焦模糊的系统日志截图,可辨认的关键报错:gdm-password 的 pam_unix 认证失败(tty=/dev/tty1 user=lost)、gkr-pam 提示登录钥匙串密码无效(the password for the login keyring was invalid)、gnome-keyring-daemon 报 failed to unlock login keyring on startup,反映钥匙串解锁失败类问题。 |
/obsidian/assets/migration-log/systemctl-status-gnome-remote-desktop.png | 终端执行 systemctl status --user gnome-remote-desktop 的输出:服务已加载(gnome-remote-desktop.service,enabled),状态 active (running)(自 2023-12-29 19:48 起),Main PID 2309,内存 15.4M,日志显示 Starting/Started GNOME Remote Desktop 与 RDP server started,说明服务启动正常。 |
/obsidian/assets/migration-log/restls-script-flow.png | 「Restls Script: You Decide」流程图:客户端先发 ClientHello Part 1,Restls 对外回 Fake Response 伪装普通响应;再收 ClientHello Part 2 转发真实目标;收到 ServerHello+Certificate Part 1 时同样先回客户端 Fake Response,再发 Certificate Part 2+Finished;最后客户端发 Finished+Padding。以拆分报文、穿插伪造响应隐藏代理行为。 |
/obsidian/assets/migration-log/afl-gcc-main-control-flow.png | afl-gcc main() 控制流:按 argv[0] 名经环境变量定 cc_params[0] 并置 clang_mode;识别 -B、-fsanitize=address |
/obsidian/assets/migration-log/afl-as-main-flow-2.png | afl-as main() 控制流:tmp_dir 依次取 TMPDIR、TEMP、/tmp;clang_mode 未设 AFL_AS 时 afl_as 依次取 AFL_CC、AFL_CXX、clang;解析 -64/-32/-arch 设 use_64bit,非法组合 FATAL;clang 下追加 -c -x assembler;input_file 为最后一个参数,-version 仅设 just_version;最后生成临时 modified_file 进入插桩。 |
/obsidian/assets/migration-log/afl-as-add-instrumentation-flow.png | afl-as.c add_instrumentation() 控制流:逐行 fgets 读汇编,按 skip_intel/skip_app/skip_csect、.p2align(clang_mode)、-5/.textl 等条件跳过,匹配 .text/.cod 段与标签后,当 R(100) < inst_ratio 时输出 trampoline_fmt_64/32 桩代码并 inst_lines++;文件打开失败即 FATAL,结束时打印插桩行数与 OKF 信息。 |
/obsidian/assets/migration-log/afl-instrumented-assembly-2.png | test-instr.c 编译产物的 x86_64 汇编截图,红框标出 AFL 插入的桩代码:注释 /* --- AFL TRAMPOLINE (64-BIT) --- / 后 .align 4,先 leaq -(128+24)(%rsp),%rsp 开辟空间保存 %rdx/%rcx/%rax,movq $0x0000ba83,%rcx 装入随机码后 call __afl_maybe_log,再逆序恢复寄存器与栈,以 / --- END --- */ 结束,旁注「插入的桩代码」。 |
/obsidian/assets/migration-log/afl-trampoline-asm.png | 前一张桩代码截图的放大版:红框内为 AFL 插入的 64 位 trampoline 汇编,leaq -(128+24)(%rsp),%rsp 保存 %rdx/%rcx/%rax 三个寄存器,movq $0x0000ba83,%rcx 传入随机 map ID 后 call __afl_maybe_log 上报覆盖率,随后按相反顺序恢复寄存器与栈,右侧标注「插入的桩代码」。 |
/obsidian/assets/migration-log/afl-source-tree-treemap.png | AFL 源码目录 treemap(面积≈文件大小):afl-fuzz.c 独占最大块,其次 afl-tmin.c、afl-analyze.c、afl-as.c、afl-showmap.c、afl-gcc.c 及 alloc-inl.h 等头文件;另有 llvm_mode(afl-clang-f*、afl-llvm-pass、afl-llvm-rt)、qemu_mode、libtokencap、libdislocator、experimental 等子目录,核心逻辑集中在 afl-fuzz.c。 |
/obsidian/assets/migration-log/afl-gcc-control-flow.png | afl-gcc 完整控制流:识别 afl-clang-fast、-m32/-m64、-fsanitize(asan/msan)、_FORTIFY_SOURCE,置 bit_mode/asan_set/fortify_set;clang 模式加 __AFL_HAVE_MANUAL_CONTROL 并链 afl-llvm-rt.o;ASAN/MSAN 与 HARDEN 冲突 FATAL;AFL_NO_BUILTIN 禁 builtin;最后按 bit_mode 分支完成参数拼装。 |
/obsidian/assets/migration-log/tls-in-tls-illustration.png | 三联对比图:左「TLS Handshake」常规握手——ClientHello 后服务端回 ServerHello+加密 Certificate+Finished,客户端再发加密 Finished;中「TLS In TLS」——内层 TLS 完整握手嵌进外层加密隧道,代理转发给真实目标 Google;右「Normal TLS」——握手后 HTTP GET/POST 及响应封装在加密通道。对比说明代理场景下内层握手与普通流量的结构差异。 |
/obsidian/assets/migration-log/pc411-nvme-ssd-label.jpg | 长江存储 PC411 2048GB NVMe M.2 SSD 产品图:标签印有 Model PC411-2TB-D、PCIe Gen4x4、PN、PSID、SN、FW、EUI64 字段及两个二维码,并标注 WARRANTY VOID IF LABEL REMOVED(撕毁标签即失保);要点是 PSID 就印在硬盘标签上,需要 PSID Revert 解锁时从标签读取,但注意撕毁标签会失去保修。 |
/obsidian/assets/migration-log/gppc-2014-solver-comparison-table.png | GPPC 2014 表(全解 1,739,340 例):预处理组 SRC-dfs 最快 0.145ms(28GB、预处理 11649.5 分钟)、CH 0.362ms(2.4GB、968.8 分钟)。低预处理组:NSubgoal 0.773ms(293MB)、BLJPS2 7.444ms(47MB)、JPS+ 7.732ms、BLJPS 14.453ms;A* Bucket 36.815ms、49600 例未解。历史:JPS(2012) 62.524ms、Tree(2013) 0.029ms。 |
/obsidian/ffmpeg-视频处理相关合集/assets/2019110521511521-20240701172031-2opm7gp-693b14.png | 表格「常用视频格式及对应的文件格式」:AVI→AVI;WMV→WMV;MPEG(分 MPEG-1/2/4)→MPG、MPEG、VOB、DAT、3GP、MP4;Matroska→MKV;Real Video→RM、RMVB;QuickTime File Format→MOV;Flash Video→FLV。 |
/obsidian/linux-副屏方案合集/assets/0df431adcbef76099b0ff2a268dda3cc7cd99e83-20240613001515-nnnmwk2-9475dd.jpg | 副屏方案效果实拍:主屏全屏运行游戏《崩坏:星穹铁道》,右侧竖立的安卓平板作为副屏显示 Telegram 的 Arch Linux 中文群聊天界面,说明平板副屏可边打游戏边聊天。 |
/obsidian/linux-副屏方案合集/assets/139e5c70548c7b7c89f29d9b2ea85156-20240612234104-8kwz6q4-80ad0e.png | 用 xfreerdp 连接 Windows 远程桌面:终端执行 xfreerdp /u:zhangpeng /p:****** /v:10.10.20.2:3389,日志显示加载 cliprdr、rdpdr、rdpsnd 等通道,本地 framebuffer 为 PIXEL_FORMAT_BGR32、远端 RGB32,连接成功后弹出远程桌面窗口。 |
/obsidian/linux-副屏方案合集/assets/224857hfzbf98kpk88mnkm-20240613001945-70kmimn-7f9090.jpg | Emacs 中查看 xrandr 输出:物理输出 DP-1、HDMI1 均为 disconnected,仅虚拟输出 VIRTUAL1 挂有 1112x808_virt 模式(99.25MHz,行频 67.00KHz,刷新 59.60Hz,时序 1112/1184/1296/1488、808/811/817/848),配合 xrandr --addmode VIRTUAL1 1112x808_virt 与 --output VIRTUAL1 --right-of eDP1 把虚拟屏接到主屏右侧。 |
/obsidian/linux-副屏方案合集/assets/224859rpz8s86sk1f8zgaj-20240613001945-hkqvxq1-c98c06.jpg | 终端运行 deskreen 启动 Deskreen:日志显示 Deskreen signaling server 已在端口 3131 上线,提示 APPIMAGE 环境变量未定义(非 AppImage 方式启动),并反复输出 Electron contextIsolation 默认值将由 false 改为 true 的弃用警告(node:176234)。 |
/obsidian/linux-副屏方案合集/assets/9d8e1223d9acc906e613cbf0edf5bffe-20240612234104-bq4ra0i-a0c17c.png | xfreerdp 指定分辨率:完整命令 xfreerdp /u:zhangpeng /p:****** /v:10.10.20.2:3389 /w:1920 /h:1080(图中箭头所指即追加的 /w /h 参数),日志显示自签名证书告警(CN = DESKTOP-FQAH3KI)、本地 BGR32 / 远端 RGB32 framebuffer 及各通道加载。 |
/obsidian/linux-笔记本电源管理资料合集/assets/2021050509035985-20240614003632-4p55275-2ed01d.png | PowerTOP Tuning 页待优化项与脚本:vm 回写间隔改 1500(/proc/sys/vm/dirty_writeback_centisecs);SATA 链路电源 min_power;USB 自动挂起 power/control 写 auto;关 NMI watchdog;PCI 设备 Runtime PM 写 auto;网卡 ethtool -s enp2s0 wol d。System 389.0 wakeups/s。 |
/obsidian/实现一个简单的-crt-issue24-系列合集/assets/net-img-44951987-ce5f7780-aea5-11e8-8ddf-5ccd22ba949e-20240421232934-05og0jp-f410c0.png | 终端演示从 APK 签名块提取证书:在 app-release/META-INF 目录用 gcc get_cer_from_pkcs7.c -o get_cer_from_pkcs7 -lcrypto 编译,运行 ./get_cer_from_pkcs7 CERT.RSA 生成 my.cer,再用 xxd my.cer 十六进制查看:文件以 3082 0359、3082 0241 开头的 DER 编码证书,其后为版本、序列号、OID 等字段的十六进制与 ASCII 对照。 |
移除的装饰图片
/obsidian/assets/migration-log/geek-culture-logo.jpg/obsidian/assets/migration-log/removed-decorative-image-2.png/obsidian/assets/migration-log/removed-decoration-webp-34.webp/obsidian/assets/migration-log/removed-decoration-44.webp/obsidian/assets/migration-log/removed-decorative-image.webp/obsidian/assets/migration-log/removed-decoration-png-952f.png/obsidian/assets/migration-log/removed-decoration-9is5kvdg69.gif/obsidian/assets/migration-log/removed-decorative-gif.gif/obsidian/assets/migration-log/tango-view-fullscreen-icon.png/obsidian/assets/migration-log/decorative-check-icon.svg/obsidian/assets/migration-log/close-black-button.png/obsidian/assets/migration-log/close-button-icon.png/obsidian/assets/migration-log/copycode-icon.gif/obsidian/assets/migration-log/removed-decorative-image-2-2.png/obsidian/assets/migration-log/removed-decor-image.png/obsidian/assets/migration-log/removed-decorative-image-3.png/obsidian/assets/migration-log/removed-decor-icon.png/obsidian/assets/migration-log/removed-decoration-png-rk3zp6s.png/obsidian/assets/migration-log/jingdong-logo.png/obsidian/assets/migration-log/web-badge-88x31.png/obsidian/assets/migration-log/network-asset-download.png/obsidian/assets/migration-log/openlogo-50.png/obsidian/assets/migration-log/nixcraft-cyberciti-logo.webp/obsidian/assets/null-20250517190443-l464q62-214df8.html/obsidian/assets/migration-log/pay-help.png/obsidian/assets/migration-log/pay-time-out.png/obsidian/assets/migration-log/quote-close-white-icon.png/obsidian/assets/migration-log/read-count-white-icon.png/obsidian/assets/migration-log/recharge-button-icon.png/obsidian/assets/url-20241218231652-hh63juu-4cad18.html/obsidian/assets/migration-log/vip-limited-close-white.png/obsidian/assets/migration-log/vip-limited-close-group.png/obsidian/assets/migration-log/weixin-logo-icon.png/obsidian/linux-笔记本电源管理资料合集/assets/0b1331709591d260c1c78e86d0c51c18-20240613163850-wz5llfw-2300d7.gif
缺失的图片引用(原文即缺失)
assets/0923eefc85c1bf87f47591222532f1f2-20231227140102-77ehmv6.pngassets/0lSZklwNLiZrkoitK-20240820231850-mbx1jk4.gifassets/1731465-20220215150517634-576303726-20250816092702-4n5oom8.jpgassets/1957a271e7c4a96f8b3c7fafa7bb43d9-20250718132247-ognngvv.pngassets/20210531195354484-20240716113400-1047iqi.pngassets/32f29686127beb5a3279e630259903ae-20231227140102-nv8432p.pngassets/640-0054201-20231227140102-2q26i0g.assets/640-20211221105837677-20231227140102-63ijbdk.webpassets/c9ef31ceacd64468ba15afd1a7dd2ea5tplv-obj10801439-20240119102458-y5x0hnp.imageassets/img-01c19faa-3935-49f1-b060-3cdf68f90a9b-20250624102543-jx8nkhz.pngassets/img-1f4a22a1-6b93-47f3-a03d-103f1770dfae-20250624102543-dqy12h3.pngassets/img-d298b879-770e-4756-950d-33a978c4c967-20250624102542-vh4z6vf.pngassets/img-f5a19255-7d4c-4e84-b653-a58266de11f9-20250624102542-hktnxlp.pngassets/img-f778dd83-69d1-4867-8525-683f88348dd9-20250624102543-x796zk6.pngassets/v2-220e2ec69d48a5cdd20386e3f3635929_b-20231227143706-lcw0yy5.jpgassets/v2-28849aa5bc7f67f5fae600809ccfd208_180x120-20231227143335-jx982yo.jpgassets/v2-2e3000666651d506fcbf7853021dd7ec_b-20231227143335-h8v4se2.jpgassets/v2-3140f0b3a127615e30edb8fe5d23d26d_b-20231227143335-f40ckln.jpgassets/v2-355a768c54e5904f1715f363eb6d4077_b-20231227143706-idrq7ti.jpgassets/v2-372c6e2d46c4fb36d9cb1a243b05ae01_b-20231227143335-69g4ixb.jpgassets/v2-373226d0bfbc101eec1d9f8793119006_b-20231227143335-jys2953.jpgassets/v2-4427adaffe3be4e6136b72c29a86a19e_b-20231227143335-ypv5u9i.jpgassets/v2-69543c4b3d2efe282105c6cd4a45cb33_b-20231227143335-wbdtqoc.jpgassets/v2-7bc7a12c5ff88d4a40211c03d615fc30_b-20231227143706-5uv0bhy.jpgassets/v2-a54ef5ea08e20753ed083a9da7e9ff8b_b-20231227143335-t9udyp6.jpgassets/v2-b0b1f4866274bbc258bb3a55763df27b_b-20231227143335-niel9xw.jpg
同题去重记录(保留 ← 丢弃)
- 保留
Rust生命周期集大成者 PhantomData_T_.md,丢弃Rust生命周期集大成者 PhantomDataT.md - 保留
C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog.md,丢弃C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zcllls blog.md - 保留
How to Burn a CD or DVD ISO in the Linux Terminal Baeldung on Linux.md,丢弃CD-DVD - Debian Wiki/How to Burn a CD or DVD ISO in the Linux Terminal _ Baeldung on Linux.md - 保留
FFmpeg 视频处理等相关/ffmpeg转码常用容器、编码格式与解编码器的搭配总结,-c与-f参数的运用.md,丢弃ffmpeg转码常用容器、编码格式与解编码器的搭配总结,-c与-f参数的运用.md - 保留
光盘文件格式-udf、iso9660、Joliet、Romeo_怎么看光盘是不是iso9660-CSDN博客.md,丢弃CD-DVD - Debian Wiki/光盘文件格式-udf、iso9660、Joliet、Romeo_怎么看光盘是不是iso9660-CSDN博客.md - 保留
An unsafe tour of Rust_s Send and Sync.md,丢弃An unsafe tour of Rusts Send and Sync.md - 保留
CDDVD - Debian Wiki.md,丢弃CD-DVD - Debian Wiki.md - 保留
【C++ 20 并发工具 std__barrier】掌握并发编程:深入理解C++的std__barrier.md,丢弃【C++ 20 并发工具 stdbarrier】掌握并发编程:深入理解C++的stdbarrier.md - 保留
Linux Find Out Name Of DVD CD-ROM Blu-ray Writer Device.md,丢弃CD-DVD - Debian Wiki/Linux Find Out Name Of DVD CD-ROM Blu-ray Writer Device.md - 保留
vpn/nginx中proxy_set_header Host $host的作用及$proxy_host,$host与$http_host的区别.md,丢弃nginx中proxy_set_header Host $host的作用及$proxy_host,$host与$http_host的区别.md - 保留
vpn/搭建属于自己的cloudflare反代IP _ tanglu_s blog.md,丢弃搭建属于自己的cloudflare反代IP tanglus blog.md - 保留
vpn/搭建属于自己的cloudflare反代IP _ tanglu_s blog.md,丢弃vpn/搭建属于自己的cloudflare反代IP tanglus blog.md - 保留
Docker格式化输出命令__docker inspect --format_ 学习笔记.md,丢弃Docker格式化输出命令docker inspect --format 学习笔记.md - 保留
std__packaged_task 源码级详解.md,丢弃stdpackaged_task 源码级详解.md - 保留
BurnCd - Debian Wiki.md,丢弃CD-DVD - Debian Wiki/BurnCd - Debian Wiki.md - 保留
笔记本电源管理/桌面应用_TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具.md,丢弃笔记本电源管理/桌面应用TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具.md - 保留
linux 副屏方案/gnome virtual monitor_ How to Share Virtual Extended Screen in Ubuntu 22.04 _ 24.04.md,丢弃linux 副屏方案/gnome virtual monitor How to Share Virtual Extended Screen in Ubuntu 22.04 24.04.md - 保留
linux 副屏方案/技术_如何使用移动设备作为 Linux 副屏.md,丢弃linux 副屏方案/技术如何使用移动设备作为 Linux 副屏.md - 保留
vpn/CF-Workers-docker.io:Docker仓库镜像代理工具。.md,丢弃cf-worker/CF-Workers-docker.io:Docker仓库镜像代理工具。.md - 保留
FFmpeg 视频处理等相关/【FFmpeg】FFmpeg 相关术语简介 ( 容器 _ 媒体流 _ 数据帧 _ 数据包 _ 编解码器 _ 复用.md,丢弃FFmpeg 视频处理等相关/【FFmpeg】FFmpeg 相关术语简介 ( 容器 媒体流 数据帧 数据包 编解码器 复用.md - 保留
C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/C++ 20 CPO 和 Ranges 新算法.md,丢弃C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zcllls blog/C++ 20 CPO 和 Ranges 新算法.md - 保留
C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/Niebloids and Customization Point Objects.md,丢弃C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zcllls blog/Niebloids and Customization Point Objects.md - 保留
C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/C++的定制点设计.md,丢弃C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zcllls blog/C++的定制点设计.md - 保留
ssh FQA/ERROR_ Secsh channel open FAILED_ Connect failed.md,丢弃ssh FQA/ERROR Secsh channel open FAILED Connect failed.md - 保留
延时 ACK 与 Nagle 算法结合/TCP_NODELAY & Nagle_s Algorithm.md,丢弃延时 ACK 与 Nagle 算法结合/TCP_NODELAY & Nagles Algorithm.md - 保留
issue24 实现一个简单的CRT/Issue16 共享库及符号的版本控制实践_ 动态链接库符号版本控制.md,丢弃issue24 实现一个简单的CRT/Issue16 共享库及符号的版本控制实践 动态链接库符号版本控制.md
正文完全重复去重记录
- 保留
vpn/cf-worker.md,丢弃cf-worker.md - 保留
How to Burn a CD or DVD ISO in the Linux Terminal Baeldung on Linux.md,丢弃CD-DVD - Debian Wiki/How to Burn a CD or DVD ISO in the Linux Terminal Baeldung on Linux.md - 保留
vpn/Nginx如何设置用户登录验证.md,丢弃Nginx如何设置用户登录验证.md - 保留
linux 副屏方案/gnome virtual monitor_ How to Share Virtual Extended Screen in Ubuntu 22.04 _ 24.04/TMP BUGFIX_ Mouse cursor not visible in extend mode over RDP.md,丢弃linux 副屏方案/gnome virtual monitor How to Share Virtual Extended Screen in Ubuntu 22.04 24.04/TMP BUGFIX Mouse cursor not visible in extend mode over RDP.md
跳过的空壳文件
笔记本电源管理.md(仅 104 字节,标题占位)JWT 续签问题.md(仅 486 字节,标题占位)rust future async await generator yeild.md(仅 168 字节,标题占位)linux 副屏方案.md(仅 216 字节,标题占位)深度HIS系统操作功能说明书.md(仅 373 字节,标题占位)tput 命令行使用说明/grep color.md(仅 113 字节,标题占位)Qemu win11 虚拟化之Machine Type/q35 vs i440fx.md(仅 313 字节,标题占位)vpn/amazon 服务器申请.md(仅 125 字节,标题占位)
来源对照表
点击展开全部 源文件 → 目标页面 对照(393 项)
| 源文件 | 目标页面 |
|---|---|
| 2021年,用更现代的方法使用PGP(上).md | obsidian/2021年-用更现代的方法使用pgp/ |
| 2021年,用更现代的方法使用PGP(中).md | obsidian/2021年-用更现代的方法使用pgp/ |
| 2021年,用更现代的方法使用PGP(下).md | obsidian/2021年-用更现代的方法使用pgp/ |
| 30分钟搞定AES系列(上):基础特性-腾讯云开发者社区-腾讯云.md | obsidian/30分钟搞定aes系列/ |
| 30分钟搞定AES系列(下):IV与加密语义安全性探究-腾讯云开发者社区-腾讯云.md | obsidian/30分钟搞定aes系列/ |
| 4.1 配置网络 - DebianUbuntu Book《Linux 二零》.md | obsidian/4.1-配置网络-debianubuntu-book《linux-二零》/ |
| 4.5 Kernel Page Table,内存地址为什么从0x8000 0000开始,这是DRAM的开始地址,小于这个地址是IO或者其他的存储类地址_ddr的地址范围为什么不是从0开始.md | obsidian/4.5-kernel-page-table-内存地址为什么从0x8000-0000开始-这是dram的开始地址-小于这个地址是io或者其他的存储类地址_ddr的/ |
| 7. 平台设备驱动 — [野火]嵌入式Linux驱动开发实战指南——基于i.MX6ULL系列 文档.md | obsidian/7.-平台设备驱动-[野火]嵌入式linux驱动开发实战指南-基于i.mx6ull系列-文档/ |
| 8.2. 软件包管理.md | obsidian/8.2.-软件包管理/ |
| Docker容器运行GUI程序的配置方法/[Docker]GUI最佳实践 - Containerization and Automation.md | obsidian/[docker]gui最佳实践-containerization-and-automation/ |
| AFL.md | obsidian/afl/ |
| Alist小雅超集Docker搭建排坑指南.md | obsidian/alist小雅超集docker搭建排坑指南/ |
| An unsafe tour of Rust_s Send and Sync.md | obsidian/an-unsafe-tour-of-rust-s-send-and-sync/ |
| AppImage_ 一次打包,到处运行.md | obsidian/appimage-一次打包-到处运行/ |
| apt-key is deprecated. Manage keyring files in trusted.gpg.d.md | obsidian/apt-key-is-deprecated.-manage-keyring-files-in-trusted.gpg.d/ |
| Arch Linux 安装笔记(LUKS2 + Secure Boot + TPM + PIN).md | obsidian/arch-linux-安装笔记-luks2-secure-boot-tpm-pin/ |
| Are Nested Static Library dependencies possible_.md | obsidian/are-nested-static-library-dependencies-possible/ |
| arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别.md | obsidian/arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别/ |
| ASN.1笔记——标准编码规则BER - Netsharp - 博客园.md | obsidian/asn.1笔记-标准编码规则ber-netsharp-博客园/ |
| Bash-ing your network.md | obsidian/bash-ing-your-network/ |
| blogsrclangrust14-使用GDB调试Rust应用.md.md | (与下文组合器文章逐字重复且标题错位,已删除;内容见 obsidian/用rust学习解析器组合器-combinator/) |
| Build Your Text Editor With Rust!.md | obsidian/build-your-text-editor-with-rust/ |
| C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/C++ 20 CPO 和 Ranges 新算法.md | obsidian/c-20-中的-cpo-定制点对象-与-niebloid/ |
| C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/C++的定制点设计.md | obsidian/c-20-中的-cpo-定制点对象-与-niebloid/ |
| C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog/Niebloids and Customization Point Objects.md | obsidian/c-20-中的-cpo-定制点对象-与-niebloid/ |
| 【C++ 20 并发工具 std__barrier】掌握并发编程:深入理解C++的std__barrier.md | obsidian/c-20-并发工具-std-barrier-掌握并发编程-深入理解c-的std-barrier/ |
| C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zclll_s blog.md | obsidian/c-20中的cpo-定制点对象-与niebloid-ranges受约束算法的调用-zclll-s-blog/ |
| C Language Tutorial =_ Flexible Array Members.md | obsidian/c-language-tutorial-flexible-array-members/ |
| C++轻量级对象Json序列化与反射框架.md | obsidian/c-轻量级对象json序列化与反射框架/ |
| c++雅兰亭库 (yalantinglibs) 介绍及使用(序列化、json和结构体转换、协程).md | obsidian/c-雅兰亭库-yalantinglibs-介绍及使用-序列化、json和结构体转换、协程/ |
| CD-DVD - Debian Wiki/ManipulatingISOs - Debian Wiki.md | obsidian/cd-dvd-刻录-debian-wiki-合集/ |
| BurnCd - Debian Wiki.md | obsidian/cd-dvd-刻录-debian-wiki-合集/ |
| CDDVD - Debian Wiki.md | obsidian/cd-dvd-刻录-debian-wiki-合集/ |
| How to Burn a CD or DVD ISO in the Linux Terminal Baeldung on Linux.md | obsidian/cd-dvd-刻录-debian-wiki-合集/ |
| Linux Find Out Name Of DVD CD-ROM Blu-ray Writer Device.md | obsidian/cd-dvd-刻录-debian-wiki-合集/ |
| 光盘文件格式-udf、iso9660、Joliet、Romeo_怎么看光盘是不是iso9660-CSDN博客.md | obsidian/cd-dvd-刻录-debian-wiki-合集/ |
| Centos 网卡命名规范及信息查看(物理网卡,虚拟网卡).md | obsidian/centos-网卡命名规范及信息查看-物理网卡-虚拟网卡/ |
| CentOS7下利用FRR路由套件实现OSPF动态路由组网.md | obsidian/centos7下利用frr路由套件实现ospf动态路由组网/ |
| vpn/cf-worker.md | obsidian/cf-worker/ |
| vpn/CF-Workers-docker.io:Docker仓库镜像代理工具。.md | obsidian/cf-workers-docker.io-docker仓库镜像代理工具/ |
| chacha20-poly1305算法分析和纯JS实现本文.md | obsidian/chacha20-poly1305算法分析和纯js实现本文/ |
| CloudEngine S8700 V600R024C00 配置指南-以太网交换.md | obsidian/cloudengine-s8700-v600r024c00-配置指南-以太网交换/ |
| cmake-conan 2.0 接入指南.md | obsidian/cmake-conan-2.0-接入指南/ |
| CMake 学习笔记.md | obsidian/cmake-学习笔记/ |
| Compare AnyTLS, Reality and ShadowTLS.md | obsidian/compare-anytls-reality-and-shadowtls/ |
| Convert Hex String to Bytes in Python.md | obsidian/convert-hex-string-to-bytes-in-python/ |
| cpp造轮子--手把手教你实现json解析器.md | obsidian/cpp造轮子-手把手教你实现json解析器/ |
| 系统调用会引起CPU上下文切换吗? · Issue #5 · Talk-Go-CSAPP-05Discusion/CPU上下文切换.md | obsidian/cpu上下文切换/ |
| C语言结构体初始化的四种方法.md | obsidian/c语言结构体初始化的四种方法/ |
| DatenLord|Rust程序性能分析.md | obsidian/datenlord-rust程序性能分析/ |
| Debugging with gdb - Examining Data.md | obsidian/debugging-with-gdb-examining-data/ |
| Digging Into Runtimes – runc.md | obsidian/digging-into-runtimes-–-runc/ |
| DNS报文格式.md | obsidian/dns报文格式/ |
| docker使用macvlan配置网络,使容器与宿主机在同一局域网,广播域内_docker macvlan dhcp-CSDN博客.md | obsidian/docker使用macvlan配置网络-使容器与宿主机在同一局域网-广播域内_docker-macvlan-dhcp-csdn博客/ |
| docker启动nginx输入证书密码.md | obsidian/docker启动nginx输入证书密码/ |
| Docker容器运行GUI程序的配置方法.md | obsidian/docker容器运行gui程序的配置方法/ |
| Docker格式化输出命令__docker inspect --format_ 学习笔记.md | obsidian/docker格式化输出命令-docker-inspect-format-学习笔记/ |
| Docker的bridge和macvlan两种网络模式 - 张艳华 - 博客园.md | obsidian/docker的bridge和macvlan两种网络模式-张艳华-博客园/ |
| Docker跨主机通信之macvlan · Docker实战.md | obsidian/docker跨主机通信之macvlan-docker实战/ |
| dpkg 命令分析之数据目录.md | obsidian/dpkg-命令分析之数据目录/ |
| False sharing.md | obsidian/false-sharing/ |
| FFmpeg 视频处理等相关/ffmpeg转码常用容器、编码格式与解编码器的搭配总结,-c与-f参数的运用.md | obsidian/ffmpeg-视频处理相关合集/ |
| FFmpeg 视频处理等相关/ffmpeg:文件格式、封装格式、编码_ffmpeg 支持rmvb格式.md | obsidian/ffmpeg-视频处理相关合集/ |
| FFmpeg 视频处理等相关/【FFmpeg】FFmpeg 相关术语简介 ( 容器 _ 媒体流 _ 数据帧 _ 数据包 _ 编解码器 _ 复用.md | obsidian/ffmpeg-视频处理相关合集/ |
| FFmpeg 视频处理等相关.md | obsidian/ffmpeg-视频处理等相关/ |
| rust future async await generator yeild/1 Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/2 Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/3 Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/4 Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/5 await - Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/6 Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/7 主要例子 - Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/8 Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/9 Futures Explained in 200 Lines of Rust.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/Async Rust 的实现.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/rfcstext2033-experimental-coroutines.md at master · rust-langrfcs.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| rust future async await generator yeild/rust中async代码块和async fn是怎么编译成状态机的?.md | obsidian/futures-explained-in-200-lines-of-rust-rust-future-系列合集/ |
| FuturesUnordered An Efficient Way to Manage Multiple Futures in Rust.md | obsidian/futuresunordered-an-efficient-way-to-manage-multiple-futures-in-rust/ |
| GCC 内联汇编 - 不告诉你我是谁.md | obsidian/gcc-内联汇编-不告诉你我是谁/ |
| GCC链接器静态库链接顺序浅析_gcc 静态库的先后顺序.md | obsidian/gcc链接器静态库链接顺序浅析_gcc-静态库的先后顺序/ |
| GDB 源码分析系列文章三:调试信息的处理、符号表的创建和使用_gdb 符号表-CSDN博客.md | obsidian/gdb-源码分析系列文章三-调试信息的处理、符号表的创建和使用_gdb-符号表-csdn博客/ |
| GDB 源码分析系列文章二:gdb 主流程 Event Loop 事件处理逻辑详解.md | obsidian/gdb-源码分析系列文章二-gdb-主流程-event-loop-事件处理逻辑详解/ |
| GDB调试多线程及多进程.md | obsidian/gdb调试多线程及多进程/ |
| glibc 版本(version `GLIBC_2.14_ not found).md | [obsidian/glibc-版本-version-glibc_2.14-not-found/](@/obsidian/glibc-版本-version-glibc_2.14-not-found.md) |
| Glibc可调参数使用指南 - OpenCloudOS Documentation.md | obsidian/glibc可调参数使用指南-opencloudos-documentation/ |
| GNOME Wayland 远程桌面.md | obsidian/gnome-wayland-远程桌面/ |
| GNU Binutils - readelf & objdump.md | obsidian/gnu-binutils-readelf-objdump/ |
| Grub2和Systemd环境下的Linux启动流程.md | obsidian/grub2和systemd环境下的linux启动流程/ |
| grub2详解(翻译和整理官方手册).md | obsidian/grub2详解-翻译和整理官方手册/ |
| GUNBash 系列(四)Shell 管道、重定向、序列、复合命令总结.md | obsidian/gunbash-系列-四-shell-管道、重定向、序列、复合命令总结/ |
| How can I link a static library to a dynamic library.md | obsidian/how-can-i-link-a-static-library-to-a-dynamic-library/ |
| How to collect Rust source-based code coverage.md | obsidian/how-to-collect-rust-source-based-code-coverage/ |
| How to Enable Remote Desktop in Ubuntu 22.04 Losst.md | obsidian/how-to-enable-remote-desktop-in-ubuntu-22.04-losst/ |
| How to setup SSH tuntap tunnel.md | obsidian/how-to-setup-ssh-tuntap-tunnel/ |
| issue24 实现一个简单的CRT.md | obsidian/issue24-实现一个简单的crt/ |
| kdumpcrash - OpenCloudOS Documentation.md | obsidian/kdumpcrash-opencloudos-documentation/ |
| KVM虚拟机磁盘镜像修改指南(libguestfs).md | obsidian/kvm虚拟机磁盘镜像修改指南-libguestfs/ |
| Learn how to improve your Git skills.md | obsidian/learn-how-to-improve-your-git-skills/ |
| Linux Capabilities HackTricks.md | obsidian/linux-capabilities-hacktricks/ |
| Linux Capabilities命令实战指南 安全赋予程序权限详解.md | obsidian/linux-capabilities命令实战指南-安全赋予程序权限详解/ |
| Linux dd Command Show Progress Copy Bar With Status.md | obsidian/linux-dd-command-show-progress-copy-bar-with-status/ |
| Linux PCIe驱动框架分析.md | obsidian/linux-pcie驱动框架分析/ |
| linux tar命令及cpu控制_tar 限制io.md | obsidian/linux-tar命令及cpu控制_tar-限制io/ |
| Linux Ubuntu dpkg 命令详解.md | obsidian/linux-ubuntu-dpkg-命令详解/ |
| Linux USB 基础概念与协议简介.md | obsidian/linux-usb-基础概念与协议简介/ |
| Linux 修改 ELF 解决 glibc 兼容性问题.md | obsidian/linux-修改-elf-解决-glibc-兼容性问题/ |
| linux 副屏方案/How to Use Your Tablet as a Second Monitor on Ubuntu.md | obsidian/linux-副屏方案合集/ |
| linux 副屏方案/Linux下查看本机显示器分辨率(xrandr)_linux 获取当前屏幕分辨率.md | obsidian/linux-副屏方案合集/ |
| linux 副屏方案/gnome virtual monitor_ How to Share Virtual Extended Screen in Ubuntu 22.04 _ 24.04.md | obsidian/linux-副屏方案合集/ |
| linux 副屏方案/gnome virtual monitor_ How to Share Virtual Extended Screen in Ubuntu 22.04 _ 24.04/TMP BUGFIX_ Mouse cursor not visible in extend mode over RDP.md | obsidian/linux-副屏方案合集/ |
| linux 副屏方案/使用 FreeRDP 远程连接 Windows 机器.md | obsidian/linux-副屏方案合集/ |
| linux 副屏方案/在 Linux 上使用 Sunshine 把安卓平板作为虚拟副屏,画面清晰延迟极低.md | obsidian/linux-副屏方案合集/ |
| linux 副屏方案/在 Wayland 下对某会议软件的屏幕共享方案,以及一些笔记.md | obsidian/linux-副屏方案合集/ |
| linux 副屏方案/技术_如何使用移动设备作为 Linux 副屏.md | obsidian/linux-副屏方案合集/ |
| Linux 桌面GUI及其启动流程.md | obsidian/linux-桌面gui及其启动流程/ |
| 笔记本电源管理/Linux TLP 电源管理教程.md | obsidian/linux-笔记本电源管理资料合集/ |
| 笔记本电源管理/linux下使用笔记本的相关设置.md | obsidian/linux-笔记本电源管理资料合集/ |
| 笔记本电源管理/linux笔记本电池管理,Linux系统笔记本电源管理方法实用指南.md | obsidian/linux-笔记本电源管理资料合集/ |
| 笔记本电源管理/linux系统电源管理之常用工具_upower.md | obsidian/linux-笔记本电源管理资料合集/ |
| 笔记本电源管理/桌面应用_TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具.md | obsidian/linux-笔记本电源管理资料合集/ |
| 笔记本电源管理/调试 Linux 设备电源管理,解决笔记本发热和续航问题.md | obsidian/linux-笔记本电源管理资料合集/ |
| Linux 虚拟网卡技术:Macvlan/Docker的bridge和macvlan两种网络模式.md | obsidian/linux-虚拟网卡技术-macvlan/ |
| Linux 虚拟网卡技术:Macvlan/Docker跨主机通信之macvlan.md | obsidian/linux-虚拟网卡技术-macvlan/ |
| Linux 虚拟网卡技术:Macvlan/Macvlan 和 IPvlan.md | obsidian/linux-虚拟网卡技术-macvlan/ |
| Linux 虚拟网卡技术:Macvlan/docker使用macvlan配置网络,使容器与宿主机在同一局域网,广播域内_docker macvlan dhcp.md | obsidian/linux-虚拟网卡技术-macvlan/ |
| Linux 虚拟网卡技术:Macvlan.md | obsidian/linux-虚拟网卡技术-macvlan-2/ |
| Linux上利用sunshine串流和虚拟显示器实现副屏扩展.md | obsidian/linux上利用sunshine串流和虚拟显示器实现副屏扩展/ |
| Linux上磁盘热插拔.md | obsidian/linux上磁盘热插拔/ |
| linux上编译release并剥离调试信息.md | obsidian/linux上编译release并剥离调试信息/ |
| Linux之facl----设置文件访问控制列表(详解).md | obsidian/linux之facl-设置文件访问控制列表-详解/ |
| grub2详解(翻译和整理官方手册)/linux内核启动参数.md | obsidian/linux内核启动参数/ |
| linux动态库加载路径: LD_LIBRARY_PATH失效.md | obsidian/linux动态库加载路径-ld_library_path失效/ |
| Linux应用调试(三)工具之Valgrind.md | obsidian/linux应用调试-三-工具之valgrind/ |
| linux忘记root密码又忘记grub密码怎么办.md | obsidian/linux忘记root密码又忘记grub密码怎么办/ |
| Linux系列—策略路由、ip rule、ip route - wanstack.md | obsidian/linux系列-策略路由、ip-rule、ip-route-wanstack/ |
| Linux系统Polkit权限配置入门指南.md | obsidian/linux系统polkit权限配置入门指南/ |
| 笔记 _ Linux 性能监视与跑分测试/Linux系统如何做性能测试?.md | obsidian/linux系统如何做性能测试/ |
| Linux系统如何做性能测试?-腾讯云开发者社区-腾讯云.md | obsidian/linux系统如何做性能测试-腾讯云开发者社区-腾讯云/ |
| Linux运维bind9-DNS正向解析DNS反向解析.md | obsidian/linux运维bind9-dns正向解析dns反向解析/ |
| Linux配置etcresolv.conf详解.md | obsidian/linux配置etcresolv.conf详解/ |
| Macvlan 和 IPvlan - MKY-门可意.md | obsidian/macvlan-和-ipvlan-mky-门可意/ |
| Mastering Zsh Keyboard Shortcuts for Efficient Shell Navigation and Editing.md | obsidian/mastering-zsh-keyboard-shortcuts-for-efficient-shell-navigation-and-editing/ |
| mDNS与DNS-SD以及在Matter中使用 - FreeBuf网络安全行业门户.md | obsidian/mdns与dns-sd以及在matter中使用-freebuf网络安全行业门户/ |
| MIT 6.858 Computer Systems Security - Lab 1 实验报告.md | obsidian/mit-6.858-computer-systems-security-lab-1-实验报告/ |
| MIT 6.858 Computer Systems Security - Lab 3 实验报告.md | obsidian/mit-6.858-computer-systems-security-lab-3-实验报告/ |
| Modern c++快速浅析.md | obsidian/modern-c-快速浅析/ |
| vpn/nginx only deal with https and ignore http.md | obsidian/nginx-only-deal-with-https-and-ignore-http/ |
| vpn/nginx中proxy_set_header Host $host的作用及$proxy_host,$host与$http_host的区别.md | obsidian/nginx中proxy_set_header-host-host的作用及-proxy_host-host与-http_host的区别/ |
| NGINX使用相同TCP端口同时服务HTTP和HTTPS.md | obsidian/nginx使用相同tcp端口同时服务http和https/ |
| vpn/Nginx如何设置用户登录验证.md | obsidian/nginx如何设置用户登录验证/ |
| NVMe 硬盘密码救命神器之 PSID.md | obsidian/nvme-硬盘密码救命神器之-psid/ |
| OAuth 2.0 的四种方式 - 阮一峰的网络日志.md | obsidian/oauth-2.0-的四种方式-阮一峰的网络日志/ |
| OAuth2.0协议小记.md | obsidian/oauth2.0协议小记/ |
| OpenLDAP 应用服务器部署介绍在 Debian 11 系统上安装 OpenLDAP 服务器,还介绍了如何使用 LD.md | obsidian/openldap-应用服务器部署介绍在-debian-11-系统上安装-openldap-服务器-还介绍了如何使用-ld/ |
| openssl deprecated key derivation used.md | obsidian/openssl-deprecated-key-derivation-used/ |
| openssl命令用法详解.md | obsidian/openssl命令用法详解/ |
| OpenSSL命令速查手册:证书、私钥与证书签名请求文件.md | obsidian/openssl命令速查手册-证书、私钥与证书签名请求文件/ |
| OpenVpn 搭建教程.md | obsidian/openvpn-搭建教程/ |
| OpenWrt与嵌入式Linux.md | obsidian/openwrt与嵌入式linux/ |
| OS 现代 64 位操作系统开发(一):Cmake 构建、UEFI 启动、GRUB 引导、frame buffer 文字绘制.md | obsidian/os-现代-64-位操作系统开发-一-cmake-构建、uefi-启动、grub-引导、frame-buffer-文字绘制/ |
| PCIe学习笔记之pcie结构和配置空间.md | obsidian/pcie学习笔记之pcie结构和配置空间/ |
| Proxmox VE QemuKVM 虚拟机设置要求.md | obsidian/proxmox-ve-qemukvm-虚拟机设置要求/ |
| pve磁盘直通/pve开启硬件直通命令.md | obsidian/pve开启硬件直通命令/ |
| pve磁盘直通.md | obsidian/pve磁盘直通/ |
| python 动态构造class.md | obsidian/python-动态构造class/ |
| python安全攻防---scapy基础---计算机网络各层协议.md | obsidian/python安全攻防-scapy基础-计算机网络各层协议/ |
| Python网络攻防之第二层攻击.md | obsidian/python网络攻防之第二层攻击/ |
| qcow2、raw、vmdk等镜像格式.md | obsidian/qcow2、raw、vmdk等镜像格式/ |
| QEMU KVM的基本使用方法.md | obsidian/qemu-kvm的基本使用方法/ |
| 【qemu】qemu网络配置.md | obsidian/qemu-qemu网络配置/ |
| qemu virtio device behind pci bridge.md | obsidian/qemu-virtio-device-behind-pci-bridge/ |
| Qemu win11 虚拟化之Machine Type.md | obsidian/qemu-win11-虚拟化之machine-type/ |
| Relocation gcc -static-pie.md | obsidian/relocation-gcc-static-pie/ |
| Relocation gcc -static-pie/Relocation overflow and code models.md | obsidian/relocation-overflow-and-code-models/ |
| restlsRestls-Script_ 隐藏你的代理行为.md | obsidian/restlsrestls-script-隐藏你的代理行为/ |
| RSA算法原理(二) - 阮一峰的网络日志.md | obsidian/rsa算法原理-二-阮一峰的网络日志/ |
| Run A GUI APPs inside a Docker Container - Geek Culture - Medium.md | obsidian/run-a-gui-apps-inside-a-docker-container-geek-culture-medium/ |
| Rust By Practice( Rust 练习实践 ).md | obsidian/rust-by-practice-rust-练习实践/ |
| rust-lifetime-misconceptions.md | obsidian/rust-lifetime-misconceptions/ |
| rust-magic-function-params.md | obsidian/rust-magic-function-params/ |
| rust Reborrow and Borrow.md | obsidian/rust-reborrow-and-borrow/ |
| Rust Tracing.md | obsidian/rust-tracing/ |
| rust 高阶生命周期.md | obsidian/rust-高阶生命周期/ |
| Rust从入门到精通.md | obsidian/rust从入门到精通/ |
| rust动态分发dyn.md | obsidian/rust动态分发dyn/ |
| Rust生命周期集大成者 PhantomData_T_.md | obsidian/rust生命周期集大成者-phantomdata-t/ |
| serde你在干什么_deserialize.md | obsidian/serde你在干什么-deserialize/ |
| ShadowTLS——更好的 TLS 伪装代理.md | obsidian/shadowtls-更好的-tls-伪装代理/ |
| Sing-box节点搭建教程.md | obsidian/sing-box节点搭建教程/ |
| SONiC学习笔记(一):概述与安装.md | obsidian/sonic学习笔记-一-概述与安装/ |
| ssh FQA/ERROR_ Secsh channel open FAILED_ Connect failed.md | obsidian/ssh-faq-问题记录/ |
| ssh-key添加之后依旧需要密码输入Bug的解决.md | obsidian/ssh-key添加之后依旧需要密码输入bug的解决/ |
| SSH Tunnel for UDP.md | obsidian/ssh-tunnel-for-udp/ |
| SSH 使用SSH+SOCAT中继UDP数据包.md | obsidian/ssh-使用ssh-socat中继udp数据包/ |
| sshd_config 中 PermitRootLogin.md | obsidian/sshd_config-中-permitrootlogin/ |
| SSH登陆认证过程详解.md | obsidian/ssh登陆认证过程详解/ |
| 【SSO单点登录】JWT续签问题 && OAuth2.0 中的refreshToken刷新机制①JWT续签问题 ②快过期.md | obsidian/sso单点登录-jwt续签问题-oauth2.0-中的refreshtoken刷新机制1jwt续签问题-2快过期/ |
| std__packaged_task 源码级详解.md | obsidian/std-packaged_task-源码级详解/ |
| Sunshine + Moonlight 纯软件实现全平台设备作 Linux 副屏.md | obsidian/sunshine-moonlight-纯软件实现全平台设备作-linux-副屏/ |
| systemd-run 运行临时命令.md | obsidian/systemd-run-运行临时命令/ |
| systemd Template unit files - Fedora Magazine.md | obsidian/systemd-template-unit-files-fedora-magazine/ |
| Systemd user unit that depends on system unit (sleep.target).md | obsidian/systemd-user-unit-that-depends-on-system-unit-sleep.target/ |
| systemd 中的requires, wants, before, after - kissrule.md | obsidian/systemd-中的requires-wants-before-after-kissrule/ |
| systemd 用户session.md | obsidian/systemd-用户session/ |
| TCP 中的Sequence Number - 四度.md | obsidian/tcp-中的sequence-number-四度/ |
| Telling gcc directly to link a library statically.md | obsidian/telling-gcc-directly-to-link-a-library-statically/ |
| The Evolutions of Lambdas in C++14, C++17 and C++20.md | obsidian/the-evolutions-of-lambdas-in-c-14-c-17-and-c-20/ |
| The Little Book of Rust Macros (Rust 宏小册).md | obsidian/the-little-book-of-rust-macros-rust-宏小册/ |
| The Most Common OpenSSL Commands.md | obsidian/the-most-common-openssl-commands/ |
| TLS 详解.md | obsidian/tls-详解/ |
| tmp临时目录清理规则.md | obsidian/tmp临时目录清理规则/ |
| Tor The Second-Generation Onion Router学习笔记.md | obsidian/tor-the-second-generation-onion-router学习笔记/ |
| tput 命令行使用说明.md | obsidian/tput-命令行使用说明/ |
| UEFI之虚拟环境(OVMF)seabios --- ovmf.md | obsidian/uefi之虚拟环境-ovmf-seabios-ovmf/ |
| Understanding Serde.md | obsidian/understanding-serde/ |
| Unwind 栈回溯详解.md | obsidian/unwind-栈回溯详解/ |
| USB 协议核心概念与实践.md | obsidian/usb-协议核心概念与实践/ |
| valgrind使用方法.md | obsidian/valgrind使用方法/ |
| Visual Studio Code的clangd插件一篇通.md | obsidian/visual-studio-code的clangd插件一篇通/ |
| Win1011激活新方法出炉,依旧永久 · Issue #81 · TGSANCMWTAT_Digital_Edition.md | (GitHub Issue 剪藏正文仅一条外链、近乎空白,已删除) |
| wireshark lua api - 协议解析.md | obsidian/wireshark-lua-api-协议解析/ |
| Wireshark解密HTTPS流量的两种方法.md | obsidian/wireshark解密https流量的两种方法/ |
| Writing an OS in Rust.md | obsidian/writing-an-os-in-rust/ |
| Writing Python inside your Rust code — Part 1.md | obsidian/writing-python-inside-your-rust-code-part-1/ |
| XTLS Vision原理介绍_Xray新协议Reality _ VPS小白.md | obsidian/xtls-vision原理介绍-xray新协议reality-vps小白/ |
| xtls-流控缺陷分析.md | obsidian/xtls-流控缺陷分析/ |
| You don’t need more than one cursor in vim.md | obsidian/you-don-t-need-more-than-one-cursor-in-vim/ |
| Yubikey 4 配置.md | obsidian/yubikey-4-配置/ |
| zaunistcloudflare-proxy.md | obsidian/zaunistcloudflare-proxy/ |
| 一个300行的文件系统(基于linux6.6).md | obsidian/一个300行的文件系统-基于linux6.6/ |
| 一个Rust生命周期问题.md | obsidian/一个rust生命周期问题/ |
| 一文搞懂linux系统休眠唤醒.md | obsidian/一文搞懂linux系统休眠唤醒/ |
| 一篇文章搞懂密码学基础及SSLTLS协议.md | obsidian/一篇文章搞懂密码学基础及ssltls协议/ |
| 串口线悬空带来的灾难:定位一次意想不到的Linux系统崩溃.md | obsidian/串口线悬空带来的灾难-定位一次意想不到的linux系统崩溃/ |
| 了解一点关于泛型关联类型(GAT)的事.md | obsidian/了解一点关于泛型关联类型-gat-的事/ |
| 五方法破解Linux(CentOS7.4)系统的root密码-腾讯云开发者社区-腾讯云.md | obsidian/五方法破解linux-centos7.4-系统的root密码-腾讯云开发者社区-腾讯云/ |
| 什么是Minio?如何搭建Minio集群.md | obsidian/什么是minio-如何搭建minio集群/ |
| 从 generator 的角度看 Rust 异步代码.md | obsidian/从-generator-的角度看-rust-异步代码/ |
| 【代理新姿势】科学上网最新AnyTLS协议快速上手,收集了两年的各代理协议反馈分享,reality依旧稳如老狗! - 科学上网 技术分享.md | obsidian/代理新姿势-科学上网最新anytls协议快速上手-收集了两年的各代理协议反馈分享-reality依旧稳如老狗-科学上网-技术分享/ |
| 优雅地组合:谈谈 axum.md | obsidian/优雅地组合-谈谈-axum/ |
| 使 IPv6 Only VPS 能访问 IPv4 网络.md | obsidian/使-ipv6-only-vps-能访问-ipv4-网络/ |
| 使用 Address Sanitizer 排查内存越界.md | obsidian/使用-address-sanitizer-排查内存越界/ |
| 使用 Docker 运行 FRR BGP.md | obsidian/使用-docker-运行-frr-bgp/ |
| 使用 iptables 的 tproxy 完成本机访问家里内网的透明代理.md | obsidian/使用-iptables-的-tproxy-完成本机访问家里内网的透明代理/ |
| 使用mmap来学习procpidsmaps.md | obsidian/使用mmap来学习procpidsmaps/ |
| GCC 内联汇编 - 不告诉你我是谁/使用内联汇编 (三) 内联汇编结束篇 - zengl开源网.md | obsidian/使用内联汇编-三-内联汇编结束篇-zengl开源网/ |
| 使用虚拟机镜像安装 - OpenCloudOS Documentation.md | obsidian/使用虚拟机镜像安装-opencloudos-documentation/ |
| 前端流媒体播放从入门到入坑.md | obsidian/前端流媒体播放从入门到入坑/ |
| 华为路由交换基础及常用配置命令梳理.md | obsidian/华为路由交换基础及常用配置命令梳理/ |
| 【原创】Linux PCI驱动框架分析(一).md | obsidian/原创-linux-pci驱动框架分析-一/ |
| 解决ubuntu开机resolve.conf被覆盖为127.0.0.53无法导致上网的问题/各种DNS的技术对比以及DNS缓存配置.md | obsidian/各种dns的技术对比以及dns缓存配置/ |
| 命令行选项解析函数(C语言):getopt()和getopt_long() - 肖邦linux - 博客园.md | obsidian/命令行选项解析函数-c语言-getopt-和getopt_long-肖邦linux-博客园/ |
| 哪一个是真正的我?我自己也不明白-Reality杂谈.md | obsidian/哪一个是真正的我-我自己也不明白-reality杂谈/ |
| 固件和内核驱动_内核驱动固件.md | obsidian/固件和内核驱动_内核驱动固件/ |
| 图说C++对象模型:对象内存布局详解.md | obsidian/图说c-对象模型-对象内存布局详解/ |
| 在 sudo 中保留部分环境变量: sudo -E not effect.md | obsidian/在-sudo-中保留部分环境变量-sudo-e-not-effect/ |
| 在 Ubuntu Linux 中使用 PPA.md | obsidian/在-ubuntu-linux-中使用-ppa/ |
| 在Arch Linux上使用Sunshine和Moonlight实现使用平板电脑作为副屏.md | obsidian/在arch-linux上使用sunshine和moonlight实现使用平板电脑作为副屏/ |
| 在Linux上生成自签名SSL证书的方法_文心快码.md | obsidian/在linux上生成自签名ssl证书的方法_文心快码/ |
| 基于AWS S3协议搭建个人云存储服务.md | obsidian/基于aws-s3协议搭建个人云存储服务/ |
| 基于OpenSSL的SSLTLS加密套件全解析.md | obsidian/基于openssl的ssltls加密套件全解析/ |
| 基于源代码的代码覆盖率 — Clang 20.0.0git 文档.md | obsidian/基于源代码的代码覆盖率-clang-20.0.0git-文档/ |
| 多种姿势反弹shell.md | obsidian/多种姿势反弹shell/ |
| 多线程调试必杀技 - GDB的non-stop模式.md | obsidian/多线程调试必杀技-gdb的non-stop模式/ |
| 如何一键优雅在国内下载docker镜像.md | obsidian/如何一键优雅在国内下载docker镜像/ |
| 如何监测 Linux 的磁盘 IO 性能-linux 磁盘性能测试.md | obsidian/如何监测-linux-的磁盘-io-性能-linux-磁盘性能测试/ |
| 如何编写一个 zsh 补全脚本.md | obsidian/如何编写一个-zsh-补全脚本/ |
| 字节跳动 _ Rust 异步运行时的设计与实现.md | obsidian/字节跳动-rust-异步运行时的设计与实现/ |
| issue24 实现一个简单的CRT/Issue 2 gcc的fvisibility选项.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue 4 libc库的版本兼容问题.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue 5 深入理解errno.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue 6 深入理解系统调用.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue 7 静态链接库的顺序问题.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue 9 使用objcopy将二进制文件的的内容作为目标文件中的一个段.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue10 弱符号的使用.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue11 符号地址的确定.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue12 重定位.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue13 不依赖glibc的HelloWorld程序.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue14 ELF可执行文件在虚拟地址空间的分布.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue15 位置无关代码(PIC).md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue16 共享库及符号的版本控制实践_ 动态链接库符号版本控制.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue17 函数返回值传递.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue18 进程堆栈初始化.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue20 获取签名apk的证书.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/Issue33 TLS-PSK协议分析.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| issue24 实现一个简单的CRT/issue19 glibc的构造函数和析构函数.md | obsidian/实现一个简单的-crt-issue24-系列合集/ |
| 实用现代密码学(WIP).md | obsidian/实用现代密码学-wip/ |
| 容器中没有tcpdump命令我们该怎么抓包?.md | obsidian/容器中没有tcpdump命令我们该怎么抓包/ |
| 密码学学习笔记_05_公钥密码系统.md | obsidian/密码学学习笔记_05_公钥密码系统/ |
| 密码学总结(一)ofb和cfb区别.md | obsidian/密码学总结-一-ofb和cfb区别/ |
| 对比表格:数字签名方案、密钥交换协议、密码学协议、后量子密码学——密码学基础.md | obsidian/对比表格-数字签名方案、密钥交换协议、密码学协议、后量子密码学-密码学基础/ |
| 将ova或qcow2导入到PVE虚拟机/OVF 与 OVA 区别与转换.md | obsidian/将-ova-qcow2-导入到-pve-虚拟机/ |
| 将ova或qcow2导入到PVE虚拟机/使用qemu-nbd挂载qcow2.md | obsidian/将-ova-qcow2-导入到-pve-虚拟机/ |
| 将ova或qcow2导入到PVE虚拟机.md | obsidian/将ova或qcow2导入到pve虚拟机/ |
| 将windows的显示器作为linux的扩展屏_linux miracast-CSDN博客.md | obsidian/将windows的显示器作为linux的扩展屏_linux-miracast-csdn博客/ |
| 巧用 Cowrie 部署 SSH 蜜罐,让黑客攻击无处遁形!-腾讯云开发者社区-腾讯云.md | obsidian/巧用-cowrie-部署-ssh-蜜罐-让黑客攻击无处遁形-腾讯云开发者社区-腾讯云/ |
| 常规故障排除 - Arch Linux.md | obsidian/常规故障排除-arch-linux/ |
| 延时 ACK 与 Nagle 算法结合/Linux下TCP延迟确认(Delayed Ack)机制导致的时延问题分析-腾讯云开发者社区-腾讯云.md | obsidian/延时-ack-与-nagle-算法结合/ |
| 延时 ACK 与 Nagle 算法结合/TCP_NODELAY & Nagle_s Algorithm.md | obsidian/延时-ack-与-nagle-算法结合/ |
| 延时 ACK 与 Nagle 算法结合.md | obsidian/延时-ack-与-nagle-算法结合-2/ |
| 开放性问题 Windows 和 Linux 哪个更加安全?.md | obsidian/开放性问题-windows-和-linux-哪个更加安全/ |
| 彻底理解 C++ ABI.md | obsidian/彻底理解-c-abi/ |
| 手把手教你如何一步步开启 Secure Boot.md | obsidian/手把手教你如何一步步开启-secure-boot/ |
| 折腾了一下GPG和智能卡.md | obsidian/折腾了一下gpg和智能卡/ |
| vpn/搭建属于自己的cloudflare反代IP _ tanglu_s blog.md | obsidian/搭建属于自己的cloudflare反代ip-tanglu-s-blog/ |
| 搭建最新的VLESS Vision和VLESS Reality防止VPS端口封禁.md | obsidian/搭建最新的vless-vision和vless-reality防止vps端口封禁/ |
| 操作系统——什么是内存屏障?.md | obsidian/操作系统-什么是内存屏障/ |
| 数字证书及CA详解.md | obsidian/数字证书及ca详解/ |
| vpn/有没有办法根据 path 隐藏 http 服务.md | obsidian/有没有办法根据-path-隐藏-http-服务/ |
| 泛型特化 Specialization.md | obsidian/泛型特化-specialization/ |
| 消毒覆盖率 — Clang 20.0.0git 文档.md | obsidian/消毒覆盖率-clang-20.0.0git-文档/ |
| 深入 Rust 1.63 新特性 Scoped Thread.md | obsidian/深入-rust-1.63-新特性-scoped-thread/ |
| 深入了解C++的So动态更新.md | obsidian/深入了解c-的so动态更新/ |
| 源码剖析signal和sigaction的区别[通俗易懂]-腾讯云开发者社区-腾讯云.md | obsidian/源码剖析signal和sigaction的区别[通俗易懂]-腾讯云开发者社区-腾讯云/ |
| 漫谈微信libco协程设计及实现(万字长文).md | obsidian/漫谈微信libco协程设计及实现-万字长文/ |
| 用Rust学习解析器组合器 combinator.md | obsidian/用rust学习解析器组合器-combinator/ |
| 用Rust实现UDP Echo服务器和客户端.md | obsidian/用rust实现udp-echo服务器和客户端/ |
| 用户 - Arch Linux 中文维基.md | obsidian/用户-arch-linux-中文维基/ |
| 用户态coredump - OpenCloudOS Documentation.md | obsidian/用户态coredump-opencloudos-documentation/ |
| 目前国内可用Docker镜像源汇总(截至2025年1月).md | obsidian/目前国内可用docker镜像源汇总-截至2025年1月/ |
| 真实不存在-REALITY杂谈.md | obsidian/真实不存在-reality杂谈/ |
| 硬核挑战:如果说精通 Linux 有段位,这份文档直接拉满宗师级.md | obsidian/硬核挑战-如果说精通-linux-有段位-这份文档直接拉满宗师级/ |
| 硬盘第1个分区前的1M空间.md | obsidian/硬盘第1个分区前的1m空间/ |
| 秒懂开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别.md | obsidian/秒懂开源许可证gpl、bsd、mit、mozilla、apache和lgpl的区别/ |
| 穿透 wsl 和 ssh, 新版本 neovim 跨设备任意复制,copy anywhere!.md | obsidian/穿透-wsl-和-ssh-新版本-neovim-跨设备任意复制-copy-anywhere/ |
| 笔记 _ Linux 性能监视与跑分测试.md | obsidian/笔记-linux-性能监视与跑分测试/ |
| 笔记:华为路由器的使用方法与CTL终端基本操作.md | obsidian/笔记-华为路由器的使用方法与ctl终端基本操作/ |
| 系统调用会引起CPU上下文切换吗? · Issue #5 · Talk-Go-CSAPP-05Discusion.md | obsidian/系统调用会引起cpu上下文切换吗-issue-5-talk-go-csapp-05discusion/ |
| 线程安全、原子变量、内存顺序.md | obsidian/线程安全、原子变量、内存顺序/ |
| 编译原理 lex yacc.md | obsidian/编译原理-lex-yacc/ |
| 网络扫描之Nmap.md | obsidian/网络扫描之nmap/ |
| 网络管理:基本编码规则(BER).md | obsidian/网络管理-基本编码规则-ber/ |
| 自建Docker 镜像源加速的方法.md | obsidian/自建docker-镜像源加速的方法/ |
| 蚂蚁集团 | 如何在生产环境排查 Rust 内存占用过高问题.md | obsidian/蚂蚁集团-如何在生产环境排查-rust-内存占用过高问题/ |
| 解决ubuntu开机resolve.conf被覆盖为127.0.0.53无法导致上网的问题.md | obsidian/解决ubuntu开机resolve.conf被覆盖为127.0.0.53无法导致上网的问题/ |
| 跳点搜索算法JPS及其优化(万字长文).md | obsidian/跳点搜索算法jps及其优化-万字长文/ |
| 转载:asan 使用.md | obsidian/转载-asan-使用/ |
| 【进程通信】信号处理机制二——内核实现.md | obsidian/进程通信-信号处理机制二-内核实现/ |
| 通过 eBPF socket filter 或 syscall trace 追踪 HTTP 请求等七层协议.md | obsidian/通过-ebpf-socket-filter-或-syscall-trace-追踪-http-请求等七层协议/ |
| 通过OpenSSH建立二层和三层加密隧道.md | obsidian/通过openssh建立二层和三层加密隧道/ |
| 通过tcpdump对Unix Domain Socket 进行抓包解析.md | obsidian/通过tcpdump对unix-domain-socket-进行抓包解析/ |
| 配置Debian路由器双WAN接入.md | obsidian/配置debian路由器双wan接入/ |
| 配置基于硬件安全的 Linux:TPM2FIDO2 解密 LUKS 全盘加密和 U2F 用户登录.md | obsidian/配置基于硬件安全的-linux-tpm2fido2-解密-luks-全盘加密和-u2f-用户登录/ |
| 配置轻量级 Linux 远程开发环境(Fedora 38).md | obsidian/配置轻量级-linux-远程开发环境-fedora-38/ |
| 零依赖的软路由——使用OpenVSwitch改造家庭网络.md | obsidian/零依赖的软路由-使用openvswitch改造家庭网络/ |
| 高效CC++调试.md | obsidian/高效cc-调试/ |
| 高效切换Linux桌面GUI的方法与实践指南.md | obsidian/高效切换linux桌面gui的方法与实践指南/ |
| 高版本gcc编译出的程序在低版本glibc机器上运行.md | obsidian/高版本gcc编译出的程序在低版本glibc机器上运行/ |
| An unsafe tour of Rusts Send and Sync.md | (去重丢弃/跳过) |
| C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zcllls blog.md | (去重丢弃/跳过) |
| C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zcllls blog/C++ 20 CPO 和 Ranges 新算法.md | (去重丢弃/跳过) |
| C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zcllls blog/C++的定制点设计.md | (去重丢弃/跳过) |
| C++20中的CPO(定制点对象)与niebloid——ranges受约束算法的调用 - zcllls blog/Niebloids and Customization Point Objects.md | (去重丢弃/跳过) |
| CD-DVD - Debian Wiki.md | (去重丢弃/跳过) |
| CD-DVD - Debian Wiki/BurnCd - Debian Wiki.md | (去重丢弃/跳过) |
| CD-DVD - Debian Wiki/How to Burn a CD or DVD ISO in the Linux Terminal Baeldung on Linux.md | (去重丢弃/跳过) |
| CD-DVD - Debian Wiki/How to Burn a CD or DVD ISO in the Linux Terminal _ Baeldung on Linux.md | (去重丢弃/跳过) |
| CD-DVD - Debian Wiki/Linux Find Out Name Of DVD CD-ROM Blu-ray Writer Device.md | (去重丢弃/跳过) |
| CD-DVD - Debian Wiki/光盘文件格式-udf、iso9660、Joliet、Romeo_怎么看光盘是不是iso9660-CSDN博客.md | (去重丢弃/跳过) |
| Docker格式化输出命令docker inspect --format 学习笔记.md | (去重丢弃/跳过) |
| FFmpeg 视频处理等相关/【FFmpeg】FFmpeg 相关术语简介 ( 容器 媒体流 数据帧 数据包 编解码器 复用.md | (去重丢弃/跳过) |
| JWT 续签问题.md | (去重丢弃/跳过) |
| Nginx如何设置用户登录验证.md | (去重丢弃/跳过) |
| Qemu win11 虚拟化之Machine Type/q35 vs i440fx.md | (去重丢弃/跳过) |
| Rust生命周期集大成者 PhantomDataT.md | (去重丢弃/跳过) |
| cf-worker.md | (去重丢弃/跳过) |
| cf-worker/CF-Workers-docker.io:Docker仓库镜像代理工具。.md | (去重丢弃/跳过) |
| ffmpeg转码常用容器、编码格式与解编码器的搭配总结,-c与-f参数的运用.md | (去重丢弃/跳过) |
| issue24 实现一个简单的CRT/Issue16 共享库及符号的版本控制实践 动态链接库符号版本控制.md | (去重丢弃/跳过) |
| linux 副屏方案.md | (去重丢弃/跳过) |
| linux 副屏方案/gnome virtual monitor How to Share Virtual Extended Screen in Ubuntu 22.04 24.04.md | (去重丢弃/跳过) |
| linux 副屏方案/gnome virtual monitor How to Share Virtual Extended Screen in Ubuntu 22.04 24.04/TMP BUGFIX Mouse cursor not visible in extend mode over RDP.md | (去重丢弃/跳过) |
| linux 副屏方案/技术如何使用移动设备作为 Linux 副屏.md | (去重丢弃/跳过) |
| nginx中proxy_set_header Host $host的作用及$proxy_host,$host与$http_host的区别.md | (去重丢弃/跳过) |
| rust future async await generator yeild.md | (去重丢弃/跳过) |
| ssh FQA/ERROR Secsh channel open FAILED Connect failed.md | (去重丢弃/跳过) |
| stdpackaged_task 源码级详解.md | (去重丢弃/跳过) |
| tput 命令行使用说明/grep color.md | (去重丢弃/跳过) |
| vpn/amazon 服务器申请.md | (去重丢弃/跳过) |
| vpn/搭建属于自己的cloudflare反代IP tanglus blog.md | (去重丢弃/跳过) |
| 【C++ 20 并发工具 stdbarrier】掌握并发编程:深入理解C++的stdbarrier.md | (去重丢弃/跳过) |
| 延时 ACK 与 Nagle 算法结合/TCP_NODELAY & Nagles Algorithm.md | (去重丢弃/跳过) |
| 搭建属于自己的cloudflare反代IP tanglus blog.md | (去重丢弃/跳过) |
| 深度HIS系统操作功能说明书.md | (去重丢弃/跳过) |
| 笔记本电源管理.md | (去重丢弃/跳过) |
| 笔记本电源管理/桌面应用TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具.md | (去重丢弃/跳过) |
迁移后质量优化(2026-10-08)
迁移完成后,对全部 296 页做了两轮内容质量治理(6 个并行审查 + 实证核对):
| 项目 | 数量 |
|---|---|
| 修改页面 | 162 |
| 清理的抓取残留 | AI 摘要 bullet 块、打赏/订阅/版权声明/分享行、相关文章链接农场、站内导航/页脚组件、GitHub Issue 页面残留等 |
| 修复 | HTML 实体双重编码(仅代码块外)、未闭合代码 fence、空标题、重复段落与重复图片 |
| 删除页面 | 1(blogsrclangrust14-使用GDB调试Rust应用.md.md:标题错位且正文与组合器译文逐字重复) |
| 实证核对 | gdb 源码分析长文(41KB→15KB)逐块比对:代码块 84 行 → 84 行,技术内容零丢失,删除部分均为 CSDN 推广/SEO 残留 |
处理原则:frontmatter、图片引用、代码块内容、原文出处链接(保留一行)一律不动。
note/ 目录图片迁移(2026-10-08 第二批)
note/ 目录无正文 md,仅有 6 张孤例图片(已逐张识图确认内容)+ 1 个本地重建脚本(reconstruct.py,未迁移)。处理结果:
| 图片 | 识别内容 | 去向 |
|---|---|---|
| 07ea0a…d9oyv3q.jpg | Linux 网络监控命令速查表(OSI 二/三/四层,291KB) | 插入笔记 | Linux 性能监视与跑分测试 |
| 222a4…t1siqt7.jpg | 知乎截图:gcc -Wl,-Bstatic/-Bdynamic 混合链接(864KB→压缩至136KB) | 插入Telling gcc directly to link a library statically |
| image-202312…plcoj9a.png | C++ 六种 memory_order 内存序表格(602KB PNG→转JPG 124KB) | 插入线程安全、原子变量、内存顺序 |
| 52362…1j7oj6s.jpg | x86-64 寄存器用途与 Caller/Callee Save 表 | 插入实现一个简单的 CRT 合集(Issue17 节) |
| 1a85f…1uftefj.jpg | 知乎截图:Rust 三种多态与 Ad-hoc 多态(836KB→压缩至136KB) | 插入泛型特化 Specialization |
| 17044…s807zkx.png | gem5 场景链接器耗时对比表(附文字转录) | 笔记杂项(note 目录图文存档) |
两张知乎手机截图(>800KB)已压缩(宽 1200→700、质量 q5),memory_order 表格 PNG 转 JPG,均记录于上表。