{"id":13467603,"url":"https://github.com/cinnyapp/cinny","last_synced_at":"2026-02-23T13:22:28.363Z","repository":{"id":37496447,"uuid":"359156123","full_name":"cinnyapp/cinny","owner":"cinnyapp","description":"Yet another matrix client","archived":false,"fork":false,"pushed_at":"2025-05-06T18:58:33.000Z","size":11139,"stargazers_count":2244,"open_issues_count":229,"forks_count":308,"subscribers_count":17,"default_branch":"dev","last_synced_at":"2025-05-11T04:16:44.735Z","etag":null,"topics":["cinny","cinnyapp","client","hacktoberfest","matrix","matrix-client","matrix-org","reactjs"],"latest_commit_sha":null,"homepage":"https://cinny.in","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cinnyapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"ajbura","liberapay":"ajbura","open_collective":"cinny"}},"created_at":"2021-04-18T13:50:13.000Z","updated_at":"2025-05-10T16:52:33.000Z","dependencies_parsed_at":"2023-09-25T00:39:30.634Z","dependency_job_id":"5c5e2ed2-e7c0-4309-8226-5230f0a6d828","html_url":"https://github.com/cinnyapp/cinny","commit_stats":{"total_commits":1229,"total_committers":56,"mean_commits":"21.946428571428573","dds":0.5980471928397071,"last_synced_commit":"c110e64341eef37706c5befb9fe8858b5e62bd5c"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cinnyapp%2Fcinny","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cinnyapp%2Fcinny/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cinnyapp%2Fcinny/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cinnyapp%2Fcinny/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cinnyapp","download_url":"https://codeload.github.com/cinnyapp/cinny/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253678907,"owners_count":21946320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cinny","cinnyapp","client","hacktoberfest","matrix","matrix-client","matrix-org","reactjs"],"created_at":"2024-07-31T15:00:58.378Z","updated_at":"2026-02-23T13:22:28.317Z","avatar_url":"https://github.com/cinnyapp.png","language":"TypeScript","funding_links":["https://github.com/sponsors/ajbura","https://liberapay.com/ajbura","https://opencollective.com/cinny"],"categories":["TypeScript","hacktoberfest","JavaScript","Alternative Web Front-ends","Map of the content","Communication \u0026 Collaboration"],"sub_categories":["Matrix","Communication"],"readme":"# Cinny\n\u003cp\u003e\n    \u003ca href=\"https://github.com/ajbura/cinny/releases\"\u003e\n        \u003cimg alt=\"GitHub release downloads\" src=\"https://img.shields.io/github/downloads/ajbura/cinny/total?logo=github\u0026style=social\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://hub.docker.com/r/ajbura/cinny\"\u003e\n        \u003cimg alt=\"DockerHub downloads\" src=\"https://img.shields.io/docker/pulls/ajbura/cinny?logo=docker\u0026style=social\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://fosstodon.org/@cinnyapp\"\u003e\n        \u003cimg alt=\"Follow on Mastodon\" src=\"https://img.shields.io/mastodon/follow/106845779685925461?domain=https%3A%2F%2Ffosstodon.org\u0026logo=mastodon\u0026style=social\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://twitter.com/intent/follow?screen_name=cinnyapp\"\u003e\n        \u003cimg alt=\"Follow on Twitter\" src=\"https://img.shields.io/twitter/follow/cinnyapp?logo=twitter\u0026style=social\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://cinny.in/#sponsor\"\u003e\n        \u003cimg alt=\"Sponsor Cinny\" src=\"https://img.shields.io/opencollective/all/cinny?logo=opencollective\u0026style=social\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nA 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.\n- [Roadmap](https://github.com/orgs/cinnyapp/projects/1)\n- [Contributing](./CONTRIBUTING.md)\n\n\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/cinnyapp/cinny-site/main/assets/preview2-light.png\" height=\"380\"\u003e\n\n## Getting started\nThe web app is available at [app.cinny.in](https://app.cinny.in/) and gets updated on each new release. The `dev` branch is continuously deployed at [dev.cinny.in](https://dev.cinny.in) but keep in mind that it could have things broken.\n\nYou can also download our desktop app from the [cinny-desktop repository](https://github.com/cinnyapp/cinny-desktop).\n\n## Self-hosting\nTo host Cinny on your own, simply download the tarball from [GitHub releases](https://github.com/cinnyapp/cinny/releases/latest), and serve the files from `dist/` using your preferred webserver. Alternatively, you can just pull the docker image from [DockerHub](https://hub.docker.com/r/ajbura/cinny) or [GitHub Container Registry](https://github.com/cinnyapp/cinny/pkgs/container/cinny).\n\n* The default homeservers and explore pages are defined in [`config.json`](config.json).\n\n* You need to set up redirects to serve the assests. Example configurations; [netlify](netlify.toml), [nginx](contrib/nginx/cinny.domain.tld.conf), [caddy](contrib/caddy/caddyfile).\n    * If you have trouble configuring redirects you can [enable hash routing](config.json#L35) — 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.\n\n* To deploy on subdirectory, you need to rebuild the app youself after updating the `base` path in [`build.config.ts`](build.config.ts).\n    * For example, if you want to deploy on `https://cinny.in/app`, then set `base: '/app'`.\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003ePGP Public Key to verify tarball\u003c/b\u003e\u003c/summary\u003e\n\n```\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\nmxFo+ioe/ABCufSmyqFye0psX3Sp\n=WtqZ\n-----END PGP PUBLIC KEY BLOCK-----\n```\n\u003c/details\u003e\n\n## Local development\n\u003e [!TIP]\n\u003e We recommend using a version manager as versions change very quickly. You will likely need to switch between multiple Node.js versions based on the needs of different projects you're working on. [NVM on windows](https://github.com/coreybutler/nvm-windows#installation--upgrades) on Windows and [nvm](https://github.com/nvm-sh/nvm) on Linux/macOS are pretty good choices. Recommended nodejs version is Iron LTS (v20).\n\nExecute the following commands to start a development server:\n```sh\nnpm ci # Installs all dependencies\nnpm start # Serve a development version\n```\n\nTo build the app:\n```sh\nnpm run build # Compiles the app into the dist/ directory\n```\n\n### Running with Docker\nThis repository includes a Dockerfile, which builds the application from source and serves it with Nginx on port 80. To\nuse this locally, you can build the container like so:\n```\ndocker build -t cinny:latest .\n```\n\nYou can then run the container you've built with a command similar to this:\n```\ndocker run -p 8080:80 cinny:latest\n```\n\nThis will forward your `localhost` port 8080 to the container's port 80. You can visit the app in your browser by navigating to `http://localhost:8080`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcinnyapp%2Fcinny","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcinnyapp%2Fcinny","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcinnyapp%2Fcinny/lists"}