This repository contains source code for the TaigaChat client. As well as source code for the reference server implementation. The code is licensed under AGPL-3.0 (for more information see the NOTICE file) but a private license can be obtained by contacting Alexander Björkman.
TaigaChat is a decentralized chat-client. Anyone should be able to self-host their own server. And the standard should not be dependent on any central service. Any centralized service in TaigaChat is there purely for the convinience of those that are less concious about their online presence.
TaigaChat in its current state has (a):
- Voice Calls
- Chat Rooms
- Web Client
- Push to Talk
- S3 Attachments
- Update Button
- Server Profile Synchronization
- Role-based Permissions System
- Cryptographic Offline Login
- Hosted Servers
For more information regarding the goals and design of TaigaChat navigate to taigachat.com
TaigaChat is supported on the following platforms:
- Windows
- Linux
- Web
- Android (W.I.P)
In the future, hopefully more platforms will be added to this list.
If you have an idea for a feature or improvement, please create an issue and discuss it first. In most cases, I would prefer to implement the feature myself. However, I do not wish to discourage people from playing around with the code - to the contrary, I would feel honoured if someone did.
Installation on Linux should be done via the AppImage (which has not been realeased yet, but can easily be built).
Simply navigate to https://cdn.taigachat.se/versions/build and optionally install it as a PWA.
A prebuilt Windows MSI file can be found here.
To start the server simply cd into the server directory and run:
deno run --unstable --allow-run --allow-read --allow-net --allow-write --allow-env server\server.ts
Configuration can be done by setting environment variables. These environment variables
should always start with TAIGACHAT_*
and the definitions (for the server) can be found
here.
For building the project please see:
Building The Client
Building The Server