前阵子我一直以为自己藏得挺好。
日本节点,IP 查出来是东京,Amazon 机房。我心想这下网站总认不出我了吧。
👉 https://who.1ms.dog
后来写了个小页面,把网站不用问你、打开就能读到的东西全读了一遍,再拼成一段话。读出来是这样的:
你可能是中国人,现在在东京。你说中文(中国),时区是中国标准时间……DNS 解析器在中国。
IP 是换了,可时区没换,浏览器语言没换,DNS 也还在国内。最离谱的是 WebRTC:它直接把我家联通的 IPv6 报了出来。代理开了个寂寞。

不弹任何授权,它能读到多少
页面里一共 71 个「嗅探器」,全是普通网页就能调的接口:不要定位,不要摄像头,一个授权框都不弹。
读到的东西大概有这些:
- 服务器那边:IP 、城市、ASN 、离你最近的 Cloudflare 节点、TLS 指纹,还有你电脑的时钟准不准
- 浏览器这边:系统和版本、屏幕和刷新率、显卡型号( WebGL 直接报出 RTX 4080 SUPER )、CPU 线程数、内存、键盘布局
- 偏好:深色模式、有没有装广告拦截,甚至装了哪些插件(钱包、沉浸式翻译、Dark Reader 这些会留痕迹)
- 字体:装了哪些字体,能看出你大概是写代码的还是天天用 Office
最后拼成一段话。每个空都能点,点了会告诉你是哪几个嗅探器填的。
年龄那一栏是空的,写着「网站从这些猜不出」。确实猜不出,我也不想瞎编。

我最想要的部分:哪里露了馅
光列数据没意思。网站真正用来识破代理的,是互相对不上的地方。所以右边有 9 项伪装检测:
- 时区和 IP 对不上( IP 在日本,系统是 UTC+8 )
- 浏览器语言和 IP 所在国家对不上
- DNS 泄露:替你解析域名的 DNS 在国内
- 分流:国内网站、国外网站、ChatGPT 、Claude 看到的出口不一样
- WebRTC 泄露真实地址
- IP 是机房的(很多网站直接拿这个判断你在挂代理)
- UA 说自己是 Mac ,显卡却是 NVIDIA
- 指纹稳定不变,网站能一直认出你
navigator.webdriver为真,一看就是脚本在控制浏览器
每一项标红标黄的,旁边都有个「怎么修」,展开就是具体操作:DNS 泄露怎么配 fake-ip 或 TUN ,WebRTC 怎么关,时区去哪改。
我自己照着改完,从 7 处降到了 2 处。剩下那两处是机房 IP 和指纹,前一个是节点的问题,后一个本来就没什么好办法。
WebRTC 泄露单独做了一页
这个坑踩的人太多了,所以单独拉了一页:who.1ms.dog/zh-cn/webrtc-leak/
它会把 WebRTC 拿到的地址和网页看到的地址放在一起对。IPv4 、IPv6 分开比,只有确认是另一个出口才报红。有些 VPN 只转发 IPv4 ,漏出来的 IPv6 也会给你标出来。

浏览器指纹这件事
页面上有张「指纹卡」,是用 Canvas 、WebGL 、音频、字体算出来的一串 ID 。
换网站、开无痕、开 VPN ,这串东西都不变。下次再来,它会告诉你「上次是哪天来的,指纹变没变」。这个记录只存在你自己浏览器里,我这边拿不到。
但它说明了一件事:网站不用 Cookie 也能认出你,平时那么多「跨站追踪」,靠的就是这个。
可以分享,但不带 IP
测完可以生成一张图或一个链接发给朋友。

分享出去的内容里没有 IP ,也没有指纹。城市和运营商默认打码,要自己勾选才会带上。朋友打开链接,看到的是你的画像,下面有个按钮「测测我自己」。
关于隐私
做这种东西,自己先得干净:
- 后端只有一个接口,返回它从这次请求里本来就能看到的东西( IP 、请求头、Cloudflare 给的地理位置),不存、不记日志
- 除此之外全在浏览器里算
- 为了查出口和 DNS ,页面会直接请求几个外部服务( IPIP 、IP.SB 、chatgpt.com 、claude.ai 等),每一行都写了是谁,你访问它们时它们本来就能看到你的 IP
- 截图前可以点「隐藏位置」,地址和城市会模糊掉,我这几张图就是这么截的
开源,MIT
https://github.com/yt1988/who-are-you
跑在 Cloudflare Workers 上,npx wrangler deploy 就能部署一份自己的。支持 10 种语言。
最后,回帖说说你挂着代理能暴露几处?我改之前是 7 处,现在 2 处,机房 IP 实在没办法 😂




