```mermaid
---
config:
layout: dagre
---
flowchart LR
subgraph Internet["☁️ 公网环境 (Internet)"]
direction TB
HostA["🖥️ 主机 A (Linux)
IP: 144.7.97.70"]
end
subgraph GostService["⚙️ Gost Service (gost.yaml)"]
direction TB
Listener1["Listen 内网:39000"]
Listener2["Listen 内网:1999"]
Listener3["Listen 公网:1998"]
end
subgraph Middle["🛡️ 中转跳板 (主机 B)"]
direction TB
HostB["🖥️ 主机 B (Windows Server)
公网: 144.7.88.50
内网: 192.168.10.1"]
GostService
end
subgraph Intranet["🏠 局域网环境 (Intranet)"]
direction TB
HostC["💻 主机 C (Windows PC)
IP: 192.168.10.2"]
end
HostC -- "1. TCP 请求
目标: 192.168.10.1:39000" --> Listener1
Listener1 -. "转发 (Forward)
目标: 144.7.97.70:39000" .-> HostA
HostC -- "2. HTTP 请求
目标: 192.168.10.1:1999" --> Listener2
Listener2 -. "转发 (Forward)
目标: 144.7.97.70:1999" .-> HostA
HostA -- "3. HTTP 请求
目标: 144.7.88.50:1998" --> Listener3
Listener3 -. "转发 (Forward)
目标: 192.168.10.2:1998" .-> HostC
HostA:::linux
Listener1:::gostBox
Listener2:::gostBox
Listener3:::gostBox
HostB:::windows
HostC:::windows
classDef linux fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#000
classDef windows fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000
classDef gostBox fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,stroke-dasharray: 5 5,color:#000
linkStyle 0 stroke:#1976D2,stroke-width:2px,fill:none
linkStyle 1 stroke:#1976D2,stroke-width:2px,fill:none
linkStyle 2 stroke:#1976D2,stroke-width:2px,fill:none
linkStyle 3 stroke:#1976D2,stroke-width:2px,fill:none
linkStyle 4 stroke:#D32F2F,stroke-width:2px,fill:none
linkStyle 5 stroke:#D32F2F,stroke-width:2px,fill:none
```