Як працює ipkiwi
Майже все, що робить ipkiwi швидким і приватним, зводиться до одного рішення: посередині немає сервера. Ця сторінка пояснює, що зайняло його місце.
Origin-сервера немає
У звичайного сайту десь є origin-сервер — машина в одному конкретному місті, до якої врешті-решт доходить кожен запит. CDN перед нею допомагає, але все персональне однаково мусить прийти з origin, тож відвідувач із Джакарти чекає повного кола до того місця, де стоїть ця машина.
В ipkiwi origin-сервера немає. Увесь сайт — це набір статичних файлів, розкладених мережею Cloudflare, а код, що їх персоналізує, виконується на тому самому edge-сервері, який прийняв ваше з’єднання. У Сан-Паулу, Варшаві чи Джакарті машина, що вам відповідає, — за кілька мілісекунд.
Як персональна сторінка залишається кешованим файлом
Сторінки з вашими даними — це ті самі статичні файли, що й усе інше. Коли таку сторінку запитують, edge дістає її з кешу й переписує просто в потоці, підставляючи в розмічені місця значення, взяті із самого з’єднання: вашу адресу, країну, на яку вона зареєстрована, провайдера, протокол, про який домовився браузер.
Нічого не збирається, не запитується з бази й не рендериться. Файл побудовано один раз, під час розгортання; уся робота на запит — підставити кілька десятків рядків у потік, який уже йде.
Тому відповідь лежить у HTML, а не з’являється за мить. Тому ж немає зсувів верстки: ніщо не приїжджає із запізненням, бо ніщо не довантажується.
Логувати нічого
Немає ні бази, ні журналу запитів, ні скрипта аналітики. Це не стриманість — логу просто нікуди лягти. Код працює стільки, скільки триває один запит, і після його завершення нічого не зберігає.
Вашу адресу зчитують, бо без цього відповісти неможливо, використовують, щоб написати вашу сторінку, і вона зникає разом із відповіддю. Ми її не бачимо, і немає запису, який можна було б видати, втратити або в нас вимагати.
Перевірте самі
Слова про швидкість і приватність нічого не коштують, тому сторінки-інструменти вимірюють себе самі. Рядок під відповіддю показує три числа, зняті вашим браузером із запиту, який ви щойно зробили: за скільки відповів edge, скільки запитів пішло на інші домени і скільки cookie було записано.
Останні два завжди нулі. З інших доменів не завантажується нічого — ні шрифтів, ні скриптів, ні тегів, ні фреймів, — і це перевіряється в панелі мережі браузера секунд за десять.
Ще дві речі, які варто спробувати: вимкніть JavaScript і перезавантажте — відповідь залишиться на місці; потім відкрийте вихідний код сторінки й знайдіть свою адресу просто в HTML.
Ті самі дані в JSON
Усе, що є на сторінці, доступне за однією адресою — без ключа, без реєстрації та без обмежень для звичайного використання:
curl https://ipkiwi.com/api/me
/api/me.txt повертає лише саму адресу, для скриптів оболонки. Обидва працюють на тому самому edge, відповідають за ті самі кілька мілісекунд і логуються рівно настільки, наскільки й сторінки: ніяк.
Часті запитання
Чому це швидше за інші сервіси перевірки IP?
Бо нічому не потрібно нікуди їхати. Більшість сайтів завантажують сторінку, запускають скрипт, звертаються до API і лише тоді малюють відповідь. Тут відповідь уже є в HTML, коли він до вас доходить, і записала її та сама машина, що прийняла ваше з'єднання.
Чи працює сайт із вимкненим JavaScript?
Відповідь — так. Ваша адреса, розташування, провайдер і параметри з'єднання містяться в самому HTML. JavaScript додає лише те, чого сервер знати не може: розмір екрана, часовий пояс браузера — і вимірювання вгорі сторінок-інструментів.
Як узагалі можна не вести логів?
Їх нікому писати. Код живе рівно стільки, скільки триває один запит, і після нього нічого не зберігає. Не зберігати дані — це менше роботи, ніж зберігати, а не більше.
Звідки беруться вимірювання на сторінках-інструментах?
З вашого ж браузера. Час відповіді й кількість запитів беруться з Navigation Timing і Resource Timing та описують запит, який ви щойно зробили. Ми цих чисел не бачимо.