steamguard-cli is a robust Rust-based command-line utility designed for managing Steam Two-Factor Authentication (2FA). It serves as a secure alternative to the official Steam Mobile App, allowing users to generate 2FA codes, respond to trade and market confirmations, and manage their authentication secrets locally. The architecture follows a clear separation of concerns: a core library (`steamguard`) handles the complex protocol interactions with Steam's APIs (authentication, confirmations, token management), while the CLI binary (`steamguard-cli`) manages user input, TUI, and file system operations. The tool emphasizes security by encrypting sensitive data (maFiles) using Argon2id-AES256 and leveraging the system keyring for passkey storage. It also features sophisticated migration logic to import accounts from legacy tools like Steam Desktop Authenticator (SDA) and WinAuth, ensuring data portability.
Special K is a sophisticated Windows game enhancement and injection framework, primarily a C++ DLL injection payload that hooks graphics APIs (DirectX 8/9/11/12, Vulkan, OpenGL, DXGI), input devices, and storefront overlays (Steam, Epic Online Services, GOG Galaxy, Xbox). Its core functionality includes real-time framerate and latency monitoring via ETW trace analysis (PresentMon integration), HDR injection and tone mapping, screenshot capture, shader modification, and a fully customizable ImGui-based control panel for configuring performance overlays, input remapping, and compatibility workarounds for specific games. The project demonstrates high craftsmanship with a modular architecture featuring COM wrapper patterns, a custom hooking infrastructure built on MinHook, and reusable utilities such as a hardware-accelerated CRC32 implementation, a thread-safe lazy singleton, and an INI parser with COM-style interfaces. It bundles extensive third-party dependencies including Boost, GLM, LZMA, and various vendor SDKs. While the codebase is primarily a tool for end users, it also contains data-driven components like game-specific plugin modules and performance event tracing that could inform research into game rendering behavior. The repository is actively maintained with frequent commits, though its large dependency surface and reliance on low-level Windows APIs introduce moderate technical drift risk.
Bottles is a desktop application for running Windows software on Linux by managing Wine/Proton 'bottles' β isolated Windows prefix environments. In production it creates, imports, configures, and deletes bottles, installs and manages Wine runners (Wine, Proton, Soda) and graphics components (DXVK, VKD3D, NVAPI, D7VK), applies step-based dependency manifests (DLLs, runtimes, registry keys, fonts), and launches Windows executables with per-bottle environment composition (sync modes, HDR, Wayland, gamescope, FSR, mangohud, sandboxing via bwrap/flatpak-spawn). It also integrates with the UMU launcher for running Proton games outside Steam, discovers Steam/Epic/Origin libraries, and tracks playtime in a local SQLite database with crash recovery and aggregation. The dominant character is unambiguously a desktop application, though it embeds a small data layer (playtime SQLite, EagleIntel community-intelligence SQLite, YAML catalog caches) that serves the app rather than constituting a research pipeline. The architecture is a classic backend/frontend split: a singleton Manager orchestrates sub-managers (component, dependency, installer, library, versioning, sandbox, playtime, backup, Eagle), while a GTK4/Adwaita frontend (views, windows, widgets, Blueprint .blp templates) and a companion CLI (bottles-cli) consume it. Loose coupling is achieved through a SignalManager/EventManager pub-sub bus, RunAsync threading helpers, and a standard Result return type. Catalogs for components, dependencies, and installers are fetched as YAML from remote repositories with local caching, offline fallback, and checksum validation; user settings live in GSettings; bottle configs are YAML dataclasses; versioning snapshots are delegated to an external FVS2 tool. A distinctive Eagle subsystem performs static analysis of Windows executables (pefile parsing, YARA rules, installer/ASAR extraction) and consults a bundled community-sourced SQLite database (ProtonDB/winetricks-derived) to recommend compatibility environment variables, DLL overrides, and launch flags. A Microsoft identity bridge implements the Soda OAuth 2.0/PKCE protocol over Unix sockets, with libsecret/cpak secret storage, enabling Microsoft account sign-in inside Wine. Engineering quality is strong: a large pytest suite covers backend managers, Wine wrappers, UMU, playtime integration, and frontend dialogs; the project uses ruff/mypy/pyright via pre-commit; CI builds Flatpak and cpak multi-arch (amd64/arm64) images and runs tests; localization spans 60+ languages. The repository is actively maintained with very recent commits, structured issue templates, and a dependabot-enabled pipeline with zero alerts. Principal drift risks are moderate: a deprecated Gtk.FileChooserNative call (vs Gtk.FileDialog), dual download implementations (pycurl for repos vs requests for Downloader), a vendored ValvePython vdf/vdict copy, hardcoded repository URLs pinned to commit hashes, and version-specific Wine/Proton workarounds that will age. The frontend is tightly coupled to Flatpak runtime resources, limiting its portability, but several backend components are cleanly isolated and genuinely reusable.
This repository contains the ReviOS Playbook, a collection of configuration files and executable scripts designed for the AME Wizard tool to customize Windows 10 and 11 installations. Its primary function is to debloat the operating system by removing pre-installed bloatware (Microsoft Edge, OneDrive, Teams, UWP apps like Xbox, Photos, etc.), disabling telemetry, privacy-invasive features, and unnecessary services, and applying a set of registry tweaks for performance and privacy. The playbook also offers optional software installation (Brave or Firefox), wallpaper and theme configuration, and integration with the Revision Tool for further customization. The architecture is a declarative task pipeline defined in YAML files, orchestrated by AME Wizard, with supporting PowerShell and CMD scripts for specific actions like app removal, registry modifications, and service changes. It is not a standalone application but a payload for AME Wizard.
Jovian-NixOS is a NixOS overlay and module collection that enables running NixOS on the Steam Deck and similar handheld gaming devices. It provides hardware-specific kernel configurations, firmware update integration, Steam Deck UI (Gaming Mode) support, audio/display driver patches, and a suite of system services (power management, input handling, performance control) modeled after SteamOS. The repository is structured as a Nix flake with a clear separation of concerns: NixOS modules under `modules/` define configuration options for Steam Deck hardware, Steam client integration, and SteamOS-like system settings; a Nix overlay under `pkgs/` provides patched or vendored packages (gamescope, mesa, linux kernel, pipewire, etc.) that are not yet in upstream Nixpkgs or require Steam Deck-specific modifications. The codebase demonstrates strong NixOS engineering practices: modular design, extensive use of lib.mkIf/mkMerge for conditional configuration, hardcoded path patching via replaceVars, and resholve for shell script safety. The documentation system is a custom Ruby pipeline that generates a static site from markdown with options and package listings. While the repository is tightly coupled to NixOS and the Steam Deck domain, it is a well-maintained, production-quality example of how to extend NixOS for specialized hardware.
This is a TypeScript library (v3.1.5) that wraps the Steam Web API, providing a clean, fully typed interface to interact with Steam's official and some undocumented endpoints. It is distributed as an ES module on npm under the name 'steamapi'. The library is architected around a single main class (`SteamAPI`) instantiated with an API key, which exposes methods for resolving Steam IDs, fetching game details, user profiles, achievements, badges, friends, bans, servers, and more. All API responses are parsed into strongly typed structure classes (e.g., `GameDetails`, `UserSummary`, `NewsPost`). It includes built-in configurable in-memory caching for game details and user resolution to reduce repeated API calls, and supports custom caching via a simple interface. The code is well-structured with clear separation of concerns between API logic, data models, and utility functions, and uses modern TypeScript features like interfaces, generics, and accessors. While it is not architecturally groundbreaking, it is a solid, professional-grade SDK that effectively encapsulates a complex external API with consistent error handling, caching strategies, and comprehensive type definitions. There are no significant reusable components that could be cleanly extracted to a new project, as the value lies in the integration with Steam's API, but the caching implementation and structure patterns provide a good reference for similar API wrapper projects.
Bazzite is a custom Fedora Atomic (Silverblue/Kinoite) operating system image optimized for gaming on desktops, handheld PCs (Steam Deck, ROG Ally, etc.), and HTPCs. It provides a SteamOS-like experience with pre-installed gaming tools (MangoHud, vkBasalt, OBS VkCapture), hardware support (OGC kernel, HDR/VRR, DisplayLink, per-device audio profiles), and a suite of system management utilities. The repository is not a traditional application but a build system for generating container images and ISOs. The architecture is container-native: images are built via Containerfile and GitHub Actions, with modular overlays for different variants (desktop, deck, nvidia) and desktop environments (GNOME, KDE). Key components include a justfile recipe library for user-facing configuration (ujust), systemd services, udev rules, RPM spec files with patches for upstream packages (BlueZ, UPower, Xwayland, MangoHud), and hardware detection scripts. The build process is fully automated via CI/CD, with image signing and attestation. The project is actively maintained with a large community and extensive hardware support.
Steam Achievement Notifier (SAN) is a feature-rich Electron desktop application that monitors Steam and RetroAchievements unlock events and displays highly customizable on-screen notifications. It leverages the Steamworks API for real-time achievement tracking without requiring an API key, and integrates with RetroAchievements via emulator log file parsing. The application provides extensive customisation β multiple notification presets (consoles, Steam Deck, custom), per-type themes (colors, fonts, icons, glow, masks, positions), screenshot overlays, streaming overlays for OBS, Discord webhook posting, game completion timer, and a diagnostics troubleshooter. Architecture is multi-process: a main process handles window management and IPC, a renderer process displays the settings/customiser UI, a worker process continuously polls Steam for game state and achievements, and a RetroAchievements worker monitors emulator logs. Communication is event-driven with well-defined IPC channels. The project includes Rust native modules for keypress simulation, HDR screenshot capture, and high-performance process watchers, bundled as precompiled binaries. The codebase is actively maintained with regular releases, comprehensive localization (25+ languages), and detailed inline documentation (tooltips). While architecturally sound with clean separation of concerns, some modules (e.g., sanhelper.ts) are monolithic and tightly coupled to the application's config and UI, which may hinder isolated reuse. The translation files are large and duplicative, requiring coordinated updates across languages.
ChimeraOS is a build system for creating a custom Arch Linux-based operating system image tailored for gaming consoles. It provides a set of shell scripts, configuration files, and GitHub Actions workflows to assemble a complete system image with Steam, RetroArch, gamescope, and other gaming-related packages. The build process uses a Docker container to create a reproducible environment, installs packages from Arch repositories and the AUR, applies custom configurations, and produces a compressed Btrfs image. The repository includes scripts for session management, hardware quirks, and system migrations, all designed to create a console-like experience on PC hardware. It is not a runtime application but a build toolchain, and the code is well-structured for its purpose, with several reusable utility scripts and migration patterns.
SteamDepotDownloaderGUI is a Tauri v2 desktop application that provides a graphical interface for DepotDownloader, a CLI tool for downloading specific versions (manifests) of Steam games. The app allows users to input Steam credentials (or download anonymously), app/depot/manifest IDs, and an output directory. The Rust backend downloads the DepotDownloader binary from GitHub, extracts it, and spawns it as a child process via a pseudo-terminal (PTY), streaming output to an xterm.js terminal component in the Preact frontend. The frontend also includes a clipboard parser that extracts identifiers from SteamDB's copy format, auto-filling the form. The architecture is a standard monolithic desktop app with clear separation between Rust backend (Tauri commands) and Preact frontend, communicating via Tauri's invoke system. Settings for output directory naming and mobile authentication are managed through a context. The code is well-organized, with reusable input components and a clean PTY abstraction, though testing is minimal beyond a single URL validation test.
LinuxGSM is a command-line tool for deploying and managing dedicated game servers on Linux. It supports over 100 games through a modular bash architecture. The tool automates installation via SteamCMD, server lifecycle management (start/stop/update/backup), monitoring with restart on crash, and alerting via multiple channels (Discord, Slack, Telegram, etc.). It uses configuration templates per game and dynamic module loading from GitHub. The codebase is predominantly bash scripts with a clear separation of concerns: core utilities, game-specific fixes, update strategies, and configuration parsers. While not a data research project, it includes CSV-based dependency data and server metadata. The architecture is monolithic in bash but modular via sourced scripts, with a central command dispatcher and many per-game fixes that increase maintenance surface.
Apollo is a self-hosted game streaming server, forked from Sunshine and rebranded for compatibility with Artemis (formerly Moonlight Noir) clients. In production, it captures the host's display (via DXGI, KMS, Wayland, or NvFBC), encodes video using hardware encoders (NVENC, AMD AMF, Intel QSV, VAAPI, VideoToolbox) and audio (Opus), then streams over the network using a combination of RTSP for session control and ENet for real-time transport. It also forwards keyboard, mouse, gamepad, and pen input back to the host, enabling low-latency remote gaming or desktop control. The architecture is a single-process C++ application with a multi-threaded design: separate threads for video capture, encoding, audio capture, network I/O, and control. It exposes a web-based configuration UI (Vue.js frontend served by an embedded HTTPS server) and implements the NVIDIA GameStream HTTPS API for client pairing and session management. Platform-specific code is isolated behind abstraction interfaces (e.g., platf::display_t, platf::input_t), with dedicated implementations for Windows, Linux, and macOS. External dependencies include Boost, FFmpeg, OpenSSL, ENet, and vendor-specific SDKs (NVENC, AMF, VAAPI, etc.). The codebase demonstrates solid engineering with a clear separation of concerns, a comprehensive build system (CMake with platform macros), and a growing test suite (Google Test). However, it carries technical debt from its forked natureβsome code still references 'Sunshine' while branding leans toward 'Apollo'βand there are incomplete features on macOS (e.g., placeholder functions for clipboard) and fragile workarounds for driver bugs. Overall, it is a functional, well-maintained application with reusable patterns for inter-thread communication, resource management, and platform abstraction.
dxwrapper is a system-level DLL proxy and compatibility layer for legacy DirectX games and applications on modern Windows (10/11). It intercepts calls to DirectDraw (1-7), Direct3D (7/8/9), DirectInput, DirectSound, and GDI, translating them to newer APIs (primarily Direct3D9) and applying numerous workarounds for rendering, input, and window management issues. The architecture is a hybrid of multiple integrated sub-projects: a core wrapper that loads real system DLLs and forwards exports while wrapping COM interfaces, plus three bundled versions of DDrawCompat (v0.2.0b, v0.2.1, v0.3.2) that hook at the user-mode display driver (D3dDdi) and GDI level. Key entry points include DllMain for each stub DLL (ddraw.dll, d3d8.dll, d3d9.dll, dsound.dll, dinput8.dll), the IClassFactory interception for COM object creation, and the configuration-driven Settings module. External dependencies include Microsoft Detours for function hooking, MemoryModule for loading DLLs from memory, and DirectXMath. The codebase is large and complex, with extensive use of COM proxy patterns, vtable hooking, and low-level Windows API patching.
This repository is a curated collection of rules for the ananicy-cpp daemon, which automatically adjusts process nice/ionice/scheduling priorities on Linux. It is primarily a dataset of process name to type mappings, organized by category (audio-video, browsers, games, desktop environments, services, tools, etc.), with additional cgroup CPU quota definitions. The rules are manually curated by the community and cover thousands of applications, including Linux native and Wine/Proton games, with detailed per-game executable entries. The repository includes JSON schemas for validation, a linting script, a sorting script for game rules, and a Makefile for installation. It is actively maintained and serves as the default ruleset for the CachyOS Linux distribution's ananicy-cpp package. No ETL pipelines or analytical models are present; the primary data product is the ruleset itself.
This repository provides a collection of Amiibo binary files (.bin) for Animal Crossing: New Horizons characters, organized by series and special editions. It includes instructions for using the TagMo mobile application to write these files to NTAG215 NFC tags, enabling users to create functional Amiibo cards for personal use. The data is sourced from NFC-Bank and community contributions, with the repository serving as a static data distribution point for educational purposes. There are no data transformation scripts or processing tools included; the value lies in the curated collection of ready-to-use Amiibo dumps.
BD2ModManager is a Tauri + Vue 3 + TypeScript desktop application for managing mods for the game BD2 (Brown Dust 2). It is primarily an application, not a data/research repository, though it consumes static game data and remote CSV/JSON assets. The app provides mod lifecycle management (install, delete, sync/unsync, rename, update author, refresh), profile management, GitHub-based mod installation, and an integrated updater. The frontend is built with Vue 3 and Pinia, using Vue Router for navigation and composables for reusable logic; the backend is a Rust/Tauri shell that handles filesystem operations, symlinks, and the updater.
ManifestHub is a Steam Depot Manifest Cache that provides an API for accessing Steam depot manifests. The repository contains documentation and data files (appaccesstokens.json mapping depot IDs to access tokens) but does not include the actual application source code in the visible file tree. The service requires an API key, depot ID, and manifest ID to retrieve manifests via the endpoint https://api.manifesthub1.filegear-sg.me/manifest. Based on the README, it supports latest manifests and workshop manifests, with free API keys valid for 24 hours. The project appears to be actively maintained with recent commits.
This repository is a curated knowledge base and reference for HDR (High Dynamic Range) gaming. It contains a comprehensive list of games with links to GitHub Discussions analyzing HDR implementation quality, common issues, and potential fixes. The repository also links to external resources, mod lists, and a wiki page with simple fixes. It is not a software application or data pipeline; it is a documentation and community-driven database of HDR game analyses. The actual code content is minimal (a placeholder index.html and a README), with the substantive content residing in GitHub Discussions and the wiki.