mrkeyoor.com_
Fri 25 Sept 15:55 UTC
Automationevaluationupdated 25 Sept 2026

Rose review

Rose is a Windows skin changer for League of Legends, with English documentation. It watches champion select, downloads local skin assets, and injects the selected appearance when a match starts; the project says these changes affect local rendering and provide no gameplay advantage.

Verdict

Our Rose install took 10 seconds, but pytest hit an X display error and pip-audit found 51 known vulnerabilities before we ever reached a Windows League client. Try it only if local skins matter enough to justify administrator access, a self-supplied signed DLL, telemetry review, and repairs after game patches. For a main account where predictability matters, we would walk away.

We ran it

Lab card: what happened when we ran RoseScreenshot of Rose (github.com/Alban1911/Rose)
Install✓ · 10s46 packages · 64 MB
Build✓ · 1s
Tests✗ · 2s3 passed · 0 failed · 1 errors of 4 (pytest)
Known vulns51(pip-audit)
Repo299 files~66,556 lines of source · 12.8 MB · 0 CI workflows · tests dir

Answers from our run

Does Rose build from source?

Dependencies installed in 10 seconds (46 packages), and the build succeeded in 1 seconds. We cloned commit 69da01d into a clean Debian container with 3 CPUs and no project-specific setup.

Do Rose's tests pass?

Yes: 3 of 4 passed when we ran the project's own test command (pytest), with 1 collection error. Some failures need services or credentials a bare container does not have.

Does Rose have known vulnerabilities in its dependencies?

pip-audit flagged 51 known advisories in the dependency tree at the time of our run.

Who should not use Rose?

macOS or Linux users: the README requires Windows 10 or 11, and the packaged build depends on Windows tooling.

What are the alternatives to Rose?

CSLoL Manager, Pengu Loader. Our Rose install took 10 seconds, but pytest hit an X display error and pip-audit found 51 known vulnerabilities before we ever reached a Windows League client.

Setup2/5Fast Python install; Windows signing and injection remain manual
Docs3/5Build steps are clear, but DLL sourcing cannot be documented fully
Community3/5582 stars and same-day issue activity around v1.3.1
Maturity2/5Active releases, 51 advisories, and recurring patch breakage

Who it’s for

Windows players willing to accept the account and compatibility risk of an unofficial League client tool.
Custom-skin users who want champion-select previews, chromas, saved choices, and automatic injection.
Contributors comfortable debugging Python, Pengu Loader, Windows signing, and game-patch breakage.
Players who will inspect the source, disable analytics if desired, and keep a clean removal path.

Who it’s NOT for

macOS or Linux users: the README requires Windows 10 or 11, and the packaged build depends on Windows tooling.
Anyone unwilling to run an installer as Administrator or obtain and sign an injection DLL: both are explicit setup requirements.
Players who need Riot-approved software: Rose says it is unaffiliated, while Riot says League Client API use by third-party apps is not officially supported.
Privacy-sensitive users who expect zero outbound telemetry by default: Rose sends a random installation ID, app version, startup ping, 15-minute heartbeats, and a close ping unless analytics are disabled.
Users who expect each League patch to work without intervention: v1.3.0 fixed injection after patch 16.19, and current issue 285 reports a loader that deactivates when the game opens.

Setup reality

Our sandbox installed 46 Python packages in 10 seconds and used 64 MB. The build succeeded in 1 second. Pytest stopped after 2 seconds with 3 passed and 1 collection error out of 4 because Xlib received an empty display name. Pip-audit reported 51 known vulnerabilities.

The end-user route needs Windows 10 or 11, League of Legends, administrator execution, and a signed injection DLL that Rose cannot distribute. Source builds add Python 3.11+, Visual Studio Build Tools, WPF support, the .NET Framework 4.7.2 targeting pack, and optionally Inno Setup 6.

Our fresh Debian container could check the Python layer, but it could not exercise the Windows client, Pengu Loader injection, Riot Vanguard interaction, or an actual match. The missing display also prevents a clean headless test result.

A 10-second Python install is only the first layer

Our sandbox installed 46 packages in 10 seconds and occupied 64 MB. The build check then succeeded in 1 second. Those figures make the Python environment look modest, but they do not describe the job Rose performs on a player's PC. Rose watches the League client, runs a local WebSocket bridge, downloads skin files, builds on Pengu Loader, and injects assets when the game process starts. Each boundary can change independently of the Python package set.

The appeal is easy to understand. Rose puts locked-skin previews, chroma selection, custom mods, saved choices, and random selection inside champion select. Party mode can share selections with up to 10 lobby members through a Cloudflare relay. The README says the modifications are local and confer zero competitive advantage. Treat that as the project's description, not a promise from Riot or proof that a future anti-cheat update will accept the same behavior.

Pytest passed 3 checks before an X display error stopped collection

Our test command ended after 2 seconds with 3 passed and 1 collection or setup error out of 4. The failing module, test_pengu_loader.py, attempted to connect through Xlib and received an empty display name. The log supports a precise finding: the checked-out tests do not collect cleanly in a headless Debian container. It does not show a failed skin injection, because League, Windows, and a graphical session were absent.

Pip-audit found 51 known vulnerabilities in the installed environment. The supplied results do not break that number down by severity or prove that every affected package is reachable during normal use. Fifty-one is still too large to wave away in software that runs with elevated rights and modifies a game installation path. Before using Rose, identify the affected dependencies, check whether the release installer contains them, and remove the program cleanly if that review is not possible.

Windows 10 or 11 carries the real setup cost

The README limits Rose to Windows 10 or 11 and tells users to run its installer as Administrator. It also requires an injection DLL that the repository cannot distribute because of DMCA restrictions. Users must obtain that file from an authorized source and sign it with their own code-signing certificate. That is a material barrier, not a final checkbox, and it moves trust outside the repository we reviewed.

Building from source adds Python 3.11 or newer, Visual Studio Build Tools, WPF support, the .NET Framework 4.7.2 targeting pack, and Inno Setup 6 for an installer. The documented scripts compile the vendored Pengu Loader 1.1.6 before packaging Rose. Our 1-second build result came from the lab's fresh Debian check and cannot validate that Windows toolchain, the signed DLL, Vanguard compatibility, or a real game launch.

Version 1.3.1 arrived one day after patch-related repairs

Rose 1.3.1 was published on September 24, 2026, and fixes skin reapplication after a crash plus a reconnect-screen control. Version 1.3.0, released less than 1 hour earlier, fixed injection after League patch 16.19 and added troubleshooting for missing or outdated patcher files. This pace shows direct maintenance, while also showing how tightly Rose follows changes in the client and its injection path.

The repository was pushed on September 24 and had 582 stars with 17 open issues and pull requests when fetched on September 25. Issue 285 reports Pengu Loader deactivating when League opens, despite reinstall attempts and antivirus exclusions. Issue 281 reports an LTK Patcher error after Rose switches to an already owned skin. These are specific current reports, not proof that every user is affected, but both touch the main match-start workflow.

Analytics calls home every 15 minutes unless disabled

With analytics enabled, Rose sends a random installation ID and app version to its own service at startup, every 15 minutes while present, and on a best-effort close event. The README says the identifier does not come from the Windows Machine GUID and documents a source setting that disables analytics. The API and raw activity are maintained outside the public client repository, so source inspection of Rose cannot cover the receiving service.

Riot's developer documentation says League Client API use by third-party applications is not officially supported, and its general policy expects products using that API to be registered. Rose's README separately says the project is unaffiliated and that users proceed at their own risk. For a disposable test setup, that may be an acceptable experiment. On a valued account, the combination of administrator access, external injection code, 51 dependency advisories, and patch-sensitive behavior is a poor trade.

Alternatives

ProjectWhat it isPick it when
CSLoL ManagerA Windows manager for installing and running League of Legends custom-skin mods.pick this instead when you already have Fantome or ZIP mods and want a focused custom-skin manager.
Pengu LoaderA plugin loader for changing and extending the League Client interface.pick this instead when client UI plugins are the goal and you do not need Rose's automatic in-game skin workflow.

What people are saying

  1. [github-trending] Alban1911/Rose

Sources

  1. Rose repository and README
  2. Rose v1.3.1 release
  3. Rose v1.3.0 release
  4. Issue 285: Pengu Loader deactivates when League opens
  5. Issue 281: LTK Patcher error with an owned skin
  6. Riot Games League Client API documentation
  7. Riot Games general developer policies

More automation reviews

alchemy · laya · prod-FARM-IOS-Core · ha_xiaomi_home · FreePEP · fragment-api-dev · the whole board →