需通过四步实现微信账号白名单控制:一、解绑非授权账号;二、微信客服号设置仅接收指定联系人消息;三、修改config.yaml的allow_openid字段;四、系统防火墙限制仅允微信服务器IP访问8080端口。
如果您已安装qclaw并希望限制仅允许特定微信账号向本地电脑发送控制指令,则需调整其权限控制机制。qclaw当前不提供图形化“白名单”界面,但可通过底层配置与微信客服号绑定逻辑实现定向授权。以下是具体操作步骤:
一、解绑非授权微信账号
QClaw所有指令均经由“腾讯电脑管家官方客服”号中转,该客服号与首次扫码绑定的微信强关联;若其他微信曾扫码接入,将形成多会话通道,构成潜在越权风险。需主动清理冗余绑定关系。
1、打开本地QClaw主程序界面,点击右上角齿轮图标进入设置页。
2、在“账号管理”区域找到“已绑定微信”列表,查看全部已授权设备标识(含昵称、头像、绑定时间)。
3、对非目标微信条目,点击右侧“解除绑定”按钮,确认后该账号将无法再触发任何本地指令。
4、重启QClaw服务进程,确保配置生效。
二、启用微信客服号会话级权限隔离
QClaw实际依赖微信客服号作为唯一通信信道,而该客服号本身支持单聊会话粒度的消息拦截能力。通过在微信客户端侧设置“仅接收指定联系人消息”,可实现物理层访问控制。
1、在手机微信中进入“腾讯电脑管家官方客服”对话窗口。
2、点击右上角“…”,选择“聊天信息”→“消息免打扰”→关闭开关。
3、返回上一级,点击“仅接收此联系人消息”并开启该选项。
4、点击“添加联系人”,手动输入并确认唯一授权微信的微信号或手机号,完成白名单导入。
5、保存设置后,其余未添加微信向该客服号发送的任何文字、语音或指令均不会被推送至QClaw进程。
三、修改本地配置文件强制限定来源
QClaw安装目录下存在config.yaml文件,其中wechat字段支持硬编码指定可信OpenID前缀。该方式绕过微信客户端限制,直接在服务端过滤非法会话ID,安全性更高。
1、定位QClaw安装路径,通常为C:\Program Files\QClaw\config.yaml(Windows)或~/Applications/QClaw.app/Contents/Resources/config.yaml(macOS)。
2、用文本编辑器以管理员权限打开config.yaml文件。
3、查找wechat节点下的allow_openid字段,将其值修改为目标微信账号在微信开放平台注册时分配的唯一OpenID字符串(可在微信PC端开发者工具中捕获登录回调URL获取)。
4、若允许多个账号,可用英文逗号分隔多个OpenID,例如:allow_openid: "oABC123xyz,oDEF456uvw"。
5、保存文件,终止QClaw进程后重新双击启动。
四、利用Windows/macOS系统防火墙阻断异常连接
当QClaw运行时,会在本地监听一个HTTP端口(默认8080)用于接收来自客服号转发的JSON指令。通过操作系统级防火墙规则,可限制仅允许来自微信官方服务器IP段的入站请求,间接阻止非授权设备伪造指令。
1、访问微信官方IP地址列表页面(https://mp.weixin.qq.com/cgi-bin/announce?token=123456789&action=get_ip_list),下载最新IPv4 CIDR列表。
2、在Windows防火墙高级设置中新建“入站规则”,协议类型选TCP,端口号填8080,作用域设为“远程IP地址”,粘贴所获CIDR段。
3、在macOS中执行命令:sudo pfctl -f /etc/pf.conf,并在pf.conf中添加pass in proto tcp from {113.96.0.0/14,182.254.0.0/15} to any port 8080。
4、启用规则后,任何非微信服务器源IP发起的8080端口连接将被系统直接丢弃。











