PC Remote

Безопасное удаленное управление ПК, привязка устройств по QR и Wake-on-LAN.

WPF
Android
TLS 1.2/1.3
Ключи устройств
Доверенные устройства
WoL

Кратко о проекте

PC Remote разделяет интерфейс, службу и мобильный клиент. Новые телефоны можно добавить только через короткое окно привязки, а после успешного сканирования каждый телефон получает собственный ключ доступа.

OKДоступ можно отозвать из приложения: удалите одно устройство из списка или сбросьте все привязки с перевыпуском ключей.

Как это работает сейчас

Показать QR→ Короткая привязка→ Доверенный телефон→ Защищённые команды

QR нужен только для запуска pairing-сеанса. После привязки команды идут по TLS с проверкой сертификата, а сервер принимает их только от уже доверенных устройств.

Безопасная привязка

Только пока открыт QR

Новый телефон можно зарегистрировать только пока на ПК открыто окно с QR-кодом. После закрытия окна новые устройства больше не добавляются.

Без постоянного общего ключа

QR больше не раскрывает постоянный боевой секрет. После подтверждения телефон получает собственный ключ устройства, а не общий доступ для всех телефонов сразу.

Управление доступом

Доверенные устройства

В Windows-приложении видны имя телефона, дата первой привязки и последний доступ. Ненужное устройство можно удалить без ручного редактирования файлов.

Сброс всех привязок

Если телефон потерян, QR попал не туда или нужен полный отзыв доступа, используйте сброс привязок. Он удаляет все устройства и генерирует новые ключи.

Что это значит для обычного пользователя

Телефон→ TLS + проверка сертификата→ Служба Windows→ Команда
ЗащитаЛокальные секреты хранятся защищённо на Windows и Android, а привязка и обычное управление разделены: сначала вы явно разрешаете новое устройство, потом оно работает как доверенное.

Инструкция

1

Подготовьте ПК

  • Включите Wake-on-LAN в BIOS или UEFI. Обычно это Wake on LAN, Power On by PCI-E и отключение ErP, если оно мешает.
  • В Windows откройте свойства сетевого адаптера и разрешите пробуждение только magic packet.
  • Если нужен стабильный адрес в сети, закрепите за ПК постоянный локальный IP через DHCP Reservation.
2

Привяжите телефон

  • Убедитесь, что телефон и ПК находятся в одной сети.
  • На ПК откройте раздел «Безопасность», нажмите «Показать QR» и сразу отсканируйте его в приложении.
  • Привязка работает только пока открыто окно QR. Закрыли окно — новые устройства уже не добавятся.
3

Проверьте доступ

  • Включите в телефоне режим локальной сети, если хотите работать по локальному IP.
  • Убедитесь, что телефон появился в списке доверенных устройств и у него обновляется последний доступ.
  • Если устройство больше не нужно, удалите его из списка. Если нужен полный отзыв доступа, используйте сброс всех привязок.
1

Подготовьте внешний доступ

  • Проверьте, что у провайдера есть белый внешний IP. Сверьте адрес через 2ip.ru и WAN IP в настройках роутера.
  • Если провайдер использует CGNAT, прямой внешний доступ без VPN или туннеля не заработает.
  • Wake-on-LAN на ПК должен быть включён так же, как и для локального режима.
2

Настройте роутер

  • Закрепите за ПК постоянный локальный IP, чтобы правила роутера не сломались после перезагрузки.
  • В локальной сети приложение отправляет Wake-on-LAN на стандартные UDP-порты 7 и 9.
  • Сервис PC Remote на Windows слушает внутренний TCP-порт 5055.
  • Для команд PC Remote можно пробросить внешний TCP-порт 5055 на тот же локальный адрес, внутренний порт 5055.
  • Если у вас два ПК в одной локальной сети, используйте разные внешние TCP-порты. Например: внешний 60000 → внутренний 5055 для первого ПК, а другой внешний порт → внутренний 5055 для второго.
3

Сделайте внешний доступ безопаснее

  • Самый безопасный вариант — использовать VPN, например WireGuard или Tailscale, и не открывать порт в интернет напрямую.
  • Если используете прямой проброс, настройте DDNS для удобного адреса и не делитесь QR-кодом или его скриншотами.
  • Для внешнего Wake-on-LAN обычно используйте внешний UDP-порт 40000. На роутере его можно направить на внутренний UDP-порт 7 или 9 этого ПК.
  • В Android-приложении в параметрах ПК укажите именно внешний порт PC Remote, если он отличается от 5055. Например, при правиле 60000 → 5055 на телефоне должен стоять порт 60000.
  • Если внешний IP меняется, обновляйте адрес в приложении или используйте DDNS вместо IP.
4

Привязка и восстановление доступа

  • Открывайте QR только в момент, когда действительно добавляете новый телефон.
  • После привязки проверьте список доверенных устройств и последний доступ в разделе «Безопасность».
  • Если телефон потерян или есть подозрение на утечку, удалите конкретное устройство или выполните сброс всех привязок.
⚠️ Если что-то не работает
  • Новый телефон не привязывается: проверьте, что окно QR всё ещё открыто.
  • ПК не включается: WoL не включён в BIOS или в настройках сетевого адаптера.
  • Нет внешнего доступа: не настроен проброс UDP или TCP портов, указан не тот внешний порт в телефоне, либо провайдер выдаёт серый IP.
  • Телефон был сброшен или удалён из доверенных устройств: привяжите его заново по QR.
💡 Рекомендации
  • По возможности используйте Ethernet: WoL по Wi-Fi работает нестабильно.
  • Не держите QR открытым дольше, чем нужно для привязки нового телефона.
  • Если сомневаетесь в безопасности доступа, используйте сброс всех привязок и перепривяжите свои устройства заново.