Lightweight alternative Discord client with a smaller footprint and some fancy extensible features.

Related tags

Command-line Dorion
Overview

Dorion

Dorion is an alternative Discord client aimed and lower-spec or storage-sensitive PCs that supports themes, plugins, and more!

Table of Contents

Setup

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

Benefits

  • Portable (mostly)
  • Plugins
  • Themes
    • Including support for BetterDiscord themes!
  • Low - if any - cache footprint (compared to the PTB client)
  • Extremely small installation size (~7mb!) on Windows
    • This is because unlike the Discord client, Dorion does not bundle an entire Chromium engine
  • Often loads slightly faster (vanilla)
  • Switch between Stable, Canary and PTB clients straight from the settings
  • Made by me (automatically makes it cooler)

I know I made the program 'n all, but I actually use this on my laptop as opposed to the official client, so I can vouch ๐Ÿ˜Ž

Limitations

Dorion simply runs the web-based version of Discord within it's own client. This means that things Discord web doesn't support will not work. I am unaware of any significant feature that is missing.

TODO

  • Desktop notifications
  • Rich presence
  • Helper API methods and events for plugins
  • Dorion settings editable within regular client (iFrame probably)
  • Backup localized themes

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:/path/to/Dorion
    โ”œโ”€โ”€ Dorion.exe
    โ”œโ”€โ”€ plugins/
    |   โ””โ”€โ”€ plugin_name/
    |       โ””โ”€โ”€ index.js
    โ””โ”€โ”€ themes/
        โ””โ”€โ”€ theme.css

and like so on Linux:

.
โ””โ”€โ”€ ~/dorion
    โ”œโ”€โ”€ plugins/
    |   โ””โ”€โ”€ plugin_name/
    |       โ””โ”€โ”€ index.js
    โ””โ”€โ”€ themes/
        โ””โ”€โ”€ theme.css

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

Contributing

Issues, PRs, etc. are all welcome!

Screenshots

image

image

image

image

Comments
  • Support Vencord

    Support Vencord

    I'm currently using this client mod called Vencord on the official client and it comes with a lot of useful plugins and also lets you use themes kind of how Dorion does it (it loads it from a .css file). I think it'd be good if Vencord could somehow be integrated with Dorion so that I can continue to use those plugins.

    If it makes it any easier, the mod also comes as a browser extension and userscript as well: https://github.com/Vendicated/Vencord/releases/latest/download/extension.zip https://github.com/Vendicated/Vencord/releases/download/devbuild/Vencord.user.js

    opened by Liz-chan 7
  • Windows 7 support?

    Windows 7 support?

    Hi, I'm using Windows 7 SP1 x64 For some reason Dorion does not work, the portable zip just starts and closes quickly (0.3.1), the installer gives an error (0.4.0). Dorion Windows 7 Installer I wonder if the program is supported, or if it can be fixed to run on Windows 7 as well.

    opened by c-sanchez 3
  • Future: Re-style components to use Discord styling

    Future: Re-style components to use Discord styling

    The change between using external documents to integrating entirely within Discord was hasty, and I didn't want to rebuild everything to use Discord styles. I should, however, do that, so it will be something done in the future.

    enhancement future goal 
    opened by SpikeHD 1
  • Fix memory leak

    Fix memory leak

    Very slowly will the RAM usage increase. Can't tell if it's my fault or just Discord being Discord, so if its me I should fix it, and if its Discord I should try and see if I can make a scuffed fix.

    opened by SpikeHD 1
  • Bump tauri from 1.0.5 to 1.0.7 in /src-tauri

    Bump tauri from 1.0.5 to 1.0.7 in /src-tauri

    Bumps tauri from 1.0.5 to 1.0.7.

    Release notes

    Sourced from tauri's releases.

    tauri v1.0.7

    Updating crates.io index

    Cargo Audit

    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
          Loaded 469 security advisories (from /home/runner/.cargo/advisory-db)
        Updating crates.io index
        Scanning Cargo.lock for vulnerabilities (458 crate dependencies)
    Crate:     xml-rs
    Version:   0.8.4
    Warning:   unmaintained
    Title:     xml-rs is Unmaintained
    Date:      2022-01-26
    ID:        RUSTSEC-2022-0048
    URL:       https://rustsec.org/advisories/RUSTSEC-2022-0048
    Dependency tree:
    xml-rs 0.8.4
    โ””โ”€โ”€ plist 1.3.1
        โ””โ”€โ”€ tauri-codegen 1.0.4
            โ”œโ”€โ”€ tauri-macros 1.0.4
            โ”‚   โ””โ”€โ”€ tauri 1.0.7
            โ”‚       โ”œโ”€โ”€ tauri 1.0.7
            โ”‚       โ”œโ”€โ”€ restart 0.1.0
            โ”‚       โ””โ”€โ”€ app-updater 0.1.0
            โ””โ”€โ”€ tauri-build 1.0.4
                โ””โ”€โ”€ app-updater 0.1.0
    

    warning: 1 allowed warning found

    [1.0.7]

    • Escape glob special characters in files/directories when dropping files or using the open/save dialogs.
      • bcd9dc7f fix(core): escape glob characters in drop/dialogs , closes #5234 (#5237) on 2022-11-08

    Cargo Publish

    Updating crates.io index
       Packaging tauri v1.0.7 (/home/runner/work/tauri/tauri/core/tauri)
       Verifying tauri v1.0.7 (/home/runner/work/tauri/tauri/core/tauri)
     Downloading crates ...
      Downloaded futures v0.3.25
      Downloaded generic-array v0.14.6
      Downloaded futures-macro v0.3.25
      Downloaded block-buffer v0.10.3
      Downloaded convert_case v0.4.0
      Downloaded globset v0.4.9
      Downloaded heck v0.3.3
      Downloaded cpufeatures v0.2.5
      Downloaded http v0.2.8
    </tr></table> 
    

    ... (truncated)

    Commits
    • 2e1bd04 fix(cli.js): set version to 1.2.0
    • 45a5cd5 Apply Version Updates From Current Changes (#5295)
    • 3afccfc chore(deps): update wry to 0.22 (#5573)
    • 1aba178 feat(ci): define workspace for rust-cache, improving cache key (#5559)
    • 878421b fix: Add WASM files to Vite Allow List and change devPath to localhost to fix...
    • 777c086 feat(ci): improve cache usage
    • 60e0860 chore(ci): do not cache artifacts-updater on failure
    • d8b996c chore(changes): adjust config-schema build scripts
    • 7aaf27c fix(bundler): load WiX DLLs on Github Actions (#5552)
    • 014aeca fix(ci): use python 3.10 on bench workflow (#5550)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Dorion Settings disappeared

    Dorion Settings disappeared

    When language of Discord is set as non-English languages, Dorion Settings can not be accessed. Example with Traditional Chinese Example with Japanese

    https://github.com/SpikeHD/Dorion/blob/main/src-tauri/injection/injection.js#L89 Seems like aria-label change with the language. For example, it is aria-label="ไฝฟ็”จ่€…่จญๅฎš" with Traditional Chinese. It seems that "Friend Requests", "Nitro", and "HypeSquad" are not localized with languages currently.

    bug TODO 
    opened by Small-Ku 0
  • Ability to drag files to the client to send

    Ability to drag files to the client to send

    Currently, if you try to drag a photo or a file into the client to send it, nothing happens while you're dragging it or after you drop it. In the stock client and the website, you can send files by dragging it into the window, so I think it'd be a good improvement to have this in Dorion as well.

    bug needs workaround 
    opened by Liz-chan 2
  • Add setting to open links in default browser

    Add setting to open links in default browser

    Currently, any link or image you try to open in Dorion opens in the Edge Webview, but I'd much prefer for it to open in my default browser like how the regular Discord client does it. I'm not seeing any setting to enable that at the moment, so I think it'd be a nice improvement to add.

    enhancement 
    opened by Liz-chan 6
Releases(v0.4.4)
Owner
SpikeHD
College student
SpikeHD
Like wee_alloc, but smaller since I used skinnier letters in the name.

lol_alloc A laughably simple wasm global_allocator. Like wee_alloc, but smaller since I used skinnier letters in the name. lol_alloc is a experimental

Craig 44 Dec 28, 2022
Mod for pxtone Collage that adds some shiny features

ptcMod Mod for pxtone Collage that adds some shiny features READ THIS FIRST The program is extremely invasive to ptCollage. This project makes extensi

David M. 6 Sep 17, 2022
A run-codes cli front end with some extra features

run-cli Run-cli A run-codes cli front end with some extra features Report Bug ยท Request Feature Table of Contents About The Project Built With Getting

Matheus Vieira 13 Nov 16, 2022
Rust port of https://github.com/hunar4321/life_code with some fun features.

Smarticles A Rust port of Brainxyz's Artificial Life simulator with some fun features. A simple program to simulate primitive Artificial Life using si

Chevy Ray Johnston 15 Dec 24, 2022
Simple low-level web server to serve file uploads with some shell scripting-friendly features

http_file_uploader Simple low-level web server to serve file uploads with some shell scripting-friendly features. A bridge between Web's multipart/for

Vitaly Shukela 2 Oct 27, 2022
Some Steam patches, fixing broken Steam features on Asus Rog Ally

Ally Steam Patches Ally Steam Patches is a tool designed to enhance your Steam experience by applying patches to the Steam client. Installation To ins

MIkhail Kozlov 2 Jul 10, 2023
Some Steam patches, fixing broken Steam features on Asus Rog Ally

โš™๏ธ Steam Patch Steam Patch is a tool designed to enhance your Steam experience by applying patches to the Steam client. ?? Installation To install Ste

MIkhail Kozlov 3 Jul 18, 2023
Threadless Module Stomping In Rust with some features

NovaLdr is a Threadless Module Stomping written in Rust, designed as a learning project while exploring the world of malware development. It uses advanced techniques like indirect syscalls and string encryption to achieve its functionalities. This project is not intended to be a complete or polished product but rather a journey into the technical aspects of malware, showcasing various techniques and features.

null 139 Oct 23, 2023
๐Ÿ“ฐ A terminal feed reader with a fancy ui

tuifeed Developed by @veeso Current version: 0.1.1 (17/11/2021) ~ A terminal news feed reader with a fancy ui ~ tuifeed About tuifeed ?? Features ?? G

Christian Visintin 55 Jan 5, 2023
a rust crate for drawing fancy pie charts in the terminal

piechart piechart is a rust crate for drawing fancy pie charts in the terminal. Example usage: use piechart::{Chart, Color, Data}; fn main() { le

Jakob Hellermann 35 Dec 30, 2022
A simple, lightweight and extensible command line argument parser for rust codebases

A simple, lightweight and extensible command line argument parser for rust codebases. This crate aims to provide you with an easy-to-use and extensibl

Victor Ndaba 20 Nov 12, 2022
Dreamer is an extensible tool manager and shell for creating small, lightweight, dev environments instantly.

Dreamer ?? Does what you want, not what you say. Dreamer is a universal tool management system for any language, any build system, and any framework.

Luke Davis 4 Oct 23, 2023
A lightweight command line utility with some small functions for CTFs.

Ice Ice is a lightweight command line utility to help with simple problems encountered while playing CTFs. Extracted from graveyard NOTE: Most of the

Aquib 12 Dec 19, 2022
skyWM is an extensible tiling window manager written in Rust. skyWM has a clear and distinct focus adhering to the KISS and Unix philosophy.

Please note: skyWM is currently in heavy development and is not usable as of yet. Documentation and versions will change quickly. skyWM skyWM is an ex

MrBeeBenson 74 Dec 28, 2022
Maccha is an extremely extensible and themable power menu for Windows, macOS, and Linux.

Maccha I hate coffee. Maccha is an extremely extensible and themable power menu for Windows, macOS, and Linux. Plugins Plugins are written in Rust (ot

Kyza 9 May 13, 2023
A cross-platform graphical process/system monitor with a customizable interface and a multitude of features

A cross-platform graphical process/system monitor with a customizable interface and a multitude of features. Supports Linux, macOS, and Windows. Inspired by both gtop and gotop.

Clement Tsang 5.8k Jan 8, 2023
Rust implementation of PowerSession, with new features and enhancements

PowerSession Record a Session in PowerShell. PowerShell version of asciinema based on Windows Pseudo Console(ConPTY) This is a new Rust implemented ve

Watfaq Technologies Pty Ltd 43 Dec 26, 2022
Estratto is a powerful and user-friendly Rust library designed for extracting rich audio features from digital audio signals.

estratto ใ€œ An Audio Feature Extraction Library estratto is a powerful and user-friendly Rust library designed for extracting rich audio features from

Amber J Blue 5 Aug 25, 2023
A versatile and extensible logging implementation.

Logforth Project Overview A versatile and extensible logging implementation. Usage Add the dependencies to your Cargo.toml with: cargo add log cargo a

FastLabs 36 Oct 19, 2024