npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vesktop-brand

v1.1.12

Published

Rebrand Vesktop with custom name and icon. Auto-reapplies after every update.

Readme

Vesktop Brand 🎨

A bulletproof, zero-admin command-line tool to permanently rebrand Vesktop (a custom Discord client) into a custom application (default: "Chat").

Unlike simple shortcut renaming, this tool fundamentally alters the application's binary DNA, internal Electron scripts, and Windows system-level caches to guarantee the illusion never breaks—even after automatic updates!


🚀 Installation & Usage

Install the package globally via NPM:

npm install -g vesktop-brand

Commands

  • Install/Apply Branding: vesktop-brand install
  • Check Status: vesktop-brand status
  • Re-apply Branding (Manual): vesktop-brand reinstall
  • Completely Uninstall & Restore: vesktop-brand uninstall

📖 How it Works (The Simple Explanation)

If you simply right-click a desktop shortcut and change its icon and name, the illusion breaks the moment you open the app. Windows will group it back under the old name, the system tray icon will revert, and Discord's internal menus will still say "Vesktop".

This tool fixes all of that by performing a "deep surgery" on the app:

  1. It rewrites the code: It unpacks the app's internal brain (app.asar) and safely replaces every visible mention of "Vesktop" with "Chat".
  2. It replaces the images: It swaps out the taskbar icons, the tiny system tray icons, and the splash screen.
  3. It tricks Windows: Windows aggressively remembers old app names. This tool hacks the hidden Windows memory cache to force it to forget "Vesktop" and permanently recognize "Chat".
  4. It survives updates: Vesktop updates itself frequently, which normally deletes custom mods. This tool creates an invisible startup script that silently re-applies your custom branding every time you turn on your PC, before you even open the app.

⚙️ Features (The Technical Explanation)

1. Zero-Admin Auto-Updater Defense (VBScript Startup)

Instead of relying on Windows Task Scheduler (which requires Administrator privileges and fails silently for standard users), the tool generates a headless .vbs (VBScript) payload and injects it into the user's Start Menu\Programs\Startup directory.

  • Why? Vesktop's built-in updater frequently downloads fresh, unpatched binaries. The VBScript acts as a daemon, executing the repatch.js sequence invisibly (WScript.Shell.Run 0) on every user logon to ensure the ASAR and cache are always patched before the user launches the application.

2. Aggressive Windows MuiCache Override

Windows Explorer aggressively caches an executable's FriendlyAppName in the Multilingual User Interface Cache (MuiCache). Once Vesktop.exe is run for the first time, Windows permanently locks the taskbar hover tooltip to "Vesktop", regardless of shortcut names.

  • The Fix: The tool bypasses the locked .exe by interfacing directly with the Windows Registry (HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache). It forcefully overwrites the FriendlyAppName and ApplicationCompany string values to the custom app name, instantly forcing Explorer to respect the new brand identity.

3. Deep ASAR Eradication & Electron Patching

Vesktop relies on hardcoded strings in its React/Electron frontend to set window titles and tooltips.

  • The tool extracts the app.asar package using @electron/asar.
  • It performs laser-targeted Regex mutations across the core renderer and main process scripts (main.js, renderer.js).
  • AppUserModelId: It forcefully intercepts Electron's app.setAppUserModelId() call, mutating dev.vencord.vesktop to dev.vencord.chat. This forces Windows to create a brand new taskbar grouping, severing all ties to the original Vesktop registry footprint.
  • Window APIs: Safely intercepts and overrides .setTitle() and .setToolTip() calls without breaking Discord's internal IPC routing or causing React crashes.

4. Binary Metadata Injection (rcedit)

Uses rcedit to directly modify the physical binary metadata (Version Information) of the Vesktop.exe file on disk. It updates the ProductName, InternalName, and FileDescription, while also injecting a multi-resolution .ico file generated on-the-fly from a transparent .png. (Note: This step gracefully fails if the .exe is locked, falling back perfectly on the MuiCache override).

5. Secure Authentication

To prevent unauthorized CLI execution, the tool features a built-in cryptographic lock using bcryptjs. On first install, the user establishes a password. All subsequent repatches, uninstalls, and status queries require this password, preventing accidental or malicious uninstalls.