Getting started
Install a release, sign in to a network, and know where your data goes.
Download
Every release is built by GitHub Actions from a v* tag (release.yml), and every package is installed and started on a clean system there before the release is published. The links below always fetch the latest release.
| System | Download | What it is |
|---|---|---|
| macOS 13 or later, Apple silicon | .dmg or .zip | tinyclient.app, to drag to Applications |
| Debian, Ubuntu | .deb (arm64) | A package for apt, with a menu entry |
| Fedora, openSUSE | .rpm (arm64) | A package for dnf or zypper, with a menu entry |
| Any Linux | .AppImage (arm64) | One file that runs without installing |
| Any Linux | .tar.gz (arm64) | The four programs and install.sh |
| Windows 10 or 11, x86_64 | -setup.exe | An installer that needs no administrator |
| Windows, portable | .zip | The four programs, run where you unpack them |
Linux files are for x86_64 unless they say arm64; on arm64 the names carry aarch64 where these carry x86_64.
Check a download
SHA256SUMS lists every file’s checksum. Put it beside the download and run:
sha256sum -c --ignore-missing SHA256SUMS # Linux
shasum -a 256 -c --ignore-missing SHA256SUMS # macOS
Get-FileHash tinyclient-windows-x86_64-setup.exe # Windows: compare with its line in SHA256SUMSmacOS
- Open the disk image and drag
tinyclientto Applications. The.zipholds the same app. - Open it. The app is signed ad hoc, not notarized by Apple, so macOS refuses it the first time.
- Open System Settings › Privacy & Security, find the message about tinyclient and choose Open Anyway, if you trust the build.
Open the app rather than the programs inside it. macOS grants the microphone to an app bundle, so a call needs the bundle.
On first start, chatd reads your sign-ins from the login keychain. If macOS asks, allow it; until then the window says it is waiting for permission and shows what is cached.
To upgrade, replace the app with the new one. To remove it, quit tinyclient and move the app to the Trash.
Linux
Choose the format for your distribution. All of them need glibc 2.35 or later: Ubuntu 22.04, Debian 12, Fedora 38 or newer. The .deb and .rpm bring in the libraries tinyclient uses; with the AppImage and the .tar.gz they must already be there: GTK 3, WebKitGTK 4.1, ALSA, OpenSSL 3 and Vulkan, which a desktop with a web browser usually has.
Debian and Ubuntu
sudo apt install ./tinyclient-linux-x86_64.deb
sudo apt remove tinyclient # to remove itFedora and openSUSE
sudo dnf install ./tinyclient-linux-x86_64.rpm # Fedora
sudo zypper install --allow-unsigned-rpm ./tinyclient-linux-x86_64.rpm # openSUSE
sudo dnf remove tinyclient # to remove it; zypper remove on openSUSEThe packages are not in a repository and not signed, so nothing updates them: install a newer download the same way to upgrade.
AppImage
chmod +x tinyclient-linux-x86_64.AppImage
./tinyclient-linux-x86_64.AppImageNothing is installed; delete the file to remove it. It mounts itself with FUSE (the fuse3 package); without FUSE, add --appimage-extract-and-run. If it does not start, install WebKitGTK 4.1: libwebkit2gtk-4.1-0 on Debian and Ubuntu, webkit2gtk4.1 on Fedora.
Any distribution: the .tar.gz
tar -xzf tinyclient-linux-x86_64.tar.gz
cd tinyclient
./install.sh # for you, in ~/.local; no root
sudo ./install.sh --system # or for everyone, in /usr/localinstall.sh puts the four programs in lib/tinyclient, tinyclient in bin, and adds the menu entry and icons. Run it from a newer download to upgrade. To remove it, run ~/.local/lib/tinyclient/install.sh --uninstall, or sudo /usr/local/lib/tinyclient/install.sh --uninstall --system. You can also skip it and run ./tinyclient where you unpacked it.
On every distribution
- Sign-ins are kept in the Secret Service (GNOME Keyring or KWallet), which has to be running. Without it,
chatdrefuses to sign anyone in rather than keep a session it would lose. - The window needs Vulkan, and Wayland or X11.
- Linux builds are tested in CI and have had far less hands-on use than macOS. Reports are welcome.
Windows
- Run
tinyclient-windows-x86_64-setup.exe. It installs for you only, in%LOCALAPPDATA%\Programs\tinyclient, without asking for an administrator, and adds tinyclient to the Start menu. - The installer is not code-signed, so SmartScreen may say Windows protected your PC. Choose More info › Run anyway, if you trust the build.
- To upgrade, run a newer installer. To remove tinyclient, use Settings › Apps › Installed apps.
- For a scripted install:
tinyclient-windows-x86_64-setup.exe /VERYSILENT /CURRENTUSER. - The portable
.zipneeds no installing: unpack it into one folder and runtinyclient.exe; delete the folder to remove it. - The sign-in window needs WebView2, which current Windows includes. Sign-ins are kept in Windows Credential Manager.
However it is installed, the four programs stay together in one folder: each finds the others beside itself. You start only tinyclient; it starts chatd when nothing answers on its socket, and chatd starts the other two when they are needed.
Sign in
Press Sign in beside a network. Each network has its own way in:
| Network | How |
|---|---|
| Discord | Discord’s own sign-in page opens in a separate window, which closes when you are in. Passwords, two-factor codes and captchas are Discord’s page, not tinyclient’s. |
| Slack | Slack’s sign-in page, the same way. Every workspace that sign-in holds is added. |
| Teams | Microsoft’s sign-in page. Work and school accounts only; your organization can refuse the sign-in. |
| Telegram | Scan the code tinyclient shows with Telegram on your phone, or enter your phone number and the code Telegram sends. Then your cloud password, if you set one. |
| Signal | On your phone, open Signal › Settings › Linked devices › Link new device, and scan the code. A linked device receives only what arrives after it was linked. |
The finished session goes to your system’s credential store, under the service tinyclient, one item per network. Privacy & security lists everything that is stored.
Where your data lives
| System | Data directory |
|---|---|
| macOS | ~/Library/Application Support/tinyclient |
| Linux | $XDG_DATA_HOME/tinyclient, by default ~/.local/share/tinyclient |
| Windows | %APPDATA%\tinyclient |
Setting TINYCLIENT_DIR moves everything to that directory instead, and turns sign-in off so the credential store is never touched. That is how the demo and the tests run.
Sign out and remove
Signing out of an account ends its session on the network where the network allows it, then deletes its credential item, its cached messages and its media. Signing out of Signal removes the linked device from your account.
To remove tinyclient completely: sign out of each account, quit, uninstall it as above for the way you installed it, and delete the data directory above. The sign-in window keeps its own browser data so an interrupted sign-in can resume; on Linux and Windows it is in tinyclient/login/ under the same parent directory, and on macOS it is a WebKit data store of its own.
Without a window
tinyclient --text, or any build without the gui feature, prints account status and the inbox as lines of text and exits. An interactive terminal interface is not built yet.