Awesome
<h1 align="center"> <img height="100px" src="https://raw.githubusercontent.com/SpikeHD/Dorion/main/src-tauri/icons/icon.png" /> <br /> Dorion </h1> <div align="center"> <img src="https://img.shields.io/github/actions/workflow/status/SpikeHD/Dorion/build.yml" /> <img src="https://img.shields.io/github/package-json/v/SpikeHD/Dorion" /> <img src="https://img.shields.io/github/repo-size/SpikeHD/Dorion" /> </div> <div align="center"> <img src="https://img.shields.io/github/commit-activity/m/SpikeHD/Dorion" /> <img src="https://img.shields.io/github/release-date/SpikeHD/Dorion" /> <img src="https://img.shields.io/github/stars/SpikeHD/Dorion" /> <img src="https://img.shields.io/github/downloads/SpikeHD/Dorion/total" /> </div> <div align="center"> Dorion is an alternative Discord client aimed towards lower-spec or storage-sensitive PCs that supports themes, plugins, and more! <br /> https://discord.gg/agQ9mRdHMZ </div>Download
<table align="center"> <tr> <th> <img src="docs/image/windows.png" width="30%" align="center" /> </th> <th> <img src="docs/image/apple.png" width="30%" align="center" /> </th> <th> <img src="docs/image/debian.png" width="30%" align="center" /> </th> </tr> <tr> <td width="30%"> <div align="center"> <a href="https://github.com/SpikeHD/dorion/releases/download/v5.0.1/Dorion_5.0.1_x64_en-US.msi ">x86_64</a> <span>|</span> <a href="https://github.com/SpikeHD/dorion/releases/download/v5.0.1/Dorion_5.0.1_arm64-setup.exe">ARM</a> </div> </td> <td width="30%"> <div align="center"> <a href="https://github.com/SpikeHD/dorion/releases/download/v5.0.1/Dorion_5.0.1_x64.dmg">x86_64</a> <span>|</span> <a href="https://github.com/SpikeHD/dorion/releases/download/v5.0.1/Dorion_5.0.1_aarch64.dmg">ARM</a> </div> </td> <td width="30%"> <div align="center"> <a href="https://github.com/SpikeHD/dorion/releases/download/v5.0.1/Dorion_5.0.1_amd64.deb">x86_64</a> <span>|</span> <a href="https://github.com/SpikeHD/dorion/releases/download/v5.0.1/Dorion_5.0.1_armhf.deb">ARM v7</a> <span>|</span> <a href="https://github.com/SpikeHD/dorion/releases/download/v5.0.1/Dorion_5.0.1_arm64.deb">ARM64</a> </div> </td> </tr> </table>[!TIP] Dorion can also be used portably or installed via several package managers. You can find these builds in the releases page. You can also build Dorion 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: 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, and Dorion v5.0.1 or below, you may be unable to satisfy dependencies (
libwebkit2gtk-4.0
will be missing). You can manually install the library via the 22.04 package (context & more context).
Table of Contents
- Package Repositories
- Features
- Platform Support
- Building
- Known Issues
- Troubleshooting
- TODO
- Using Plugins and Themes
- Contributing
- Screenshots
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
- WinGet (Maintained by headquarter8302)
winget install --id SpikeHD.Dorion
- Shovel/Scoop (Maintained by Small-Ku):
- Linux:
- Arch AUR (Maintained by Refined7075)
yay -S dorion-bin
- NixOS
nix-shell -p dorion
- Arch AUR (Maintained by Refined7075)
[!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
- 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
- Full RPC/game presence support included out of the box. Enable it in "Performance & Extras"!
- Feature flags for picking and choosing features (when building from source)
- (Hopefully) better low-end system performance.
- ARM support for ALL platforms
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.
[!NOTE] Want official support for another client mod? As long as it works on the web, feel free to submit a feature request!
Themes
Dorion supports all themes, BetterDiscord and others, with a couple caveats.
Jump to "Using Plugins and Themes"
Platform Support
<div width="100%" align="center">Feature | Windows 10/11 | Windows 7<sup>[1]</sup> | Linux | MacOS |
---|---|---|---|---|
Basics (logging in, navigation, text/DMs etc.) | ✓ | ✓ | ~<sup>[2]</sup> | ✓ |
Voice | ✓ | ✓ | ✗<sup>[3]</sup> | ✓ |
Themes | ✓ | ✓ | ✓ | ✓ |
Shelter | ✓ | ✓ | ✓ | ✓ |
Dorion Plugins | ✓ | ✓ | ✓ | ✓ |
<sup>1</sup> 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!). You may also need to manually install WebView2 if Dorion doesn't open after installing!
<sup>2</sup> Some people report Dorion freezing on Linux, particularly when GIFs are playing. This is a bug in WebkitGTK.
<sup>3</sup> Support for WebRTC is hidden behind a build-time flag that is not used in almost every distro. This will be available when WebkitGTK ships with WebRTC support, or if you compile your own WebkitGTK.
Building
Prerequisites
Steps
-
Clone/download the repository
-
Open a terminal window in the root project folder
-
Install JS dependencies:
pnpm install
-
Pull the latest shelter build (this is used as a backup if it cannot be fetched on the fly)
pnpm shupdate
-
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)/
. Installation files (eg. .msi
, .deb
) are located in bundle/
.
Known Issues
- (Windows) Large images in themes will not load
- (MacOS) Injection JS does not reinject after reloading the page
- External images (UserBG, Decor, UserPFP, etc.) will not load
- Fonts/font-faces will not load
Troubleshooting
Windows
- Dorion not opening
- 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. Ensure you are extracting Dorion into it's own folder. - 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}
- Install via MSI instead of the
Linux
- White/blank/frozen screen
- Run Dorion with either, or both, of the following environment variables:
WEBKIT_DISABLE_COMPOSITING_MODE=1 WEBKIT_DISABLE_DMABUF_RENDERER=1
- Run Dorion with either, or both, of the following environment variables:
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)
- Move from
device_query
tordev
(supports more keys. May also just attempt to contribute todevice_query
) - API abstractions
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
Contributors
<a href="https://github.com/spikehd/dorion/graphs/contributors"> <img src="https://contrib.rocks/image?repo=spikehd/dorion" /> </a>Screenshots
Installer Size Comparison (Windows)
<img width="100%" src="https://github.com/SpikeHD/Dorion/assets/25207995/55ce8a69-1732-4e17-90f6-5582bcc21d0c" />Full Installed Size Comparison (Windows)
<img width="100%" src="https://github.com/SpikeHD/Dorion/assets/25207995/eb603f1f-f633-4913-a25e-1316b495a08a" />Loading screen
<img width="100%" src="https://github.com/SpikeHD/Dorion/assets/25207995/5c9041da-038c-465c-b048-a7c4034a45e0" />Settings Menu
<img width="100%" src="https://github.com/SpikeHD/Dorion/assets/25207995/b34577eb-a583-4c9d-abf9-fde791e0f0aa" />Theme: Catpuccin - Frappe
<img width="100%" src="https://github.com/SpikeHD/Dorion/assets/25207995/c73a2333-31fb-404a-9489-5e1b1f8cfa54" />Theme: Fluent