Files
yexuejc a9ebb5e2cd
CI / Build / Vet / Test (push) Canceled after 0s
chore: 开源化准备(LICENSE/CI/测试/文档)+ 全量中文注释
首个提交。webproxy 是部署在服务器上的 Web 正向代理:打开网页输入任意
URL,由服务器代为请求目标站点,经 HTML/CSS 重写、静态资源代理、
重定向/Cookie/表单处理后回填浏览器,核心场景是经服务器访问其所在
内网的客户网站。

- 开源件:MIT LICENSE、根级 SECURITY.md、CONTRIBUTING.md、
  CHANGELOG.md、Makefile、CI(gofmt/vet/build/test)
- 安全止损:.gitignore 排除 debug.log(含内网 IP)/二进制/调试散文件/
  本地 config.json;config.example.json 默认 blacklist,不关 SSRF
- module 路径规范化为 github.com/yexuejc/webproxy
- 测试:新增 proxy_test.go(URL 编解码/子域解析/SSRF 分类/Origin 改写);
  tests/cookietest 手工 E2E 程序加 build tag 并拆为独立子包,不污染
  go test ./...
- 注释:全部 Go 源码按函数作用/场景/入参/出参 + 分支 + 变量标准补齐
- 清理:删除旧"浏览器持有 Cookie"方案弃用代码(rewriteSetCookie/
  stripDomainSecure/reCookieDomain/reCookieSecure);会话 Cookie 改由
  服务端按 origin 的 jar 持有,绕开跨站 iframe 的 SameSite 扣发
2026-10-20 21:33:28 +08:00

1.4 KiB
Raw Permalink Blame History

更新日志(Changelog)

本文件遵循 Keep a Changelog 精神,版本号参考 语义化版本。

[Unreleased]

新增

  • 单元测试套件(proxy_test.go),覆盖 URL 编解码、子域名反代解析、SSRF IP 分类、Origin 改写等核心逻辑;go test ./... 可跑通。
  • 开源工程件:LICENSE(MIT)、根级 SECURITY.md、CONTRIBUTING.md、CHANGELOG.md、Makefile、CI 工作流(.github/workflows/ci.yml)。
  • config.example.json:默认 ssrf.mode: "blacklist" 的安全示例配置(取代原 off 的 config.json)。

变更

  • tests/cookietest 的 mock.go / wsclient.go 加 //go:build cookietest 标签,避免与 go test ./... 冲突。
  • .gitignore 排除调试日志、构建产物、调试散文件与本地 config.json。

[0.1.0] - 2026-10-19

新增

  • 网页正向代理核心:子域名反代 + /p/ 整 URL 反代双入口。
  • HTML DOM 重写引擎 + CSS url() 重写 + JS 代理桩(fetch / XHR / WebSocket / window.open / 表单导流)。
  • 服务端按 sid 隔离的会话 Cookie Jar,解决跨站 iframe 下 SameSite=Lax Cookie 被扣发导致的登录死循环。
  • SSRF 三档防护(off / blacklist / whitelist)+ DNS 重绑定(TOCTOU)防护。
  • Docker 多阶段构建 + compose + 离线构建(vendor)支持。