feat(devtools): 生成截图图床外链清单(Markdown / BBCode / HTML 三格式)

用户问「能不能当图床、转成论坛可用的格式」。

实测结论:可以。四种直链形式全部 200,且
- Content-Type 正确(image/jpeg)
- Access-Control-Allow-Origin: *(CORS 全开,网页引用无阻)
- 无防盗链:带外部 Referer、无 UA 均正常返回

新增 devtools/gen-image-urls.py,一次性产出三种论坛格式:
  ① Markdown  ![alt](url)     GitHub / 语雀 / Discourse / Obsidian
  ② BBCode    [img]url[/img]  Discuz / phpBB / NGA / 恩山 / Chiphell / v2ex
  ③ HTML      <img src="url"> 博客 / 自建站 / 富文本编辑器

域名默认用 cdn.jsdelivr.net/gh —— 国内可达性明显好于
raw.githubusercontent.com,且缓存 7 天(raw 只有 5 分钟)。
文档里附了换域名对照表(gcore 备用节点 / statically / raw)。

同时支持 @<commit-sha> 冻结写法,把内容锁定在某个提交上,
避免后续提交把已发出去的帖子里的图改掉。

产物同时落在 docs/图床链接清单.md(进仓库)和桌面(方便直接用)。

顺带记录一个失败:想生成「纯格式版」和「带文件名版」两份,
判断逻辑写错导致两份内容相同;改用一次生成、分节呈现,
反而更适合「整段复制」的用法。别为了参数化而增加无意义的重复产物。
This commit is contained in:
liuzhuohua committed 2026-09-30 23:14:19 +08:00
1 parent 3f5f31701e
commit 9b4ffce9a5
2 files changed
+507

No files matched your search

+127
View File
@@ -0,0 +1,127 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
把 docs/screenshots/ 里的截图生成「论坛可直接贴」的三种格式 URL 清单。
三种格式覆盖主流论坛:
1. Markdown ![alt](url) —— GitHub / 语雀 / Obsidian / 少数派 / Discourse
2. BBCode [img]url[/img] —— Discuz / phpBB / NGA / 恩山 / Chiphell / v2ex
3. HTML <img src="url"> —— 博客 / 自建站 / 富文本编辑器
URL 用两种:
- 浮动版 @main :仓库更新后自动跟着变(想"永远最新"用这个)
- 冻结版 @<sha> :锁定到某个 commit,永不改变(想"发出去的帖子永远一致"用这个)
为什么默认推荐 jsDelivr:
它挂了 CORS、CDN 缓存 7 天、国内可达性明显好于 raw.githubusercontent.com。
raw 也可以,但国内部分网络会连不上(被墙/被限速),帖子图片就成了白框。
"""
import os
import subprocess
import sys
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SHOTS = os.path.join(ROOT, "docs", "screenshots")
OWNER = "liuzhuohua"
REPO = "drouter"
BRANCH = "main"
# 缩略图说明:供 --with-caption 用,读取 shots-map 的图注
sys.path.insert(0, os.path.join(ROOT, "devtools"))
def load_captions():
import importlib.util
spec = importlib.util.spec_from_file_location(
"sm", os.path.join(ROOT, "devtools", "shots-map.py"))
sm = importlib.util.module_from_spec(spec)
spec.loader.exec_module(sm)
return {dst[:-4] if dst.endswith(".jpg") else dst: cap for _, dst, cap in sm.MAP}
def jsdelivr(ref, path):
# jsDelivr 的 GitHub 形式:/gh/<user>/<repo>@<ref>/<path>
return "https://cdn.jsdelivr.net/gh/%s/%s@%s/%s" % (OWNER, REPO, ref, path)
def raw(ref, path):
return "https://raw.githubusercontent.com/%s/%s/%s/%s" % (OWNER, REPO, ref, path)
def main():
withcap = "--with-caption" in sys.argv
commit = subprocess.run(["git", "rev-parse", "HEAD"],
cwd=ROOT, capture_output=True, text=True).stdout.strip()
files = sorted(f for f in os.listdir(SHOTS) if f.lower().endswith(".jpg"))
caps = load_captions()
def emit(title, urlfn, fmt):
print("=" * 96)
print("【%s】 base=%s" % (title, urlfn(BRANCH, "docs/screenshots/").split("/docs/")[0]))
print("=" * 96)
for f in files:
p = "docs/screenshots/" + f
u = urlfn(BRANCH, p)
cap = caps.get(f[:-4], f)
if fmt == "md":
line = "![%s](%s)" % (cap, u)
elif fmt == "bb":
line = "[img]%s[/img]" % u
else:
line = '<img src="%s" alt="%s">' % (u, cap)
if withcap:
print("%-28s %s" % (f, line))
else:
print(line)
print()
print("# Drouter 截图外链清单")
print("# 仓库: https://github.com/%s/%s" % (OWNER, REPO))
print("# 图片: %d 张,位于 docs/screenshots/" % len(files))
print("# 冻结版本 commit: %s" % commit)
print("#")
print("# 用法:三种格式任选其一,直接整段复制到论坛/博客编辑器即可。")
print("# 域名说明见文末「该用哪个域名」。")
print()
emit("① Markdown 格式 — GitHub / 语雀 / Discourse / Obsidian", jsdelivr, "md")
emit("② BBCode 格式 — Discuz / phpBB / NGA / 恩山 / Chiphell / v2ex", jsdelivr, "bb")
emit("③ HTML 格式 — 博客 / 自建站 / 富文本编辑器", jsdelivr, "html")
print("=" * 96)
print("该用哪个域名")
print("=" * 96)
print("""
域名 国内可达 缓存 建议
---------------------------------- -------- ------- --------------------------
cdn.jsdelivr.net/gh/... 好 7 天 首选,本文档默认
raw.githubusercontent.com/... 时好时坏 5 分钟 备选;国内可能连不上
github.com/..../raw/main/... 同上 5 分钟 不推荐(多一次 302 跳转)
cdn.statically.io/gh/... 较好 1 天 备选 CDN
gcore.jsdelivr.net/gh/... 好 7 天 jsDelivr 备用节点(主站被墙时)
实测结论(2026-09-30):四种形式全部 200 且 CORS 全开、无防盗链,
带外部 Referer 也能正常返回图片。可以放心当图床。
想换域名:把 URL 里的 `cdn.jsdelivr.net/gh` 换成上表任一即可,
其余部分原样保留。
⚠️ 关于「冻结版」(把 @main 换成 @<commit-sha>):
GitHub 的图床链接一旦仓库被删/改名就失效。若帖子要长期留存,
建议本地也存一份原图,或者用 @<sha> 形式锁定 —— 至少内容不会被
后续提交改变(但仓库删除依然会失效)。
""")
print("=" * 96)
print("冻结版(@%s)示例 —— 前 3 张" % commit[:8])
print("=" * 96)
for f in files[:3]:
p = "docs/screenshots/" + f
print(" %-24s %s" % (f, raw(commit, p)))
print()
print(" 全文冻结版生成:把本脚本里 BRANCH 换成 commit sha 再跑一次")
if __name__ == "__main__":
main()
+380
View File
@@ -0,0 +1,380 @@
# Drouter 78 张截图 · 图床链接清单(纯格式,可整段复制)
> 仓库:https://github.com/liuzhuohua/drouter
> 锁定 commit:`3f5f31701ee64b9419456b3c24b3e02fbfccb0c4`
> 图片数:78 张 · 默认域名 `cdn.jsdelivr.net`(国内可达 + CDN 缓存 7 天 + CORS 全开)
---
## 一、Markdown 格式
> 适用:GitHub、语雀、Obsidian、少数派、Discourse、Notion
```markdown
![登录页](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/01-login.jpg)
![网络状态 · 路由表与接口地址](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat-2.jpg)
![网络状态 · flowtable 软加速](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat-3.jpg)
![网络状态 / 加速](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat.jpg)
![系统概览 · 硬件仪表盘](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview-2.jpg)
![系统概览 · 网络与服务状态](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview-3.jpg)
![系统概览](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview.jpg)
![网卡与桥接](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-iface.jpg)
![LAN 口](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-lan.jpg)
![PPPoE 多拨 · 会话状态](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-pppoe-2.jpg)
![PPPoE 多拨](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-pppoe.jpg)
![VLAN / IPTV 单线复用](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-vlan.jpg)
![WAN 口 · 实时状态](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan-2.jpg)
![WAN 口 · 拨号日志](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan-3.jpg)
![WAN 口 · 接入方式](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan.jpg)
![网络唤醒 WOL](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wol.jpg)
![动态域名 DDNS · IPv6 记录](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns-2.jpg)
![动态域名 DDNS · 解析结果](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns-3.jpg)
![动态域名 DDNS](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns.jpg)
![DHCP 服务 · 租约表](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcp-2.jpg)
![DHCP 服务](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcp.jpg)
![DHCPv6 / 前缀委派](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcpv6.jpg)
![DNS 服务](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dns.jpg)
![IPv6 / RA · 前缀与 RDNSS](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra-2.jpg)
![IPv6 / RA · 运行状态](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra-3.jpg)
![IPv6 / RA](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra.jpg)
![真·公网 IP 判定 · NAT 类型](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-publicip-2.jpg)
![真·公网 IP 判定](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-publicip.jpg)
![访问控制 / 时间组](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-acl.jpg)
![端口转发 / DMZ](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-dnat.jpg)
![防火墙 IPv4 · 规则与日志](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw4-2.jpg)
![防火墙 IPv4](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw4.jpg)
![防火墙 IPv6 · 规则与日志](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw6-2.jpg)
![防火墙 IPv6](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw6.jpg)
![UPnP / NAT-PMP](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-upnp.jpg)
![AC / AP · 无线与 VLAN](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-acap-2.jpg)
![AC / AP 管理中心](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-acap.jpg)
![打印服务 · 打印队列](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-2.jpg)
![打印服务 · USB 直通](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-3.jpg)
![打印服务 · 共享设置](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-4.jpg)
![打印服务 CUPS](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups.jpg)
![应用识别 DPI · 识别结果](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-dpi-2.jpg)
![应用识别 DPI](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-dpi.jpg)
![NTP 时间同步](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-ntp.jpg)
![智能限速 QoS · 队列与规则](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-qos-2.jpg)
![智能限速 QoS](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-qos.jpg)
![文件共享 · 共享目录](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-smb-2.jpg)
![文件共享 SMB / NFS](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-smb.jpg)
![通用 API · OpenAPI 文档](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-api-2.jpg)
![通用 API 接口](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-api.jpg)
![网络诊断工具](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-diag.jpg)
![Docker · 容器与镜像](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker-2.jpg)
![Docker · Compose 项目](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker-3.jpg)
![Docker / Compose](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker.jpg)
![Docker 引擎 · 镜像源测速](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf-2.jpg)
![Docker 引擎 · daemon.json](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf-3.jpg)
![Docker 引擎配置](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf.jpg)
![IPv6 连通性测试](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-ipv6test.jpg)
![Web 终端 / 文件](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-webshell.jpg)
![连接与流日志 · conntrack](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-flowlog-2.jpg)
![连接与流日志](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-flowlog.jpg)
![系统日志](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-syslog.jpg)
![磁盘与日志清理 · 占用明细](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-cleanup-2.jpg)
![磁盘与日志清理](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-cleanup.jpg)
![依赖自检 · 探测结果](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-deps-2.jpg)
![依赖自检与安装](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-deps.jpg)
![内核转发 · 开关与联动](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-kernel-2.jpg)
![内核转发与加速](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-kernel.jpg)
![电源控制](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-power.jpg)
![系统设置 · 时区与主机名](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-2.jpg)
![系统设置 · Web 端口](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-3.jpg)
![系统设置 · 审计日志](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-4.jpg)
![系统设置](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings.jpg)
![证书 / SSL · 签发与部署](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls-2.jpg)
![证书 / SSL · 握手体检](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls-3.jpg)
![证书 / SSL](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls.jpg)
![用户与密钥 · SSH 公钥](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-user-2.jpg)
![用户与密钥](https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-user.jpg)
```
## 二、BBCode 格式
> 适用:Discuz、phpBB、NGA、恩山、Chiphell、v2ex、吾爱破解
```bbcode
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/01-login.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-iface.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-lan.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-pppoe-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-pppoe.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-vlan.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wol.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcp-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcp.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcpv6.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dns.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-publicip-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-publicip.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-acl.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-dnat.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw4-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw4.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw6-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw6.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-upnp.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-acap-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-acap.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-4.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-dpi-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-dpi.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-ntp.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-qos-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-qos.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-smb-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-smb.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-api-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-api.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-diag.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-ipv6test.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-webshell.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-flowlog-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-flowlog.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-syslog.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-cleanup-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-cleanup.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-deps-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-deps.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-kernel-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-kernel.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-power.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-4.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls-3.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-user-2.jpg[/img]
[img]https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-user.jpg[/img]
```
## 三、HTML 格式
> 适用:博客、自建站、富文本编辑器(WordPress / Typecho / Hexo)
```html
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/01-login.jpg" alt="登录页">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat-2.jpg" alt="网络状态 · 路由表与接口地址">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat-3.jpg" alt="网络状态 · flowtable 软加速">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat.jpg" alt="网络状态 / 加速">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview-2.jpg" alt="系统概览 · 硬件仪表盘">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview-3.jpg" alt="系统概览 · 网络与服务状态">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview.jpg" alt="系统概览">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-iface.jpg" alt="网卡与桥接">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-lan.jpg" alt="LAN 口">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-pppoe-2.jpg" alt="PPPoE 多拨 · 会话状态">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-pppoe.jpg" alt="PPPoE 多拨">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-vlan.jpg" alt="VLAN / IPTV 单线复用">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan-2.jpg" alt="WAN 口 · 实时状态">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan-3.jpg" alt="WAN 口 · 拨号日志">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan.jpg" alt="WAN 口 · 接入方式">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wol.jpg" alt="网络唤醒 WOL">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns-2.jpg" alt="动态域名 DDNS · IPv6 记录">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns-3.jpg" alt="动态域名 DDNS · 解析结果">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns.jpg" alt="动态域名 DDNS">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcp-2.jpg" alt="DHCP 服务 · 租约表">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcp.jpg" alt="DHCP 服务">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcpv6.jpg" alt="DHCPv6 / 前缀委派">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dns.jpg" alt="DNS 服务">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra-2.jpg" alt="IPv6 / RA · 前缀与 RDNSS">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra-3.jpg" alt="IPv6 / RA · 运行状态">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra.jpg" alt="IPv6 / RA">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-publicip-2.jpg" alt="真·公网 IP 判定 · NAT 类型">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-publicip.jpg" alt="真·公网 IP 判定">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-acl.jpg" alt="访问控制 / 时间组">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-dnat.jpg" alt="端口转发 / DMZ">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw4-2.jpg" alt="防火墙 IPv4 · 规则与日志">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw4.jpg" alt="防火墙 IPv4">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw6-2.jpg" alt="防火墙 IPv6 · 规则与日志">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw6.jpg" alt="防火墙 IPv6">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-upnp.jpg" alt="UPnP / NAT-PMP">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-acap-2.jpg" alt="AC / AP · 无线与 VLAN">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-acap.jpg" alt="AC / AP 管理中心">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-2.jpg" alt="打印服务 · 打印队列">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-3.jpg" alt="打印服务 · USB 直通">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-4.jpg" alt="打印服务 · 共享设置">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups.jpg" alt="打印服务 CUPS">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-dpi-2.jpg" alt="应用识别 DPI · 识别结果">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-dpi.jpg" alt="应用识别 DPI">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-ntp.jpg" alt="NTP 时间同步">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-qos-2.jpg" alt="智能限速 QoS · 队列与规则">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-qos.jpg" alt="智能限速 QoS">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-smb-2.jpg" alt="文件共享 · 共享目录">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-smb.jpg" alt="文件共享 SMB / NFS">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-api-2.jpg" alt="通用 API · OpenAPI 文档">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-api.jpg" alt="通用 API 接口">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-diag.jpg" alt="网络诊断工具">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker-2.jpg" alt="Docker · 容器与镜像">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker-3.jpg" alt="Docker · Compose 项目">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker.jpg" alt="Docker / Compose">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf-2.jpg" alt="Docker 引擎 · 镜像源测速">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf-3.jpg" alt="Docker 引擎 · daemon.json">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf.jpg" alt="Docker 引擎配置">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-ipv6test.jpg" alt="IPv6 连通性测试">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-webshell.jpg" alt="Web 终端 / 文件">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-flowlog-2.jpg" alt="连接与流日志 · conntrack">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-flowlog.jpg" alt="连接与流日志">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-syslog.jpg" alt="系统日志">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-cleanup-2.jpg" alt="磁盘与日志清理 · 占用明细">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-cleanup.jpg" alt="磁盘与日志清理">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-deps-2.jpg" alt="依赖自检 · 探测结果">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-deps.jpg" alt="依赖自检与安装">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-kernel-2.jpg" alt="内核转发 · 开关与联动">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-kernel.jpg" alt="内核转发与加速">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-power.jpg" alt="电源控制">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-2.jpg" alt="系统设置 · 时区与主机名">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-3.jpg" alt="系统设置 · Web 端口">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-4.jpg" alt="系统设置 · 审计日志">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings.jpg" alt="系统设置">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls-2.jpg" alt="证书 / SSL · 签发与部署">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls-3.jpg" alt="证书 / SSL · 握手体检">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls.jpg" alt="证书 / SSL">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-user-2.jpg" alt="用户与密钥 · SSH 公钥">
<img src="https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-user.jpg" alt="用户与密钥">
```
---
## 单独取某一张的 URL
| # | 页面 | 文件名 | URL |
|---|---|---|---|
| 1 | 登录页 | `01-login.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/01-login.jpg |
| 2 | 网络状态 · 路由表与接口地址 | `02-netstat-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat-2.jpg |
| 3 | 网络状态 · flowtable 软加速 | `02-netstat-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat-3.jpg |
| 4 | 网络状态 / 加速 | `02-netstat.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-netstat.jpg |
| 5 | 系统概览 · 硬件仪表盘 | `02-overview-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview-2.jpg |
| 6 | 系统概览 · 网络与服务状态 | `02-overview-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview-3.jpg |
| 7 | 系统概览 | `02-overview.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/02-overview.jpg |
| 8 | 网卡与桥接 | `03-iface.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-iface.jpg |
| 9 | LAN 口 | `03-lan.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-lan.jpg |
| 10 | PPPoE 多拨 · 会话状态 | `03-pppoe-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-pppoe-2.jpg |
| 11 | PPPoE 多拨 | `03-pppoe.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-pppoe.jpg |
| 12 | VLAN / IPTV 单线复用 | `03-vlan.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-vlan.jpg |
| 13 | WAN 口 · 实时状态 | `03-wan-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan-2.jpg |
| 14 | WAN 口 · 拨号日志 | `03-wan-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan-3.jpg |
| 15 | WAN 口 · 接入方式 | `03-wan.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wan.jpg |
| 16 | 网络唤醒 WOL | `03-wol.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/03-wol.jpg |
| 17 | 动态域名 DDNS · IPv6 记录 | `04-ddns-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns-2.jpg |
| 18 | 动态域名 DDNS · 解析结果 | `04-ddns-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns-3.jpg |
| 19 | 动态域名 DDNS | `04-ddns.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ddns.jpg |
| 20 | DHCP 服务 · 租约表 | `04-dhcp-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcp-2.jpg |
| 21 | DHCP 服务 | `04-dhcp.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcp.jpg |
| 22 | DHCPv6 / 前缀委派 | `04-dhcpv6.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dhcpv6.jpg |
| 23 | DNS 服务 | `04-dns.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-dns.jpg |
| 24 | IPv6 / RA · 前缀与 RDNSS | `04-ipv6ra-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra-2.jpg |
| 25 | IPv6 / RA · 运行状态 | `04-ipv6ra-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra-3.jpg |
| 26 | IPv6 / RA | `04-ipv6ra.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-ipv6ra.jpg |
| 27 | 真·公网 IP 判定 · NAT 类型 | `04-publicip-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-publicip-2.jpg |
| 28 | 真·公网 IP 判定 | `04-publicip.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/04-publicip.jpg |
| 29 | 访问控制 / 时间组 | `05-acl.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-acl.jpg |
| 30 | 端口转发 / DMZ | `05-dnat.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-dnat.jpg |
| 31 | 防火墙 IPv4 · 规则与日志 | `05-fw4-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw4-2.jpg |
| 32 | 防火墙 IPv4 | `05-fw4.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw4.jpg |
| 33 | 防火墙 IPv6 · 规则与日志 | `05-fw6-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw6-2.jpg |
| 34 | 防火墙 IPv6 | `05-fw6.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-fw6.jpg |
| 35 | UPnP / NAT-PMP | `05-upnp.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/05-upnp.jpg |
| 36 | AC / AP · 无线与 VLAN | `06-acap-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-acap-2.jpg |
| 37 | AC / AP 管理中心 | `06-acap.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-acap.jpg |
| 38 | 打印服务 · 打印队列 | `06-cups-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-2.jpg |
| 39 | 打印服务 · USB 直通 | `06-cups-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-3.jpg |
| 40 | 打印服务 · 共享设置 | `06-cups-4.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups-4.jpg |
| 41 | 打印服务 CUPS | `06-cups.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-cups.jpg |
| 42 | 应用识别 DPI · 识别结果 | `06-dpi-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-dpi-2.jpg |
| 43 | 应用识别 DPI | `06-dpi.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-dpi.jpg |
| 44 | NTP 时间同步 | `06-ntp.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-ntp.jpg |
| 45 | 智能限速 QoS · 队列与规则 | `06-qos-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-qos-2.jpg |
| 46 | 智能限速 QoS | `06-qos.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-qos.jpg |
| 47 | 文件共享 · 共享目录 | `06-smb-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-smb-2.jpg |
| 48 | 文件共享 SMB / NFS | `06-smb.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/06-smb.jpg |
| 49 | 通用 API · OpenAPI 文档 | `07-api-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-api-2.jpg |
| 50 | 通用 API 接口 | `07-api.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-api.jpg |
| 51 | 网络诊断工具 | `07-diag.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-diag.jpg |
| 52 | Docker · 容器与镜像 | `07-docker-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker-2.jpg |
| 53 | Docker · Compose 项目 | `07-docker-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker-3.jpg |
| 54 | Docker / Compose | `07-docker.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-docker.jpg |
| 55 | Docker 引擎 · 镜像源测速 | `07-dockerconf-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf-2.jpg |
| 56 | Docker 引擎 · daemon.json | `07-dockerconf-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf-3.jpg |
| 57 | Docker 引擎配置 | `07-dockerconf.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-dockerconf.jpg |
| 58 | IPv6 连通性测试 | `07-ipv6test.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-ipv6test.jpg |
| 59 | Web 终端 / 文件 | `07-webshell.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/07-webshell.jpg |
| 60 | 连接与流日志 · conntrack | `08-flowlog-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-flowlog-2.jpg |
| 61 | 连接与流日志 | `08-flowlog.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-flowlog.jpg |
| 62 | 系统日志 | `08-syslog.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/08-syslog.jpg |
| 63 | 磁盘与日志清理 · 占用明细 | `09-cleanup-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-cleanup-2.jpg |
| 64 | 磁盘与日志清理 | `09-cleanup.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-cleanup.jpg |
| 65 | 依赖自检 · 探测结果 | `09-deps-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-deps-2.jpg |
| 66 | 依赖自检与安装 | `09-deps.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-deps.jpg |
| 67 | 内核转发 · 开关与联动 | `09-kernel-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-kernel-2.jpg |
| 68 | 内核转发与加速 | `09-kernel.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-kernel.jpg |
| 69 | 电源控制 | `09-power.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-power.jpg |
| 70 | 系统设置 · 时区与主机名 | `09-settings-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-2.jpg |
| 71 | 系统设置 · Web 端口 | `09-settings-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-3.jpg |
| 72 | 系统设置 · 审计日志 | `09-settings-4.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings-4.jpg |
| 73 | 系统设置 | `09-settings.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-settings.jpg |
| 74 | 证书 / SSL · 签发与部署 | `09-tls-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls-2.jpg |
| 75 | 证书 / SSL · 握手体检 | `09-tls-3.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls-3.jpg |
| 76 | 证书 / SSL | `09-tls.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-tls.jpg |
| 77 | 用户与密钥 · SSH 公钥 | `09-user-2.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-user-2.jpg |
| 78 | 用户与密钥 | `09-user.jpg` | https://cdn.jsdelivr.net/gh/liuzhuohua/drouter@main/docs/screenshots/09-user.jpg |
---
## 换域名
把 URL 里的 `cdn.jsdelivr.net/gh` 整段替换即可,其余原样保留:
| 域名 | 国内可达 | 缓存 | 说明 |
|---|---|---|---|
| `cdn.jsdelivr.net/gh` | 好 | 7 天 | **首选**(本文档默认) |
| `gcore.jsdelivr.net/gh` | 好 | 7 天 | jsDelivr 备用节点,主站被墙时用 |
| `raw.githubusercontent.com` | 时好时坏 | 5 分钟 | 备选;国内可能连不上 |
| `cdn.statically.io/gh` | 较好 | 1 天 | 另一个 CDN 备选 |
**冻结版**(把 `@main` 换成 `@3f5f31701ee64b9419456b3c24b3e02fbfccb0c4`):内容永久锁定,不会因后续提交而改变。
```
https://raw.githubusercontent.com/liuzhuohua/drouter@3f5f31701ee64b9419456b3c24b3e02fbfccb0c4/docs/screenshots/05-fw4.jpg ← raw 域名的冻结写法
```
> 注意:jsDelivr 的 `@<sha>` 也支持,但换成 raw 域名时路径格式不变。
---
## 实测结论(2026-09-30)
- 四种直链形式**全部返回 200**,`Content-Type: image/jpeg`
- `Access-Control-Allow-Origin: *` —— **CORS 全开**,网页引用无阻
- **无防盗链**:带外部 Referer(如论坛地址)依然正常返回;无 UA 也正常
- jsDelivr 缓存 7 天,raw 缓存 5 分钟
> ⚠️ 仓库删除或改名后链接会全部失效。帖子要长期留存,建议本地另存一份原图。