Cinny is a free, open source data security & privacy project written in TypeScript and released under AGPL-3.0. It has 3,893 GitHub stars, 578 forks and 354 open issues, and was last pushed 2 days ago. On this registry it ranks #9 of 14 tracked projects in Data Security & Privacy, with 5 head-to-head comparisons available. It gained 2 stars over the last 6 tracked days.

What is Cinny?

What it is

Cinny is an open-source Matrix client written in TypeScript under AGPL-3.0. It lives in the Matrix ecosystem and is presented as "yet another matrix client," focusing on a simple, elegant, and secure interface. Its stated goal is an instant messaging application that is easy for people and has a modern touch.

The problem it addresses is the need for a Matrix client that can be used through a hosted web app, a development preview, or a desktop distribution, while also allowing self-hosting. It exposes configuration for default homeservers and explore pages, and it is currently replacing matrix-js-sdk with its own SDK.

Key capabilities

  • Provides a Matrix client interface for instant messaging, using the React and TypeScript stack indicated by repository metadata.
  • Hosts the current release at app.cinny.in, updated on each new release.
  • Offers dev.cinny.in, continuously deployed from the dev branch, with a warning that it could be broken.
  • Supports desktop use through the separate cinny-desktop repository.
  • Supports self-hosting by serving the dist/ directory from a webserver after downloading a release tarball.
  • Provides Docker deployment through the ajbura/cinny DockerHub image and a GitHub Container Registry package.
  • Lets self-hosters configure default homeservers and explore pages in config.json, enable hash routing, rebuild for subdirectory paths in build.config.ts, and verify tarballs with the provided PGP key.

Who uses it and how

  • Users who want the current release can open app.cinny.in without installing anything.
  • Testers can use dev.cinny.in to follow the dev branch, accepting that it may be broken.
  • Desktop users can install the application from the cinny-desktop repository.
  • Self-hosters can serve the web client from their own webserver, using the provided nginx, caddy, or netlify examples, or deploy it as a Docker image.
  • Contributors can read CONTRIBUTING.md and HACKING.md, but pull requests are not accepted while the matrix-js-sdk replacement is underway.

Getting started

Typical use starts at app.cinny.in; self-hosting can use a release tarball served from dist/, the ajbura/cinny DockerHub image, or the GitHub Container Registry image. Desktop users can obtain the app from the cinny-desktop repository.

When to use it — and when not to

Cinny fits Matrix users who want a TypeScript web client with hosted, development, desktop, and self-hosted options. Self-hosters must operate webserver redirects or enable hash routing, rebuild for subdirectory deployment, and configure homeserver and explore-page defaults. It is less suitable for people who need active pull-request intake or guaranteed development-branch stability, because the project is replacing matrix-js-sdk and warns that dev.cinny.in may break.

project readme (upstream, from github) — read inline

Cinny

GitHub release downloads DockerHub downloads Follow on Mastodon Follow on Twitter Sponsor Cinny

A Matrix client focusing primarily on simple, elegant and secure interface. The main goal is to have an instant messaging application that is easy on people and has a modern touch.

[!IMPORTANT] We are currently in the process of replacing the matrix-js-sdk with our own SDK. As a result, we will not be accepting any pull requests until further notice. Thank you for your understanding.

Getting started

The web app is available at app.cinny.in and gets updated on each new release. The dev branch is continuously deployed at dev.cinny.in but keep in mind that it could have things broken.

You can also download our desktop app from the cinny-desktop repository.

Contributing and Developing

If you have any ideas, issues, etc. regarding Cinny, or would like to contribute to Cinny through pull requests, please check out our "Contributing to Cinny" document. Those who would like to get involved with Cinny's development as well should also read the "Developing Cinny" document for more technical details.

Self-hosting

To host Cinny on your own, simply download the tarball from GitHub releases, and serve the files from dist/ using your preferred webserver. Alternatively, you can just pull the docker image from DockerHub or GitHub Container Registry.

  • The default homeservers and explore pages are defined in config.json.

  • You need to set up redirects to serve the assests. Example configurations; netlify, nginx, caddy.

    • If you have trouble configuring redirects you can enable hash routing — the url in the browser will have a /#/ between the domain and open channel (ie. app.cinny.in/#/home/ instead of app.cinny.in/home/) but you won't have to configure your webserver.
  • To deploy on subdirectory, you need to rebuild the app youself after updating the base path in build.config.ts.

    • For example, if you want to deploy on https://cinny.in/app, then set base: '/app'.
PGP Public Key to verify tarball
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
mxFo+ioe/ABCufSmyqFye0psX3Sp
=WtqZ
-----END PGP PUBLIC KEY BLOCK-----

License

Cinny Project
Copyright © 2024–present Ajay Bura
https://cinny.in

Cinny is licensed under the GNU Affero General Public License, Version 3 of the License (AGPL-3.0-only). You may obtain a copy of the License at https://www.gnu.org/licenses/agpl-3.0.html

Frequently asked questions

Is Cinny free to use?

Cinny is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Cinny do?

Secure and elegant Matrix client for seamless conversations

What is Cinny written in?

Cinny is primarily written in TypeScript. Its source is publicly available at https://github.com/cinnyapp/cinny, and it has 3,893 GitHub stars.