Skip to content
/ Dorion Public
forked from SpikeHD/Dorion

Tiny alternative Discord client with a smaller footprint and support for plugins and themes!

License

Notifications You must be signed in to change notification settings

Temanor/Dorion

 
 

Repository files navigation


Dorion

Dorion is an alternative Discord client aimed towards lower-spec or storage-sensitive PCs that supports themes, plugins, and more!
https://discord.gg/agQ9mRdHMZ

Table of Contents

Setup

Releases

Each release listed in the releases page contains the following:

  • Windows .msi installer
  • Windows .zip portable version
  • MacOS .dmg installers (for x86 and ARM)
  • Debian .deb installer
  • Linux .tar.gz portable version

Package Repositories

I do not maintain any instances of Dorion in any package repositories myself, however some very kind people maintain some in their own spare time:

  • Windows:
    • Shovel/Scoop (Maintained by Small-Ku):
      scoop bucket add turbo 'https://github.com/Small-Ku/turbo-bucket.git'
      scoop install turbo/dorion
  • Linux:
    • Arch AUR (Maintained by Refined7075)
      yay -S dorion-bin

Maintaining Dorion in a different package repository that I don't know about? Feel free to open a PR to add it here!

Other ways to get Dorion

You can also build it yourself, or download a build artifact from GitHub Actions!

Features

  • Significantly smaller than the original Discord client, as well as other web-based alternatives
  • Theme support
  • Shelter included out of the box
  • Support for other client mods and plugins, like Vencord
    • There is no BetterDiscord support... yet
  • Almost full game presence support included out of the box. Enable it in "Performance & Extras"!
  • (Hopefully) better low-end system performance.

Plugins

Dorion comes with shelter, so that should cover at least some plugin-related needs. You can also install mods like Vencord if you'd like! Remember to download the browser.js version.

Themes

Dorion supports all themes, BetterDiscord and others, with a couple caveats.

Jump to "Using Plugins and Themes"

Platform Support

Feature Windows Linux MacOS
Basics (logging in, navigation, text/DMs etc.)
Voice [1]
Themes
Shelter
Dorion Plugins

1 While some tweaks to Tauri made it possible to set the webrtc_enabled flag to true, it is unfortunately still not functional in WebKitGTK. The only way to enable the functionality it is through a build-time flag (which, as you could guess, is not set for any of the official builds). We just have to wait for it to come pre-enabled (or you can wait hours to build WebKitGTK yourself :P).

Building

Prerequisites

Steps

  1. Clone/download the repository

  2. Open a terminal window in the root project folder

  3. Install JS dependencies:

    pnpm install
  4. Build the minified versions of the JS/HTML files:

    pnpm build
  5. Pull the latest shelter build

    pnpm shupdate
  6. Build!

    # Build the updater
    pnpm build:updater
    
    # Build Dorion
    pnpm tauri build
    # or to debug/open in dev mode
    pnpm tauri dev

All built files will be in src-tauri/target/(release|debug)/. When using portably, the icons and injection folders are required. Installation files (eg. .msi) are located in bundle/

Known Issues

  • (Windows) Large images in themes will not load
  • (MacOS) Injection JS does not reinject after reloading the page
  • Fonts/font-faces will not load

Troubleshooting

If you are having problems opening Dorion, or it instantly crashes, or something similar, try the following:

  • Install via MSI instead of the .zip file
  • Use the .zip file instead of the MSI
  • (If using the .zip file) make sure all files were extracted properly (html, injection, etc.)
  • Reinstall WebView2
    • Fully uninstall and reinstall.
    • If you are having trouble uninstalling it, or the installer says its already installed even though you uninstalled, try deleting this registry folder and uninstalling again Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    • You can also try uninstalling from the Command Prompt

TODO

  • Pre-process fonts like images/CSS imports are already done
  • Multi-thread CSS processing
  • Use resource files from within the binary itself instead of the filesystem
  • Desktop notifications
    • AND displaying the number of notifs in the desktop icon
  • Webpack stuff
  • Global push-to-talk
  • Rich presence(?)
    • FULL rich presence
  • Custom keybinds
  • Helper API methods and events for plugins
  • Backup localized themes
  • Localization timeout
  • Safemode key (disable themes and plugins)
  • New release notifications
  • Logging system (like reMITM)

Using Plugins and Themes

See the examples directory for examples of plugins, including how to include external code and themes. You can also look at my own plugins/themes repo for some basic ones.

Plugins and themes are relatively simple to use, the file structure looks like so on Windows:

C:/Users/%USERNAME%/dorion/
    ├── plugins/
    |   └── plugin.js
    └── themes/
        └── theme.css

and like so on Linux:

~/.config/dorion/
    ├── plugins/
    |   └── plugin.js
    └── themes/
        └── theme.css

so if you download a plugin or theme, just pop it into the plugins/themes folder. If you need help finding them, there are buttons in Dorion settings that'll take you where you need!

Contributing

Issues, PRs, etc. are all welcome! For guidelines and tips, see CONTRIBUTING.md

Screenshots

Installer Size Comparison (Windows)

Full Installed Size Comparison (Windows)

Loading screen

Settings Menu

Theme: Catpuccin - Frappe

Theme: Fluent

About

Tiny alternative Discord client with a smaller footprint and support for plugins and themes!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 72.8%
  • TypeScript 15.3%
  • HTML 9.2%
  • JavaScript 1.1%
  • Shell 0.9%
  • Batchfile 0.4%
  • CSS 0.3%