Как создать собственный GPS-трекер с помощью Ulogger в Linux

Фотография человека, смотрящего на цифровую карту во время похода.

Ulogger — это легкий сервер GPS-трекинга для Linux с выделенным мобильным приложением. В этой статье показано, как установить Ulogger на сервер Ubuntu 24.04 и связать его с телефоном Android.

Содержание

  • Зачем отслеживать данные GPS с помощью Ulogger?
  • Получение зависимостей для Ulogger
  • Сборка и установка Ulogger
  • Настройка SSL-обратного прокси с использованием Nginx
  • Запуск Ulogger в первый раз

Зачем отслеживать данные GPS с помощью Ulogger?

Одним из основных преимуществ GPS-трекера Ulogger является то, что вы можете разместить его непосредственно на своей системе Linux. Это позволяет вам фиксировать свои геолокационные треки без риска, что недобросовестные лица будут “шпионить” за вашими данными.

Скриншот стандартного интерфейса ulogger.

Еще одно преимущество Ulogger заключается в том, что он может импортировать и экспортировать стандартные форматы геолокационных файлов, такие как KML и GPX. Это незаменимая функция, если вы используете существующее решение GPS и хотите перенести свои данные в Ulogger.

Наконец, Ulogger является бесплатным и открытым программным обеспечением. Это означает, что любой может получить доступ к исходному коду программы, что упрощает обнаружение и исправление уязвимостей. В результате Ulogger может быть более устойчивым вариантом, если вы ищете долгосрочный сервер для записи GPS для Linux.

К вашему сведению: узнайте, как работает GPS-технология простыми словами.

Получение зависимостей для Ulogger

Предположение: В этой статье предполагается, что вы устанавливаете Ulogger на VPS с Ubuntu 24.04 с 2 ГБ ОЗУ и что вы в настоящее время владеете доменным именем.

Первым шагом в установке Ulogger является получение зависимостей для Docker. Для этого импортируйте ключ подписи для репозитория проекта Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Создайте новый файл репозитория для проекта Docker, используя ваш любимый текстовый редактор:

sudonano/etc/apt/sources.list.d/docker.list

Вставьте следующую строку кода в ваш новый файл репозитория:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable

Обновите список репозитория вашей машины и обновите каждый текущий пакет в системе:

sudo apt update &&sudo apt upgrade

Убедитесь, что пакет “core” Snap работает на вашем сервере:

sudo snap install core

Установите пакет Certbot от Фонда электронного фронта:

sudo snap install certbot --classic

Установите Docker, Docker Compose и зависимости для развертывания Ulogger:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx unzipgit

Сборка и установка Ulogger

Создайте новую папку в вашем домашнем каталоге, затем войдите в неё:

mkdir ~/ulogger &&cd ~/ulogger

Скачайте последнюю версию Ulogger из репозитория разработчика на Github:

git clone https://github.com/bfabiszewski/ulogger-server.git  
cd ./ulogger-server

Переключитесь на последнюю стабильную ветку программы:

git checkout-b v1.2 tags/v1.2

Откройте файл Ulogger Dockerfile с помощью вашего любимого текстового редактора:

nano ./Dockerfile

Найдите строки, содержащие “DB_ROOT_PASS” и “DB_USER_PASS”, затем замените их значения на две случайные строки текста.

Терминал, выделяющий два случайных пароля для базы данных сервера ulogger.

Примечание: вы можете сгенерировать свой собственный случайный текст, выполнив следующую команду: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1.

Сохраните ваш Dockerfile, затем создайте файл “docker-compose.yml” с помощью вашего любимого текстового редактора:

nano ./docker-compose.yml

Вставьте следующий блок кода в ваш файл компоновки:

services:  
  ulogger:  
    container_name: ulogger-instance  
    build:  
      context: .  
      dockerfile: Dockerfile  
    ports:  
      - 8080:80

Сохраните файл docker-compose.yml, затем выполните следующую команду, чтобы запустить ваш контейнер Ulogger Docker:

sudodocker compose up -d

Проверьте, правильно ли работает Ulogger, перечислив запущенные контейнеры в системе:

sudodockerps

Терминал, выделяющий работающий контейнер Docker ulogger-server.

Настройка SSL-обратного прокси с использованием Nginx

На данный момент у вас работает сервер Ulogger на порту 8080. Однако, чтобы получить к нему доступ, вам нужно создать безопасный прокси для входящих подключений с использованием Nginx.

Начните с создания новой записи “A” на вашем домене, указывающей на IP-адрес вашего компьютера с Ulogger.

Вернитесь на ваш сервер, затем создайте файл конфигурации сайта для вашего экземпляра Ulogger:

sudonano/etc/nginx/sites-available/ulogger

Вставьте следующий блок кода в ваш новый файл конфигурации:

server{  
  
server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;  
  
location / {  
proxy_passhttp://127.0.0.1:8080;  
proxy_http_version 1.1;  
proxy_redirect off;  
proxy_set_header Upgrade $http_upgrade;  
proxy_set_header Connection "upgrade";  
proxy_set_header X-Forwarded-Proto https;  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
proxy_set_header Host $host;  
}  
}

Замените значение переменной “server_name” на ваше доменное имя.

Терминал, выделяющий переменную server_name в конфигурационном файле сайта Nginx для ulogger.

Сохраните файл конфигурации сайта Nginx, затем создайте символическую ссылку на него в директории “sites-enabled” Nginx:

sudoln-s/etc/nginx/sites-available/ulogger /etc/nginx/sites-enabled/

Включите и запустите службу Nginx на вашем компьютере:

sudo systemctl enable--now nginx.service

Зарегистрируйте ваш сервер Ubuntu в EFF:

sudo certbot register --agree-tos-m [email protected]

Введите “y”, а затем нажмите Enter.

Терминал, выделяющий приглашение для регистрации в новостной рассылке Certbot.

Получите новый SSL-сертификат для вашего доменного имени Ulogger от EFF:

sudo certbot --nginx-d SUBDOMAIN.YOUR-ROOT.DOMAIN

Полезно знать: узнайте, как вы можете защитить свою онлайн-идентичность, создав сервер email-алиасов с помощью SimpleLogin.

Запуск Ulogger в первый раз

Проверьте, работает ли ваш экземпляр Ulogger правильно, перейдя на ваш поддомен с помощью веб-браузера.

Скриншот, показывающий экран входа в ulogger.

Введите “admin” в оба поля Имя пользователя и Пароль, затем нажмите Enter для входа.

Нажмите на имя своей учетной записи в правом верхнем углу страницы, затем выберите Изменить пароль.

Скриншот, показывающий местоположение запроса

Введите “admin” в поле Старый пароль, затем введите новый пароль для вашего экземпляра.

Скриншот, показывающий окно запроса пароля сервера ulogger.

Нажмите Отправить, чтобы сохранить свои изменения, затем протестируйте это, выйдя из Ulogger и войдя обратно.

Полезно знать: узнайте, как оптимизировать подготовку к отпуску, ознакомившись с некоторыми из лучших инструментов для путешествий для Linux.

Связывание вашего сервера Ulogger с Android

Чтобы активно фиксировать свои GPS-треки, вам нужно сначала получить выделенное мобильное приложение Ulogger. В данный момент вы можете получить эту программу только из магазина F-Droid.

Скриншот, показывающий клиент ulogger GPS для Android.

Откройте приложение Ulogger для Android, затем нажмите иконку шестерёнки в правом верхнем углу приложения.

Скриншот, выделяющий иконку шестерёнки в мобильном приложении ulogger.

Нажмите на опцию Поставщик местоположения, затем выберите Сеть и GPS из меню радиокнопок.

Скриншот, выделяющий опцию

Выберите опцию Имя пользователя, затем введите “admin” в текстовом поле.

Нажмите на опцию Пароль, затем введите пароль, который вы установили для своей учетной записи администратора.

Выберите опцию URL сервера, затем укажите весь базовый URL для вашего сервера Ulogger. В моем случае это “https://gps.myvpsserver.top.”

Скриншот, показывающий детали учетной записи и сервера заднего плана ulogger.

Переключите переключатель Живую синхронизацию выше категории деталей сервера. Это позволит вашему Android телефону автоматически отправлять GPS-данные на ваш сервер Ulogger.

Вернитесь на главный экран приложения, затем нажмите кнопку Новый трек.

Скриншот, выделяющий опцию

Переключите переключатель Отслеживание, чтобы начать фиксировать свои GPS-данные на сервере Ulogger.

Скриншот, выделяющий переключатель

Подтвердите, что Ulogger правильно отслеживает ваши GPS-данные, зайдя в вашу административную учетную запись.

Размещение вашего сервера и клиента GPS-трекинга с помощью Ulogger — это лишь один из способов отслеживания ваших геолокационных записей сегодня. Узнайте, как вы можете отслеживать свое местоположение даже без подключения к интернету, ознакомившись с некоторыми из лучших офлайн GPS-приложений для Android.