Skip to content

About

WEngine-Plus is an all-in-one upgrade suite for Wallpaper Engine.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WEngine-Plus

Next-generation enhancement mod & lightweight helper daemon for Wallpaper Engine

License: MIT Platform Rust


πŸ“– Overview

WEngine-Plus is an all-in-one upgrade suite for Wallpaper Engine. It replaces the stock interface script with an extended frontend (scripts.js) connected to a blazingly fast background helper daemon (wengine-helper.exe) written in Rust.

Discover, download, and manage Steam Workshop wallpapers directly inside Wallpaper Engine with zero reliance on the desktop Steam client, advanced multi-state filters, instant offline metadata caching, and integrated decompiler.

flowchart LR
    subgraph UI ["Wallpaper Engine UI (scripts.js)"]
        Bridge["WengineHelper Bridge"]
        WorkshopUI["Workshop Browser & Pagination"]
        FilterUI["Advanced Filters & 3-State Chips"]
        MetaUI["Installed Details & Offline Meta"]
        AuthUI["Steam QR & Cookie Auth"]
    end

    subgraph Backend ["WEngine Helper Daemon (wengine-helper.exe)"]
        AxumRouter["Axum HTTP Server (:43196)"]
        SteamClient["Steam SSR Parser & Scraper"]
        MetaStore["Local metadata.json"]
        Engine["Downloader & Unpacker"]
    end

    Bridge <-->|REST JSON| AxumRouter
    WorkshopUI --> Bridge
    FilterUI --> Bridge
    MetaUI --> Bridge
    AuthUI --> Bridge
    AxumRouter --> SteamClient
    AxumRouter --> MetaStore
    AxumRouter --> Engine
Loading

✨ Key Features

  • Steam Workshop inside Wallpaper Engine without running the Steam client
  • Multi-threaded downloading & extraction in one click
  • Offline metadata storage
  • Automatic one-click installer

Specifically:

Workshop Browser
  • Steam Workshop Integration: Full in-app workshop browser with search, sorting, and tag filters.
  • Fast SSR Parser & Query Caching: Server-side Steam HTML parsing and query caching for instant response times.
Download & Extraction
  • Multi-Threaded Downloader: Parallel asset downloads with live progress toasts and transfer speed tracking.
  • Unpacker: Built-in decompiler for .pkg projects.
Steam Authentication & Account Management
  • Web Session: Quick login via QR code scan, cookie, password, or system account (default).
  • Accounts to Load: Switch between saved accounts or use the built-in public pool.
Built-in Patcher & Safety Backup
  • One-Click Patcher: Running wengine-helper.exe automatically locates scripts.js, creates a backup (scripts.js.bak), and installs the patched script.
  • Silent Background Execution: Wallpaper Engine automatically runs the helper daemon with --daemon on startup without user intervention.

πŸ” Detailed Modification Report

For a complete, line-by-line technical audit of all changes between the original Wallpaper Engine script and the enhanced scripts.js, see:

DIFF.md β€” Comprehensive Modification Diff


πŸš€ Installation

For End Users

Prerequisites

  • Windows 10/11 (x64)
  • Wallpaper Engine (installed)
  • .NET Runtime 8/9/10 (auto-downloaded if missing)

Installation Steps

  1. Download the latest wengine-helper.exe from Releases.
  2. Run wengine-helper.exe:
    • It automatically locates your Wallpaper Engine directory (via running processes, Steam registry, and standard paths).
    • It copies itself to ui\dist\scripts\wengine-helper.exe, creates a safety backup (scripts.js.bak), applies the patch, and cleans up the downloaded file from your original location.
    • Press Enter to close the window.
  3. Launch Wallpaper Engine normally.

Note

Wallpaper Engine automatically launches wengine-helper.exe in the background with the --daemon flag upon startup. You do not need to start it manually.

Command-Line Flags

Flag Action
wengine-helper.exe Interactive Patcher (Default): Inspects target, creates backup, applies patch, prompts for keypress.
wengine-helper.exe -y Silent Patcher: Automatically applies patch and exits without confirmation prompt.
wengine-helper.exe --daemon Daemon Mode: Starts background Axum REST server on port 43196.

For Developers

Development Setup

Prerequisites

  • Rust (v1.75+)
  • Wallpaper Engine
  • .NET Runtime/SDK 8/9/10

Setup & Build Commands

# Clone the repository
git clone https://github.com/psyattack/WEngine-Plus.git
cd WEngine-Plus

# Build release executable
cargo build --release

The compiled release binary is output to target/release/wengine-helper.exe.


πŸ› οΈ Tech Stack

Frontend

  • AngularJS 1.x (Wallpaper Engine CEF core)
  • FontAwesome 5 (Status icons & badges)
  • SVG QR Code Renderer

Backend

  • Axum 0.8 (Asynchronous HTTP REST API)
  • Tokio 1.x (Async runtime & multi-threading)
  • Tower-HTTP (CORS layer)
  • Reqwest 0.12 + Scraper 0.22 (Steam SSR parser)
  • zip + unrar (Native archive extraction)
  • AES-GCM + SHA-256 + RSA (Session security)
  • sysinfo + windows-sys (Win32 process management)

πŸ“‚ Project Structure

View structure
WEngine-Plus/
β”œβ”€β”€ Cargo.toml                        # Rust manifest & dependencies
β”œβ”€β”€ Cargo.lock                        # Locked dependency tree
β”œβ”€β”€ LICENSE                           # MIT License
β”œβ”€β”€ DIFF.md                           # Exhaustive technical diff report
β”œβ”€β”€ README.md                         # English documentation
β”œβ”€β”€ README.ru.md                      # Russian documentation
β”œβ”€β”€ scripts.js                        # Patched Wallpaper Engine frontend script
β”‚
└── src/                              # Backend Rust source code
    β”œβ”€β”€ main.rs                       # Daemon entry point, CLI routing & Axum server
    β”œβ”€β”€ setup.rs                      # Automated one-click installer & script manager
    β”œβ”€β”€ auth.rs                       # Auth module declarations
    β”œβ”€β”€ services.rs                   # Services module declarations
    β”œβ”€β”€ steam.rs                      # Steam module declarations
    β”‚
    β”œβ”€β”€ auth/                         # Steam authentication subsystem
    β”‚   β”œβ”€β”€ accounts.rs               # Account pool & QR code login manager
    β”‚   └── auth.rs                   # Session validation & token storage
    β”‚
    β”œβ”€β”€ services/                     # Application services
    β”‚   β”œβ”€β”€ dotnet.rs                 # Portable .NET Runtime supervisor & installer
    β”‚   β”œβ”€β”€ download.rs               # Multi-threaded download manager
    β”‚   β”œβ”€β”€ extract.rs                # Archive extractor (.pkg, .bin, .zip, .rar)
    β”‚   β”œβ”€β”€ lifecycle.rs              # Process supervisor & watchdog
    β”‚   β”œβ”€β”€ metadata.rs               # Local metadata storage (metadata.json)
    β”‚   β”œβ”€β”€ plugins.rs                # Plugin update & dependency manager
    β”‚   └── settings.rs               # Daemon configuration manager
    β”‚
    └── steam/                        # Steam Workshop scraping & API
        β”œβ”€β”€ client.rs                 # HTTP client configuration
        β”œβ”€β”€ parser.rs                 # Steam Workshop HTML scraper
        β”œβ”€β”€ types.rs                  # Workshop item & query data models
        └── url_builder.rs            # Query string & filter constructor

πŸ“ Configuration & Data Storage

All operational files are saved directly in the scripts directory:
C:\Program Files\Wallpaper Engine\ui\dist\scripts\

File Description
scripts.js Enhanced Wallpaper Engine frontend script
scripts.js.bak Untouched backup of the original script
metadata.json Local metadata database of installed wallpapers
wengine-helper.exe Background daemon & script patcher binary
steam_session.json Saved Steam Account Session
download_accounts.json Saved accounts for download
plugins/ Auto-downloaded plugins (DepotDownloaderMod, RePKG)
dotnet/ Portable .NET Runtime 9.0.17 (if needed)

🀝 Contributing

Contributions, bug reports, and suggestions are welcome! Feel free to open an Issue or submit a Pull Request.


πŸ“„ License

This project is licensed under the MIT License.


πŸ™ Credits


⚠️ Disclaimer

This application is not affiliated with or endorsed by Valve Corporation or Wallpaper Engine. Steam and Wallpaper Engine are trademarks of their respective owners.


πŸ’¬ Support

For issues, questions, or feature requests, please open an issue on GitHub.


About

WEngine-Plus is an all-in-one upgrade suite for Wallpaper Engine.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages