Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.

EnyoYoen/Fast-Discord

Repository files navigation

⚠ This project is discontinued due to lack of time, use it at your own risk ⚠

Fast-Discord logo
Thanks to Sour Dani for the logo

Fast-Discord

Fast-Discord image

Download Removed

  • Windows
  • MacOs
  • Linux

For Linux and MacOs, you need to install some dependencies :

  • Debian 11 or Ubuntu 21.04 or later :
$ sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtmultimedia5-dev libqt5networkauth5-dev libqt5svg5-dev libqt5websockets5-dev libpthread-stubs0-dev libopus-dev libsodium-dev
  • Previous versions of Debian or Ubuntu:
$ sudo apt-get install qt5-default qtmultimedia5-dev libqt5networkauth5-dev libqt5svg5-dev libqt5websockets5-dev libpthread-stubs0-dev libopus-dev libsodium-dev
$ brew install qt5 libpthread-stubs libsodium opus

Fast-Discord is available for Windows (x64), Linux (x64) and MacOs (x64) for now.
You can compile Fast-Discord if it is not available for your operating system or your arch : Build and Run.

Get your Discord token

Go to https://discord.com/login without logging in
Press Ctrl+Shift+I to open the Web Developer Tools
Go to the Network tab

Press XHR

Now log in : network requests should appear

Open one of the request and search for the Authorization header in Request Headers (If it is not here, open an other request)

Copy the token next to "Authorization"

Build and Run

Dependencies

  • Qt5 (Widgets, Network, WebSockets, Multimedia, WebEngine)
  • Pthread
  • Opus
  • Sodium

Install the dependencies

On Debian 11 or Ubuntu 21.04 or later

$ sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtmultimedia5-dev libqt5networkauth5-dev libqt5svg5-dev libqt5websockets5-dev libpthread-stubs0-dev libopus-dev libsodium-dev

On previous versions of Debian or Ubuntu

$ sudo apt-get install qt5-default qtmultimedia5-dev libqt5networkauth5-dev libqt5svg5-dev libqt5websockets5-dev libpthread-stubs0-dev libopus-dev libsodium-dev

On Debian/Ubuntu arm64

$ sudo apt-get install qtbase5-dev qtmultimedia5-dev libqt5networkauth5-dev libqt5svg5-dev libqt5websockets5-dev libpthread-stubs0-dev libopus-dev libsodium-dev

On Windows (with vcpkg) :

> vcpkg install qt5 qt5-websockets pthreads

On MacOS (with Homebrew) :

$ brew install qt5 libpthread-stubs libsodium opus

You will also need CMake in your system PATH (Minimum version : 3.0)

Build

In 'Fast-Discord/bin' folder :
On Windows :

cmake .. -DCMAKE_TOOLCHAIN_FILE=(path/to/)vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build . --config Release

Otherwise :

cmake .. 
cmake --build .

Run

The executable is in the 'Fast-Discord/bin' folder ;)

Contact

Fast-Discord's discord server : https://discord.gg/DezBvjrGve

Origins

The two main reasons that pushed me to create this project are: portability and client performance. One day I wanted to install Discord on a Raspberry Pi, but I was running Ubuntu with an ARM processor, and Discord doesn't provide a version for computers running Linux and ARM processors. And Discord is an application created with the Electron.js framework, so it uses a lot of resources, which is a shame for an application that you use in parallel with other applications most of the time.

Coding Conventions

If you want to contribute to this project, you must respect the coding conventions from Qt (https://wiki.qt.io/Coding_Conventions).

License

MIT License

Copyright (c) 2021 EnyoYoen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.