Open-source alternative of Discord desktop's app.asar [experimental WIP] (MIRROR OF https://github.com/GooseMod/OpenAsar)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Oj 21256d5da2
[ErrorHandler] Rewrite to fix and be simpler
2 years ago
.github/workflows [CI] Don't mark as pre-release so GitHub recommends 2 years ago
polyfills [Polyfills > mkdirp] Convert to new polyfill system instead of in utils 2 years ago
src [ErrorHandler] Rewrite to fix and be simpler 2 years ago
.gitignore [Gitignore] More specific package-lock.json ignore 2 years ago
LICENSE Initial commit 2 years ago
README.md [Readme] Comment out write protection advise for now 2 years ago
changelog.md [Changelog] Tweak v0.3 2 years ago
injectPolyfills.js [Polyfills] Rewrite 2 years ago
roadmap.md [Roadmap] Mark replication of Discord splash UI 2 years ago
strip.js [CI] Strip via JS file, simpler yaml 2 years ago
test.sh [Polyfills] Rewrite 2 years ago

README.md

OpenAsar

An experimental open-source alternative of Discord desktop's app.asar.

Features

  • 🚀 Speed: ~2x faster startup times (up to ~4x with experimental config)
  • 🪶 Lightweight: <2% of Discord's original size (9mb -> ~150kb)
  • ⚙️ Configurable: Adds many config options for Discord and OpenAsar enhancements (see config section)
  • 🔌 Hotpluggable: Replace one file and it's installed, that's it
  • 🛡️ No Tracking: Removes Discord's built-in tracking for crashes and errors
  • 🪡 Patching: A future platform for custom patches to further enhance

Install Guide

OpenAsar is heavily disrecommened due to it being in early development.

  1. Download latest nightly release
  2. Backup your original app.asar (rename to app.asar.backup / etc)
  3. Install OpenAsar app.asar into the original path (you may need to be root on Linux)

Config

You can configure OpenAsar via settings.json (found in your Discord app data / user data), under a openasar object. Keep in mind most options are defaults for good reason. The avaliable options are:

  • quickstart (bool, default false) - whether to use Quickstart (experimental)
  • skipStartupUpdateChecks (bool, default false) - skips startup update checking (Linux-only)
  • autoupdate (bool, default true) - whether to autoupdate OpenAsar after Discord startup
  • multiInstance (bool, default false) - whether to enable multi-instance
  • ssoeAllowlist (bool, default true) - whether to use safer custom method of opening external urls (true) or normal Discord's method (false)

An example of a settings.json with OpenAsar config:

{
  "BACKGROUND_COLOR": "#202225",
  "IS_MAXIMIZED": false,
  "IS_MINIMIZED": false,
  "WINDOW_BOUNDS": {
    "x": 801,
    "y": 22,
    "width": 797,
    "height": 876
  },
  "MINIMIZE_TO_TRAY": false,
  "OPEN_ON_STARTUP": false,
  "openasar": {
    "quickstart": true
  }
}

Additionally there are some environmental variables you can use:

  • OPENASAR_QUICKSTART (bool, default false) - same as quickstart config option
  • OPENASAR_NOSTART (bool, default false) - if enabled halts starting after splash loads (for splash testing)