chat_desk
chat_desk copied to clipboard
⚡ A self-hosted chat application for desktop written in Flutter!
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