Об этом проекте

aws_cloud_gaming позволяет развернуть персональный игровой Linux-десктоп на GPU-инстансе AWS, транслировать его на любое устройство с помощью Sunshine и Moonlight через VPN Tailscale, а затем уничтожить инстанс по завершении — сохраняя ваши игры и сессию Steam в S3 для следующего раза. CLI-инструмент `cg` управляет полным жизненным циклом: - `cg check --fix` устанавливает отсутствующие зависимости на ноутбуке (AWS CLI, Tailscale, Moonlight, OpenSSH, curl, python3) через pacman, apt, dnf или zypper. - `cg init` создаёт пару SSH-ключей, S3-бакет для хранения игр, IAM-роль, оповещение о бюджете и облачный сторожевой таймер; затем собирает машину с драйвером NVIDIA, окружением рабочего стола, звуком, Sunshine, Steam и Tailscale. Также выполняет сопряжение Moonlight и восстанавливает выбранные архивные игры. - `cg open` запускает трансляцию и предлагает уничтожить машину при выходе, сохраняя игры и логин Steam обратно в S3. - `cg destroy` сохраняет игры в S3 и удаляет инстанс, чтобы остановить биллинг. - `cg status`, `cg cost`, `cg games` и `cg library list` сообщают состояние инстанса, расходы, активность Steam и архивные игры. Защита от расходов включает сторожевой таймер простоя, который выключает машину, когда вы прекращаете играть, оповещения о бюджете AWS и облачный сторожевой таймер с собственной IAM-ролью. Spot-инстансы используются по умолчанию для снижения стоимости. В README явно предупреждается, что это тратит реальные деньги на вашем аккаунте AWS и требует платного плана AWS с одобренной квотой на GPU. Опциональное десктопное GUI-приложение (Node.js) оборачивает те же команды `cg`, показывая состояние инстанса, расходы, содержимое архива, состояния защиты и пошаговое представление сборки. Оно не содержит собственной логики AWS — оно запускает `cg` и отображает вывод. Дополнительные возможности включают уведомления на телефон через ntfy при заданном `GAME_NTFY_URL`, автоматическую очистку старых записей Tailscale при настроенном `TAILSCALE_API_KEY` и поддержку нескольких устройств (телефон, ТВ) путём присоединения к одному и тому же tailnet. Протестировано на Ubuntu 24.04 с инстансом g6.xlarge в ap-south-2, трансляция на Linux-клиент на базе Arch.