Metodologi
Cara kerja pengujian MyLeaks
MyLeaks melaporkan observasi yang dibuat selama pemuatan halaman saat ini dan koneksi jaringan yang terkait.
Cakupan dan interpretasi
Hasil dapat dipengaruhi oleh perilaku browser, kontrol privasi, VPN, proxy, NAT, firewall, dan perangkat lunak jaringan lainnya. Baca setiap hasil beserta keterbatasan yang disebutkan.
1. IP & Geolokasi
Hal yang kami ukur
IP sumber koneksi HTTPS, versi IPv4 atau IPv6-nya, versi dan cipher TLS yang dinegosiasikan, User-Agent, Accept-Language, serta Client Hints berentropi rendah (Sec-CH-UA, Sec-CH-UA-Mobile, dan Sec-CH-UA-Platform). Hasilnya juga dapat mencakup negara, subdivisi, kota, perkiraan lintang/bujur, radius akurasi, zona waktu, ASN, dan organisasi AS jika tersedia.
Cara kami mengukurnya
MyLeaks membaca alamat sumber dan detail koneksi yang diamati untuk kunjungan saat ini. Lokasi perkiraan dan bidang jaringan dicari dari data referensi IP.
Arti hasil
IP publik adalah alamat yang teramati untuk permintaan HTTPS yang mencapai MyLeaks. Bidang geolokasi dan jaringan merupakan perkiraan basis data yang terkait dengan alamat IP tersebut, bukan lokasi yang dilaporkan perangkat.
Batasan
VPN, forward proxy, carrier-grade NAT, gateway perusahaan, dan perutean lain dapat mengubah alamat yang teramati. Basis data IP dapat tidak lengkap, kedaluwarsa, atau tidak presisi secara geografis. Pengujian ini tidak meminta izin lokasi GPS atau lokasi perangkat lainnya.
2. Deteksi proxy/VPN
Hal yang kami ukur
Indikator klasifikasi tentang IP publik yang diamati, termasuk proxy, VPN, Tor, hosting/datacenter, residensial-proxy, tipe jaringan, operator, kepercayaan, dan bidang risiko bila tersedia.
Cara kami mengukurnya
MyLeaks memeriksa IP publik saat ini terhadap data klasifikasi jaringan dan menyajikan indikator yang tersedia dalam format yang konsisten.
Arti hasil
Terdeteksi berarti indikator ditemukan untuk IP saat ini. Tidak terdeteksi berarti tidak ditemukan indikator dalam pemeriksaan ini. Tidak diketahui berarti informasi yang diperlukan tidak tersedia atau tidak cukup.
Batasan
Data klasifikasi bisa tidak lengkap, tertunda, atau basi. Kategori jaringan saling tumpang tindih dan dapat bertentangan, terutama untuk shared hosting, relay, dan layanan terbaru.
3. WebRTC
Hal yang kami ukur
Jenis kandidat ICE, alamat, port, protokol, alamat/port terkait, jenis TCP, serta apakah alamat tersebut merupakan alamat publik numerik, alamat privat/lokal numerik, atau nama mDNS yang disamarkan dengan akhiran .local atau nama host lain. Jumlah ditampilkan untuk kandidat host, server-reflexive (srflx), relay, peer-reflexive, dan kandidat yang tidak diketahui.
Cara kami mengukurnya
Halaman membuat koneksi WebRTC, membuka saluran data, dan mengumpulkan kandidat ICE hingga browser selesai atau pengujian habis waktunya. Tidak meminta akses kamera atau mikrofon. Bidang kandidat terstruktur lebih disukai, dengan parsing kandidat mentah sebagai cadangan.
Kandidat host mewakili alamat antarmuka atau pengganti mDNS tersebut. Kandidat server-refleksif adalah alamat yang dipetakan yang dipelajari selama pengaturan koneksi. Kandidat relay diarahkan melalui TURN dan ditampilkan tetapi dikecualikan dari perbandingan IP publik langsung. Kandidat tuan rumah privat/lokal dan mDNS dilaporkan secara terpisah.
Arti hasil
MyLeaks membandingkan alamat host publik numerik atau server-reflexive dengan alamat HTTP publik. Perbedaan menunjukkan bahwa peramban mengekspos alamat publik lain. Kecocokan hanya berarti pengujian ini tidak menemukan alamat publik yang berbeda.
Batasan
Kebijakan browser, ekstensi, kontrol perusahaan, routing VPN, firewall, dan versi browser dapat mengubah paparan kandidat. Kandidat estafet dikecualikan dari perbandingan langsung dengan IP-publik. Hasil yang tidak tersedia berarti tes tidak memperoleh perbandingan yang dapat digunakan. Ini bukan tes konektivitas IPv6 khusus.
4. DNS
Hal yang kami ukur
Alamat IP penyelesai-keluar yang menanyakan nama uji unik, versi IP, jenis dan jumlah kueri, jumlah probe yang diamati, serta informasi negara/ASN jika tersedia.
Cara kami mengukurnya
Browser menyelesaikan beberapa nama unik dan menunggu sebentar pengamatan. Jika metode pertama tidak menghasilkan hasil, metode resolusi kedua yang didukung browser akan dicoba sebelum pengujian habis waktu.
Arti hasil
Alamat yang teramati adalah alamat resolver rekursif atau titik keluar resolver yang mengajukan kueri ke infrastruktur DNS otoritatif MyLeaks. Hasil menunjukkan hubungan antara jaringan resolver tersebut dan jaringan HTTP.
Batasan
Hasilnya mungkin bukan server DNS yang dikonfigurasi persis di perangkat dan tidak mengidentifikasi pengaturan DoH/DoT browser. Resolver yang dibagikan, diteruskan, anycast, dan publik adalah umum digunakan. Perilaku browser atau jaringan dapat menekan permintaan pengujian.
5. TLS JA3/JA4
Hal yang kami ukur
Yang diamati TLS ClientHello: versi TLS warisan dan didukung, urutan suite sandi, urutan ekstensi, urutan grup yang didukung, format titik EC, algoritma tanda tangan, nilai ALPN, dan keberadaan SNI. MyLeaks menurunkan nilai JA3 dan JA4 TLS Klien.
Cara kami mengukurnya
MyLeaks mengurai ClientHello yang diamati untuk koneksi uji dan menurunkan kedua sidik jari dari bidang protokol yang terurut sama.
Arti hasil
JA3 dan JA4 merangkum karakteristik ClientHello yang mencapai MyLeaks. Mereka dapat membantu membandingkan implementasi atau jalur TLS, dan banyak klien memiliki nilai yang sama.
Batasan
TLS intersepsi, proxy, middleware, pembaruan browser, dan pustaka TLS yang dapat dikonfigurasi dapat mengubah pengamatan. Banyak klien berbagi sidik jari.
Detail lanjutan: normalisasi JA3 dan JA4
JA3 menggunakan legacy_version,ciphers,extensions,supported_groups,ec_point_formats. GREASE dihapus dari cipher, ekstensi, dan grup; urutan sisanya dipertahankan. Nilai ditulis dalam desimal dan dipisahkan tanda hubung di dalam setiap bidang. Pengenalnya adalah nilai MD5 berhuruf kecil dari string kanonis tersebut, sesuai spesifikasi format JA3.
JA4 menggunakan versi non-GREASE tertinggi yang didukung dan ditawarkan, dengan fallback ke versi legacy; penanda transport TCP; status SNI ada/tidak ada; jumlah dua digit yang dibatasi untuk cipher dan ekstensi non-GREASE; serta kode dari entri ALPN pertama. Kode ALPN tersebut menggunakan byte pertama dan terakhirnya jika keduanya berupa alfanumerik ASCII; jika tidak, kode menggunakan karakter heksadesimal pertama dan terakhir. ID cipher diurutkan secara numerik dan di-hash dengan SHA-256 menjadi prefiks 12-heksadesimal. Ekstensi menghapus SNI (0x0000) dan ALPN (0x0010), lalu diurutkan secara numerik. Algoritme tanda tangan non-GREASE yang terurut ditambahkan tanpa pengurutan sebelum prefiks SHA-256 12-heksadesimal kedua. Input hash kosong menggunakan dua belas angka nol. MyLeaks menerapkan JA4 TLS Client, bukan metode JA4+ lainnya.
6. HTTP/2
Hal yang kami ukur
Preface klien dan ALPN h2, entri SETTINGS non-ACK pertama, rangkaian awal frame non-ACK yang dibatasi, kenaikan WINDOW_UPDATE koneksi beserta posisi urutannya, urutan pseudo-header, dan urutan nama header reguler. Pembaruan window stream, data prioritas, dan flag blok header ditampilkan sebagai detail.
Cara kami mengukurnya
Browser membuka koneksi HTTP/2. MyLeaks mengurai frame awal dan blok header serta mengembalikan observasi untuk koneksi tersebut.
Arti hasil
myleaks-h2-v1 adalah ringkasan berversi khusus MyLeaks mengenai perilaku inisialisasi awal HTTP/2 yang teramati. Ini bukan JA4H, Akamai fingerprinting, atau standar universal.
Batasan
Beberapa proxy, jaringan korporat, firewall, dan gateway pembatas dapat memblokir koneksi uji. Perantara dapat mengubah perilaku, dan banyak klien dapat mengalami hasil yang sama.
Detail lanjutan: myleaks-h2-v1
myleaks-h2-v1|SETTINGS=<id:value,id:value,...>|WINDOW=<increment@sequence-position,...|none>|FRAMES=<non-ACK-frame-name,...>|PSEUDO=<pseudo-header-name,...>|HEADERS=<regular-header-name,...>
Entri SETTINGS, nama frame, nama pseudo-header, dan nama header reguler mempertahankan urutan transmisi yang teramati atau urutan hasil dekode; duplikat dan ID pengaturan yang tidak dikenal tetap dipertahankan. Frame yang tidak dikenal menggunakan UNKNOWN_0xNN. Fingerprint adalah hash SHA-256 berhuruf kecil dari string kanonis UTF-8 yang persis. Nilai header, alamat/port sumber, waktu, fingerprint TLS, dan hash lokal peramban dikecualikan.
7. QUIC/HTTP/3
Hal yang kami ukur
Alamat IPv4 publik koneksi QUIC langsung, versi QUIC, nilai parameter transport stabil yang diekspos, panjang connection ID sumber/tujuan awal, nilai SETTINGS HTTP/3, keberadaan pengaturan yang dicadangkan, urutan nama header permintaan, serta apakah 0-RTT diterima.
Cara kami mengukurnya
Browser mencoba koneksi HTTP/3 melalui QUIC. Hanya pengamatan QUIC dan HTTP/3 yang berhasil ditunjukkan sebagai sidik jari.
Arti hasil
myleaks-quic-v1 dan myleaks-h3-v1 merupakan ringkasan karakteristik koneksi yang diekspos dan ditetapkan oleh MyLeaks. IP HTTPS dan QUIC yang berbeda berarti kedua koneksi mencapai MyLeaks melalui jalur publik yang berbeda; hal ini tidak menentukan alamat mana yang “asli”.
Batasan
QUIC atau HTTP/3 dapat diblokir atau dinonaktifkan oleh browser atau jaringan. Beberapa detail transportasi dan pemesanan melalui kabel tidak tersedia, jadi MyLeaks menghilangkannya daripada menyimpulkannya. Banyak klien dapat merasakan hasil yang sama.
Detail lanjutan: kanonisasi QUIC dan H3 MyLeaks
myleaks-quic-v1 — input kanonis:
VER=<escaped-version>|TP=<numeric-id:value sorted by id>|GREASE=NE
Daftar parameter transport yang diizinkan menggunakan ID 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, dan 14, serta ID 32 ketika max_datagram_frame_size ada. Dalam teks versi, karakter % | , : di-escape. Urutan parameter, alamat/port sumber, byte CID/token mentah, waktu, dan data koneksi dinamis dikecualikan. NE berarti observasi GREASE tidak diekspos.
myleaks-h3-v1 — input kanonis:
SETTINGS=<known numeric-id:value sorted by id>|GREASE=<0|1>
Daftar yang diizinkan untuk V1 adalah ID SETTINGS 1, 6, 7, 8, dan 51. Pengaturan tak dikenal yang tidak dicadangkan ditampilkan tetapi dikecualikan. ID yang dicadangkan dan cocok dengan 0x1f*N+0x21 hanya menyumbangkan bit keberadaan GREASE yang stabil; ID dan nilai acaknya tidak di-hash. Kedua fingerprint adalah hash SHA-256 berhuruf kecil dari input kanonis UTF-8 yang persis. 0-RTT dinonaktifkan dan dikecualikan.
8. TCP
Hal yang kami ukur
Window TCP mentah, nilai MSS dan window-scale valid pertama, keberadaan opsi SACK-permitted, timestamp, dan TCP Fast Open, status ECE/CWR, bit Don’t Fragment IPv4, serta urutan transmisi opsi TCP. TTL yang teramati dan perkiraan TTL awal/hop ditampilkan secara terpisah.
Cara kami mengukurnya
MyLeaks membaca karakteristik terpilih dari IPv4 awal TCP SYN dan membangun ringkasan versi dari field yang stabil.
Arti hasil
myleaks-tcp-v1 merangkum karakteristik awal SYN yang diterima oleh MyLeaks. Ini adalah format yang terpisah dari JA4T.
Batasan
NAT, VPN, proxy, firewall, normalisasi paket, dan perangkat jaringan lainnya dapat mengubah bidang ini. Banyak sistem memiliki hasil yang sama.
Detail lanjutan: myleaks-tcp-v1
WIN=<raw>|MSS=<value|->|WS=<value|->|SACK=<0|1>|TS=<0|1>|TFO=<0|1>|ECN=<NONE|ECE|CWR|ECE+CWR>|DF=<0|1>|OPTS=<comma-separated option tokens|->
Opsi duplikat yang dikenal tetap berada dalam urutan opsi; nilai MSS/window-scale valid pertama berlaku. NOP dan EOL tetap dipertahankan. Opsi yang tidak dikenal menggunakan OPT<kind>L<length>, tanpa data opsi. Panjang yang tidak valid menyebabkan SYN ditolak. Fingerprint adalah hash SHA-256 berhuruf kecil dari string kanonis yang persis.
Hash mengecualikan alamat/port alur, nomor urut dan acknowledgment, IP ID, perkiraan TTL/hop, nilai timestamp TCP, byte cookie TFO, checksum, dan waktu penangkapan. TTL yang teramati dibandingkan dengan nilai awal umum terkecil di antara 32, 64, 128, dan 255; nilai TTL dan hop yang dihasilkan hanyalah perkiraan.
9. Fingerprint peramban
Hal yang kami ukur
Tujuh komponen terpisah yang diekspos peramban: Canvas, WebGL, WebGPU, Audio, Fonts, ClientRects, dan Canvas TextMetrics. Tidak ada satu fingerprint peramban gabungan. Setiap komponen diukur dua kali untuk menguji stabilitas pada halaman yang sama.
Cara kami mengukurnya
Halaman ini menggunakan kemampuan browser dan hashing SHA-256. Kunci objek diurutkan secara rekursif sebelum serialisasi JSON; array mempertahankan urutan yang telah ditentukan.
Arti hasil
Permukaan yang ditandai stabil menghasilkan hash yang sama dalam dua run selama pemuatan halaman ini. Status ini menggambarkan keterulangan selama beban saat ini.
Batasan
Ketersediaan dan nilai bergantung pada peramban, sistem operasi, implementasi grafis dan audio, font, perlindungan privasi, ekstensi, serta keadaan runtime. Hasil yang dibatasi atau tidak stabil tidak dengan sendirinya membuktikan adanya perlindungan privasi, spoofing, atau keaslian.
Detail lanjutan: input persis untuk setiap hash peramban
- Canvas: byte RGBA mentah dari scene Canvas 2D deterministik berukuran 320 × 160 yang berisi isian tetap, compositing, geometri, gradien, dan teks. SHA-256 diterapkan langsung pada byte piksel.
- WebGL: byte RGBA mentah yang dibaca dari render segitiga tetap berukuran 96 × 96 menggunakan WebGL 2, WebGL 1, atau WebGL eksperimental. Data kemampuan yang ditampilkan—konteks/versi, shading language, vendor/renderer, nilai opsional tanpa penyamaran, batas terpilih, antialias, dan daftar ekstensi terurut—tidak menjadi bagian dari hash rendering ini.
- WebGPU: JSON kanonis yang memuat informasi adaptor (
vendor,architecture,device,description, atau “Tidak diekspos”), nama fitur yang diurutkan secara leksikografis, dan daftar tetap yang terurut dari batas numerik WebGPU yang bernilai hingga. Kunci objek diurutkan selama serialisasi kanonis. - Audio: 8.192 sampel (frame 1024–9215) dari render offline satu kanal 44.100 Hz untuk osilator segitiga 997 Hz melalui kompresor dengan parameter tetap. Setiap Float32 dienkode dalam format little-endian sebelum SHA-256; tidak ada keluaran yang dapat didengar maupun permintaan izin.
- Fonts: JSON kanonis dengan jumlah daftar kandidat tetap dan nama terdeteksi yang diurutkan secara leksikografis. Font dianggap terdeteksi ketika lebar atau tinggi teks probe tetap berbeda dari setidaknya dua nilai dasar fallback serif, sans-serif, dan monospace.
- ClientRects: JSON kanonis untuk tata letak off-screen tetap selebar 320 px: root, persegi panjang bounding/client untuk box dan inline, serta persegi panjang Range teks. Koordinat bersifat relatif terhadap container dan ditetapkan hingga enam angka desimal; urutan array dipertahankan.
- TextMetrics: JSON kanonis dengan presisi 6 dan tiga kasus font/teks tetap. Untuk setiap kasus, nilai berhingga yang didukung untuk width, actual bounding-box kiri/kanan/ascent/descent, serta font bounding-box ascent/descent disertakan dalam urutan properti tetap dan ditetapkan hingga enam angka desimal.
10. Pemeriksaan konsistensi
Hal yang kami ukur
Aturan membandingkan: IP HTTP dengan kandidat WebRTC publik; zona waktu peramban dengan perkiraan zona waktu IP; ASN/negara resolver dengan ASN/negara HTTP; hubungan logis dalam indikasi intelijen IP; keluarga/versi User-Agent dengan Client Hints; User-Agent, Client Hints, dan navigator.platform; penanda seluler; stabilitas fingerprint per komponen; navigator.webdriver; serta IP HTTPS dengan IP QUIC.
Cara kami mengukurnya
Aturan konsistensi membandingkan hasil yang sudah dihasilkan oleh halaman tanpa mengulang tes. Alias platform dan representasi keluarga browser yang kompatibel dinormalisasi secara konservatif; offset zona waktu menggunakan satu referensi instan dan browser Intl di peramban.
Arti hasil
Status seperti konsisten, kompatibel, tidak cocok, peringatan, informasional, dan tidak diketahui menggambarkan hubungan faktual spesifik antara nilai yang dibandingkan.
Batasan
Buka mismatch untuk melihat nilai yang berbeda. Input yang hilang menghasilkan hasil yang tidak diketahui, dan sinyal yang diamati secara independen dapat berbeda karena perilaku jaringan atau browser.