Wanjohi c0194ecef4 🔄 refactor(steam): Migrate to Steam OpenID authentication and official Web API (#282)
## Description
<!-- Briefly describe the purpose and scope of your changes -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added support for managing multiple Steam profiles per user, including
a new profiles page with avatar selection and profile management.
- Introduced a streamlined Steam authentication flow using a popup
window, replacing the previous QR code and team-based login.
- Added utilities for Steam image handling and metadata, including
avatar preloading and static Steam metadata mappings.
  - Enhanced OpenID verification for Steam login.
- Added new image-related events and expanded event handling for Steam
account updates and image processing.

- **Improvements**
- Refactored the account structure from teams to profiles, updating
related UI, context, and storage.
- Updated API headers and authentication logic to use Steam IDs instead
of team IDs.
- Expanded game metadata with new fields for categories, franchises, and
social links.
- Improved library and category schemas for richer game and profile
data.
- Simplified and improved Steam API client methods for fetching user
info, friends, and game libraries using Steam Web API.
- Updated queue processing to handle individual game updates and publish
image events.
- Adjusted permissions and queue configurations for better message
handling and dead-letter queue support.
  - Improved slug creation and rating estimation utilities.

- **Bug Fixes**
- Fixed avatar image loading to display higher quality images after
initial load.

- **Removals**
- Removed all team, member, and credential management functionality and
related database schemas.
  - Eliminated the QR code-based login and related UI components.
  - Deleted legacy team and member database tables and related code.
- Removed encryption utilities and deprecated secret keys in favor of
new secret management.

- **Chores**
- Updated dependencies and internal configuration for new features and
schema changes.
- Cleaned up unused code and updated database migrations for new data
structures.
- Adjusted import orders and removed unused imports across multiple
modules.
- Added new resource declarations and updated service link
configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-02 09:22:18 +03:00
2025-01-29 04:16:27 +03:00
2025-01-29 04:16:27 +03:00
2024-08-20 15:12:00 +03:00
2024-10-27 05:12:05 +03:00

   

Nestri is an open-source, self-hosted Geforce Now alternative with Stadia's social features. Built and shaped by our gaming community.

Share the Nestri Repository on Social Media

   

Note

Nestri is more closer (in feature comparison) to Jellyfin/Plex than Moonlight. Our goal is to develop a comprehensive self-hosted cloud gaming solution for your home server.

Features

  • Save and share your game progress easily with friends
  • Simultaneously run multiple games on your GPU using Virtio-GPU Venus and/or Virgl
  • Play games using either your integrated GPU or dedicated GPU
  • Enjoy titles from your preferred Game Stores - Steam, Epic Games, Amazon Games, GOG.com
  • Experience Android gaming
  • Organize gaming sessions with friends and family through Nestri Parties
  • Stream directly to YouTube and Twitch straight from your setup
  • Family sharing capabilities
  • Support for Controller, Touchscreen, Keyboard, and Mouse devices

Possible Use Cases

  • Organize game nights or LAN parties with friends online or locally
  • For game developers, showcase your proof-of-concept multiplayer games for testing without installation
  • Create and manage your custom cloud-gaming platform using our robust API
  • Establish a game server for your family to enjoy gaming on the go

Goals

  • Provide a user-friendly setup - fire and forget
  • Deliver a simple and elegant interface for managing and playing your game library
  • Ensure a high-quality gaming experience out-of-the-box
  • Optimize for the best gaming performance right from the start

Non-Goals

  • Become a generic cloud-gaming service

Built With

  • Cloudflare Workers
  • Cloudflare Pages
  • Supabase
  • CrosVM (with Virtio-GPU Venus and Virgl support)
  • Docker
  • Qwik
  • Media-Over-Quic
  • AWS Route53

Known Issues

  • CrosVM is still under development and needs to be merged
  • Currently, the Intel dGPU, particularly the Arc A780, is the only tested and verified GPU

Donation

If you appreciate our work and wish to support the development of Nestri, consider making a donation here. Your contributions will help us improve the platform and enhance your gaming experience. Thank you for your support!

Demo

Nestri is still in development, but here is some footage from Behind-The-Scenes

Nestri - What will you play next?
Description
[Experimental] Open-source GeForce NOW alternative with Stadia's social features
Readme 180 MiB
Languages
TypeScript 73%
Go 11.9%
Rust 9.5%
Shell 2%
CSS 1.4%
Other 2.1%