這個頁面是做什麼的?
你一打開網頁,網站就能悄悄讀到很多東西。這個頁面把它們全部讀一遍,再寫成一段話告訴你:在網站眼中,你是誰。例如你大概從哪裡來、現在在哪裡、用什麼裝置、有什麼習慣。
這樣的每一項資訊,我們稱為「偵測項目」:網站不用經過你同意就能讀到的一項資訊。把滑鼠移到那段話裡填空的地方,會顯示它是根據哪些偵測項目得出的。下面的清單列出每一個偵測項目、它怎麼讀(右邊那一欄,是用到的 API 或請求標頭,也就是瀏覽器每次發出請求都會附上的資訊),以及讀到的值。它們都不會跳出授權提示。
你正在 的內建瀏覽器裡,下面的結果是這個內建瀏覽器的。想測你平常用的瀏覽器,請複製連結,到 Safari 或 Chrome 開啟。你正在某個 App 的內建瀏覽器裡,下面的結果是這個內建瀏覽器的。想測你平常用的瀏覽器,請複製連結,到 Safari 或 Chrome 開啟。你正在微信裡開啟,下面的結果是微信內建瀏覽器的。想測你平常用的瀏覽器,請點右上角 ··· 選「在瀏覽器開啟」。
口口口口口口口口口口口,現在人在口口口口口口口口口口口口口口口口口口口口。你說口口口口口口口,電腦的時區是口口口口口口口,時鐘用口口口口口口。
口口口口口口口口口口口口口口口口口口口口口口
你用的是口口口口口口口口口口,瀏覽器是口口口口口口口口口口口口,螢幕口口口口口口口口口口口,顯示卡是口口口口口:口口口口口口口口口口口口口口口口口口口口口口口口口口。
你透過口口口口口口口口上網,口口口口口口口口,口口口口口口口口口口口口口口口口口;幫你把網址換成 IP 位址的 DNS 伺服器在口口口口口。口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口。
你喜歡口口口口口,口口口口口口口口口口口口,口口口口口口口口口口口口口口。口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口口。裝的字型透露了一點:口口口口口口。至於年齡,口口口口口口口口口口口口口口。
在網站眼裡,這是口口口口口口口口口口口口口口口口口口口口口口口口口口。口口口口口口口口口口口口。你在口口口口口口口口口口口口口打開了這個頁面,口口口口口,口口口口口口口口口口口。
放在人群裡,口口口口口口口口口口口口口口口口口口口口口口口。
位元越多越罕見:每多 1 位元,和你一樣的人就少一半。各項之間並不獨立(例如 4K 螢幕和高階顯示卡常一起出現),所以整個指紋按它自己的真實次數計算,不是把各項乘起來。
為了告訴你有多少人和你一樣,本站會累計匿名計數:不存 IP,不存完整指紋,也沒有單次造訪的紀錄。 ·
CF-Connecting-IPrequest.cf.cityrequest.cf.latituderequest.cf.asOrganizationedns.ip-api.comrequest.cf.timezoneDNS PTRrequest.cf.colorequest.cf.tlsVersion/cdn-cgi/trace · kex, sni/cdn-cgi/trace · warpTLS ClientHelloprobe.1ms.dog · TCP SYNprobe.1ms.dog · JA4probe.1ms.dog · HTTP/2 SETTINGSprobe.1ms.dog · HTTP/3 · QUIC JA4Date.now()RTCPeerConnection · STUNWebRTC host candidateIPv6 EUI-64 (ff:fe)myip.ipip.netapi.ip.sbchatgpt.com/cdn-cgi/traceclaude.ai/cdn-cgi/tracewww.cloudflare.com/cdn-cgi/traceCloudflare Radar · IPv4 / IPv6User-AgentAccept-LanguageSec-CH-UASec-CH-UA-PlatformAccept-EncodingDNT · Sec-GPCReferer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatIntl.supportedValuesOfnavigator.keyboardspeechSynthesisError.messageJS feature probesFunction.prototype.toString · iframeCSS.supportscanvas text antialiasingcanvas.toDataURLWebGL getParameterOfflineAudioContextMath.* → SHA-256emoji measureTextfonts → SHA-256getClientRects · RangeSVG getBBox · getComputedTextLengthmeasureText actualBoundingBoxWebGL readPixelswindow · HTMLElement · CSS keysperformance.now() resolutionrecursion depthSHA-256screen · cores · GPU · fonts → SHA-256HTTP cache · ETag / If-None-Matchcanvas × 2navigator.brave · noise · liesuserAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightoffsetWidth − clientWidthWebGL RENDERERnavigator.gpu adapter.infoGPUAdapter limits · featuresWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemoryperformance.memorymaxTouchPoints · pointernavigator.getBatterygeolocation (on request)devicemotion (on request)navigator.connectionenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedRTCRtpSender.getCapabilitiesMediaRecorder.isTypeSupportedmediaCapabilities.decodingInforequestMediaKeySystemAccessstorage.estimateprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsfont-size: medium · AccentColordisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.queryusb · serial · hid · IdleDetector …pdfViewerEnablednavigator.webdriverWorker · navigatorbait element7 tracker scripts (on request)window.ethereum · DOM markschrome-extension:// fileshistory.lengthlocalStorage · IndexedDB · Cache · window.namecanvas measureText你一打開網頁,網站就能悄悄讀到很多東西。這個頁面把它們全部讀一遍,再寫成一段話告訴你:在網站眼中,你是誰。例如你大概從哪裡來、現在在哪裡、用什麼裝置、有什麼習慣。
這樣的每一項資訊,我們稱為「偵測項目」:網站不用經過你同意就能讀到的一項資訊。把滑鼠移到那段話裡填空的地方,會顯示它是根據哪些偵測項目得出的。下面的清單列出每一個偵測項目、它怎麼讀(右邊那一欄,是用到的 API 或請求標頭,也就是瀏覽器每次發出請求都會附上的資訊),以及讀到的值。它們都不會跳出授權提示。
城市看的是你的 IP 位址:拿它去查 Cloudflare 的 IP 地理位置資料庫,廣告商用的也是這類資料庫。開了 VPN 的話,查到的就是 VPN 伺服器所在的城市。
國籍是根據瀏覽器語言(例如 zh-TW 指向台灣,pt-BR 指向巴西)和系統時區猜的,這兩樣開 VPN 都不會變。美式英文幾乎是所有裝置的預設語言,說明不了什麼,這時就看時區。
因為瀏覽器裡沒有任何資訊會透露年齡。廣告商估算年齡和性別,靠的是你的行為:去過哪些網站、看了什麼、買了什麼,再用同一個指紋或 Cookie 把這些網站串起來。這個頁面不讀這些,所以直接告訴你猜不出來,不會亂編一個。
就是你這台裝置的一組細微特徵:系統畫文字和圖形(Canvas、WebGL)、處理聲音時的細微差異,裝了哪些字型,再加上螢幕和各項設定。把這些合起來,能算出一串固定的編碼。它在每個網站上都一樣,不需要 Cookie,在無痕視窗裡也一樣。
它和 IP 無關,所以開 VPN 也改變不了它。有些瀏覽器會防這一招(Brave、開了 resistFingerprinting 的 Firefox、無痕模式下的 Safari),做法是加入隨機干擾。「防指紋」那一列會告訴你,你的瀏覽器有沒有這樣做。
你用 VPN、代理,或改了 UA(瀏覽器自己回報的名稱和版本)時,網站會把你的各項資訊拿來互相比對。以下這些都會露餡:系統時區和 IP 對不上,語言是另一個國家的,WebRTC 暴露的位址不是 VPN 的,IP 屬於機房,UA 和顯示卡對不上。
想看起來像 VPN 所在國家的人:把系統時區改成那邊的,關掉 WebRTC 或換一個能讓它走 VPN 的瀏覽器,再換成住宅 IP 的出口。標黃、標紅的項目下面都有具體改法。
不會儲存任何關於你個人的東西。
檢測都在你的瀏覽器裡進行。本站伺服器只回答三種請求:/api/me(它從這次請求裡本來就看得到的:你的 IP 位址、Cloudflare 對這個位址的資料,以及請求標頭),/api/etag(一個隨機編號,用來示範瀏覽器快取怎麼認出你,伺服器不保存),以及下面說的匿名計數。本站自己的探針 probe.1ms.dog 會看你這次連線本身:TCP 封包、TLS 交握、HTTP/2 和 HTTP/3 的開頭,用來認出系統、看出中間有沒有代理。伺服器都不記日誌。
為了告訴你有多少人和你一樣,檢測完頁面會替匿名計數器加一:本站有多少次檢測是這個系統、瀏覽器、螢幕、顯示卡、時區和偏好語言,每種指紋編碼的前 8 碼各出現過幾次,以及當天每項檢查的結果各有多少、每次檢測花了多久(只記「3–5 秒」這樣的區間,45 秒還沒測完的記一次「卡住」)。不存 IP,不存完整指紋,也沒有單次造訪的紀錄,每個值只對應一個數字。指紋卡下方的「不參與統計」可以讓這個瀏覽器不再計入;開了全球隱私控制(GPC)的瀏覽器一律不計入。
為了找出你的各個出口和 DNS 伺服器,頁面還會直接連到幾個外部服務(名稱都寫在右邊那一欄:IPIP.NET、IP.SB,chatgpt.com、claude.ai 和 cloudflare.com 上的 Cloudflare trace,Cloudflare Radar,ip-api 的 DNS 伺服器,以及兩台 STUN 伺服器)。它們看得到你的 IP 位址,就跟你造訪任何網站時一樣。除此之外,其他資訊都在你的瀏覽器裡讀取,不會傳出去。程式碼是開源的。
上次造訪的紀錄只存在你自己的瀏覽器裡,不會上傳(和上面的匿名計數是兩回事):記的是上次造訪的時間、指紋和城市,用來告訴你有沒有被認出來。按指紋卡上的 × 就能刪除它。分享出去的連結只帶畫像,不帶你的 IP 位址和城市。「儲存留痕」那一列還會在本機儲存、IndexedDB、快取儲存和視窗名稱裡各寫一個隨機標記,同樣只留在你的瀏覽器裡,用來示範清掉一處還認不認得出你;點 × 會一起刪掉。「追蹤攔截實測」「精確定位」「動作感測器」要你按下按鈕才會進行:追蹤實測會去請求 7 家追蹤公司的腳本,它們會看到你的 IP;定位和感測器的讀數只在頁面裡計算,不上傳。「追蹤攔截實測」「精確定位」「動作感測器」要你按下按鈕才會進行:追蹤實測會去請求 7 家追蹤公司的腳本,它們會看到你的 IP;定位和感測器的讀數只在頁面裡計算,不上傳。
因為不是每個瀏覽器都提供所有介面。鍵盤配置、電池、網路類型、記憶體和 Client Hints(瀏覽器主動提供的裝置資訊)只有 Chromium 核心的瀏覽器才會給;Safari 和 Firefox 刻意少給。讀不到,對隱私反而是好事。