Окрема сторінка блогу

 

Blog By Merelyigor

Seeker на macOS: навчальний приклад перевірки дозволів геолокації

Важливо: ця стаття є навчальним прикладом для власного пристрою, лабораторного стенда або демонстрації з явною згодою учасника.
Не використовуйте Seeker для відстеження людей без дозволу.

Що таке Seeker

Seeker — це open-source інструмент, який демонструє, як вебсторінка може запросити дозвіл на доступ до геолокації пристрою.
Якщо користувач самостійно дозволяє доступ до Location Permission у браузері, сторінка може отримати координати, точність, висоту, напрямок і швидкість, якщо ці дані доступні на пристрої.

Це не “магічний злом GPS”, а приклад соціальної інженерії та неправильного ставлення користувачів до дозволів браузера.
Саме тому цей інструмент корисний для навчання: він показує, чому не можна бездумно натискати Allow / Дозволити на будь-якій сторінці.

Коли це можна використовувати

Коли це не можна використовувати

Офіційний репозиторій

Проєкт доступний на GitHub:
https://github.com/thewhiteh4t/seeker

Станом на 2026 рік GitHub Releases у репозиторії відсутні, тому краще орієнтуватися на актуальний README у репозиторії.

Встановлення на macOS

Нижче — приклад встановлення для лабораторного використання на macOS.

1. Встановити Homebrew

Якщо Homebrew ще не встановлений, встановіть його з офіційного сайту:
https://brew.sh/

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

На Apple Silicon Homebrew зазвичай встановлюється в /opt/homebrew, на Intel Mac — в /usr/local.

2. Встановити залежності

Для Seeker потрібні Python 3, PHP і Git.

brew install git python php

Перевірка:

python3 --version
php --version
git --version

3. Завантажити Seeker з GitHub

git clone https://github.com/thewhiteh4t/seeker.git
cd seeker

4. Встановити Python-залежності

У старій версії інструкції встановлювався тільки requests.
У 2026 році правильніше перевірити наявність requirements.txt у репозиторії і встановлювати залежності з нього.

python3 -m pip install --upgrade pip

if [ -f requirements.txt ]; then
    python3 -m pip install -r requirements.txt
else
    python3 -m pip install requests
fi

Якщо macOS або Homebrew блокує глобальне встановлення Python-пакетів, краще створити virtualenv:

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip

if [ -f requirements.txt ]; then
    python3 -m pip install -r requirements.txt
else
    python3 -m pip install requests
fi

Варіант із Docker

Якщо у вас встановлений Docker, можна використати Docker-образ:

docker pull thewhiteh4t/seeker

Далі дивіться актуальну команду запуску в README проєкту, тому що параметри контейнера можуть змінюватися.

ngrok для локального тунелю

Для лабораторної демонстрації з телефону або іншого пристрою можна використати ngrok, щоб тимчасово відкрити локальний порт у публічний HTTPS URL.

1. Встановити ngrok

У 2026 році актуальна команда Homebrew:

brew install --cask ngrok

2. Зареєструватися в ngrok

Потрібно створити акаунт:
https://dashboard.ngrok.com/login

3. Підключити authtoken

ngrok config add-authtoken <ваш_токен>

У старих інструкціях використовувалась команда ngrok authtoken.
Зараз краще використовувати ngrok config add-authtoken, як у новій CLI-документації ngrok.


Налаштування ngrok на macOS

4. Запустити tunnel на порт 8080

ngrok http 8080


Запуск ngrok http 8080

Запуск Seeker у лабораторному режимі

Перейдіть у папку з проєктом:

cd seeker

Приклад запуску:

python3 seeker.py -t manual -k testkml

Далі в рамках лабораторної демонстрації можна вибрати тестовий шаблон або використати власний шаблон у папці:

seeker/template

Важливо: посилання з ngrok можна відкривати тільки на власному пристрої або передавати учаснику, який прямо погодився на демонстрацію і розуміє, що сторінка запитує доступ до геолокації.

Як виглядає безпечний сценарій демонстрації

  1. Пояснити учаснику, що це тест Location Permission.
  2. Показати, що браузер просить дозвіл на геолокацію.
  3. Пояснити різницю між Allow і Block.
  4. Показати, які дані може віддати браузер після дозволу.
  5. Після демонстрації видалити всі зібрані дані.

Що саме демонструє Seeker

Як захиститися від подібних атак

Як відкликати дозвіл на геолокацію

Chrome / Chromium

Safari на macOS

iPhone

Android

Типові проблеми при встановленні

Висновок

Seeker корисний як навчальний приклад того, наскільки небезпечним може бути бездумне надання дозволу на геолокацію у браузері.

У 2026 році для macOS актуальніше встановлювати залежності через Homebrew, використовувати python3 -m pip,
а ngrok встановлювати через brew install --cask ngrok.

Головне — використовувати цей інструмент тільки етично: власний пристрій, тестовий стенд або учасник, який прямо погодився на демонстрацію.

Корисні посилання