# QFY 公开资料目录

> 本目录下的**所有内容都是公网可匿名访问的**。
> 上传前请确认文件里没有密钥、密码、客户数据、内部文档或任何不该公开的东西。

## 这是什么

qfy-test2 (`192.168.1.161`) 上的一个**只读静态文件服务**目录,专门用于放
"需要让外部拿到、但不值得起一个正式站点"的资料:安装包、示例数据、文档、
临时下载链接等。

- 存放目录:`/srv/qfy-public/`(qfy-test2)
- 服务方式:本机 nginx `127.0.0.1:8090` → frp 隧道 → 边缘机 qfy-ali-test (`114.55.145.81`) 的 nginx 443 → `openfile.quanxinfu.com`
- 访问方式:`https://openfile.quanxinfu.com/` 浏览目录,直接点文件下载

## 与 /srv/share 的区别

| | `/srv/qfy-public` | `/srv/share` |
|---|---|---|
| 暴露范围 | **公网** | 仅内网(`192.168.1.0/24`) |
| 服务 | nginx(本目录) | `qfy-share` 守护进程 |
| 端口 | 8090 → frp 40044 | 55555 |
| 放什么 | 要对外公开的资料 | 内网共享的杂项文件 |

⚠️ `/srv/share` 里有 23 GB 级别的备份,**不要**把那个目录整体代理出去。

## 怎么放文件上去

```bash
# 方式一:scp(推荐)
scp ./要公开的文件 qfy-test2:/srv/qfy-public/
scp -r ./某个目录 qfy-test2:/srv/qfy-public/

# 方式二:临时起一个本地服务,再用 qfy-share 的 api/upload
#   (注意 qfy-share 的 root 是 /srv/share,不是本目录)
```

放完记得修权限(nginx 以 www-data 身份读):

```bash
ssh qfy-test2 'chown -R qfy:www-data /srv/qfy-public && chmod -R a+rX /srv/qfy-public'
```

## 目录约定

- 一级目录用**有意义的分类名**,别堆散文件
- 每个交付物配一个 `README.md` 说明用途、来源、许可和用法
- 大文件(> 100 MB)先确认带宽和保留期

## 链路自检

```bash
# qfy-test2 本机
ssh qfy-test2 'curl -sI http://127.0.0.1:8090/ | head -1'

# 边缘机
ssh qfy-ali-test 'curl -sI http://127.0.0.1:40044/ | head -1'

# 公网
curl -sI https://openfile.quanxinfu.com/ | head -1
```

## 维护

- nginx vhost:`/etc/nginx/conf.d/qfy-public.conf`(qfy-test2)
- frp 条目:`/etc/frp/conf.d/qfy-public.toml`(qfy-test2)
- 边缘 vhost:`/etc/nginx/conf.d/qfy-public-edge.conf`(qfy-ali-test)
- 改 frp 配置后**必须**先 `frpc verify -c /etc/frp/frpc.toml` 再 `systemctl restart frpc`
  ——frpc 与其他业务隧道共用一个进程,配错会连带打断别人的隧道。

## 当前内容

| 名称 | 说明 |
|---|---|
| `blender-mcp-bundle.zip` | Blender MCP + skill 部署包(给 Windows 机器搭 Blender 集成用) |
| `blender-mcp-bundle/` | 同一套内容的解压版(方便直接看/改) |

`blender-mcp-bundle/PROMPT.md` 里的提示词可以直接粘给另一台机器上的 MCode。
