Skip to content

AALagutin/DrovaKeeneticDesktop

 
 

Repository files navigation

Drova Desktop

И так, доброе время уток, мы здесь будем настраивать Drova Desktop для работы без наших аккаунтов.

Нам понадобятся:

  • ShadowDefender ( активированный и защищенный паролем)
  • Роутер, прошитый OpenWrt или Debian( чтобы ловить подключение и исполнять команды ) с python 3.11
  • Установленный openssh-server на Windows и добавленный в автозагрузку
  • Установленный PSTools от Windows для PsExec ( для работы с интерактивной сессией и запуска на ней нужных приложений )

Никакие сетевые настройки создавать ненадо - надо установить либо на свободную физическую linux машину или создать виртуалку, которая будет следить за состоянием. Управление windows идет по SSH - так что это обязательно к установке.

Подготовка Windows

Установка SSH на винду

Подключитесь к вашей Windows удобным вам способом, откройте powershell от имени администратора и исполните такие команды

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*' | Add-WindowsCapability -Online

Подождите пока установится ssh-server и теперь его надо добавить автозагрузку и запустить следующими командами:

Start-Service -Name "sshd"
Set-Service -Name "sshd" -StartupType Automatic

Установка ShadowDefender

Качаем с оффсайта последнюю версию: https://www.shadowdefender.com/ Сайт почти мертвый и не обновил сертификат, увы это нормально. Не стесняемся качаем. Чтобы установить, вам надо распаковать в начале Setup.exe ( правой кнопкой нажимаете и там через 7z можно распаковать в папку рядом) После того как получили папку с 3мя файлами:

Setup.exe
Setupx64.exe
Setupx86.exe

Так как все образы у нас уже 64 - распаковываем Setupx64.exe - и получаем много файлов и Setup.exe Переименовываете Setup.exe в zSetup.exe - и после этого установка будет успешной.

Как только установили и перезагрузили - надо зайти в ShadowDefender. Там перейти в Administration и установить пароль через Enable password control Опционально - убираем галочку Enable windows tip - тогда у вас не будет висеть надоедливая плашка что мы в shadow mode Выставляем галочку Need password when commiting или убираем ваще контекстное меню галкой выше Теперь у вас настроен SD - не забываем пароль - он нам понадобится, мы можем переходить к следующей главе.

Установка PsExec для работы с интерактивной сессией

Качаем PsTools с ссылки https://learn.microsoft.com/ru-ru/sysinternals/downloads/psexec - и распаковываем в C:\Windows\System32 - чтобы у нас было всегда доступен psexec. Все exe файлы должны лежать в System32 или на любом другом пути, который прописан в PATH env переменную. Но легче подложить в System32.

Подготовка проекта

Для того чтобы начать, склонируйте данный репозиторий на роутер или тачку ( протестировано на linux - но должно работать и на windows - но на windows вы сами создаете задачи для автозапуска).

Для debian вам надо установить python3 + pipx + git

apt insatll python3-full pipx git

Установите poetry

pipx install poetry

Скачайте проект в /opt/drova-desktop/

git clone https://github.com/sergius-dart/DrovaKeeneticDesktop.git /opt/drova-desktop/

Перейдите в папку проекта

cd /opt/drova-desktop/

Установите зависимости проекта

poetry install

После этого надо настроить env переменные. Выполните команду cp .env.example .env и редактируйте .env файл - там находятся настройки для скриптов, давайте их рассмотрим.

WINDOWS_HOST=192.168.0.10 # ip адрес вашей тачки, на которой вы хотите развернуть Desktop
WINDOWS_LOGIN=Administrator # ваш локальный администратор - который должен быть залогинен и под кем будет заходить клиент
WINDOWS_PASSWORD=VeryStrongPassword # пароль от этого пользователя

SHADOW_DEFENDER_PASSWORD="ReallyVeryStrongPassword" # пароль от ShadowDefender - не оставляйте его без пароля! А то вам закоммитят все что натворили! 
SHADOW_DEFENDER_DRIVES="CDE" # здесь перечислите слитно все диски, на которых должен сработать ShadowDefender - в данном случае 3 диска: C, D и E - подразумевается что других нет. Если диск 1 - только C - оставляете только E

После настройки теперь можно проверить, работает ли и верно ли указаны настройки. Залогинтесь по VNC в ваш windows, откройте со своими credentials steam и epic games - а так же желательно открыть ShadowDefender - чтобы увидеть что все ок.

Дальше выполняем команду на роутере:

poetry run drova_validate

либо так если вы не .env в NAME.env сделали

ENV_LOCATION=`pwd'/NAME.env poetry run drova_validate

Если написало Ok! - значит вы выставили .env верно и можно переходить к следующей части

Автозапуск

entware ( debian на keenetic ) - поддерживает только upstart - для этого есть скрипт init.d/drova_poll - мы его никуда перекладывать не будем - нам надо создать сервис, и вызывать его.

Entware(debian 13)

Если у вас не такой сетап - читайте и думайте, из коробки тогда не взлетит. Давайте создадим сервис drova_socket.i9_3080ti

Для этого мы создадим файл командой

touch /etc/init.d/drova_poll.i9_3080ti
chmod +x /etc/init.d/drova_poll.i9_3080ti

Дальше открываем его например в nano или удобном вам редакторе и вставляем такой контект:

#!/bin/bash

ENV_LOCATION=/opt/drova-desktop/NAME.env

. /opt/drova-desktop/init.d/drova_poll "$@"

ENV_LOCATION - здесь находится ваш файл конфигурации, вместо NAME можно использовать то что вам удобно, но это должен быть путь до ваших настроек. Если у вас 1 компьютер, то можете NAME не указывать и тогда просто прописать ENV_LOCATION=/opt/drova-desktop/.env - по дефолту. Или ваще ничего не указывать. Тоже будет работать.

Как только создали, проверье командой

/etc/init.d/drova_poll.i9_3080ti start

Ошибок быть не должно, если есть - надо возвращаться к настроке ENV_LOCATION или настройке .env - если вы использовали NAME

Чтобы протестировать конфигурацию можно выполнить команду в папке проекта

ENV_LOCATION=/opt/drova-desktop/NAME.env poetry run drova_validate

По классике вы должны увидеть Ok! если все ок.

Удачи!

Systemd (у вас виртуалки нормальная или физическая машина с нормальным дистрибутивом( написано для debian 12/13))

Для работы с systemd ( если вы не на роутере а на отдельной тачке или виртуалке, где полноценная debian с systemd )

Делаем ссылку на сервис

ln -s /opt/drova-desktop/systemd/[email protected] /etc/systemd/system/[email protected]

Перезагружаем демоны systemd

systemctl daemon-reload

Создаем .env файлы для ваших тачек формата NAME.env - где вместо NAME то что вы хотите, например имя тачки. Для примера - если тачка называется i9_3080ti - то вы должны создать файл с настройками i9_3080ti.env

Прописываем настройки как в прошлом пункте, и проверяем командой (i9_3080ti заменяете на ваше имя)

ENV_LOCATION=i9_3080ti.env poetry run drova_validate

Если все ок - вы должны увидеть Ok!

Теперь можно запустить сервис командой - где вместо NAME подставить ваше имя ( уже подставлено i9_3080ti )

systemctl start drova_poll@i9_3080ti

Если ошибок не произошло - можно поставить в автозапуск ( подставьте ваше имя вместо i9_3080ti )

systemctl enable drova_poll@i9_3080ti

Удачи!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.6%
  • Shell 6.4%