Конфиденциальность
У PoE2 Oracle нет своего аккаунта и нет аналитики о вас: ни идентификатора, ни профиля, ничего о вашей игре. Собственный сервис программы считает установки — только числами (см. Что считает сервис). Программа обращается только к сервисам ниже — за ценами и картинками, за обновлениями и, только когда вы сами его отправляете, с сообщением разработчику. Вход на pathofexile.com необязателен; после входа программа ищет на сайте торговли, а по вашему нажатию жмёт его кнопки у лотов, с вашей сессией (см. Вход на pathofexile.com).
Что и куда отправляется
| Сервис | Когда | Что отправляется |
|---|---|---|
Сайт торговли Path of Exile: www.pathofexile.com и ru.pathofexile.com | Список лиг и каталоги обоих сайтов (свойства, биржевые предметы, базы предметов): при запуске и во время работы, когда сохранённая копия старше часа (лиги) или шести часов (каталоги). При проверке цены, если предмет не оценён по валютной бирже, — поиск, затем найденные лоты; тот же поиск в течение двух минут берётся из памяти. Биржевой предмет ищется на сайте торговли, только если его не оценили ни сводка GGG, ни poe2scout, или если вы сами попросили его лоты. После входа — ещё страница аккаунта сайта, чтобы проверить сессию: при запуске, при входе и когда сайт торговли отклоняет строку «сумма»; и на www.pathofexile.com — страница ваших приватных лиг и страница каждой вашей приватной лиги PoE 2: когда сайт принял сессию (или не ответил на её проверку), при каждом открытии настроек, по кнопке «Обновить» в разделе «Аккаунт» и сами — по умолчанию раз в час («Обновлять список автоматически»: 15 минут, 1 час, 6 часов или «Выкл»). После входа — ещё при каждом нажатии «В убежище» или «Написать» у лота: один запрос на нажатие. | Для каталогов и страниц — только сам запрос. Для проверки — сам поиск: лига, класс или база предмета, выбранные строки фильтров с границами, выбор продавцов и валюты. Для нажатия «В убежище» или «Написать» — маркер, который сайт выдал вместе с этим лотом, а после «Уже востребован» — что вы всё равно идёте. Предметы из русского клиента ищутся на ru.pathofexile.com, из английского — на www.pathofexile.com. |
api.poe2scout.com | При запуске, при смене лиги и после проверки — когда сохранённым ценам больше 30 минут. | Лига — чтобы получить цены уникальных предметов, цены товаров валютной биржи за последние семь дней, их страницы и цены тех, которые последние часы не меняли. |
web.poecdn.com (сервер игры с картинками и данными биржи) | Когда панель показывает картинку предмета или значок валюты. При запуске, при смене лиги и во время проверок не чаще раза в 10 минут — каждый ещё не скачанный полный час сводки сделок валютной биржи от GGG. | Запросы этих картинок и часов данных биржи, одинаковых для всех лиг и игроков: ничего о вас и вашей лиге. |
oracle.pushka.biz — собственный сервис PoE2 Oracle | Обновления, пока включено «Обновлять автоматически» (по умолчанию включено): соединение открывается примерно через 10 секунд после запуска и держится всё время работы программы, а оборвавшись, открывается снова; загрузки — когда вышла новая версия или новые данные игры. Сообщения: только когда вы нажимаете «Отправить» в окне сообщения разработчику. Сайт: когда вы открываете его страницы в браузере. | Обновления: запрос соединения — без cookie, аккаунта и идентификатора, только с User-Agent программы и её версией. В адресе первого соединения после каждого запуска есть ещё несколько признаков, которые сервис считает (см. Что считает сервис): start=1 и, по обстоятельствам, first=1 (первый запуск этой установки), from=<версия> (версия, работавшая в прошлый раз, если то была другая), lang=en или lang=ru (язык интерфейса) и dev=1 (сборка, которую разработчик сделал для проверки); у переподключений после него их нет. По соединению сервис присылает последние версии программы и данных игры и каждые 25 секунд строку, поддерживающую связь. Когда вышло что-то новее — запрос последнего выпуска или пакета данных игры, затем установщик или пакет, его SHA256SUMS и подпись этого файла — сервис берёт их из закрытого репозитория проекта на GitHub. Сообщения: см. Сообщения разработчику. Сайт: обычный запрос браузера за страницей; ссылка на установщик несёт ?from=<метка>, если вы пришли по ссылке с меткой места, где она опубликована (см. Что считает сервис). |
Без входа ни один запрос за ценами, картинками и обновлениями не содержит вашего аккаунта, cookie
или чего-то ещё, что указывает на вас; сообщение разработчику несёт то, что перечислено в разделе
Сообщения разработчику, и только когда вы его отправляете. После входа
запросы к сайту торговли несут вашу сессию pathofexile.com — cookie POESESSID; другие запросы её
не несут. В каждом запросе есть неизменная строка User-Agent, одинаковая у всех игроков:
PoE2-Oracle/<версия> (+https://oracle.pushka.biz). Она называет программу, как GGG просит
сторонние инструменты, и ничего не говорит о вас. Как и при любом запросе в интернете, каждый сервис
видит ваш IP-адрес.
Пока включено «Обновлять автоматически», соединение с oracle.pushka.biz остаётся открытым, поэтому всё время работы программы сервис видит ваш IP-адрес, а по User-Agent — версию программы; первое соединение после каждого запуска несёт ещё признаки, описанные в разделе Что считает сервис. Выключите его в настройках, в разделе «Общие», группе «Обновления», или снимите эту галочку на первой странице установщика ещё до первого запуска, — и PoE2 Oracle совсем не обращается к oracle.pushka.biz, кроме сообщений, которые вы отправляете сами.
Ссылки на панели («poe2db ↗», «вики ↗», «Craft of Exile ↗», «poe2scout ↗», «…/trade ↗») открываются в браузере, когда вы по ним щёлкаете: poe2db.tw, www.poe2wiki.net, beta.craftofexile.com, poe2scout.com и сайт торговли. В адресе ссылки на Craft of Exile — сам предмет: его база, уровень, редкость и модификаторы. Сама программа к poe2db, вики и Craft of Exile не обращается.
Сообщения разработчику
Разработчику ничего не уходит, пока вы не нажмёте «Отправить» в окне сообщения разработчику или в форме на сайте.
Сообщение из программы несёт ваш текст, контакт, если вы его указали, версию программы, языки интерфейса и клиента, версию Windows, лигу и масштаб интерфейса, а также то, что вы приложили: название и текст предмета (вид «Предмет»), то, что PoE2 Oracle сообщил, закрываясь (вид «Вылет»), и отчёт для разработчика, пока включено «Приложить диагностику». Сообщение из формы на сайте несёт только ваш текст и контакт.
oracle.pushka.biz передаёт каждое сообщение разработчику и сам из него ничего не хранит:
- задачей в закрытом репозитории на GitHub, отдельном от исходного кода программы, — всё перечисленное, кроме отчёта для разработчика;
- сообщением разработчику в Telegram — с отчётом для разработчика и текстом предмета или вылета файлами.
Читает их только разработчик. Аккаунт не нужен — ни на GitHub, ни где-либо ещё.
Помимо счётчиков из раздела Что считает сервис, ваш IP-адрес нужен только для ограничений: сколько сообщений приходит с одного адреса и сколько соединений для обновлений один адрес держит сразу (8). В логи он не записывается. Счётчик сообщений забывается, когда кончается его окно времени, — самое позднее в конце суток по московскому времени, а счётчик соединений — когда соединение закрывается. В логах сервиса остаются вид сообщения, откуда оно пришло (из программы или с сайта), версия программы, номер задачи и размер отчёта диагностики, но никогда не текст и не контакт.
Что считает сервис
oracle.pushka.biz считает за сутки (по московскому времени), что делают программа и посетители сайта. Хранятся только числа, 120 дней: ни адресов, ни идентификаторов, ни имён, и ни одно число нельзя привязать к человеку. Что считается и из чего это сделано:
- Соединения и проверки обновлений программы — в сумме и по версии из её User-Agent, только пока
включено «Обновлять автоматически» (когда оно выключено, программа к сервису не обращается
совсем). Собственный счёт есть только у версий последних опубликованных выпусков, не больше
шестнадцати, любой другой текст там считается как
other. - Сколько разных установок было активно за сутки и за неделю (с понедельника по воскресенье), в
сумме и по версиям. Отличить установки друг от друга сервис не может и не пытается — он различает
соединения. Для каждого он делает хеш (SHA-256) от адреса соединения и названия программы в
User-Agent (
PoE2-Oracle, без версии, чтобы обновление не превращало одну установку в две), смешанный со случайной солью. Соль создаётся заново на каждые сутки и на каждую неделю, хранится в базе сервиса только до конца этого срока (плюс пара часов) и не записывается ни в какие журналы. Хеш попадает в скетч HyperLogLog — таблицу небольших чисел фиксированного размера, в которой нет ни хешей, ни адресов и из которой можно прочитать лишь приблизительное число различных. Игроки за общим адресом, например в общей сети или у мобильного оператора, считаются за одного, поэтому число — «не меньше». Установка, которая остаётся на связи несколько суток, считается за каждые такие сутки. - Запуски — из первого соединения программы после старта и никогда из переподключений после
него: программа добавляет к этому запросу несколько признаков. Что это запуск; что это первый
запуск этой установки; версию, на которой она работала в прошлый раз, если та была другой; и язык
интерфейса,
enилиru. Из них сервис делает счётчики: запуски, новые установки, обновления с одной версии на другую (0.1.2→0.1.3, обе среди этих выпусков, иначеother) и запуски по языкам. Для этого программа держит в%LOCALAPPDATA%\poe2-oracle\dataмаленькие файлы-отметки:last-run-version— версия последнего запуска, о котором сервису сообщено, и, в сборках, которые разработчик делает для проверки, пустой файлdev: такой запуск сервис считает запуском разработчика и больше ничем. - Скачивания установщика — по тому, кто его взял: кнопка на сайте (или любая ссылка на файл)
либо программа-обновлятель; их различает User-Agent, а у обновлятеля ещё и версия, которую он
скачивает. Скачивания пакетов данных игры и остальных файлов выпуска (
SHA256SUMSи подпись), а также сообщения по видам считаются по-прежнему. - Сайт — сколько страниц загружено (только страниц: не картинок, стилей и скриптов) и сколько
разных посетителей загрузили хоть одну за сутки: так же, как выше, с User-Agent браузера. Для
захода по ссылке с меткой, где она опубликована, —
?from=и метка из закрытого списка (reddit,forum,discord,youtube,steam,wiki,lists,creators,article), — те же два числа и сколько раз после такого захода скачали установщик. Чтобы это понять, скрипт страницы держит метку в хранилище сессии вкладки браузера, которое браузер стирает при закрытии вкладки, и дописывает её в ссылку кнопки «Скачать». Кука для этого не ставится, а метка не из списка не считается. Номер последней версии, который главные страницы показывают под кнопками скачивания, они спрашивают у сервиса, и этот запрос не считается ничем.
Ваш IP-адрес участвует в этих подсчётах только в хеше, описанном выше, и, как и раньше, в ограничениях на сообщения и соединения (см. Сообщения разработчику). В журналы он не записывается.
Вход на pathofexile.com
Вход нужен только для приватных лиг, строк «сумма» среди фильтров (см.
Аккаунт) и кнопок сайта торговли у лотов (см.
Кнопки сайта торговли). «Войти» открывает страницу входа
самого pathofexile.com в окне программы — браузере Microsoft Edge WebView2. Войдите там так же, как
на сайте: паролем или через Steam, PlayStation или Xbox. Ваш пароль PoE2 Oracle не видит: программа
берёт только сессию, которую сайт выдаёт этому браузеру, — cookie POESESSID — и проверяет её на
странице аккаунта сайта.
- Что хранится. Только сессия — в диспетчере учётных данных Windows, как общие учётные данные
PoE2 Oracle/pathofexile.com(имя пользователяPOESESSID). Windows хранит их зашифрованными для вашей учётной записи на этом компьютере, на другие компьютеры они не попадают. В файле настроек, логах и отчёте для разработчика сессии нет. - Куда отправляется. В cookie запросов к
https://www.pathofexile.comиhttps://ru.pathofexile.com(поиск, лоты, кнопки у лотов, лиги, каталоги, страница аккаунта, страницы ваших приватных лиг). Никогда — на poe2scout, сервер игры с картинками и данными биржи или oracle.pushka.biz и никогда — в сообщении разработчику. - Окно входа. Открывает только страницы по https, а в заголовке называет сайт открытой
страницы: вход через Steam, PlayStation или Xbox проходит через их страницы. Его браузер работает
в приватном режиме, в собственной папке
%LOCALAPPDATA%\poe2-oracle\data\login-browser, которая удаляется после закрытия окна — или при следующем входе или запуске, если что-то этому помешало. - Как удалить. «Выйти» в разделе «Аккаунт» настроек удаляет сессию из диспетчера учётных
данных, и программа больше её не отправляет. Удаление программы тоже стирает её, что бы вы ни
отметили. Можно удалить её и вручную: Панель управления → Диспетчер учётных данных → Учётные
данные Windows, запись
PoE2 Oracle/pathofexile.com.
Что программа читает на компьютере
- Буфер обмена — только во время проверки цены или быстрого действия. Проверка забирает текст предмета, скопированный игрой, и возвращает то, что было в буфере раньше. Быстрое действие кладёт свой текст в буфер на мгновение — с пометкой, чтобы он не попал в журнал буфера обмена Windows, — и затем восстанавливает ваш. Скопированное как личное, например пароль из менеджера паролей, обратно не возвращается: буфер остаётся пустым, и пароль при надобности нужно скопировать снова.
- Клавиатура — через перехватчик клавиатуры, который включён, только пока открыта панель цены и, если у быстрого действия есть клавиша, пока игра на переднем плане. В это время программа замечает, когда каждая клавиша нажата и отпущена, — чтобы удержанная клавиша быстрого действия отправляла его один раз, — а пока открыта панель, забирает Esc: он закрывает панель и до игры не доходит. Ничего из этого не сохраняется и не отправляется. В остальное время перехватчик выключен: программа узнаёт только о своих горячих клавишах, а для оверлея опыта — что клавиша была нажата (см. «Экран» ниже).
- Кнопка мыши и указатель — только пока открыта панель цены и включено «Закрывать кликом вне панели» (раздел «Проверка цены» настроек; по умолчанию выключено). До ста раз в секунду программа спрашивает у Windows, нажата ли основная кнопка мыши, а в момент нажатия — где указатель, чтобы закрыть панель, если щелчок пришёлся на игру вне неё. Это не перехватчик: щелчок не перехватывается и доходит до игры как обычно. Ничего из этого не сохраняется и не отправляется.
- Файл настроек игры
Документы\My Games\Path of Exile 2\poe2_production_Config.ini: режим экрана, язык клиента (ему следует язык интерфейса в режиме «Авто») и клавиша подробного описания предметов. Только чтение. - Язык Windows — только чтобы выбрать язык интерфейса в режиме «Авто», пока игра ни разу не запускалась.
- Журнал игры —
Client.txtв папкеlogsигры: повышения уровня, смена локаций и выход к выбору персонажа для оверлея опыта. Только чтение. В первый раз программа ещё читает назад до 64 МБ конца журнала — последнее повышение уровня каждого персонажа, — чтобы записать уровни ваших персонажей для оверлея. - Экран — для оверлея опыта: полоска пикселей, где находится полоса опыта, и несколько строк по верху планок панелей флаконов и умений, на которых стоят плашки. Пока игра на переднем плане и ещё две секунды после того, как вы переключились на другое окно, планки просматриваются двадцать раз в секунду, пока вы двигаете мышь или нажимаете клавиши, — чтобы плашка уходила, как только планку закрывает подсказка, — а когда вы не трогаете ни мышь, ни клавиатуру, всё реже, вплоть до раза в две секунды; полоса опыта — не чаще двух раз в секунду. Для этого программа замечает, когда вы пользуетесь мышью или клавиатурой, но не какие клавиши и не куда. Пока игра за другим окном — планки раз в две секунды, а полоса раз в десять или через две секунды после взгляда, который заметил в ней перемену или не смог её прочесть; а пока игра свёрнута, экран не читается вовсе. Ничего из этого не отправляется, и ни один пиксель не сохраняется; хранится только то, где стояла полоса, — для каждого из ваших персонажей (см. Что программа хранит на компьютере).
Что программа печатает в игру
Только когда вы нажимаете её горячую клавишу: игровое сочетание копирования предмета при проверке цены или текст быстрого действия.
Что программа хранит на компьютере
| Что | Где |
|---|---|
| Настройки, вместе с пометками путевых камней и быстрыми действиями | %APPDATA%\poe2-oracle\config\settings.json |
| Логи текущего и предыдущего запуска | %LOCALAPPDATA%\poe2-oracle\data\logs |
| Тексты предметов, прочитанных не полностью, — последние 100 | %LOCALAPPDATA%\poe2-oracle\data\unparsed |
| Каталоги сайта торговли, цены биржи и poe2scout, скачанные обновления | %LOCALAPPDATA%\poe2-oracle\cache |
| После вылета — то, что сообщил PoE2 Oracle, пока вы не отправите это сообщение или не закроете его окно | %LOCALAPPDATA%\poe2-oracle\data\crash\last-crash.txt |
| После обновления — какое оно было (с какой версии на какую), пока следующий запуск об этом не скажет | %LOCALAPPDATA%\poe2-oracle\data\last-update.json |
| Версия последнего запуска, о котором сервису сообщено, — чтобы следующий запуск мог сказать, первый ли он или обновление и с какой версии | %LOCALAPPDATA%\poe2-oracle\data\last-run-version |
| В сборке, которую разработчик делает для проверки, — пустая отметка: сервис считает такой запуск запуском разработчика и больше ничем | %LOCALAPPDATA%\poe2-oracle\data\dev |
| Установленный пакет данных игры и последний повреждённый, отложенный в сторону | %LOCALAPPDATA%\poe2-oracle\data\game-data |
| Для оверлея опыта: имена ваших 20 последних персонажей, их уровни и то, где стояла их полоса опыта; с компьютера это никуда не уходит | %LOCALAPPDATA%\poe2-oracle\data\xp-levels.json |
| Сессия pathofexile.com, пока вы вошли | Диспетчер учётных данных Windows: PoE2 Oracle/pathofexile.com |
| Браузер окна входа, пока окно открыто | %LOCALAPPDATA%\poe2-oracle\data\login-browser |
| Запись автозапуска, если он включён | Реестр: HKCU\Software\Microsoft\Windows\CurrentVersion\Run, параметр PoE2 Oracle |
В логах записано, что делала программа, например название и база каждого проверенного предмета и сколько лотов нашлось; полный текст предмета они не хранят.
Отчёт для разработчика создаётся, только когда вы
сами этого просите. «Собрать отчёт» в настройках и «Что внутри» в окне сообщения разработчику
сохраняют его на рабочий стол — открыть его и отправить куда решите вы сами. Сообщение,
отправленное с включённым «Приложить диагностику», уносит его разработчику (см.
Сообщения разработчику). В нём и в записи о вылете пути к папке
пользователя и к папкам «Рабочий стол», «Документы» и AppData, где бы Windows их ни держала,
заменены на %USERPROFILE%, %DESKTOP%, %DOCUMENTS%, %APPDATA% и %LOCALAPPDATA%, а имя
пользователя Windows, если в нём от трёх символов, — на %USERNAME% везде, где оно ещё встречается
отдельным словом.
Удаление программы всегда стирает сохранённую сессию и запись автозапуска, а с отмеченным пунктом «Настройки и кэш» — всё, что в таблице выше; архивы на рабочем столе остаются, пока вы их не удалите. См. Обновления и удаление.