Files
SubConverter-Extended/docs/images/readme-flow-extended.svg
2026-05-22 15:01:07 +08:00

110 lines
5.0 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg xmlns="http://www.w3.org/2000/svg" width="900" height="360" viewBox="0 0 900 360" role="img" aria-labelledby="title desc">
<title id="title">SubConverter-Extended 远程订阅链接处理流程</title>
<desc id="desc">SubConverter-Extended 只返回包含 proxy-provider 的配置,客户端中的 Mihomo 内核再按订阅链接向远程订阅服务商请求节点信息。</desc>
<defs>
<marker id="arrow" markerWidth="10" markerHeight="10" refX="8.5" refY="5" orient="auto" markerUnits="strokeWidth">
<path class="arrow-head" d="M 0 0 L 10 5 L 0 10 z"/>
</marker>
<style>
svg {
color-scheme: light dark;
--canvas: #f8fafc;
--canvas-stroke: #d7dde8;
--client-wrap: #eef8f4;
--client-wrap-stroke: #75a98f;
--node: #ffffff;
--node-stroke: #708199;
--backend: #f0f7ff;
--backend-stroke: #5f86bd;
--kernel: #effcf6;
--kernel-stroke: #5d9b7e;
--provider: #f4f7ff;
--provider-stroke: #738cc7;
--text: #1f2937;
--label: #4b5563;
--small: #5b6573;
--line: #596273;
--no-line: #c24141;
--no-text: #b42323;
}
@media (prefers-color-scheme: dark) {
svg {
--canvas: #0f172a;
--canvas-stroke: #334155;
--client-wrap: #12231d;
--client-wrap-stroke: #58ad88;
--node: #111827;
--node-stroke: #94a3b8;
--backend: #142238;
--backend-stroke: #75a7e8;
--kernel: #12281f;
--kernel-stroke: #60c494;
--provider: #172033;
--provider-stroke: #8aa4e8;
--text: #e5e7eb;
--label: #cbd5e1;
--small: #b7c2d1;
--line: #cbd5e1;
--no-line: #f87171;
--no-text: #fca5a5;
}
}
.canvas { fill: var(--canvas); stroke: var(--canvas-stroke); stroke-width: 1.5; }
.client-wrap { fill: var(--client-wrap); stroke: var(--client-wrap-stroke); stroke-width: 1.6; }
.node { fill: var(--node); stroke: var(--node-stroke); stroke-width: 1.6; }
.backend { fill: var(--backend); stroke: var(--backend-stroke); }
.kernel { fill: var(--kernel); stroke: var(--kernel-stroke); }
.provider { fill: var(--provider); stroke: var(--provider-stroke); }
.title { fill: var(--text); font: 700 22px "Segoe UI", "Microsoft YaHei", Arial, sans-serif; }
.text { fill: var(--text); font: 600 16px "Segoe UI", "Microsoft YaHei", Arial, sans-serif; }
.label { fill: var(--label); font: 14px "Segoe UI", "Microsoft YaHei", Arial, sans-serif; }
.small { fill: var(--small); font: 13px "Segoe UI", "Microsoft YaHei", Arial, sans-serif; }
.line { fill: none; stroke: var(--line); stroke-width: 2; marker-end: url(#arrow); }
.no-line { fill: none; stroke: var(--no-line); stroke-width: 2; stroke-dasharray: 7 7; }
.no-mark { fill: none; stroke: var(--no-line); stroke-width: 3; stroke-linecap: round; }
.no-text { fill: var(--no-text); font: 600 13px "Segoe UI", "Microsoft YaHei", Arial, sans-serif; }
.arrow-head { fill: var(--line); }
</style>
</defs>
<rect class="canvas" x="1" y="1" width="898" height="358" rx="16"/>
<text class="title" x="450" y="42" text-anchor="middle">SubConverter-Extended后端只生成配置</text>
<rect class="client-wrap" x="48" y="76" width="330" height="250" rx="14"/>
<text class="small" x="74" y="104">客户端</text>
<rect class="node" x="82" y="122" width="130" height="62" rx="10"/>
<text class="text" x="147" y="159" text-anchor="middle">客户端界面</text>
<rect class="node kernel" x="220" y="235" width="130" height="62" rx="10"/>
<text class="text" x="285" y="261" text-anchor="middle">Mihomo</text>
<text class="text" x="285" y="282" text-anchor="middle">内核</text>
<rect class="node backend" x="455" y="122" width="150" height="62" rx="10"/>
<text class="text" x="530" y="159" text-anchor="middle">新型后端</text>
<rect class="node provider" x="710" y="235" width="140" height="62" rx="10"/>
<text class="text" x="780" y="272" text-anchor="middle">远程订阅服务商</text>
<path class="line" d="M 212 137 H 455"/>
<text class="label" x="334" y="121" text-anchor="middle">发送订阅链接</text>
<path class="line" d="M 455 174 H 212"/>
<text class="label" x="334" y="205" text-anchor="middle">返回 proxy-provider 配置</text>
<path class="line" d="M 176 184 C 190 215, 207 241, 220 250"/>
<text class="label" x="156" y="224" text-anchor="middle">应用配置</text>
<path class="line" d="M 350 250 H 710"/>
<text class="label" x="530" y="228" text-anchor="middle">按订阅链接请求节点信息</text>
<path class="line" d="M 710 282 H 350"/>
<text class="label" x="530" y="318" text-anchor="middle">返回节点信息</text>
<path class="no-line" d="M 600 178 C 650 194, 685 216, 722 240"/>
<path class="no-mark" d="M 649 197 L 665 213 M 665 197 L 649 213"/>
<text class="no-text" x="654" y="192" text-anchor="middle">后端不直连远程订阅服务商</text>
</svg>