Skip to content
forked from SpikeHD/Dorion

[LINUX ONLY] Fork of Dorion meant to package with its own WebRTC to allow for voice support without lowering system security.

License

Notifications You must be signed in to change notification settings

Zexolver/Vorion

 
 

Repository files navigation


Vorion

Vorion is a fork of Dorion meant to integrate its own WebRTC into the app to allow voice support for Linux distros!
https://discord.gg/agQ9mRdHMZ - Original Dorion Discord server (There is no Vorion server

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

You can find portable builds in the releases page. You can also build Vorion yourself)

Table of Contents

Package Repositories

I do not maintain any instances of the original Dorion nor Vorion in any package repositories myself, however some very kind people maintain some in their own spare time:

  • Linux:
    • Arch AUR (Maintained by Refined7075)
      yay -S dorion-bin
    • NixOS
      nix-shell -p dorion

Note

Maintaining Vorion 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
  • Global push-to-talk and custom keybinds
  • Shelter and (optionally) Vencord/Equicord included out of the box
  • Full RPC/game presence support included out of the box. Enable it in "Performance & Extras"!
  • (Hopefully) better low-end system performance.
  • ARM support for ALL platforms
  • Feature flags for picking and choosing features (when building from source)

Plugins

Vorion comes with shelter, so that should cover at least some plugin-related needs. You can also enable client mods like Vencord inside the Vorion 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!

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

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

Jump to "Using Plugins and Themes"

Platform Support - Original Dorion

Feature Linux - in General
Basics (logging in, navigation, text/DMs etc.) ~1
Voice 2
Themes
Shelter
Vorion Plugins

Platform Support - Vorion

Feature Debian
Basics (logging in, navigation, text/DMs etc.) ~1
Voice 3
Themes ✓?
Shelter ✓?
Vorion Plugins ✓?

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. Pull the latest shelter build (this is used as a backup if it cannot be fetched on the fly)

    pnpm shupdate
  5. Apply the patches

    cd src-tauri
    cargo patch-crate
  6. Build the updater

    pnpm build:updater
  7. (Linux-only) Build the WebKitGTK extension

    cd src-tauri/extension_webkit
    cmake .
    cmake --build .
  8. Build!

    # 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. .deb) are located in bundle/.

Known Issues (Original Dorion non-Windows)

  • (non-Windows) External images (UserBG, Decor, UserPFP, etc.) will not load
  • (non-Windows) Fonts/font-faces will not load

Troubleshooting

Things you Might be Asked to Provide

If you submit an issue or ask a question in the Discord, it's likely you will be asked for the following, so please provide them if you can:

  • Devtools console output (Ctrl + Shift i, then click "Console")
  • latest.log output
    • Linux: ~/.config/dorion/logs

General

I can't see Vorion Settings!

  • Check if https://raw.githubusercontent.com/ URLs are being blocked by any system-wide adblockers/firewalls
  • Check the devtools 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:
    • Linux: ~/.config/vorion/webdata & ~/.config/vorion/config.json

Linux

White/blank/frozen screen

  • Run Vorion with either, or both, of the following environment variables:
    WEBKIT_DISABLE_COMPOSITING_MODE=1
    WEBKIT_DISABLE_DMABUF_RENDERER=1

TODO - Original Dorion

  • 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
  • Move from device_query to rdev or inputbot (supports more keys. May also just attempt to contribute to device_query)
  • API abstractions

TODO - Vorion

  • Integrate Vorion with its own WebRTC
  • Update README with more information regarding Vorion instead of Dorion
  • Initial (incomplete) changes of the README
  • Build pre-compiled binaries and put them in releases
  • See if anyone wants to help maintain a repo or PPA for Vorion

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 Linux:

~/.config/vorion/
    ├── 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 Vorion 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

Original Dorion

Issues, PRs, etc. are all welcome! For guidelines and tips, see CONTRIBUTING.md

Vorion

Help with makign Vorion work across distros is also welcome.

Contributors

Screenshots

Installer Size Comparison (Windows)

Full Installed Size Comparison (Windows)

Loading screen

Settings Menu

Theme: Catpuccin - Frappe

Theme: Fluent

Footnotes

  1. Some people report Dorion freezing on Linux, particularly when GIFs are playing. This is, as far as the original Dorion team can tell, it is a bug in WebkitGTK. 2

  2. 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. I get around to adding Vorion's own WebRTC.

  3. Have yet to integrate WebRTC into Vorion.

About

[LINUX ONLY] Fork of Dorion meant to package with its own WebRTC to allow for voice support without lowering system security.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • Rust 71.1%
  • TypeScript 18.9%
  • HTML 6.2%
  • JavaScript 1.5%
  • CMake 0.9%
  • Shell 0.6%
  • Other 0.8%