이 페이지는 무엇을 하나요?
어떤 사이트든 여는 순간 돌릴 수 있는 스니퍼를 돌리고, 그 결과로 보이는 당신을 한 문단으로 씁니다. 어디 출신 같은지, 지금 어디 있는지, 무엇을 쓰고 무엇을 좋아하는지.
문단의 빈칸에 마우스를 올리면 어느 스니퍼에서 왔는지 보입니다. 아래 목록에는 스니퍼마다 읽는 방법(오른쪽 열의 API나 헤더)과 읽어 낸 값이 있습니다. 어느 것도 권한을 묻지 않습니다.
스니퍼 79개 · 권한 요청 없음
아마 사람이고, 지금은 에 있어요. 평소 쓰는 말은 , 컴퓨터 시간대는 , 시계는 형식이에요.
쓰는 기기는 , 브라우저는 , 화면은 , 그래픽 카드는 . .
인터넷은 쪽으로 연결돼요. . 사이트 주소를 찾아 주는 DNS는 에 있어요. .
좋아하는 건 , 그리고 . . 설치된 글꼴로 보면: . 나이는요, .
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 ClientHelloDate.now()RTCPeerConnection · STUNWebRTC host candidatemyip.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.NumberFormatnavigator.keyboardspeechSynthesisError.messagecanvas.toDataURLWebGL getParameterOfflineAudioContextfonts → SHA-256SHA-256canvas × 2userAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightWebGL RENDERERnavigator.gpu adapter.infoWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemorymaxTouchPoints · pointernavigator.getBatterynavigator.connectionenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedrequestMediaKeySystemAccessstorage.estimateprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsdisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.querypdfViewerEnablednavigator.webdriverbait elementwindow.ethereum · DOM markshistory.lengthcanvas measureText어떤 사이트든 여는 순간 돌릴 수 있는 스니퍼를 돌리고, 그 결과로 보이는 당신을 한 문단으로 씁니다. 어디 출신 같은지, 지금 어디 있는지, 무엇을 쓰고 무엇을 좋아하는지.
문단의 빈칸에 마우스를 올리면 어느 스니퍼에서 왔는지 보입니다. 아래 목록에는 스니퍼마다 읽는 방법(오른쪽 열의 API나 헤더)과 읽어 낸 값이 있습니다. 어느 것도 권한을 묻지 않습니다.
도시는 IP 주소를 Cloudflare의 위치 데이터베이스에서 찾은 결과로, 광고 네트워크가 쓰는 것과 같은 종류입니다. VPN을 쓰면 VPN 서버의 도시가 나옵니다.
국적은 브라우저 언어(zh-TW는 대만, pt-BR은 브라질)와 시스템 시간대로 추측합니다. 둘 다 VPN으로는 바뀌지 않습니다. 미국 영어는 모든 기기의 기본값이라서, 그때는 시간대로 정합니다.
브라우저 어디에도 나이가 없기 때문입니다. 광고 네트워크는 행동으로 나이와 성별을 추정합니다. 어떤 사이트에 가서 무엇을 보고 샀는지, 그리고 같은 지문이나 쿠키로 여러 사이트를 이어 붙이기도 합니다. 이 페이지는 그런 것을 읽지 않으므로, 지어내지 않고 모른다고 씁니다.
글자와 도형을 그리는 방식(Canvas, WebGL), 소리를 처리하는 방식의 미세한 차이, 설치된 글꼴, 화면과 여러 설정. 이것을 합쳐 해시를 만들면 어느 사이트에서나 같은 값이 나옵니다. 쿠키가 필요 없고 시크릿 창에서도 같습니다.
IP와 상관없어서 VPN으로는 바뀌지 않습니다. 보호 기능이 있는 브라우저(Brave, resistFingerprinting을 켠 Firefox, 개인 정보 보호 모드의 Safari)는 잡음을 넣습니다. ‘지문 보호’ 줄에서 확인할 수 있습니다.
VPN이나 프록시를 쓰거나 UA를 바꾸면, 사이트는 여러 정보를 서로 비교합니다. 시스템 시간대가 IP와 다르거나, 언어가 다른 나라 것이거나, WebRTC 주소가 VPN 주소가 아니거나, 데이터 센터 네트워크이거나, UA와 그래픽 카드가 맞지 않으면 눈에 띕니다.
VPN 국가의 사람처럼 보이려면 시스템 시간대를 맞추고, WebRTC를 끄거나 VPN 안으로만 보내는 브라우저를 쓰고, 가정용 출구를 쓰세요.
아니요. 이 사이트의 서버는 요청 하나(/api/me)에만 답하며, 그 내용은 요청에서 원래 보이는 것입니다: 당신의 주소, 그 주소에 대한 Cloudflare 데이터, 요청 헤더. 로그는 남기지 않습니다.
출구와 DNS 리졸버를 찾기 위해 페이지는 외부 서비스 몇 곳에도 직접 접속합니다(오른쪽 열에 이름이 있습니다: IPIP.NET, IP.SB, chatgpt.com·claude.ai·cloudflare.com의 Cloudflare trace, Cloudflare Radar, ip-api DNS 서버, STUN 서버 두 곳). 이들은 어떤 사이트에 방문할 때와 마찬가지로 당신의 주소를 봅니다. 나머지는 모두 브라우저 안에서 읽고 밖으로 나가지 않습니다. 코드는 공개되어 있습니다.
페이지가 당신의 브라우저 안에 저장하는 건 하나뿐이고, 밖으로 보내지 않습니다: 지난 방문의 시간, 지문, 도시. 알아봤는지 보여 주는 데 쓰며, ID 카드의 ×로 지울 수 있습니다. 공유 링크에는 초상만 담기고 주소와 도시는 빠집니다.
모든 브라우저에 모든 API가 있지는 않습니다. 키보드 배열, 배터리, 연결 종류, 메모리, Client Hints는 Chromium 계열에만 있고, Safari와 Firefox는 일부러 정보를 덜 줍니다. 읽지 못한다는 건 개인정보에는 좋은 일입니다.