К содержимому
Remotek
Remotek
Войти
RU EN

Remotek

Удалённое управление компьютером с телефона или другого ПК: экран и ввод, терминал, файлы, питание и датчики.

Клиент и агент в одном установщике

  • Windows 10/11
  • Android 8.0+
  • iOS — позже

Возможности

  1. Рабочий стол передаётся потоком кадров. Касание — клик, удержание — правая кнопка, два пальца — прокрутка. С другого ПК мышь и клавиатура уходят на удалённую машину целиком.

  2. PowerShell или cmd, при необходимости с правами администратора. Сессия живёт на компьютере и переживает сворачивание приложения.

  3. Обзор дисков, скачивание и загрузка, переименование и удаление. Текст и изображения открываются в приложении.

  4. Выключение, перезагрузка, сон, гибернация и блокировка, сразу или с отсрочкой, которую можно отменить. Спящий компьютер поднимается Wake-on-LAN.

  5. Процессор, видеокарта, память, диски и сеть с обновлением раз в секунду. Пороговое правило отправляет уведомление на телефон.

  6. Список процессов с иконками и поиском, завершение задач, переключение окон, запуск установленных программ.

Демо приложения

Приложение для Windows Приложение для Android

Окно настольного клиента на демо-данных: разделы переключаются так же, как в приложении. Приложение для телефона на демо-данных: список компьютеров, панель ПК и её инструменты открываются так же, как в приложении.

Remotek демо-данные
ABDUL-PCв сети· 18 msdirect 3 ms
ABDUL-PC в сети· 18 мсdirect 3 мс

Процессор

23%загрузка
4.71 ГГцчастота54°температура

загрузкачастота

Память

18.4ГБ

из 31.9 ГБ

58%загрузка47°температура

Подкачка · 2.1 ГБ / 8.0 ГБ

GPU 0NVIDIA GeForce RTX 4070

41%
61°температура142 Втпотребление38%вентилятор

VRAM5.2 ГБ / 12.0 ГБ

2.35 ГГцчастота

10.50 ГГцпамять

СетьEthernet

48.3 Мбит/сприём3.1 Мбит/сотдача

Диски

C:\412 ГБ / 931 ГБ

41°

D:\1.62 ТБ / 1.82 ТБ

38°

Система

аптайм3 д 4 ч 12 мин

в системеabdul

Установка

Установите Remotek на компьютер

В установщике клиент и агент. Выберите «Подключаться к этому ПК» и включите автозапуск: Windows один раз запросит права администратора.

Войдите в аккаунт на телефоне

Почта и код из письма или вход через Google. Адрес сервера уже указан.

Компьютер появится в списке

Проброс портов не нужен: и агент, и приложение сами соединяются с сервером.

Безопасность

Входящих соединений нет

Агент сам открывает исходящее соединение к серверу. В локальной сети приложение подключается к ПК напрямую и сверяет отпечаток SHA-256 его сертификата.

TLS на всём пути

Телефон — сервер и ПК — сервер. Незашифрованный транспорт включается только явным флагом --insecure для отладки в локальной сети.

Токены вместо пароля

Access-токен на подписи Ed25519 живёт 15 минут, refresh — 90 дней и меняется при каждом обновлении. Предъявленный дважды refresh отзывает всю семью.

В базе нет открытых секретов

Пароли — argon2id, токены, коды привязки и коды из писем — SHA-256.

Границы аккаунта

ПК, устройства и коды принадлежат аккаунту. Чужой идентификатор получает тот же ответ, что и несуществующий.

Ограничения частоты

120 запросов за 10 секунд на устройство, опасные команды — 5 в минуту, ввод в терминал и живой экран — 600 за 10 секунд.

Журнал и отзыв устройств

Каждая команда — строка журнала с устройством, аргументами и результатом. Устройство отзывается одной кнопкой; IP-адреса входов и посещений хранятся 30 дней и видны только оператору сервера.

Сквозного шифрования нет

Кадры и файлы идут через сервер и видны ему в момент передачи.

Второго фактора нет

Код из письма подтверждает новую установку, а не каждый вход.

Защищённый рабочий стол недоступен

Пока сеанс заблокирован или открыт запрос UAC, удалённый ввод не принимается. Датчики, терминал и файлы работают.

Свой сервер

Хаб — один процесс и файл SQLite. Готового образа нет: хаб ставится из рабочей копии репозитория. Выберите, где он будет работать.

VPS · Docker

Ubuntu 22.04 или 24.04 с белым IP, запись A домена указывает на сервер, открыты порты 80 и 443.

  1. Перенесите код на сервер и запустите установку:

    На своей машине, в корне репозитория
    git archive --format=tar HEAD | gzip -9 > /tmp/remotek-src.tar.gz
    scp -P 22 /tmp/remotek-src.tar.gz [email protected]:/tmp/
    ssh -p 22 [email protected] 'mkdir -p /opt/remotek/app \
      && tar xzf /tmp/remotek-src.tar.gz -C /opt/remotek/app \
      && bash /opt/remotek/app/deploy/bootstrap-server.sh hub.example.com [email protected] 22'
    Подробнее

    Скрипт ставит Docker, брандмауэр, хаб и Caddy — тот сам получает сертификат для hub.example.com.

  2. Создайте аккаунт в приложении: «Другой сервер» → https://hub.example.com. Код подтверждения — в журнале:

    На сервере
    docker logs remotek-hub-1 2>&1 | grep "verification code"
    Подробнее

    Код приходит на почту, когда у хаба есть ключ Resend (REMOTEK_RESEND_API_KEY) и адрес отправителя (REMOTEK_MAIL_FROM). Без них код пишется в журнал.

  3. На ПК войдите в этот аккаунт в Remotek для Windows с ролью «Подключаться к этому ПК». Затем закройте регистрацию: /admin → «Сопряжение».

Raspberry Pi 5

Pi 5 с 64-битной Raspberry Pi OS, кабелем к роутеру, с постоянным адресом в DHCP.

  1. Склонируйте репозиторий в ~/remotek и из этой папки поставьте хаб сервисом:

    На Pi
    sudo deploy/pi/install.sh --public-url http://192.168.50.2:8080
    Подробнее

    Скрипт сам скачает Python 3.12 и заведёт сервис remotek-hub. В --public-url — постоянный адрес Pi.

  2. Создайте аккаунт в приложении: «Другой сервер» → http://192.168.50.2:8080, включите «Разрешить http://». Код подтверждения — в журнале:

    На Pi
    journalctl -u remotek-hub | grep "verification code"
    Подробнее

    Код приходит на почту, когда у хаба есть ключ Resend (REMOTEK_RESEND_API_KEY) и адрес отправителя (REMOTEK_MAIL_FROM). Без них код пишется в журнал.

  3. На ПК войдите в этот аккаунт в Remotek для Windows так же, с «Разрешить http://», ролью «Подключаться к этому ПК». Затем закройте регистрацию: /admin → «Сопряжение».

    Подробнее

    http:// — только дома или через VPN. Снаружи — Tailscale Serve, см. docs/.

Mac

Всегда включённый Mac, кабелем к роутеру. Хаб — без Docker: из сети Docker magic-пакет не выходит.

  1. Поставьте хаб по разделам 4 и 5 docs/deploy-macos.md и запустите службу:

    На Mac
    sudo launchctl bootstrap system /Library/LaunchDaemons/app.remotek.hub.plist
    Подробнее

    Код — в /Users/Shared/remotek, служба работает от аккаунта _remotek, адрес хаба — в plist, plist — в /Library/LaunchDaemons.

  2. Создайте аккаунт в приложении: «Другой сервер» → http://192.168.50.3:8080, включите «Разрешить http://». Код подтверждения — в журнале:

    На Mac
    sudo grep "verification code" /Users/Shared/remotek-data/logs/hub.err.log
    Подробнее

    Код приходит на почту, когда у хаба есть ключ Resend (REMOTEK_RESEND_API_KEY) и адрес отправителя (REMOTEK_MAIL_FROM). Без них код пишется в журнал.

  3. На ПК войдите в этот аккаунт в Remotek для Windows так же, с «Разрешить http://», ролью «Подключаться к этому ПК». Затем закройте регистрацию: /admin → «Сопряжение».

    Подробнее

    http:// — только дома или через VPN. Снаружи — Tailscale Serve, см. docs/.

Windows

ПК с Windows 10 или 11 (x64), который не засыпает, кабелем к роутеру. Нужны Git и uv и свободный порт 8080.

  1. Склонируйте репозиторий, соберите и установите хаб и запустите его:

    В PowerShell, в корне репозитория
    powershell -ExecutionPolicy Bypass -File hub\installer\windows\build.ps1 -SkipSetup
    powershell -ExecutionPolicy Bypass -File hub\installer\windows\install.ps1
    & "$env:LOCALAPPDATA\Remotek\hub\remotek-hub.exe" --tray
    Подробнее

    Установщик кладёт хаб в %LOCALAPPDATA%\Remotek\hub, ярлык — в «Пуск», и заводит задачу RemotekHub: хаб стартует при входе в систему, со значком в трее.

  2. Создайте аккаунт в приложении: «Другой сервер» → http://192.168.50.4:8080, включите «Разрешить http://». Код подтверждения — в журнале:

    В PowerShell
    Select-String "verification code" "$env:LOCALAPPDATA\Remotek\hub\data\hub.log"
    Подробнее

    Если Windows спросит, пускать ли remotek-hub.exe в сеть, разрешите частные сети. Письма с кодом — после ключа Resend (REMOTEK_RESEND_API_KEY).

  3. На ПК войдите в этот аккаунт в Remotek для Windows так же, с «Разрешить http://», ролью «Подключаться к этому ПК». Затем закройте регистрацию: /admin → «Сопряжение».

    Подробнее

    http:// — только дома или через VPN. Снаружи — Tailscale Serve, см. docs/.

Роутер

Роутер с Docker и Docker Compose, например OpenWrt: 64-битный процессор, от 1 ГБ памяти, USB-диск или SSD.

  1. Скопируйте репозиторий на диск роутера и создайте настройки:

    На роутере, в папке репозитория
    cp deploy/.env.pi.example deploy/.env.pi
    mkdir -p deploy/data
    Подробнее

    В deploy/.env.pi: PUBLIC_URL — адрес роутера, HUB_UID и HUB_GID — владелец deploy/data. Образ собирается под linux/arm64 и linux/amd64; во встроенной памяти ему не хватит места.

  2. Соберите и запустите хаб:

    На роутере, в папке репозитория
    docker compose -f deploy/docker-compose.pi.yml --env-file deploy/.env.pi up -d --build
    Подробнее

    Тот же compose-файл, что на Pi: контейнер в сети самого роутера, чтобы magic-пакет уходил в LAN, и перезапускается сам (restart: unless-stopped).

  3. Создайте аккаунт в приложении: «Другой сервер» → http://192.168.50.1:8080, включите «Разрешить http://». Код подтверждения — в журнале:

    На роутере, в папке репозитория
    docker compose -f deploy/docker-compose.pi.yml --env-file deploy/.env.pi logs hub | grep "verification code"
    Подробнее

    Код приходит на почту, когда у хаба есть ключ Resend (REMOTEK_RESEND_API_KEY) и адрес отправителя (REMOTEK_MAIL_FROM). Без них код пишется в журнал.

  4. На ПК войдите в этот аккаунт в Remotek для Windows так же, с «Разрешить http://», ролью «Подключаться к этому ПК». Затем закройте регистрацию: /admin → «Сопряжение».

    Подробнее

    http:// — только дома или через VPN. Снаружи — Tailscale Serve, см. docs/.

Если роутер не запускает контейнеры, поставьте хаб на Pi, Mac или ПК. От роутера тогда нужны постоянные адреса в DHCP для хаба и ПК, а хабу вне дома — пробуждение по SSH командой из /admin (для OpenWrt etherwake -D -i br-lan {mac}).

Wake-on-LAN на ПК

Чтобы Remotek будил спящий или выключенный ПК, один раз настройте сам ПК.

  1. UEFI/BIOS: включите «Wake on LAN», «Power On By PCI-E» или «Resume By PCI-E Device», выключите «ErP Ready» и «Deep Sleep».

  2. Сетевая карта: Диспетчер устройств → адаптер → «Управление электропитанием»: отметьте все три флажка. «Дополнительно»: Wake on Magic PacketEnabled.

    Подробнее

    «Разрешить отключение этого устройства для экономии энергии» не снимайте: без него флажки пробуждения становятся недоступны. Если ПК всё равно не просыпается — выключите Energy Efficient Ethernet. Проверка: команда ниже должна назвать адаптер.

    В PowerShell
    powercfg /devicequery wake_armed
  3. Быстрый запуск: выключите — с ним после «Завершения работы» сетевая карта обесточена. Панель управления → Электропитание → Действия кнопок питания, или:

    В PowerShell от администратора
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f
  4. Кабель: ПК подключён к роутеру проводом. По Wi-Fi magic-пакет почти никогда не будит.

  5. Кто будит: хаб в той же сети, второй ПК с Remotek дома или роутер по SSH, если у хаба есть VPN в домашнюю сеть. Выбирается в /admin; проброс портов не нужен.

Приложения по умолчанию подключаются к https://remotek.io. Адрес своего хаба вводится на экране входа: «Другой сервер».

Скачать

Windows 10 / 11

64-bit · .msi — клиент и агент в одном установщике, установка без прав администратора

Скачать .msi

Android 8.0 и новее

.apk — установка из файла, Android спросит разрешение

Скачать APK

iOS и macOS — позже.

Вопросы

Приложения нет в Google Play?

Пока нет: APK скачивается с этого сайта, а его SHA-256 напечатан рядом с кнопкой.

Защитник Windows ругается на установщик

Установщик пока не подписан сертификатом разработчика, поэтому SmartScreen сообщает о неизвестном издателе.

Можно ли разбудить компьютер из другого города?

Да, если в домашней сети есть кому отправить magic-пакет: второй ПК с Remotek, роутер по SSH или сервер в той же сети.

А если компьютер заблокирован?

Датчики, терминал, файлы и питание работают, а удалённый ввод Windows в заблокированный сеанс не пускает.

Кто видит мои компьютеры?

Владелец сервера видит метаданные и то, что передаётся в момент передачи; другие аккаунты не видят ничего.

Куда уходят письма с кодами?

С адреса [email protected] через Resend, а на своём сервере без ключа код печатается в журнал.

Вход

Войдите в аккаунт или создайте новый.