# 如何发布网页 / 文件到公网（share 说明）

这台 Mac mini 上常驻一个共享文件服务器，通过 Tailscale Funnel 对外暴露。
**任何放进你专属目录的文件，都能直接用一个公网 URL 访问**，别人打开链接就能看到，不需要登录 tailnet。

---

## 你的专属目录和地址

| 项目 | 值 |
|------|-----|
| 你的目录 | `/Users/Shared/openclaw-share/hongjie/` |
| 你的公网地址 | `https://russellmac-mini.tail998716.ts.net/hongjie/` |

规则很简单：**目录里的文件路径 = URL 后面的路径**。

例如：
- 文件 `/Users/Shared/openclaw-share/hongjie/report.html`
- 地址 `https://russellmac-mini.tail998716.ts.net/hongjie/report.html`

---

## 核心用法

### 1. 发布单个 HTML 文件

```bash
cp mypage.html /Users/Shared/openclaw-share/hongjie/mypage.html
# 访问：https://russellmac-mini.tail998716.ts.net/hongjie/mypage.html
```

### 2. 发布一个网页项目（整目录）

```bash
mkdir -p /Users/Shared/openclaw-share/hongjie/my-project
cp -r ./dist/ /Users/Shared/openclaw-share/hongjie/my-project/
# 访问：https://russellmac-mini.tail998716.ts.net/hongjie/my-project/
# （目录下有 index.html 会自动作为首页）
```

### 3. 分享图片 / PDF / 任意静态文件

```bash
cp result.png /Users/Shared/openclaw-share/hongjie/result.png
# 访问：https://russellmac-mini.tail998716.ts.net/hongjie/result.png
```

### 4. 更新已发布的文件

直接覆盖写入即可。服务器带 `Cache-Control: no-store`，刷新浏览器立刻生效，不用清缓存。

```bash
cp -r ./dist/ /Users/Shared/openclaw-share/hongjie/my-project/
```

### 5. 删除已发布内容

```bash
rm -rf /Users/Shared/openclaw-share/hongjie/my-project/
```

---

## 查看服务器状态（排查用）

```bash
# 服务器进程在不在
ps aux | grep share_server | grep -v grep

# 端口监听正常吗
lsof -nP -iTCP:18180 -sTCP:LISTEN
```

如果链接打不开，先确认上面两条正常；仍有问题找 Russell。

---

## 重要注意事项

- **只用你自己的 `hongjie/` 子目录**，不要往根目录或别人目录写。
- **服务器不做任何鉴权**，放上去的文件任何人拿到链接就能访问 —— 不要放密码、密钥、客户隐私等敏感内容。
- 只支持**静态文件**（HTML/CSS/JS/图片/PDF 等），不跑后端逻辑。
- CORS 全开（`Access-Control-Allow-Origin: *`），前端跨域请求没问题。
- 如果需要后端 API 或额外端口暴露，找 Russell 配 Tailscale Serve/Funnel。

---

## 一句话总结

> 把文件丢进 `/Users/Shared/openclaw-share/hongjie/`，
> 用 `https://russellmac-mini.tail998716.ts.net/hongjie/<文件路径>` 访问。
