宙斯浏览器通过三路协同实现websocket事实拦截:一是拦截含/api/ws等特征的握手http请求;二是关闭网站javascript权限阻止new websocket()执行;三是注入脚本覆写websocket构造函数。

宙斯浏览器无法直接拦截WebSocket连接本身,但可通过阻断其建立源头、过滤初始化请求、屏蔽后续通信域名三路协同实现事实拦截:WebSocket必须通过HTTP(S)协议发起握手请求,该请求可被规则匹配并终止,后续ws/wss连接将因握手失败而无法建立。
在广告拦截模块中添加WebSocket握手请求拦截规则
WebSocket连接建立前必先发送一个带Upgrade: websocket头的HTTP GET请求,该请求URL常含/api/ws、/socket.io、/ws等路径特征,是唯一可被浏览器层拦截的切入点。
点击右下角【≡】→【设置】→【网页浏览设置】→【广告拦截】→【自定义规则】→【添加新规则】。
在【匹配URL】栏粘贴正则表达式:【^https?://[^/]+/(api/ws|socket\.io|ws|websocket|realtime)/?.*$】;在【动作】下拉菜单中选择【阻止】。
保存后,所有符合该路径模式的WebSocket握手请求将被静默丢弃,控制台会显示“Failed to load resource: net::ERR_BLOCKED_BY_CLIENT”,页面JavaScript调用new WebSocket()时会立即触发onerror事件。
关闭目标网站的JavaScript权限(强制切断WS实例创建)
当WebSocket由恶意脚本动态生成且握手路径高度混淆时,仅靠URL拦截可能失效。此时需从执行层根除——禁用JS后,new WebSocket()语法根本不会运行。
方法一:对单个网站精准关闭
1. 先访问目标网页(如 https://malware-tracker.net)。
2. 点击地址栏左侧锁形图标→【网站设置】→【JavaScript】→下拉菜单选【阻止】。
3. 刷新页面,检查开发者工具Console是否出现“ReferenceError: WebSocket is not defined”。
⚠️ 注意:此操作会同时禁用该站所有交互功能(含登录、搜索),仅适用于确认为纯广告/追踪类站点。
WebSocket 8.18.2 是该协议规范的一个重要迭代版本,主要优化了连接稳定性与数据传输效率。它通过全双工通信机制,允许客户端与服务器在单一长连接上实时交换数据,大幅降低传统 HTTP 轮询的开销。该版本增强了心跳保活、自动重连及二进制帧传输能力,适用于即时通讯、在线游戏及金融行情推送等低延迟场景,为开发者提供更可靠的实时网络交互基础。
方法二:批量清除已授权站点
进入【设置】→【网站设置】→【JavaScript】→点击【已允许】列表→逐个移除可疑域名(尤其含track、analytics、cdn、push字样)。
注入全局WebSocket构造函数覆写脚本
该方法不依赖网络请求拦截,直接在页面上下文中篡改WebSocket行为,对混淆路径、动态拼接URL的顽固WebSocket连接最有效。
第一步:打开高级屏蔽自定义脚本入口
在地址栏输入 zeus://settings/script 并回车(仅v5.9+支持)。
第二步:启用【全局脚本注入】开关,点击【添加脚本】。
第三步:在脚本内容框中粘贴以下代码:
if (typeof WebSocket !== 'undefined') { window.WebSocket = function() { console.warn('WebSocket blocked by Zeus policy'); }; }
第四步:在【生效域名】栏填写目标站点,例如:【https://ad-socket.net/*】 或通配符 【*://*.push-ads.io/*】。
保存后刷新页面,所有对该域名的WebSocket调用均返回空对象,onopen/onmessage等回调永不触发。










