极简翻墙客户端(壳)
https://zelikk.blogspot.com/2026/06/xray-reality-mdpc-my-dream-proxy-client.html
https://zelikk.blogspot.com/2026/06/mdpc-my-dream-proxy-client-hysteria.html
https://zelikk.blogspot.com/2026/06/mdpc-my-dream-proxy-client-sing-box-anytls.html
https://zelikk.blogspot.com/2026/06/mdpc-my-dream-proxy-client-n-core-1-outbound.html
点击展开
my-dream-proxy-client (下简称MDPC) 是一个极简翻墙客户端(壳),用 Go 编写的后端提供API服务, 基于HTML文件的Web 管理界面,用于管理 Xray-core 代理核心的配置文件和进程。
前往 GitHub Releases 页面,根据你的系统下载对应的 zip 包:
my-dream-proxy-client-windows-amd64.zip— Windows 64位my-dream-proxy-client-linux-amd64.zip— Linux x86_64my-dream-proxy-client-linux-arm64.zip— Linux ARM64
解压后目录结构如下:
my-dream-proxy-client(.exe) ← 主程序
mdpc-config.yaml.default ← 配置文件模板
bin/xray/put_xray_bin_config_here ← 占位文件,提示你把 xray 的执行文件和配置文件放这里
web/xray/ ← Web 界面文件
├── common.css
├── common.js
├── 01-log.html
├── 02-dns.html
├── 03-router.html
├── 04-inbounds.html
├── 05-outbounds.html
└── 06-api.html
前往 Xray-core Releases 下载对应平台的 Xray 二进制文件。
将 xray(Linux)或 xray.exe(Windows)放到 bin/xray/ 目录下,同时将 geoip.dat 和 geosite.dat 也放进去。
cp mdpc-config.yaml.default mdpc-config.yaml用文本编辑器打开 mdpc-config.yaml,内容如下:
listen: "127.0.0.1"
port: "18080"
files-dir: "./bin/core/"
core-start: "bin/xray/xray run -confdir bin/xray/"
core-test: "bin/xray/xray run -confdir bin/xray/ -test"
log: ""字段说明:
- listen — 监听地址。
127.0.0.1仅本机访问;0.0.0.0允许局域网/公网访问 - port — API 服务端口
- files-dir — Xray 配置 JSON 文件存放目录
- core-start — 启动 Xray 的命令
- core-test — 测试 Xray 配置的命令
- log — MDPC 日志文件路径,留空则输出到终端
chmod +x my-dream-proxy-client
./my-dream-proxy-client双击 my-dream-proxy-client.exe,或在命令行中运行:
my-dream-proxy-client.exe
启动后终端会显示类似:
Server starting on 127.0.0.1:18080
可以使用浏览器直接打开HTML文件 file:///05-outbounds.html
也可以启动一个本地的HTTP服务, 如 python -m http.server 8000 再用浏览器访问 http://127.0.0.1:8000/05-outbounds.html
每个页面顶部都有:
- API URL 输入框 — 管理后端地址(默认
http://127.0.0.1:18080,可以保存在浏览器 localStorage 中) - ▶ 启动 按钮 — 启动 Xray
- ■ 停止 按钮 — 停止 Xray
- 状态指示器 — 显示 "运行中 (pid XXXX)" 或 "已停止"
- 导航栏 — 6 个标签页,对应 6 个配置文件
进入 05-outbounds 页面,有两种方式配置:
方式一:粘贴分享链接
- 点击顶部 "分享链接解析" 展开
- 粘贴
vless://格式的分享链接 - 点击 解析,表单会自动填充
- 检查参数后点击 直接保存
方式二:手动填写表单
- 展开 "表单" 区域
- 填写地址、端口、UUID、传输协议等参数
- 点击 转JSON 预览,确认后 直接保存
也可以直接点击 直接保存
方式三:直接编辑 JSON
- 展开 "JSON" 区域
- 在 JSON 文本框中直接编辑 JSON 内容,点 保存。
| 页面 | 文件 | 说明 |
|---|---|---|
| 01-log | 01-log.json | 日志配置, 默认为空 |
| 02-dns | 02-dns.json | DNS 设置,有 填充建议 按钮可快速填入默认 DNS 8.8.8.8 和 1.1.1.1 |
| 03-router | 03-router.json | 路由规则, 默认为空 |
| 04-inbounds | 04-inbounds.json | 入站设置,有 填充建议(默认 SOCKS:10808 + HTTP:10809) |
| 05-outbounds | 05-outbounds.json | 出站代理服务器, 默认为空 |
| 06-api | 06-api.json | Xray API 设置, 默认为空 |
- 读取配置 — 从服务端读取对应的 JSON 文件内容
- 保存 — 将编辑器内容保存到服务端。如果编辑器为空则删除该文件
- 填充建议 — 用预设内容填充编辑器(仅 02-dns 和 04-inbounds 有此功能)
- 配置好 04-inbounds、05-outbounds (及你希望配置的内容)后
- 点击页面顶部的 ▶ 启动 按钮
- 状态指示器变为 "运行中 (pid XXXX)" 即表示成功
默认inbounds是开启代理:
- SOCKS 代理:
127.0.0.1:10808 - HTTP 代理:
127.0.0.1:10809
点击展开
前往 GitHub Releases 页面,根据你的系统下载对应的 zip 包:
my-dream-proxy-client-windows-amd64.zip— Windows 64位my-dream-proxy-client-linux-amd64.zip— Linux x86_64my-dream-proxy-client-linux-arm64.zip— Linux ARM64
将 zip 包解压到任意目录,例如:
unzip my-dream-proxy-client-linux-*.zip -d ~/mdpc
cd ~/mdpc解压后应包含:
my-dream-proxy-client # 主程序
mdpc-config-hy2.yaml.default # 配置文件模板
web
└── hy2 # Hysteria 配置页面
├── common.css
├── common.js
└── config.html
bin
└── hy2 # Hysteria 内核目录
└── put_hy2_bin_config_here
前往 Hysteria Releases 下载对应平台的 Hysteria 二进制文件。
将 hysteria(Linux)或 hysteria.exe(Windows)放到 bin/hy2/ 目录下
cp mdpc-config-hy2.yaml.default mdpc-config.yaml用文本编辑器打开 mdpc-config.yaml,内容如下:
listen: "127.0.0.1"
port: "18180"
files-dir: "./bin/hy2/"
core-start: "bin/hy2/hysteria client -c bin/hy2/config.yaml"
core-test: ""
log: ""字段说明:
- listen — 监听地址。127.0.0.1 仅本机访问;0.0.0.0 允许局域网/公网访问
- port — API 服务端口
- files-dir — Hysteria 配置文件存放目录,对应 bin/hy2/
- core-start — 启动 Hysteria 的命令,使用 hysteria client 模式加载 config.yaml
- core-test — Hysteria 没有检查配置文件是否合法的命令,留空
- log — MDPC 日志文件路径,留空则输出到终端
在解压目录下执行:
./my-dream-proxy-client看到以下输出表示启动成功:
my-dream-proxy-client listening on 127.0.0.1:18180
18180 是 MDPC 的 API 管理端口,MDPC前端页面通过该端口与MDPC后端通信。保持此终端窗口开启,或使用
nohup/systemd托管进程。
可以使用浏览器直接打开HTML文件 file:///config.html
也可以启动一个本地的HTTP服务, 如 python -m http.server 8000 再用浏览器访问 http://127.0.0.1:8000/config.html
页面顶部显示 API 地址,确认是 http://127.0.0.1:18180。
右侧状态区显示 "已停止" 或 "运行中 (pid xxxx)"。
本项目只是为了简单演示基本原理, 所以只支持自签证书的 Hysteria2 节点
有两种方式填写节点信息:
如果你的代理服务商提供了 hysteria2:// 或 hy2:// 分享链接:
- 将完整链接粘贴到 "节点链接解析" 输入框。
- 点击 "解析"。
- 表单会自动填充:地址、端口、密码、证书指纹。
- 展开 "表单" 区块。
- 填写以下字段:
| 字段 | 说明 |
|---|---|
| 地址 | 节点服务器 IP 或域名 |
| 端口 | 服务器端口,默认 443 |
| 密码 | Hysteria2 认证密码 |
| 证书指纹 | TLS 证书的 pinSHA256,可选 |
| SOCKS 端口 | 本地 SOCKS5 监听端口,默认 10808 |
| HTTP 端口 | 本地 HTTP 监听端口,默认 10809 |
关于证书指纹:
- 页面中
pinSHA256使用 hex 格式(64 位十六进制字符)。 - 部分工具输出的指纹是 base64 格式,可直接粘贴到表单,页面会自动转换为 hex。
填写完成后,点击 "直接保存"。
该操作会:
- 将表单内容生成为 YAML 配置文件。
- 写入
bin/hy2/config.yaml。 - 控制台提示 "保存成功"。
你也可以点击 "转YAML" 先预览生成的配置内容,确认无误后再点 "直接保存"。
- 点击 "▶ 启动" → Hysteria 内核进程启动,页面状态切换为 "运行中"。
- 点击 "■ 停止" → 内核进程终止,状态切换为 "已停止"。
启动后,本地代理服务已就绪:
- SOCKS5 代理:
127.0.0.1:10808 - HTTP 代理:
127.0.0.1:10809
在系统或浏览器中配置代理指向上述地址即可使用。
如需修改已保存的配置,点击 "读取配置",页面会从 bin/hy2/config.yaml 加载当前配置并填入表单。
端口一览:
| 端口 | 用途 |
|---|---|
| 18180 | 主程序管理 API(不要占用) |
| 10808 | Hysteria2 SOCKS5 本地代理 |
| 10809 | Hysteria2 HTTP 本地代理 |
点击展开
从GitHub Releases 页面下载对应架构的 zip 包:
my-dream-proxy-client-windows-amd64.zip— Windows 64位my-dream-proxy-client-linux-amd64.zip— Linux x86_64my-dream-proxy-client-linux-arm64.zip— Linux ARM64
解压:
unzip my-dream-proxy-client-linux-*.zip -d mdpc
cd mdpc解压后目录结构:
mdpc/
├── my-dream-proxy-client # 主程序
├── mdpc-config-sing-box.yaml.default # MDPC配置模板(sing-box)
├── bin/
│ └── sing-box/
│ └── put_sing-box_bin_config_here # 占位符
└── web/
└── sing-box/ # sing-box 前端页面
├── 01-log.html
├── 02-dns.html
├── 03-route.html
├── 04-inbounds.html
├── 05-outbounds.html
├── common.css
└── common.js
从 sing-box 官方仓库下载对应架构的二进制文件:
将 sing-box(Linux)或 sing-box.exe(Windows)放到 bin/sing-box/ 目录下
cp mdpc-config-singbox.yaml.default mdpc-config.yaml用文本编辑器打开 mdpc-config.yaml,内容如下:
listen: "127.0.0.1"
port: "18280"
files-dir: "bin/sing-box/"
core-start: "bin/sing-box/sing-box run -c bin/sing-box/config.json"
core-test: "bin/sing-box/sing-box check -c bin/sing-box/config.json"
log: ""./my-dream-proxy-client看到以下输出表示启动成功:
my-dream-proxy-client listening on 127.0.0.1:18280
可以使用浏览器直接打开HTML文件 file:///05-outbounds.html
也可以启动一个本地的HTTP服务, 如 python -m http.server 8000 再用浏览器访问 http://127.0.0.1:8000/05-outbounds.html
打开 file:///04-inbounds.html
点击 「填充建议」 按钮 → 点击 「保存」
打开 file:///05-outbounds.html
展开 「🔗 AnyTLS 分享链接解析」 面板,粘贴 anytls 链接,点击 「解析并添加」 → 点击 「保存」
打开 file:///02-dns.html
点击 「预设-1」 按钮 → 点击 「保存」
打开 file:///03-route.html
点击 「GFW 黑名单」 按钮 → 点击 「保存」
- 配置好 04-inbounds、05-outbounds (及你希望配置的内容)后
- 点击页面顶部的 ▶ 启动 按钮
- 状态指示器变为 "运行中 (pid XXXX)" 即表示成功
默认inbounds是开启代理:
- SOCKS 代理:
127.0.0.1:10808 - HTTP 代理:
127.0.0.1:10809
点击展开
前往 Release 页面,下载对应平台的 zip:
| 平台 | 文件名 |
|---|---|
| Windows x64 | my-dream-proxy-client-windows-amd64.zip |
| Linux x64 | my-dream-proxy-client-linux-amd64.zip |
| Linux ARM64 | my-dream-proxy-client-linux-arm64.zip |
解压后目录结构:
my-dream-proxy-client/ ← 解压后的文件夹
├── my-dream-proxy-client ← 主程序 (Windows 下是 .exe)
├── mdpc-config.yaml.default ← 配置模板
├── bin/
│ ├── xray/ ← 放 xray 二进制和配置
│ ├── hy2/ ← 放 hysteria2 二进制和配置
│ └── sing-box/ ← 放 sing-box 二进制和配置
└── web/
├── xray/ ← xray 前端页面
├── hy2/ ← hy2 前端页面
├── sing-box/ ← sing-box 前端页面
└── mdpc/ ← MDPC 统一管理前端页面
把翻墙内核的可执行文件放到对应目录:
Xray
前往 Xray-core Releases 下载对应平台的 Xray 二进制文件
bin/xray/xray ← xray 可执行文件
bin/xray/ ← xray 会在这里读写配置文件 (04-inbounds.json, 05-outbounds.json 等)
Hysteria2
前往 Hysteria Releases 下载对应平台的 Hysteria 二进制文件
bin/hy2/hysteria ← hysteria 可执行文件
bin/hy2/ ← hy2 会在这里读写 config.yaml
sing-box
从 Sing-box Releases 页面下载对应平台的 sing-box 二进制文件
bin/sing-box/sing-box ← sing-box 可执行文件
bin/sing-box/ ← sing-box 会在这里读写配置文件
💡 不需要的内核可以不放
cp mdpc-config.yaml.default mdpc-config.yaml编辑 mdpc-config.yaml:
listen: 127.0.0.1
port: 18080
log: ""
xray:
files-dir: "bin/xray/"
core-start: "bin/xray/xray run -confdir bin/xray/"
core-test: "bin/xray/xray run -confdir bin/xray/ -test"
hy2:
files-dir: "bin/hy2/"
core-start: "bin/hy2/hysteria client -c bin/hy2/config.yaml"
core-test: ""
sing-box:
files-dir: "bin/sing-box/"
core-start: "bin/sing-box/sing-box run -C bin/sing-box/"
core-test: "bin/sing-box/sing-box check -C bin/sing-box/"
mdpc:
files-dir: ""
listen和port是 MDPC 后端监听地址。
core-start是启动命令
core-test是测试配置命令(可留空)
# Linux
chmod +x my-dream-proxy-client
./my-dream-proxy-client
# Windows
my-dream-proxy-client.exe终端会显示:
[xray] files-dir: .../bin/xray
[hy2] files-dir: .../bin/hy2
[sing-box] files-dir: .../bin/sing-box
my-dream-proxy-client listening on 127.0.0.1:18080
可以使用浏览器直接打开HTML文件 file:///05-outbounds.html
也可以启动一个本地的HTTP服务, 如 python -m http.server 8000 再用浏览器访问 http://127.0.0.1:8000/05-outbounds.html
打开 file:///04-inbounds.html
- 设置 SOCKS 端口和 HTTP 端口
- 点击「💾 保存 xray 和 sing-box 配置」一键生成两个内核的 inbound 配置
端口设置会保存到浏览器 localStorage,所有页面共享, 在生成 hy2 配置文件时, 会参考 localStorage 中保存的值.
打开 file:///05-outbounds.html
这是 MDPC 的核心页面,统一管理所有的节点。
添加节点:
- 展开「🔗 URI 输入」区域
- 粘贴节点分享链接(支持多个,每行一个)
- 点击「➕ 解析并添加」
支持的链接格式:
vless://...→ 自动分配给 xrayhysteria2://...→ 自动分配给 hy2anytls://...→ 自动分配给 sing-box
目前这些是占位页面,可以通过页面上的链接跳转到各内核的独立前端进行详细配置。
- 在 outbound 列表中, 选中要使用的节点
- 点击 页面顶部的「▶ 启动」
- MDPC 会自动:
- 生成该内核的配置文件
- 通过 API 写入到对应目录
- 启动对应的内核
同一时间, 只有1个内核 1个节点 生效
状态指示器变为 "运行中 (pid XXXX)" 即表示成功
SOCKS 端口和 HTTP 端口 数据在所有页面之间共享(通过浏览器 localStorage):
- 在任意 inbound 页面修改端口 → 其他页面自动同步
- MDPC outbound 页面启动 hy2 时会自动读取这些端口
- 默认值:SOCKS=10808, HTTP=10809