Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REvengeCord

Discord desktop client patched to talk to a self-hosted backend. The Electron shell and UI stay original — only the API endpoints redirect to loopback.

Requirements

  • Windows with Discord, Discord PTB or Discord Canary installed

The panel installs Node.js, PostgreSQL and Go when they are missing. It generates localhost TLS through Windows and never requires OpenSSL. Discord itself is intentionally not installed by REvengeCord.

Setup & use

Double-click REvengeCord.cmd.

First run: choose Install / repair REvengeCord. The setup panel installs the required tools, prepares PostgreSQL, installs the locked npm tree, builds the backend and SFU, and creates the local TLS certificate. Then patch an installed Discord channel and choose Start REvengeCord and open Discord.

PostgreSQL is configured automatically. The panel does not ask for a database password.

Register from the client's own signup screen.

Menu controls: arrow keys to move, Enter to select, Escape to go back. The installer is resumable and skips healthy components.

Administration

Choose Admin console (advanced) in the menu, or run directly:

node scripts\admin\cli.mjs <command>
Command Description
users [limit] list accounts
show <user> everything about one account
badge <user> <name>... toggle badges on/off
badge <user> clear remove all badges
ban <user> / unban <user> disable or re-enable an account
operator <user> toggle full server rights
rename <user> <username> change a username
guilds [limit] list servers
boost <guild> <boosts> set boost count (level follows: 2→1, 7→2, 14→3)
tag <guild> <TAG> [badge] [#primary] [#secondary] set server tag and badge
tag <guild> none remove server tag
serverbadge <guild> <name> toggle partner or verified badge
delguild <id> delete a server

<user> accepts an id, username or email.

Badges toggle — naming a badge that is already on turns it off. Nitro tiers are badge names: naming one enables Nitro and backdates the subscription, naming a different tier switches, naming the same tier again removes it.

Nitro tier Subscription age
nitro today
bronze 1 month
silver 3 months
gold 6 months
platinum 1 year
diamond 2 years
emerald 3 years
ruby 5 years
opal 6 years

Ports

Port Service
8090 proxy (main)
8091 proxy (voice gateway TLS)
3011 backend server
3004 backend voice gateway
5005 pion SFU, UDP

Logs

All logs are in logs/.

File Content
proxy.log one line per request: status, route, duration, size
server.log backend output
client.log, client.err.log Electron shell and renderer
sfu.log voice SFU

Choose View logs to tail all files live, colour-coded by source. Or use the script directly:

.\scripts\logs.ps1 proxy               # only the proxy
.\scripts\logs.ps1 client              # only the Discord shell
.\scripts\logs.ps1 all "404|500"       # filter by pattern

Set PROXY_VERBOSE=1 to print every proxy request to the console (errors only by default).

The default file storage, local image resizing and SMTP provider are ready from the base install. S3 storage, the PNG widget renderer (canvas) and external mail providers are optional capabilities; the server reports the missing provider clearly instead of failing during startup.

Tests

$repositoryTests = @(
    Get-ChildItem scripts -Filter *.test.mjs -File
    Get-ChildItem proxy\test -Filter *.test.js -File
    Get-ChildItem scripts\patcher -Filter *.test.mjs -File
    Get-ChildItem scripts\admin -Filter *.test.mjs -File
)
node --test $repositoryTests.FullName

Set-Location server
npm run lint
npm run build
npm run node:tests

Set-Location ..\webrtc\pion-sfu
go test ./...

The commands cover repository scripts and proxy tests, backend tests and the Go SFU package.

Compatibility notes

The project does not redistribute Discord. The patcher modifies an installation already on the machine and backs up the original app.asar with a SHA-256 check before touching anything.

See docs/architecture.md, docs/operations.md, docs/backend-coverage.md, and THIRD-PARTY-NOTICES.md for the service boundaries, recovery procedures, verified feature coverage, and attribution boundaries.

About

Official Discord client patched to a local backend.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages