Cara kerja ipkiwi
Hampir semua yang membuat ipkiwi cepat dan privat berpangkal pada satu keputusan: tidak ada server di tengah. Halaman ini menjelaskan apa yang menggantikannya.
Tidak ada server asal
Situs biasa punya server asal di suatu tempat: satu mesin di satu kota yang pada akhirnya dituju setiap permintaan. CDN di depannya membantu, tetapi apa pun yang bersifat pribadi tetap harus datang dari server asal, sehingga pengunjung dari Jakarta menunggu perjalanan pulang pergi penuh ke tempat mesin itu berada.
ipkiwi tidak punya server asal. Seluruh situs adalah sekumpulan berkas statis yang tersebar di jaringan Cloudflare, dan kode yang mempersonalisasinya berjalan di server tepi yang persis menerima koneksi Anda. Di São Paulo, Warsawa, atau Jakarta, mesin yang menjawab Anda hanya beberapa milidetik jauhnya.
Bagaimana halaman pribadi tetap berupa berkas dalam cache
Halaman yang menampilkan data Anda adalah berkas statis yang sama dengan lainnya. Ketika diminta, tepi jaringan mengambilnya dari cache dan menulis ulang sambil berkas itu mengalir, mengganti slot bertanda dengan nilai yang diambil dari koneksi itu sendiri: alamat Anda, negara tempat alamat itu terdaftar, penyedia Anda, protokol yang dirundingkan peramban Anda.
Tidak ada yang dirakit, dikueri, atau dirender. Berkasnya dibangun sekali, saat penerapan; satu-satunya pekerjaan per permintaan adalah menyisipkan beberapa puluh potongan teks ke dalam aliran yang memang sudah berjalan.
Itulah sebabnya jawabannya ada di dalam HTML alih-alih muncul sesaat kemudian. Itu pula sebabnya tidak ada pergeseran tata letak: tidak ada yang datang terlambat, karena tidak ada yang dimuat belakangan.
Tidak ada yang bisa dicatat
Tidak ada basis data, tidak ada log permintaan, tidak ada skrip analitik. Ini bukan soal menahan diri — memang tidak ada tempat bagi log untuk singgah. Kode berjalan selama satu permintaan dan ketika permintaan itu selesai, tidak menahan apa pun.
Alamat Anda dibaca karena menjawab tanpa membacanya mustahil, dipakai untuk menulis halaman Anda, lalu lenyap bersama responsnya. Kami tidak pernah melihatnya, dan tidak ada catatan yang bisa diserahkan, bocor, atau diminta dari kami.
Periksa sendiri
Klaim tentang kecepatan dan privasi itu murah, jadi halaman alat mengukur dirinya sendiri. Baris di bawah jawaban menampilkan tiga angka yang diambil peramban Anda tentang permintaan yang baru saja Anda kirim: berapa lama tepi jaringan menjawab, berapa permintaan yang pergi ke domain lain, dan berapa kuki yang ditulis.
Dua yang terakhir selalu nol. Tidak ada apa pun yang dimuat dari domain lain — tidak fon, tidak skrip, tidak tag, tidak bingkai — dan Anda bisa memastikannya di panel jaringan peramban dalam sekitar sepuluh detik.
Dua hal lain yang layak dicoba: matikan JavaScript lalu muat ulang, jawabannya tetap di sana; kemudian buka kode sumber halaman dan temukan alamat Anda di dalam HTML.
Data yang sama, dalam JSON
Semua yang ada di halaman tersedia dari satu titik akhir, tanpa kunci, tanpa pendaftaran, dan tanpa batas untuk penggunaan biasa:
curl https://ipkiwi.com/api/me
/api/me.txt mengembalikan alamatnya saja, untuk skrip shell. Keduanya berjalan di tepi yang sama, menjawab dalam beberapa milidetik yang sama, dan dicatat persis sebanyak halaman-halaman ini: tidak sama sekali.
Pertanyaan umum
Mengapa lebih cepat daripada situs pencari IP lainnya?
Karena tidak ada yang perlu menempuh jarak. Kebanyakan situs memuat halaman, menjalankan skrip, memanggil API, lalu baru menggambar jawabannya. Di sini jawabannya sudah ada di dalam HTML ketika sampai kepada Anda, ditulis oleh mesin yang sama yang menerima koneksi Anda.
Apakah situs ini bekerja tanpa JavaScript?
Jawabannya bekerja. Alamat, lokasi, penyedia, dan detail koneksi Anda ada di dalam HTML itu sendiri. JavaScript hanya menambahkan yang tidak mungkin diketahui server — ukuran layar, zona waktu peramban — serta pengukuran di bagian atas halaman alat.
Bagaimana mungkin sama sekali tidak ada log?
Tidak ada server yang menuliskannya. Kode hidup selama satu permintaan dan setelah itu tidak menyimpan apa pun. Tidak menyimpan data justru lebih sedikit pekerjaannya, bukan lebih banyak.
Dari mana angka-angka pada halaman alat berasal?
Dari peramban Anda sendiri. Waktu respons dan jumlah permintaan berasal dari Navigation Timing dan Resource Timing, dan menggambarkan permintaan yang baru saja Anda kirim. Kami tidak pernah melihat angka-angka itu.