trifa_material
trifa_material copied to clipboard
TRIfA Material is a Desktop Messaging Client using the encrypted peer-to-peer Tox protocol
TRIfA Material
Automated screenshots:

Build Status
Looking for TRIfA Mobile version? follow me
Development Snapshot Version
the latest Development Snapshot can be downloaded from here
Installation & starting the App [Linux, Windows and MacOS]
- Install (minimum) JDK 17 as your default java
- Download or checkout the source repository
- enter the
trifa_materialdirectory - run:
- Linux:
./gradlew run - Windows:
gradlew.bat run - MacOS:
./gradlew run - raspi 64bit:
export MESA_EXTENSION_OVERRIDE="-GL_ARB_invalidate_subdata" ./gradlew run - Asahi Linux:
export MESA_EXTENSION_OVERRIDE="-GL_ARB_invalidate_subdata" export MESA_GL_VERSION_OVERRIDE=3.0 ./gradlew run - NixOS:
chmod a+x trifa-material-x86_64.appimage nix-shell -p appimage-run appimage-run trifa-material-x86_64.appimage
- Linux:
or download any of the release packages
Features
- One to one chat with friends
- use Tor Proxy (to hide your IP address)
- reliable File transfers
- Drag & Drop for File transfers with friends
- NGC (new group chats)
- Group Images in NGC group chats
- Drag & Drop for Images in NGC group chats
- Group History Sync (the last 130 minutes)
- Notifications
- Multiaccount Support
- Screensharing
- Audio calls
- Noise Suppression for Audio Calls
- Video calls
- Screenshots
- Emoticons
- Emoji Popup while you type (activate by typing
:smilefor example) - And many more options!
Help Translate the App in your Language
Use Weblate: https://hosted.weblate.org/projects/trifa-a-tox-client-for-android/trifa-material/
Remove my Background from the Camera Video like Zoom or MS Teams does (Linux only!)
check instructions on how to do it here: https://github.com/floe/backscrub
Add Acoustic Echo Cancellation (AEC) to your microphone input (Linux only!)
Activate AEC on Linux with pulseaudio.
You need to have an audio in source already plugged in (like a headset with a microphone)
pactl unload-module module-echo-cancel
pactl load-module module-echo-cancel \
aec_method=webrtc \
aec_args='noise_suppression=1,intelligibility_enhancer=0,comfort_noise=0' \
source_name=echocancel sink_name=echocancel1
pacmd set-default-source echocancel
pacmd set-default-sink echocancel1
to unload the AEC again
pactl unload-module module-echo-cancel
Add Acoustic Echo Cancellation (AEC) and/or Noise Reduction (NS) (Linux only!) with Easy Effects
you can install https://github.com/wwmm/easyeffects with your packagemanager or as flatpak. It has nice plugins for AEC and NS, and some other nice things.
Capture Video and Audio
ffmpeg lib is used to capture Video and Audio.
The Java and JNI parts are built here: https://github.com/zoff99/ffmpeg_av_jni
Notifications
Java can do Notifications on Windows properly, but on macOS and Linux a native library is needed.
The Java and JNI parts are built here: https://github.com/zoff99/jni_notifications
BOM (Bill of materials)
What dependencies are used by trifa material:
https://github.com/Zoxcore/trifa_material/releases/download/nightly/bom_implementation.txt
Full list of compile time dependencies:
https://github.com/Zoxcore/trifa_material/releases/download/nightly/bom_compileclasspath.txt
Full list of run time dependencies:
https://github.com/Zoxcore/trifa_material/releases/download/nightly/bom_runtimeclasspath.txt
Custom fonts
NotoColorEmoji.ttf
downloaded from this repo https://github.com/googlefonts/noto-emoji
https://github.com/googlefonts/noto-emoji/raw/main/fonts/NotoColorEmoji.ttf
NotoSans-Regular.ttf
NotoSans-SemiBold.ttf
both downloaded from https://fonts.google.com/noto/specimen/Noto+Sans
Noto-COLRv1_normal_chars_removed.ttf
this is made by removing all normal characters like SPACE and NUMBERS from Noto-COLRv1.ttf
(from this repo https://github.com/googlefonts/noto-emoji/tree/main/fonts)
Any use of this project's code by GitHub Copilot, past or present, is done without our permission. We do not consent to GitHub's use of this project's code in Copilot.
No part of this work may be used or reproduced in any manner for the purpose of training artificial intelligence technologies or systems.
