You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
4.8 KiB
Markdown
123 lines
4.8 KiB
Markdown

|
|
|
|
[FluffyChat](https://fluffychat.im) is an open source, nonprofit and cute [[matrix](https://matrix.org)] client written in [Flutter](https://flutter.dev). The goal of the app is to create an easy to use instant messenger which is open source and accessible for everyone.
|
|
|
|
### Links:
|
|
|
|
- 🌐 [[Weblate] Translate FluffyChat into your language](https://hosted.weblate.org/projects/fluffychat/)
|
|
- 🌍 [[m] Join the community](https://matrix.to/#/#fluffychat:matrix.org)
|
|
- 📰 [[Mastodon] Get updates on social media](https://troet.cafe/@krille)
|
|
- 🖥️ [[Famedly] Server hosting and professional support](https://famedly.com/kontakt)
|
|
- 💝 [[Liberapay] Support FluffyChat development](https://de.liberapay.com/KrilleChritzelius)
|
|
|
|
<a href='https://ko-fi.com/C1C86VN53' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi5.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
|
|
|
|
### Screenshots:
|
|
|
|
<img src="https://github.com/krille-chan/fluffychat/blob/main/docs/screenshots/mobile.png?raw=true" height="300">
|
|
<img src="https://github.com/krille-chan/fluffychat/blob/main/docs/screenshots/desktop.png?raw=true" height="300">
|
|
|
|
# Features
|
|
|
|
- 📩 Send all kinds of messages, images and files
|
|
- 🎙️ Voice messages
|
|
- 📍 Location sharing
|
|
- 🔔 Push notifications
|
|
- 💬 Unlimited private and public group chats
|
|
- 📣 Public channels with thousands of participants
|
|
- 🛠️ Feature rich group moderation including all matrix features
|
|
- 🔍 Discover and join public groups
|
|
- 🌙 Dark mode
|
|
- 🎨 Material You design
|
|
- 📟 Hides complexity of Matrix IDs behind simple QR codes
|
|
- 😄 Custom emotes and stickers
|
|
- 🌌 Spaces
|
|
- 🔄 Compatible with Element, Nheko, NeoChat and all other Matrix apps
|
|
- 🔐 End to end encryption
|
|
- 🔒 Encrypted chat backup
|
|
- 😀 Emoji verification & cross signing
|
|
|
|
... and much more.
|
|
|
|
|
|
# Installation
|
|
|
|
Please visit the website for installation instructions:
|
|
|
|
- https://fluffychat.im
|
|
|
|
# How to build
|
|
|
|
1. To build FluffyChat you need [Flutter](https://flutter.dev) and [Rust](https://www.rust-lang.org/tools/install)
|
|
|
|
2. Clone the repo:
|
|
```
|
|
git clone https://github.com/krille-chan/fluffychat.git
|
|
cd fluffychat
|
|
```
|
|
3. Choose your target platform below and enable support for it.
|
|
3.1 If you want, enable Googles Firebase Cloud Messaging:
|
|
|
|
`git apply ./scripts/enable-android-google-services.patch`
|
|
|
|
4. Debug with: `flutter run`
|
|
|
|
### Android
|
|
|
|
* Build with: `flutter build apk`
|
|
|
|
### iOS / iPadOS
|
|
|
|
* Have a Mac with Xcode installed, and set up for Xcode-managed app signing
|
|
* If you want automatic app installation to connected devices, make sure you have Apple Configurator installed, with the Automation Tools (`cfgutil`) enabled
|
|
* Set a few environment variables
|
|
* FLUFFYCHAT_NEW_TEAM: the Apple Developer team that your certificates should live under
|
|
* FLUFFYCHAT_NEW_GROUP: the group you want App IDs and such to live under (ie: com.example.fluffychat)
|
|
* FLUFFYCHAT_INSTALL_IPA: set to `1` if you want the IPA to be deployed to connected devices after building, otherwise unset
|
|
* Run `./scripts/build-ios.sh`
|
|
|
|
### Web
|
|
|
|
* Build with:
|
|
```bash
|
|
./scripts/prepare-web.sh # To install Vodozemac
|
|
flutter build web --release
|
|
```
|
|
|
|
* Optionally configure by serving a `config.json` at the same path as fluffychat.
|
|
An example can be found at `config.sample.json`. All values there are optional.
|
|
**Please only the values, you really need**. If you e.g. only want
|
|
to change the default homeserver, then only modify the `defaultHomeserver` key.
|
|
|
|
### Desktop (Linux, Windows, macOS)
|
|
|
|
* Enable Desktop support in Flutter: https://flutter.dev/desktop
|
|
|
|
#### Install custom dependencies (Linux)
|
|
|
|
```bash
|
|
sudo apt install libjsoncpp1 libsecret-1-dev libsecret-1-0 librhash0 libwebkit2gtk-4.0-dev
|
|
```
|
|
|
|
* Build with one of these:
|
|
```bash
|
|
flutter build linux --release
|
|
flutter build windows --release
|
|
flutter build macos --release
|
|
```
|
|
|
|
|
|
# Special thanks
|
|
|
|
* <a href="https://github.com/fabiyamada">Fabiyamada</a> is a graphics designer and has made the fluffychat logo and the banner. Big thanks for her great designs.
|
|
|
|
* <a href="https://github.com/advocatux">Advocatux</a> has made the Spanish translation with great love and care. He always stands by my side and supports my work with great commitment.
|
|
|
|
* Thanks to MTRNord and Sorunome for developing.
|
|
|
|
* Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.
|
|
|
|
* <a href="https://github.com/madsrh/WoodenBeaver">WoodenBeaver</a> sound theme for the notification sound.
|
|
|
|
* The Matrix Foundation for making and maintaining the [emoji translations](https://github.com/matrix-org/matrix-spec/blob/main/data-definitions/sas-emoji.json) used for emoji verification, licensed Apache 2.0
|