• Stars
    star
    485
  • Rank 88,862 (Top 2 %)
  • Language
    Rust
  • License
    GNU General Publi...
  • Created almost 2 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!


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

Download a release (.msi for Windows 10/11, .zip for Windows 7, .deb for Debian, etc.) and install!

You can also build it yourself!

Features

  • Themes
  • Plugins
  • Multi-profile
  • Smaller overall size
  • (Hopefully) better low-end system performance

Plugins

Dorion comes with a custom fork of Vencord, so that should cover a lot of your plugin needs. Otherwise, it also supports most browser-based plugins! There is no BetterDiscord plugin support, however.

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] βœ— [1]
Themes βœ“ βœ“ βœ“
Vencord (and included plugins) βœ“ βœ“ βœ“
Dorion Plugins βœ“ βœ“ βœ“

[1] Currently can connect to VC, but won't pass "RTC Connecting". Needs a bit more coaxing to get working.

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 Vencord fork

    pnpm vupdate
  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 html, icons, and injection folders are required. Installation files (eg. .msi) are located in bundle/

Known Issues

  • (Windows) Large images in themes will not load
  • Fonts/font-faces from sources other than Google will not load
  • (MacOS) Injection JS does not reinject after reloading the page
  • (Linux) Uses a wackload of memory for some reason

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, 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 application 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(?)
  • 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 existing ones with actual use.

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:

~/dorion/
    β”œβ”€β”€ plugins/
    |   └── plugin.js
    └── themes/
        └── theme.css

so if you download a plugin or theme, just pop it into the plugins/themes folder!

Contributing

Issues, PRs, etc. are all welcome!

Screenshots

image Installation size.

image Loading screen. So cool!

image

image Theme: Dark Neon

More Repositories

1

AmazonMonitor

Amazon price checker, item monitor and stock monitor, all shoved into a Discord bot
TypeScript
214
star
2

MojoFrontend

Frontend for Mojo Console
JavaScript
27
star
3

CSMLC

Machine learning model trained on CS2, used for detecting the location of players with nothing more than an image of the screen.
Python
16
star
4

shelter-plugins

Shelter plugins, some of them Dorion related
TypeScript
16
star
5

rsRPC

Rust implementation of the Discord RPC server
Rust
12
star
6

SpikeHD.github.io

Wow what an awesome website you should definitely visit it
JavaScript
8
star
7

gm-sysinfo

Cross-platform GameMaker extension for getting system information and resource usage
Rust
8
star
8

reMITM

Dead-simple program that can selectively redirect/proxy traffic from your computer to other places.
Rust
7
star
9

AsciiVert

Convert images and videos to ascii art!
JavaScript
5
star
10

file-metadata

Simple, cross-platform GameMaker lib for getting file metadata
Rust
5
star
11

Flooed

Tiny-ER alternative Discord client with themes, plugins and desktop features, all while using your exising browser installation
Rust
4
star
12

OpenMCPanel

Create, manage, and monitor one, few, or many Minecraft servers using a web-based UI.
TypeScript
3
star
13

nds_pong

Learning homebrew by creating Pong for the NDS
C++
3
star
14

GMBuilder

VSCode extension for building GameMaker games
TypeScript
2
star
15

ubiapi

Uplay/Ubisoft API for Node
JavaScript
2
star
16

RogueTop

Moddable, lightweight PokeRogue Desktop App for Windows, Mac and Linux, built for x86 and ARM.
Rust
2
star
17

DorionPluginsAndThemes

Dorion stuff I have made
JavaScript
2
star
18

WhatsMyDPS

DPS meter mod for "The Binding of Isaac"
Lua
2
star
19

Titune

πŸ“» Entirely client-side, fully time & song synced for everyone, radio website.
TypeScript
2
star
20

goombot

JavaScript
1
star
21

SquidTerm

Squid Game on the terminal
JavaScript
1
star
22

TwitchPlaysAnything

A twitch-plays style program with extended functionality allowing for usage in almost anything
JavaScript
1
star
23

SpikeHD

1
star
24

MenuRecreations

Menu recreations from various video games
JavaScript
1
star
25

Pawny

"Modded" Chess.com client.
JavaScript
1
star
26

Procchi

Stupid simple, in-memory system monitoring, accessible from the web
TypeScript
1
star
27

gamebanana

Game Banana API wrapper for NodeJS
JavaScript
1
star