Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spikehd/dorion
Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
https://github.com/spikehd/dorion
discord discord-client discord-mod plugins tauri themes
Last synced: 4 days ago
JSON representation
Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
- Host: GitHub
- URL: https://github.com/spikehd/dorion
- Owner: SpikeHD
- License: gpl-3.0
- Created: 2022-09-06T20:06:23.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-10T06:48:04.000Z (12 days ago)
- Last Synced: 2025-01-18T01:02:51.055Z (4 days ago)
- Topics: discord, discord-client, discord-mod, plugins, tauri, themes
- Language: Rust
- Homepage: https://spikehd.github.io/projects/dorion/
- Size: 3.58 MB
- Stars: 696
- Watchers: 13
- Forks: 23
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
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
View bleeding-edge builds
Bleeding Edge Builds
These builds are based on the latest GitHub Actions artifacts. They may not work properly, and they probably contain bugs. Use at your own risk!
> [!TIP]
> Dorion can also be used portably or installed via [several package managers](#package-repositories).
> You can find portable builds in the [releases](https://github.com/SpikeHD/dorion/releases/latest/) page. You can also [build](#building) 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`. Alternatively, you can open the **Privacy & Security** settings pane and scroll down to the **Security** section to remove the quarantine.
>
> ***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](https://www.virustotal.com/gui/home/upload)!# Table of Contents
* [Package Repositories](#package-repositories)
* [Features](#features)
* [Plugins](#plugins)
* [Themes](#themes)
* [Platform Support](#platform-support)
* [Building](#building)
* [Prerequisites](#prerequisites)
* [Steps](#steps)
* [Known Issues](#known-issues)
* [Troubleshooting](#troubleshooting)
* [General](#general)
* [Windows](#windows)
* [Linux](#linux)
* [TODO](#todo)
* [Using Plugins, Extensions, and Themes](#using-plugins-extensions-and-themes)
* [Contributing](#contributing)
* [Contributors](#contributors)
* [Screenshots](#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](https://github.com/Small-Ku/)):
```sh
scoop bucket add turbo 'https://github.com/Small-Ku/turbo-bucket.git'
scoop install turbo/dorion
```
* WinGet (Maintained by [headquarter8302](https://github.com/headquarter8302))
```sh
winget install --id SpikeHD.Dorion
```
* Linux:
* Arch AUR (Maintained by [Refined7075](https://github.com/DarkCoder28))
```sh
yay -S dorion-bin
```
* NixOS
```sh
nix-shell -p dorion
```
* MacOS:
* Homebrew (Maintained by [psharma04](https://github.com/psharma04))
```sh
brew tap psharma04/dorion
brew install --cask dorion
```> [!NOTE]
> Maintaining Dorion in a different package repository that I don't know about? Feel free to [open a PR](https://github.com/SpikeHD/Dorion/pulls) to add it here!# Features
* [Significantly smaller](https://github.com/SpikeHD/Dorion/assets/25207995/eb603f1f-f633-4913-a25e-1316b495a08a) than the original Discord client, as well as other web-based alternatives
* Theme support
* Global push-to-talk and custom keybinds
* [Shelter](https://github.com/uwu/Shelter) and (optionally) [Vencord](https://github.com/vendicated/vencord)/[Equicord](https://github.com/equicord/equicord) included out of the box
* Full [RPC/game presence](https://github.com/SpikeHD/rsRPC) support included out of the box. Enable it in "Performance & Extras"!
* This also requires either the [shelteRPC](https://github.com/SpikeHD/shelter-plugins?tab=readme-ov-file#shelterpc) or [arRPC](https://vencord.dev/plugins/WebRichPresence%20(arRPC)) plugins enabled.
* (Hopefully) better low-end system performance.
* ARM support for ALL platforms
* Feature flags for picking and choosing features (when building from source)## Plugins
Dorion comes with [shelter](https://github.com/uwu/shelter), so that should cover at least some plugin-related needs. You can also enable client mods like [Vencord](https://github.com/vendicated/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](https://github.com/SpikeHD/Dorion/issues/new/choose)!> [!TIP]
> Unsure what shelter plugins exist out there? There's more than you think, so try searching `shelter plugins` on GitHub, or use the Plugin Browser plugin:
>
> `https://spikehd.github.io/shelter-plugins/plugin-browser/`## Themes
Dorion supports all themes, BetterDiscord and others, with a [couple caveats](#known-issues).
[Jump to "Using Plugins and Themes"](#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!). You may also need to manually install [WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) if Dorion doesn't open after installing!
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 every distro. This will be available when WebkitGTK ships with WebRTC support, or if you compile your own WebkitGTK.
# Building
## Prerequisites
* [NodeJS](https://nodejs.org)
* [PNPM](https://pnpm.io/)
* [Rust and Cargo](https://www.rust-lang.org/tools/install)
* [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/)
* [`cargo patch-crate`](https://github.com/mokeyish/cargo-patch-crate)## Steps
1. Clone/download the repository
2. Open a terminal window in the root project folder
3. Install JS dependencies:```sh
pnpm install
```4. Pull the latest shelter build (this is used as a backup if it cannot be fetched on the fly)
```sh
pnpm shupdate
```
5. Apply the patches```sh
cd src-tauri
cargo patch-crate
```6. Build the updater
```sh
pnpm build:updater
```7. (Linux-only) Build the WebKitGTK extension
```sh
cd src-tauri/extension_webkit
cmake .
cmake --build .
```8. Build!
```sh
# Build Dorion...
pnpm tauri build# ...or to debug/open in dev mode
pnpm dev
```All built files will be in `src-tauri/target/(release|debug)/`. Installation files (eg. `.msi`, `.deb`) are located in `bundle/`.
# Known Issues
* (non-Windows) External images (UserBG, Decor, UserPFP, etc.) will not load
* (non-Windows) Fonts/font-faces will not load# Troubleshooting
## General
### I can't see Dorion Settings!
* Check if `https://raw.githubusercontent.com/` URLs are being blocked by any system-wide adblockers/firewalls
* Check the devtools console (`Ctrl+Shift+i`, then click "Console") to see if there are any relevant errors### "Oops! Something went wrong."
(or a similar client crash)
* Disable non-vital client mods/plugins/extensions and try again.
* If you cannot get to the settings menu, you can delete the following items:
* Windows: `%appdata%\dorion\webdata` & `%appdata%\dorion\config.json`
* Linux: `~/.config/dorion/webdata` & `~/.config/dorion/config.json`
* MacOS: `~/Library/Application Support/dorion/webdata` & `~/Library/Application Support/dorion/config.json`## Windows
### Dorion not opening
* Try installing via MSI instead of the `.zip` file
* Try using the `.zip` file instead of the MSI
* (If using the `.zip` file) make sure all files were extracted properly. Ensure you are extracting Dorion and it's contents into it's own folder.
* [Reinstall WebView2](https://developer.microsoft.com/en-us/microsoft-edge/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}`## Linux
### White/blank/frozen screen
* Run Dorion with either, or both, of the following environment variables:
```sh
WEBKIT_DISABLE_COMPOSITING_MODE=1
WEBKIT_DISABLE_DMABUF_RENDERER=1
```# TODO
* [x] Multi-thread CSS processing
* [x] Use resource files from within the binary itself instead of the filesystem
* [x] Desktop notifications
* [x] AND displaying the number of notifs in the desktop icon
* [x] Webpack stuff
* [x] Global push-to-talk
* [x] Rich presence(?)
* [x] FULL rich presence
* [x] Custom keybinds
* [ ] Helper API methods and events for plugins
* [x] Backup localized themes
* [x] Localization timeout
* [x] Safemode key (disable themes and plugins)
* [x] New release notifications
* [x] Logging system
* [ ] Move from `device_query` to `rdev` or `inputbot` (supports more keys. May also just attempt to contribute to `device_query`)
* [x] API abstractions# Using Plugins, Extensions, and Themes
> [!TIP]
> See the `examples` directory for examples of plugins, including how to include external code and themes.Plugins, extensions, and themes are relatively simple to use, the file structure looks like so on Windows:
```
C:/Users/%USERNAME%/dorion/
├── plugins/
| └── plugin.js
├── extensions/
| └── some_unpacked_extension/
└── themes/
└── theme.css
```and like so on Linux:
```
~/.config/dorion/
├── plugins/
| └── plugin.js
└── themes/
└── theme.css
```so if you download a plugin, extension, or theme, just pop it into the `plugins`/`extensions`/`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](https://github.com/SpikeHD/Dorion/blob/main/CONTRIBUTING.md)
## Contributors
# Screenshots
## Installer Size Comparison (Windows)
## Full Installed Size Comparison (Windows)
## Loading screen
## Settings Menu
Theme: [Catpuccin - Frappe](https://github.com/catppuccin/discord)
Theme: [Fluent](https://betterdiscord.app/theme/Fluent)