【开发者自荐】Web Watermark Tool:给每个环境的网页打上标识,别再把测试单下到生产

软件名称
Web Watermark Tool(环境水印)

应用平台
Chrome / Edge / Brave 等 Chromium 内核浏览器(Manifest V3)

推荐类型
【开发者自荐】

是否收费
免费。没有付费档,没有试用期,没有功能限制。

是否需要注册
不需要。不需要登录,不需要账号。

是否联网
不联网。扩展不发任何网络请求,没有统计和上报。配置存在 chrome.storage.sync 里,跟着你的 Google 账号同步。

一句简介
给不同环境的网页自动打上水印和边框,按域名、URL、IP 网段或 Cookie 匹配,防止把测试操作做到生产环境上。

应用简介

利益相关:我是作者。

做这个的起因是同事真的下错了单。

我们的测试、预发、生产三套环境域名相同,页面完全一致,没有任何视觉差别。同事在跑下单流程的回归测试,点到最后一步提交,成功,然后才发现订单号格式不对。单子落在了生产环境。

处理本身很快,测试数据、金额很小、下游没触发,删掉就完了。但那之前的十分钟不太好受:不知道这单会走到哪一步,不知道要不要通知别人,也不知道前面几轮测试里有没有已经出过同样的事。

之后我把手上所有环境和地址整理了一遍,发现能认错的情况不止一种:

  • 同域名不同子域,app.example.comapp-test.example.com 只差一个 -test,标签页标题截断后完全一样
  • 裸 IP 加 VPN,内网后台没有域名,地址栏是 10.20.30.41,同网段十几台机器分别干什么全靠记
  • 同一个域名靠网关按 Cookie 分流(灰度环境),域名和路径都不变,地址栏完全给不出信息
  • 同站点下 /admin 是有写权限的后台
  • 开着七八个标签来回切,是上面所有情况的放大器

已完成的功能:

多种匹配方式,一个配置里任意一条命中就生效

  • 精确域名,cust.example.com,只匹配这一个
  • 域名后缀,example.com,所有子域都算
  • URL 正则,^https?://.*/admin(/.*)?$,按路径或参数匹配
  • IP 精确 / CIDR,192.0.2.5 / 192.0.2.0/24,覆盖 VPN 访问内网
  • Cookie,env=prod 判等、env~=stage 判包含、只写 sid 判存在

任何背景上都看得见。用 mix-blend-mode: difference 让水印和页面像素做差值,浅色背景上显深、深色背景上显浅、渐变背景上跟着变。固定颜色的水印总会在某些页面上消失,这个不会。代价是开启后颜色由页面决定,你只能选浅色调或深色调,所以做成了可关闭的。

沉浸式边框。除了平铺水印,还在窗口四周画一圈 4px 边框。水印是仔细看能看到,边框是扫一眼就知道。

不挡操作。水印层不接收鼠标事件,点击、选中、拖拽都正常穿过去。

交互时自动淡出(可选,默认关)。移动鼠标或打字的时候水印淡到几乎透明,停手 2 秒后恢复。这个是给调页面样式的时候用的。

iframe 单独匹配。每个 iframe 用自己的地址判断,页面里嵌了测试环境的 iframe,那块区域会单独带水印。

规则测试器。粘一个 URL 加 Cookie 字符串进去,直接看会不会命中、命中的是哪条规则。不用真去访问那个环境。

配置导入导出。JSON 格式,方便团队之间共享一套配置,或者换电脑的时候搬过去。

实时预览。在浅色、深色、渐变三种背景上同时预览水印效果。

工具栏角标。命中的配置的短标签会显示在扩展图标角上,比如 PROD

全局开关。配置页右上角一键全关。

多语言界面。英文、简体中文、繁体中文、日文、西班牙文,可以跟随浏览器语言。

目前还没做的:

多条规则同时命中时的优先级是写死在代码里的,用户改不了,而且冲突时界面上不给提示。我自己这套配置目前没遇到过冲突,所以暂时没做。真遇到了会加"命中列表可见"和"手动调优先级"这两个功能。

权限说明

manifest.json 里只声明了一个权限:storage

content script 的匹配范围是 <all_urls>,所以它会在每个页面上跑一遍规则判断,但只有命中的页面才真的画水印,没命中就什么都不做。没有 activeTab,没有额外的 host 权限,不读取页面内容,不发网络请求。

下载地址

Chrome 应用商店:https://chromewebstore.google.com/detail/fgnehancpgnnbnbmpeimgjoaffjbapbi

源码

https://github.com/jinnersun/water-mark(MIT)

说明文档和五个完整规则示例

https://www.webwatermark.dpdns.org/

1 个赞

这个意思是匹配的网页自动加水印?

是的,只要命中规则就自动加水印。有示例图片的

这个打开404,是没有公开吗?

好了,再试试

可以打开了