{"id":13548285,"url":"https://github.com/mujx/nheko","last_synced_at":"2025-04-02T21:31:11.099Z","repository":{"id":90376812,"uuid":"87364100","full_name":"mujx/nheko","owner":"mujx","description":"No longer maintained - Desktop client for the Matrix protocol (active fork https://github.com/Nheko-Reborn)","archived":true,"fork":false,"pushed_at":"2018-10-10T19:03:09.000Z","size":6130,"stargazers_count":394,"open_issues_count":85,"forks_count":65,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-11-03T17:38:48.066Z","etag":null,"topics":["chat","client","desktop","matrix","qt","qt5"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mujx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-04-05T23:01:24.000Z","updated_at":"2024-09-09T11:12:37.000Z","dependencies_parsed_at":"2023-04-21T06:36:18.517Z","dependency_job_id":null,"html_url":"https://github.com/mujx/nheko","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mujx%2Fnheko","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mujx%2Fnheko/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mujx%2Fnheko/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mujx%2Fnheko/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mujx","download_url":"https://codeload.github.com/mujx/nheko/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246895697,"owners_count":20851317,"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":["chat","client","desktop","matrix","qt","qt5"],"created_at":"2024-08-01T12:01:08.250Z","updated_at":"2025-04-02T21:31:10.566Z","avatar_url":"https://github.com/mujx.png","language":"C++","funding_links":[],"categories":["C++","qt","Uncategorized"],"sub_categories":["Uncategorized"],"readme":"nheko\n----\n[![Build Status](https://travis-ci.org/mujx/nheko.svg?branch=master)](https://travis-ci.org/mujx/nheko)\n[![Build status](https://ci.appveyor.com/api/projects/status/07qrqbfylsg4hw2h/branch/master?svg=true)](https://ci.appveyor.com/project/mujx/nheko/branch/master)\n[![Stable Version](https://img.shields.io/badge/download-stable-green.svg)](https://github.com/mujx/nheko/releases/v0.6.2)\n[![Nightly](https://img.shields.io/badge/download-nightly-green.svg)](https://github.com/mujx/nheko/releases/nightly)\n[![Chat on Matrix](https://img.shields.io/badge/chat-on%20matrix-blue.svg)](https://matrix.to/#/#nheko:matrix.org)\n[![AUR: nheko](https://img.shields.io/badge/AUR-nheko-blue.svg)](https://aur.archlinux.org/packages/nheko)\n\nThe motivation behind the project is to provide a native desktop app for [Matrix] that\nfeels more like a mainstream chat app ([Riot], Telegram etc) and less like an IRC client.\n\n### Note regarding End-to-End encryption\n\nCurrently the implementation is at best a **proof of concept** and it should only be used for\ntesting purposes.\n\n## Features\n\nMost of the features you would expect from a chat application are missing right now\nbut we are getting close to a more feature complete client.\nSpecifically there is support for:\n- E2E encryption (text messages only: attachments are currently sent unencrypted).\n- User registration.\n- Creating, joining \u0026 leaving rooms.\n- Sending \u0026 receiving invites.\n- Sending \u0026 receiving files and emoji (inline widgets for images, audio and file messages).\n- Typing notifications.\n- Username auto-completion.\n- Message \u0026 mention notifications.\n- Redacting messages.\n- Read receipts.\n- Basic communities support.\n- Room switcher (ctrl-K).\n- Light, Dark \u0026 System themes.\n\n## Installation\n\n### Releases\n\nReleases for Linux (AppImage), macOS (disk image) \u0026 Windows (x64 installer) \ncan be found in the [Github releases](https://github.com/mujx/nheko/releases).\n\n### Repositories\n\n#### Arch Linux\n```bash\npacaur -S nheko # nheko-git\n```\n\n#### Fedora\n```bash\nsudo dnf install nheko\n```\n\n#### Gentoo Linux\n```bash\nsudo layman -a matrix\nsudo emerge -a nheko\n```\n\n#### Alpine Linux (and postmarketOS)\n\nMake sure you have the testing repositories from `edge` enabled. Note that this is not needed on postmarketOS.\n\n```sh\nsudo apk add nheko\n```\n\n#### Flatpak\n\n```\nflatpak install flathub io.github.mujx.Nheko\n```\n\n#### macOS (10.12 and above)\n\nwith [macports](https://www.macports.org/) :\n\n```sh\nsudo port install nheko\n```\n\n### Build Requirements\n\n- Qt5 (5.7 or greater). Qt 5.7 adds support for color font rendering with\n  Freetype, which is essential to properly support emoji.\n- CMake 3.1 or greater.\n- [mtxclient](https://github.com/mujx/mtxclient)\n- [LMDB](https://symas.com/lightning-memory-mapped-database/)\n- [cmark](https://github.com/commonmark/cmark)\n- Boost 1.66 or greater.\n- [libolm](https://git.matrix.org/git/olm)\n- [libsodium](https://github.com/jedisct1/libsodium)\n- [spdlog](https://github.com/gabime/spdlog)\n- A compiler that supports C++ 14:\n    - Clang 5 (tested on Travis CI)\n    - GCC 7 (tested on Travis CI)\n    - MSVC 19.13 (tested on AppVeyor)\n\n#### Linux \n\nIf you don't want to install any external dependencies, you can generate an AppImage locally using docker.\n\n```bash\nmake docker-app-image\n```\n\n##### Arch Linux\n\n```bash\nsudo pacman -S qt5-base \\\n    qt5-tools \\\n    qt5-multimedia \\\n    qt5-svg \\\n    cmake \\\n    gcc \\\n    fontconfig \\\n    lmdb \\\n    cmark \\\n    boost \\\n    libsodium\n```\n\n##### Gentoo Linux\n\n```bash\nsudo emerge -a \"\u003e=dev-qt/qtgui-5.7.1\" media-libs/fontconfig\n```\n\n##### Ubuntu (e.g 14.04)\n\n```bash\nsudo add-apt-repository ppa:beineri/opt-qt592-trusty\nsudo add-apt-repository ppa:george-edison55/cmake-3.x\nsudo add-apt-repository ppa:ubuntu-toolchain-r-test\nsudo apt-get update\nsudo apt-get install -y g++-7 qt59base qt59svg qt59tools qt59multimedia cmake liblmdb-dev libsodium-dev \n```\n\n##### macOS (Xcode 8 or later)\n\n```bash\nbrew update\nbrew install qt5 lmdb cmake llvm libsodium spdlog boost cmark\n```\n\n##### Windows\n\n1. Install Visual Studio 2017's \"Desktop Development\" and \"Linux Development with C++\"\n(for the CMake integration) workloads.\n\n2. Download the latest Qt for windows installer and install it somewhere.\nMake sure to install the `MSVC 2017 64-bit` toolset for at least Qt 5.9\n(lower versions does not support VS2017).\n\n3. Install dependencies with `vcpkg`. You can simply clone it into a subfolder\r\nof the root nheko source directory.\n\n```powershell\ngit clone http:\\\\github.com\\Microsoft\\vcpkg\ncd vcpkg\n.\\bootstrap-vcpkg.bat\n.\\vcpkg install --triplet x64-windows \\\n\tboost-asio \\\n\tboost-beast \\\n\tboost-iostreams \\\n\tboost-random \\\n\tboost-signals2 \\\n\tboost-system \\\n\tboost-thread \\\n\tcmark \\\n\tlibsodium \\\n\tlmdb \\\n\topenssl \\\n\tzlib\n```\n\n4. Install dependencies not managed by vcpkg. (libolm, libmtxclient, libmatrix_structs)\n\nInside the project root run the following (replacing the path to vcpkg as necessary).\n\n```bash\ncmake -G \"Visual Studio 15 2017 Win64\" -Hdeps -B.deps\n        -DCMAKE_TOOLCHAIN_FILE=C:/Users/\u003cyour-path\u003e/vcpkg/scripts/buildsystems/vcpkg.cmake\n        -DUSE_BUNDLED_BOOST=OFF\ncmake --build .deps --config Release\ncmake --build .deps --config Debug\n```\n\n### Building\n\nFirst we need to install the rest of the dependencies that are not available in our system\n\n```bash\ncmake -Hdeps -B.deps \\\n    -DUSE_BUNDLED_BOOST=OFF # if we already have boost \u0026 spdlog installed.\n    -DUSE_BUNDLED_SPDLOG=OFF\ncmake --build .deps\n```\n\nWe can now build nheko by pointing it to the path that we installed the dependencies.\n\n```bash\ncmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=.deps/usr\ncmake --build build\n```\n\nIf the build fails with the following error\n```\nCould not find a package configuration file provided by \"Qt5Widgets\" with\nany of the following names:\n\nQt5WidgetsConfig.cmake\nqt5widgets-config.cmake\n```\nYou might need to pass `-DCMAKE_PREFIX_PATH` to cmake to point it at your qt5 install.\n\ne.g on macOS\n\n```\ncmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)\ncmake --build build\n```\n\nThe `nheko` binary will be located in the `build` directory.\n\n#### Windows\n\nAfter installing all dependencies, you need to edit the `CMakeSettings.json` to\nbe able to load and compile nheko within Visual Studio.\n\nYou need to fill out the paths for the `CMAKE_TOOLCHAIN_FILE` and the `Qt5_DIR`.\nThe toolchain file should point to the `vcpkg.cmake` and the Qt5 dir to the `lib\\cmake\\Qt5` dir.\n\nExamples for the paths are:\n - `C:\\\\vcpkg\\\\scripts\\\\buildsystems\\\\vcpkg.cmake`\r\n - `C:\\\\Qt\\\\5.10.1\\\\msvc2017_64\\\\lib\\\\cmake\\\\Qt5`\r\n\r\nNow right click into the root nheko source directory and choose `Open in Visual Studio`.\r\nYou can choose the build type Release and Debug in the top toolbar. \r\nAfter a successful CMake generation you can select the `nheko.exe` as the run target.\r\nNow choose `Build all` in the CMake menu or press `F7` to compile the executable.\r\n\r\nTo be able to run the application the last step is to install the needed Qt dependencies next to the\nnheko binary.\n\nStart the \"Qt x.xx.x 64-bit for Desktop (MSVC 2017)\" command promt and run `windeployqt`.\n```cmd\ncd \u003cpath-to-nheko\u003e\\build-vc\\Release\\Release\nwindeployqt nheko.exe\n```\n\nThe final binary will be located inside `build-vc\\Release\\Release` for the Release build\nand `build-vc\\Debug\\Debug` for the Debug build.\n\n### Contributing\n\nSee [CONTRIBUTING](.github/CONTRIBUTING.md)\n\n### Screens\n\nHere is a screen shot to get a feel for the UI, but things will probably change.\n\n![nheko](https://dl.dropboxusercontent.com/s/3zjcezdtk8kqe4i/nheko-v0.4.0.png)\n\n[Matrix]:https://matrix.org\n[Riot]:https://riot.im\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmujx%2Fnheko","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmujx%2Fnheko","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmujx%2Fnheko/lists"}