explaingit

stephendo-dev/phantom-dancer

Analysis updated 2026-05-18

2C#Audience · generalComplexity · 2/5LicenseSetup · easy

TLDR

A macOS app that lets you appear offline in League of Legends, VALORANT, and Legends of Runeterra while keeping full chat functionality.

Mindmap

mindmap
  root((Phantom Dancer))
    What it does
      Appear offline
      Keeps chat working
      System tray control
      Switches presence status
    Tech stack
      Csharp
      .NET 9.0
      Avalonia
    Use cases
      Hide online status
      Play without invites
      Chat in champion select
      Switch between games
    Audience
      League of Legends players
      VALORANT players
    Notes
      Third party project
      Not affiliated with Riot

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Appear offline to friends in League of Legends while still being able to play and chat normally.

USE CASE 2

Switch between online, offline, and mobile presence from a system tray icon.

USE CASE 3

Choose which Riot game to connect to using a command line argument.

USE CASE 4

Build the app from source on macOS using the .NET 9.0 SDK.

What is it built with?

C#.NETAvalonia

How does it compare?

stephendo-dev/phantom-danceratum-borg-interactive/road-sdkbabelive/windows
Stars222
LanguageC#C#C#
Setup difficultyeasymoderatemoderate
Complexity2/53/53/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Prebuilt app or dmg download works out of the box, building from source needs the .NET 9.0 SDK.

Released under the MIT license, so it can be used, modified, and redistributed freely, including for commercial purposes, as long as the copyright notice is kept.

In plain English

Phantom Dancer is a macOS desktop app that lets you appear offline to your friends in League of Legends, VALORANT, and Legends of Runeterra while keeping full use of the games' chat and social features. It is a native macOS port and modernization of an older Windows project called Deceive, rebuilt using .NET 9.0 and the Avalonia UI framework. The app works by sitting between the Riot Client and the chat servers, changing what presence status your friends see without touching how the games themselves function. You can still invite friends, accept invites, and talk in champion or agent select as normal, though friends will not be able to send you invites while you appear offline. A small system tray icon lets you switch between online, offline, and mobile status at any time, and choosing which game to connect to can also be set from the command line. Installing it means downloading a prebuilt app or dmg file from the releases page, or building it yourself with the .NET 9.0 SDK on macOS 10.15 or later by cloning the repository, restoring dependencies, and running dotnet build. The README notes that Riot has confirmed the original Deceive project does not get users banned, though any modification could stop working at some point in the future. If the app's traffic interception hits a DNS resolution error, the README suggests switching to a public DNS provider or editing the local hosts file. The project is built with .NET 9.0 and Avalonia in an MVVM architecture, using a small embedded web server for communication and a command line argument parser. It is released under the MIT license, and the README states plainly that it is a third party project with no affiliation to Riot Games.

Copy-paste prompts

Prompt 1
Help me download and install Phantom Dancer on my Mac to appear offline in League of Legends.
Prompt 2
Explain how Phantom Dancer intercepts traffic to change my presence status.
Prompt 3
How do I fix a DNS resolution error when running Phantom Dancer?
Prompt 4
Walk me through building Phantom Dancer from source with dotnet build.

Frequently asked questions

What is phantom-dancer?

A macOS app that lets you appear offline in League of Legends, VALORANT, and Legends of Runeterra while keeping full chat functionality.

What language is phantom-dancer written in?

Mainly C#. The stack also includes C#, .NET, Avalonia.

What license does phantom-dancer use?

Released under the MIT license, so it can be used, modified, and redistributed freely, including for commercial purposes, as long as the copyright notice is kept.

How hard is phantom-dancer to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is phantom-dancer for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.