win-acme v2.1.18-x64:Windows免费证书自动续期与IIS部署指南
简介win-acme.v2.1.18-x64 是一款面向 Windows 平台、用于自动化申请与续订 Lets Encrypt 免费 SSL 证书的工具适合个人站长、小型项目开发者及需要为 IIS 等 Web 服务器配置 HTTPS 的运维人员。它基于 ACME 协议实现证书申请、安装、自动续订与多域名含通配符管理并提供日志报告与命令行接口可减轻证书维护负担。资源包共 27 个文件约 29.58MB以 15 个 ps1 脚本、4 个 dll 运行库、2 个 json 配置、2 个 bat 批处理及 exe、xml、dat、txt 等组成涵盖主程序、脚本模块与默认配置解压后即可按需调用。目前已有 332 人学习下载适合希望低成本实现网站 HTTPS 加密、掌握证书自动化管理技能的读者参考使用。1. 从一张过期证书说起win-acme 到底解决了谁的痛凌晨两点监控告警群里弹出一条消息某内部管理后台的 HTTPS 证书还有 6 小时过期。值班的 A 同学爬起来翻出三个月前手动申请的证书文件发现当时忘了记录续期方式只能重新走一遍域名验证、下载、导入、绑定 IIS 的流程。这种场景在中小团队里太常见了——证书不是不会配而是“到期那天没人记得”。win-acme 就是冲着这个痛点来的它是一个运行在 Windows 上的 ACME 客户端能自动向证书颁发机构申请、验证、下载并部署证书还能把续期任务挂进计划任务里让证书在到期前自动换新。标题里的 v2.1.18-x64 指的是这个工具的某个 64 位版本免费域名申请利器这个说法本质是说它能帮你零成本拿到受信任的 DV 证书并把它自动装到 IIS 或其他服务上。适合谁适合手里管着几台 Windows 服务器、用 IIS 或类似服务对外提供 HTTPS、又不想每年手动折腾证书的运维和开发。下面我按“先跑通、再讲参数、最后说坑”的顺序把这条链路拆开。2. 把 win-acme 跑起来从下载到第一张证书2.1 选对包和运行方式别一上来就踩架构坑win-acme 在 Windows 上的分发形式通常是一个压缩包解压后得到一组可执行文件和配置目录。标题里写的是 x64说明它是 64 位版本对应的是 64 位 Windows Server 或 Windows 10/11。常见做法是把它解压到一个固定目录比如C:\tools\win-acme不要放在桌面或临时目录因为后续计划任务会引用这个路径。运行方式有两种交互式向导和命令行参数。第一次接触建议先用交互式看清楚它每一步在问什么再转成无人值守的命令行。解压后目录里一般会有wacs.exe这个主程序。直接双击会弹出交互菜单但更推荐用管理员权限打开 PowerShell 或 CMD切到该目录再运行因为申请证书和绑定 IIS 都需要管理员权限。下面这段命令是进入目录并以交互模式启动# 以管理员身份打开 PowerShell进入 win-acme 解压目录 cd C:\tools\win-acme # 启动交互式向导按提示选择 .\wacs.exe逻辑说明cd确保后续所有相对路径都基于工具目录避免配置文件散落。.\wacs.exe不带参数时进入交互模式适合第一次摸清流程。参数说明如果直接写wacs.exe而不加.\在 PowerShell 里可能因为执行策略或路径解析报错加.\是明确告诉系统运行当前目录下的程序。2.2 用交互向导走通一次手动申请交互向导的第一步通常是选择“创建新证书”然后让你输入要保护的域名。这里有个细节如果你要申请的是www.example.com和example.com两个名字最好一次性都填进去因为 ACME 协议允许一张证书包含多个域名后续续期也会一起处理。接着它会问验证方式常见的是 HTTP 验证和 DNS 验证。HTTP 验证要求你的域名能解析到当前这台机器并且 80 端口可访问DNS 验证则需要在域名解析商那边加一条 TXT 记录。对于没有公网 80 端口或者用 CDN 的场景DNS 验证更稳。选完验证方式后win-acme 会向 ACME 服务器发起订单拿到挑战值然后自动完成验证。验证通过后证书文件会下载到本地通常放在工具目录下的Certificates文件夹里同时它会问你要不要把证书绑定到 IIS 站点。如果这台机器就是 Web 服务器直接选绑定省去手动导入的步骤。整个过程如果网络和解析都正常几分钟内就能拿到第一张证书。2.3 把申请过程固化成可重复的命令交互模式跑通一次后你应该把关键参数记下来转成命令行这样才能写进计划任务。下面是一个典型的命令行示例用于申请证书并自动绑定 IIS# 申请证书域名用 -host 指定多个域名用逗号分隔 # --validation 指定验证方式filesystem 表示 HTTP 文件验证 # --store 指定证书存储方式certificatestore 表示存入 Windows 证书存储 # --installation 指定安装方式iis 表示自动绑定到 IIS .\wacs.exe --target iis --host www.example.com,example.com --validation filesystem --store certificatestore --installation iis --accepttos逻辑说明--target iis告诉工具目标是 IIS 站点它会自动读取站点绑定信息。--host后面跟域名列表注意用英文逗号分隔不要有空格。--validation filesystem表示用文件系统方式完成 HTTP 验证工具会在网站根目录下写一个验证文件ACME 服务器访问该文件来确认域名控制权。--store certificatestore把证书存进 Windows 证书存储方便 IIS 直接引用。--installation iis表示申请完成后自动绑定。--accepttos表示接受服务条款无人值守时必须加否则会卡在交互确认。参数说明如果你的环境不能用 80 端口把--validation filesystem换成--validation dns但 DNS 验证需要额外配置解析商 API 凭据这部分在下一章展开。--accepttos只是同意条款不代表跳过验证验证失败依然会报错。3. 验证方式与续期参数决定这套方案稳不稳3.1 HTTP 验证和 DNS 验证怎么选HTTP 验证的原理是ACME 服务器给你一个随机 token你把它放在http://你的域名/.well-known/acme-challenge/路径下服务器能访问到就证明你控制这个域名。win-acme 的 filesystem 模式就是自动往网站根目录写这个文件。它的优点是配置简单不需要动 DNS缺点是要求域名直接解析到这台机器且 80 端口对外可达。如果你的站点前面有 CDN、WAF 或者反向代理HTTP 验证经常因为回源路径不对而失败。DNS 验证的原理是ACME 服务器让你在域名下加一条 TXT 记录内容也是随机 token它去 DNS 里查这条记录。优点是域名不需要解析到当前机器也不要求 80 端口开放适合内网机器、CDN 后面的源站、或者泛域名证书。缺点是需要在 win-acme 里配置 DNS 解析商的 API 凭据让它能自动增删 TXT 记录。常见做法是给解析商创建一个子账号或 API Key只授予域名解析权限然后填到 win-acme 的配置里。下面是一个 DNS 验证的命令行示例假设解析商支持通过脚本更新记录# 使用 DNS 验证--validation dns 表示走 DNS 挑战 # --dnsscript 指定一个脚本win-acme 会调用它来增删 TXT 记录 # --dnsscriptparameters 传给脚本的参数比如域名和记录值 .\wacs.exe --target manual --host *.example.com --validation dns --dnsscript C:\scripts\dns-update.ps1 --dnsscriptparameters {Identifier} {RecordValue} --store certificatestore --accepttos逻辑说明--target manual表示不自动绑定 IIS只申请证书适合证书要手动分发给其他服务的场景。--host *.example.com是泛域名只能用 DNS 验证。--dnsscript指向一个你自己写的脚本win-acme 在验证阶段会调用它把域名和记录值传进去脚本负责调用解析商 API 添加 TXT 记录验证完成后再删除。--dnsscriptparameters里的{Identifier}和{RecordValue}是占位符会被替换成实际值。参数说明脚本必须能处理“添加”和“删除”两个动作win-acme 会通过不同的参数调用。如果脚本执行超时或返回错误验证会失败日志里会显示脚本输出。泛域名证书的续期同样走 DNS 验证所以脚本的稳定性直接决定续期成功率。3.2 续期任务和计划任务怎么配win-acme 在申请成功后会生成一个续期配置文件通常放在工具目录下的Settings或Configuration里。你可以用--renew参数让它检查所有已申请的证书快到期时自动续期。常见做法是创建一个 Windows 计划任务每天跑一次续期检查。下面是一个创建计划任务的命令示例# 创建一个每天凌晨 3 点运行的计划任务 # 任务执行 wacs.exe --renew检查并续期所有证书 $action New-ScheduledTaskAction -Execute C:\tools\win-acme\wacs.exe -Argument --renew --accepttos -WorkingDirectory C:\tools\win-acme $trigger New-ScheduledTaskTrigger -Daily -At 3am $principal New-ScheduledTaskPrincipal -UserId SYSTEM -RunLevel Highest Register-ScheduledTask -TaskName win-acme-renew -Action $action -Trigger $trigger -Principal $principal逻辑说明New-ScheduledTaskAction定义要运行的程序和参数-WorkingDirectory确保工具能找到相对路径的配置文件。New-ScheduledTaskTrigger设置每天凌晨 3 点触发避开业务高峰。New-ScheduledTaskPrincipal用 SYSTEM 账户运行权限足够绑定 IIS 和写证书存储。Register-ScheduledTask注册任务。参数说明--renew会遍历所有已配置的证书判断剩余有效期是否小于续期阈值默认阈值通常是 30 天。如果你想调整阈值可以在申请时用--renewaldays指定比如--renewaldays 45表示剩余 45 天就开始续期。计划任务的执行账户要有权限访问 win-acme 目录和 IIS 配置否则续期成功但绑定失败。3.3 证书存储位置和绑定方式的参数细节win-acme 支持多种证书存储方式certificatestore存入 Windows 证书存储pem导出 PEM 格式文件pfx导出 PFX 文件。如果你只用 IIScertificatestore最省事因为 IIS 可以直接从存储里选证书。如果你还要把证书给 Nginx、Tomcat 或其他服务用导出 PEM 或 PFX 更灵活。下面是一个导出 PEM 并指定输出目录的示例# 申请证书并导出为 PEM 文件--store pem 表示 PEM 格式 # --pemoutputpath 指定导出目录 .\wacs.exe --target manual --host api.example.com --validation filesystem --store pem --pemoutputpath C:\certs\api --accepttos逻辑说明--store pem让工具把证书链和私钥分别导出为文件通常包括cert.pem、chain.pem、privkey.pem等。--pemoutputpath指定输出目录工具会自动创建。导出后你可以写一个脚本在续期成功后把新证书复制到其他服务目录并重载服务。参数说明PEM 导出方式下私钥文件权限要控制好不要放在 Web 可访问目录。如果其他服务需要 PFX把--store pem换成--store pfx并用--pfxpassword设置导出密码。密码不要明文写在命令行历史里可以用环境变量或配置文件传入。4. 避坑与排查那些让证书续期翻车的细节4.1 验证文件写不进去HTTP 验证一直失败现象win-acme 日志显示挑战文件已写入但 ACME 服务器访问返回 404 或 403。原因网站根目录配置不对或者 URL 重写规则把.well-known路径重定向了。IIS 上常见的是站点绑定了多个域名但验证请求打到了默认站点而默认站点的根目录并不是你指定的那个。解决检查 IIS 站点的物理路径确认.well-known/acme-challenge/目录确实存在且可读如果有 URL 重写规则加一条排除规则让该路径不被重定向。另一个办法是改用 DNS 验证绕开 80 端口和重写规则。4.2 DNS 验证脚本超时TXT 记录没生效现象win-acme 调用 DNS 脚本后等待一段时间报验证失败日志里能看到脚本执行成功但 ACME 服务器查不到记录。原因DNS 解析商 API 返回成功但记录传播有延迟或者脚本添加的记录值被截断、多了引号。解决在脚本里加一个等待循环添加记录后轮询解析商的查询接口确认记录可见再返回同时检查 TXT 记录值是否被自动加了双引号有些解析商要求值不带引号有些要求带需要按实际调整。win-acme 通常有--dnssleep参数可以设置验证前的等待秒数给传播留时间。4.3 续期成功但 IIS 绑定没更新现象计划任务日志显示续期成功新证书已下载但浏览器访问还是旧证书。原因win-acme 续期后可能没有重新绑定 IIS或者绑定时选错了站点。常见于手动改过 IIS 绑定或者证书存储里有多个同名证书工具选了旧的。解决检查 win-acme 的续期配置确认--installation iis参数还在在 IIS 管理器里查看站点绑定的证书指纹和 win-acme 日志里新证书的指纹对比。如果指纹不一致手动重新绑定一次并检查计划任务是否以管理员权限运行。4.4 计划任务执行账户权限不足现象手动运行wacs.exe --renew正常但计划任务跑的时候报权限错误或者证书续期了但绑定失败。原因计划任务用的账户不是管理员或者没有“作为服务登录”权限导致无法写证书存储或改 IIS 配置。解决把计划任务的运行账户改成 SYSTEM 或具有管理员权限的专用账户在“本地安全策略”里确认该账户有“作为服务登录”权限。如果还是不行在计划任务里勾选“使用最高权限运行”。4.5 泛域名证书续期时 DNS 脚本被限流现象泛域名证书续期时DNS 脚本调用解析商 API 报“请求过于频繁”或“超出配额”。原因ACME 验证可能同时发起多个挑战脚本被并发调用触发解析商限流。解决在脚本里加锁或队列让并发调用串行化或者调整 win-acme 的并发参数减少同时验证的域名数量。另外给解析商 API 账户留足配额不要和其他自动化任务共用同一个 Key。5. 进阶把 win-acme 接进现有发布链路的一个具体技巧前面讲的都是单机申请和续期实际生产里更常见的是证书要在多台机器之间同步或者续期后要触发服务重载。这里给一个我常用的技巧用 win-acme 的“续期后执行脚本”能力把证书分发和重载串起来。win-acme 支持在申请或续期成功后运行一个外部脚本你可以利用这个钩子把新证书复制到共享目录再通过远程命令让其他机器拉取并重载。具体做法分三步。第一步在申请或续期命令里加--script和--scriptparameters指向你的分发脚本。第二步脚本里判断当前是“申请成功”还是“续期成功”从 win-acme 传入的参数里拿到证书路径或指纹。第三步脚本把证书文件复制到目标位置并调用目标服务的重载命令。下面是一个 PowerShell 脚本的骨架# 接收 win-acme 传入的参数证书路径、域名、动作类型 param( [string]$CertPath, [string]$Domain, [string]$Action ) # 只在申请或续期成功时执行 if ($Action -eq CertificateCreated -or $Action -eq CertificateRenewed) { # 目标共享目录按域名分文件夹 $targetDir \\fileserver\certs\$Domain if (-not (Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force } # 复制证书文件假设是 PEM 格式 Copy-Item -Path $CertPath\* -Destination $targetDir -Force # 调用远程服务重载这里用 Invoke-Command 示例 # 实际环境可以用服务自带的 reload 命令或 API Invoke-Command -ComputerName web02 -ScriptBlock { param($dir) # 假设服务读取固定路径的证书复制后重载 Copy-Item -Path $dir\* -Destination C:\service\certs -Force Restart-Service -Name myservice } -ArgumentList $targetDir }逻辑说明param块定义 win-acme 会传入的参数具体参数名要看 win-acme 版本的文档常见的有证书路径、域名和动作类型。脚本先判断动作类型只在成功时执行分发。Copy-Item把证书复制到共享目录方便其他机器拉取。Invoke-Command远程执行复制和重载适合少量机器如果机器多可以改成从共享目录拉取减少远程调用开销。参数说明--script指向这个脚本的完整路径--scriptparameters里用占位符传入{CertPath}、{Domain}、{Action}等具体占位符名称以工具实际支持为准。脚本执行失败不会影响证书申请本身但会导致分发中断所以要在脚本里加日志记录每次执行的结果。另外远程重载需要目标机器开启 WinRM 或使用其他远程执行方式凭据要提前配好。这个技巧的价值在于它把“证书续期”从一个单点动作变成了发布链路里的一环。你不需要在每台机器上都装 win-acme只需要一台机器负责申请和续期其余机器从共享目录取证书并重载。代价是共享目录和远程执行的稳定性要自己保证比如共享目录权限、网络连通性、目标服务重载命令的正确性。我自己的习惯是先在测试环境把脚本跑通确认证书能正确分发和重载再上生产脚本里一定要写日志否则出问题时只能靠猜。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

水厂WinCC监控画面:从工艺理解到脚本调试的完整避坑指南

水厂WinCC监控画面:从工艺理解到脚本调试的完整避坑指南

简介:面向水厂自动化监控场景的西门子WinCC项目工程包,适用于需要快速搭建蓄水池与水井集中监控画面的工程师和技术人员。项目围绕两个蓄水池和六个水井展开,包含水位、压力、PH值等关键参数的动态显示、趋势记录和报警提示逻辑,可…

2026/10/15 15:06:48 阅读更多 →
树上旅行算法:LCA与倍增法解决GESP八级图论题

树上旅行算法:LCA与倍增法解决GESP八级图论题

1. 项目概述:树上旅行算法题解析"树上旅行"是GESP C八级认证中的一道经典图论题目,主要考察考生对树结构、深度优先搜索(DFS)和动态规划等算法的综合应用能力。这道题在2025年6月的考试中出现后,因其巧妙的解题思路和典型的算法组合…

2026/10/15 15:06:48 阅读更多 →
非均匀时间序列按固定间隔对齐抽取:从朴素遍历到生产级实现

非均匀时间序列按固定间隔对齐抽取:从朴素遍历到生产级实现

1. 从一个真实的数据处理需求说起前阵子帮一个做物联网设备数据分析的朋友处理一批传感器上报数据,需求听起来很简单:设备每隔一段时间上报一次温度、湿度、电压这些指标,但因为网络抖动、设备休眠、断电重启等原因,上报时间点并不…

2026/10/15 15:06:48 阅读更多 →

最新新闻

PTA函数题整理方法论:按考点归类、接口契约与边界条件的实战复盘

PTA函数题整理方法论:按考点归类、接口契约与边界条件的实战复盘

1. 为什么要整理这套函数题,从期末周的一次复盘说起大一下学期期末前两周,我在课程平台上翻自己整个学期的提交记录,发现很多函数题都是当时“碰巧过了”,代码到底怎么写的、边界条件有没有考虑全,基本已经模糊。那种感…

2026/10/15 15:56:11 阅读更多 →
HART转以太网网关实现制药温度监控与GMP合规改造

HART转以太网网关实现制药温度监控与GMP合规改造

上个月帮某制药企业做无菌车间的温度改造,现场一批HART无菌温度变送器,原先只输出4-20mA送到隔间的采集卡,温度数据想看只能就地抄表,车间工艺员和QA要历史曲线得翻纸质记录,电子批记录里根本没有温度佐证。客户要求很…

2026/10/15 15:56:11 阅读更多 →
水泥车间HART温度变送器接入TCP上位机:网关配置与调试实践

水泥车间HART温度变送器接入TCP上位机:网关配置与调试实践

1. 项目背景与需求拆解1.1 现场工况:水泥车间的高温管道到底有多“高温”水泥建材车间的现场环境,跟普通厂房完全不是一个量级。这次项目针对的是熟料生产线上的几段高温管道,包括窑尾烟室、分解炉出口、篦冷机一段风管等位置,管内…

2026/10/15 15:56:11 阅读更多 →
Switch手柄驱动安装全指南:从HID到XInput的协议伪装

Switch手柄驱动安装全指南:从HID到XInput的协议伪装

简介:针对Nintendo Switch主机与Windows电脑联动的驱动资源,面向需要在PC端管理Switch设备、进行数据传输、系统更新或通过模拟类软件扩展游戏场景的玩家与开发者。资源包共19个文件,整体大小10.7MB,涵盖安装引导程序、32/64位驱动…

2026/10/15 15:56:11 阅读更多 →
Flask + ECharts 轻量级数据可视化大屏搭建实战指南

Flask + ECharts 轻量级数据可视化大屏搭建实战指南

简介:一套基于Python与Flask构建的轻量级数据可视化大屏展示系统,适合前端工程师、Python开发者及企业数据监控人员使用。系统支持多页面切换与实时数据渲染,内置数据看板、空气质量监测、计算机性能指标等模块,可快速搭建企业级业…

2026/10/15 15:56:11 阅读更多 →
OpenMesh三角网格补洞实战:半边结构、耳切法与平滑修复

OpenMesh三角网格补洞实战:半边结构、耳切法与平滑修复

简介:这套基于OpenMesh三角网络模型的补洞算法源代码,面向从事三维建模、游戏开发及计算机图形学研究的开发者,解决三维模型表面孔洞检测与填充问题。算法涵盖孔洞识别、邻接关系分析、填充策略选择、新面生成、拓扑更新及后处理等关键环节&a…

2026/10/15 15:55:10 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →