Skip to content

Modify your teams to your likings using javascript! Create or use plugins and custom themes!

Notifications You must be signed in to change notification settings

hackthedev/ms-teams-injector

Repository files navigation

MS Teams Mod

With this you can create custom themes or plugins using javascript. One default theme is included. Its still somewhat experimental but i will try to improve the setup over time. image


Download Notice

Please download the files from the releases instead of the repo, as the repo code itself is more like a "dev" version, and the files from the releases are more stable and finished up.


How to install

You likely need to edit the configuration.json file of teams to enabled debug mode. In my case i found it here: C:\Program Files\WindowsApps\MSTeams_24243.1309.3132.617_x64__8wekyb3d8bbwe\. You can right click Microsoft Teams in Task Manager and open the file path this way.

In order to change the config file you would need to use the following commands. You might need to change the path.

takeown /F "C:\Program Files\WindowsApps\MSTeams_24243.1309.3132.617_x64__8wekyb3d8bbwe\configuration.json"
icacls "C:\Program Files\WindowsApps\MSTeams_24243.1309.3132.617_x64__8wekyb3d8bbwe\configuration.json" /grant %username%:F

The config file should look similar to the following. Its mostly important to use "core/devMenuEnabled": true. You may not even need to edit the config at all.

{
  "app/modifyComGlobalRoSettings": true,
  "app/enableAppSwitcher": true,
  "app/enableAppSwitcherMac": true,
  "core/hideMainWindow": true,
  "core/startPage": "https://teams.microsoft.com/v2/?skipauthstrap=1",
  "ecs/packageConfigEnabled": true,
  "systemTray/enableSignout": false,
  "taskbar/enableFlyoutBadge": false,
  "core/devMenuEnabled": true
}

I will further debug this and i will integrade it into the script.


How to use

First Time Start

npm i
node inject.js

Normally running it

node inject.js

This will change once i made a proper application for it


How to set a custom picture?

Once the script launched etc you can type in the console window. You can enter setImage Path\To\Image.png and it will load and transform the image to be later injected. If you path has spaces in it like C:\Users\cool name\Desktop\anime.png you will likely need to add " at the end and beginning of the path, so it looks like this: setImage "C:\Users\cool name\Desktop\anime.png"


Update Goals

  • Wrap GUI app around it with theme & plugin community "marketplace".
  • Edit config file automatically
  • Potentially inject into app.asar if its ever gonna get fixed
  • Update the example theme to fix styling in other pages like the calendar etc
  • System to manage plugins & themes like enable, disable, install, uninstall etc