SpikeHD / Dorion

Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
https://spikehd.github.io/projects/dorion/
GNU General Public License v3.0
504 stars 21 forks source link
discord discord-client discord-mod plugins tauri themes


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

Download

Installers are available on the releases page. You can also get it from a package repository, or GitHub Actions, or you can build it yourself!

[!NOTE] MacOS Users: If opening Dorion gives you "Dorion.app is damaged and cannot be opened", MacOS is lying to you and you may just need to run sudo xattr -rd com.apple.quarantine /Applications/Dorion.app.

Windows Users: Dorion is available through portable installs OR through an .msi installer file. Also, Defender may think Dorion is a virus. This just happens sometimes, and if SmartScreen blocks it from running, click "More Info" and "Run Anyways". Feel free to scan Dorion with Virustotal!

Ubuntu Users: If you are on 24.04 or later, you may be unable to satisfy dependencies (libwebkit2gtk-4.1 will be missing). You can manually install the library via the 22.04 package (context).

Table of Contents

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:

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

Features

Plugins

Dorion comes with shelter, so that should cover at least some plugin-related needs. You can also enable client mods like Vencord inside the Dorion settings page. If you want to install plugins not available within the Dorion settings page, ensure you are downloading a browser-compatible version.

Themes

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

Jump to "Using Plugins and Themes"

Platform Support

| Feature | Windows 10/11 | Windows 7[1] | Linux | MacOS | |------------------------------------------------|---------------|---------------|------------------|-----------------| | Basics (logging in, navigation, text/DMs etc.) | ✓ | ✓ | ~[2] | ✓ | | Voice | ✓ | ✓ | ✗[3] | ✓ | | Themes | ✓ | ✓ | ✓ | ✓ | | Shelter | ✓ | ✓ | ✓ | ✓ | | Dorion Plugins | ✓ | ✓ | ✓ | ✓ |

1 While I am told it works fine, Windows 7 support is speculative and not guaranteed. It could break at any point, and if this happens, I probably won't put much effort into fixing it (PRs always welcome of course!).

2 Some people report Dorion freezing on Linux, particularly when GIFs are playing. This is a bug in WebkitGTK.

3 Support for WebRTC is hidden behind a build-time flag that is not used in almost all distros. Even with support, Tauri v1 does not support a high enough version of WebkitGTK bindings to enable the functionality. This will be available when WebkitGTK ships with WebRTC support.

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

Troubleshooting

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

TODO

Using Plugins and Themes

[!TIP] See the examples directory for examples of plugins, including how to include external code and themes.

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!

[!NOTE] Themes can also be installed by clicking Install Theme from Link in Theme settings, if you prefer

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