生成器默认监听 0.0.0.0,局域网/手机可直接打开
- serve.py:--host 默认改 0.0.0.0;启动时列出所有网卡地址(0.0.0.0 不能直接点开); --host 127.0.0.1 仍是「只给本机」的收紧方式,README 说明公共网络用它。 - 改单线程为 ThreadingTCPServer:上传几 MB 的图会占住连接,单线程时 iframe 预览 和其它请求都得排队。 - 写接口加同源校验(Origin 与 Host 比对,无 Origin 放行):挡住同网段里「另一个网页 借访客浏览器发写请求」,curl / 脚本不受影响。 - index.html:提示文案不再写死 127.0.0.1,改用 location.host —— 用局域网地址打开时 不该反过来提示「请用 127.0.0.1 打开」。 - mock_s3.py 加 --host(默认仍回环),便于在别的设备上联调。
This commit is contained in:
@@ -16,13 +16,26 @@
|
||||
TEST_PREVIEW=1 go test ./templates -run TestGenPreview
|
||||
|
||||
# 2) 起服务(只读,不改项目任何文件)
|
||||
python dev/theme-builder/serve.py # 默认 8777
|
||||
python dev/theme-builder/serve.py # 默认监听 0.0.0.0:8777,同局域网可访问
|
||||
python dev/theme-builder/serve.py --host 127.0.0.1 # 只给本机用(公共网络请加这个)
|
||||
|
||||
# 3) 打开
|
||||
http://127.0.0.1:8777/dev/theme-builder/
|
||||
# 3) 打开终端里打印的地址
|
||||
# 本机 http://127.0.0.1:8777/dev/theme-builder/
|
||||
# 局域网 http://192.168.x.x:8777/dev/theme-builder/
|
||||
```
|
||||
|
||||
不想用脚本也行:在项目根跑 `python -m http.server 8777`,效果一样。
|
||||
默认绑 `0.0.0.0`,是为了能躺在床上用手机 / 平板调主题:启动时会把本机各网卡的地址都列出来,
|
||||
照着点就行(手机与电脑要在同一网段)。第一次启动 Windows 会弹防火墙询问,要允许私有网络。
|
||||
|
||||
⚠️ 两个必须知道的点:
|
||||
|
||||
- **上传接口没有账号体系**:能打开这个端口的人,都能用你填的密钥往对象存储写 / 删文件。
|
||||
公共网络(咖啡馆、宿舍、公司网)一律 `--host 127.0.0.1`。写接口还会校验 `Origin` 与
|
||||
`Host` 同源,挡掉「别的网页借你浏览器发请求」,但挡不住同网段主动连过来的人。
|
||||
- **换地址 = 换 origin**:`127.0.0.1` 与 `192.168.x.x` 在浏览器眼里是两个站点,
|
||||
草稿(localStorage)与 S3 密钥(sessionStorage)不共享 —— 第一次用新地址要重填一次密钥。
|
||||
|
||||
不想用脚本也行:在项目根跑 `python -m http.server 8777`,但那就只有静态预览、没有上传能力。
|
||||
|
||||
## 它和线上是同一条链路
|
||||
|
||||
@@ -261,6 +274,7 @@ AWS S3 或已绑定的桶级自定义域可以取消「路径风格」(走 `<
|
||||
python dev/theme-builder/check_sigv4.py # 与 aws-sdk-go-v2 的 signer 逐字节对拍
|
||||
python dev/theme-builder/selftest_upload.py # 起假 S3,跑「测试连接 → 上传 → 读回」
|
||||
python dev/theme-builder/mock_s3.py --port 9900 # 想手动点面板时,先起这个假 S3
|
||||
# 生成器在别的设备上打开时,假 S3 也要 --host 0.0.0.0,面板里的 Endpoint 填本机 IP
|
||||
```
|
||||
|
||||
面板底部实时显示 `3 张,共 19KB;最大一张 bg.webp 7KB(1920×1080)`。
|
||||
|
||||
Reference in New Issue
Block a user