Skip to content

⚡ A self-hosted chat application for desktop written in Flutter!

License

Notifications You must be signed in to change notification settings

omegaui/chat_desk

alpha-preview.webm

chat_desk (in the making)

A self-hosted chat application for desktop written in Flutter!

Features

  • 🚀 Self-Host your own Chat Rooms
  • 🔐 Set a Server Code (Users need this code additionally with server address to connect)
  • 💙 Complete Private Chatting
  • ❌ No Data Collection
  • 🪨 Unbreakable Core
  • 🎉 Truly Opensource

Features to be implemented

  • 😼 Blocking Users
  • 💕 An optional white list of users to only allow connection from specified users
  • 🎽 Multi-Theming

Testing (requires dart installed)

Finely Tested on Windows and Linux!

I don't own a mac, So, Mac Testers are needed! Any help would be very grateful 💕

Linux, Windows and MacOS

Head over to Releases

Linux One Line Install

curl "https://raw.githubusercontent.com/omegaui/chat_desk_linux_install_script/main/script/install-linux.sh" | sh

Windows and Mac

Apart from setup, you are required to download chat_desk_core & pubspec.yml at the installation root directory,

Run the following to download it,

wget https://raw.githubusercontent.com/omegaui/chat_desk_core/main/bin/<platform>/chat_desk_core.exe
wget https://raw.githubusercontent.com/omegaui/chat_desk_core/main/pubspec.yml

where, platform is either windows or mac.

mac is now 🎉 supported (experimental).

Build From Source

It's easy

  • Clone the repo
git clone https://github.com/omegaui/chat_desk
cd chat_desk
  • Getting Dependencies
flutter pub get
wget https://raw.githubusercontent.com/omegaui/chat_desk_core/main/bin/<platform>/chat_desk_core.exe
# for linux
# sudo chmod 777 chat_desk_core.exe
  • Launching
flutter run 

⚡ Contributing

Hey this is for you, if you want to help in building the project,

Since, the core of the program is separated and independent of the UI, There seems a hassle of building both the core and the UI for testing changes/features,

⚡ But this is not the case with chat_desk ⚡

For debugging purpose, you can replace the spawner command in server_handler.dart, to enable embedded core,

All you need to do is to replace,

Only this line

    _serverProcess = await Process.start(
"${!Platform.isWindows ? "./" : ""}chat_desk_core.exe", []);

With this line

    _serverProcess = await Process.start(
"dart", ["lib/core/server/server.dart"]);

And thats all, your embedded server is ready for testing!!

Dark Mode Banner



Light Mode Banner



Windows 11 Preview