Мотивация проекта заключается в предоставлении собственного настольного приложения для Matrix, которое больше похоже на основное приложение для чата (элемент, телеграмма и т. Д.), А не на клиент IRC.
Другие параметры и детали см. В разделе установки.
Помогите нам с переводами, чтобы как можно больше людей смогли использовать NHEKO!
Текущая реализация в основном стабильна, но она никогда не проверялась. Если вы полагаетесь на это для обеспечения безопасности, мы не сможем сделать никаких гарантий.
Большинство функций, которые вы ожидаете от приложения чата, отсутствуют сейчас, но мы приближаемся к более полному клиенту. В частности, есть поддержка:
-p name ).Вылизы для Linux (Flatpak), MacOS (дисковое изображение) и Windows (x64 MSIX или AppInstaller) можно найти в выпусках GitHub. Appinstaller на Windows будет регулярно проверять наши серверы на наличие обновлений. MSIX не будет.
sudo pacman -Syu nhekoВерсия разработки доступна в AUR:
yay -S nheko-git # Or your favorite way of installing AUR packagesNHEKO требуется секретный сервер для запуска, поэтому вам нужно будет установить и настроить сервис, такой как KDE Wallet или Gnome Keyring, если не предоставлено вашей средой рабочего стола.
sudo apt install nhekosudo dnf install nhekosudo eselect repository enable guru
sudo emaint sync -r guru
sudo emerge -a nheko Если вы используете Knome Keyring или KeepAssxc в качестве демона своего секрета, убедитесь, что keyring useflag включен в dev-libs/qtkeychain .
sudo urpmi nheko # Imperatively: (not recommended)
nix-env -iA nixpkgs.nheko
# In an ephemeral shell: (recommended if you just want to try it out without committing to a full installation)
nix-shell -p nheko --run nheko
# Note: The above command will both install and run Nheko.
# To stop it from running immediately, just remove the `--run nheko` from the end.В качестве альтернативы добавьте его в свою конфигурацию одним из следующих способов: (рекомендуется для долгосрочной установки)
По всей системе:
environment . systemPackages = with pkgs ; [
# ...
nheko
# ...
] ;Пользовательский специфический:
users . users . <user> . packages = with pkgs ; [
# ...
nheko
# ...
] ; через home-manager :
programs . nheko . enable = true ; Убедитесь, что у вас есть репозитории тестирования от edge . Обратите внимание, что это не требуется в почтовых маршрутах.
sudo apk add nhekoПримечание. Эти инструкции были протестированы только на Tumbleweed.
Сначала установите NHEKO:
sudo zypper addrepo https://download.opensuse.org/repositories/network:messaging:matrix/openSUSE_Tumbleweed/network:messaging:matrix.repo
sudo zypper ref
sudo zypper in nhekoЕсли вы хотите добавить поддержку Jdenticon:
sudo zypper install qt-jdenticon flatpak install flathub im.nheko.Nheko
guix install nheko
Установите NHEKO через приложение Discover в режиме рабочего стола (это устанавливает FlatPak). Чтобы также заставить его работать в игровом режиме, у вас будет сценарий обертки, который начинается с Kwalletd, а затем в NHEKO. Вы можете создать /home/deck/nheko.sh nheko.sh со следующим контентом, а затем добавить этот скрипт в качестве «не-начальной игры» в Steam.
#! /bin/sh
kwalletd6 &
flatpak run --env=XDG_CURRENT_DESKTOP=KDE --env=KDE_SESSION_VERSION=5 --branch=stable --arch=x86_64 --command=im.nheko.Nheko --file-forwarding im.nheko.Nheko @@u @@С Homebrew:
brew install --cask nhekoс шоколадным:
choco install nheko - rebornNHEKO не предоставляет двоичные файлы для каких-либо плагинов D-BUS. Тем не менее, мы предоставляем следующий список известных плагинов:
В: Почему видео не работают для меня в Windows?
A: Вы, вероятно, не хватаете необходимых видеокодеков, загрузите пакет кодеков K-Lite.
В: Какие команды поддерживаются NHEKO?
A: См
В: Поддерживает ли NHEKO сквозное шифрование (EE2E)?
A: Да, см. Список функций
В: Могу ли я протестировать версию разработки кровного края?
A: Checkout Nightly строит https://matrix-static.neko.dev/room/!tshdrgpbnbdmfdeegn:neko.dev/
В: Как добавить наклейки и настраиваемые смайлики?
A: Наклейки и пользовательские смайлики организованы в пакетах изображений. Существует один пакет изображений пользователя, к которому есть только ваша учетная запись, и есть пакеты изображений комнаты, которые доступны всем в комнате, в которой они определены. Вы можете активировать пакет изображений комнаты во всем мире, чтобы использовать его в любой комнате.
Чтобы управлять пакетами изображений в Нхеко, перейдите в настройки комнаты и введите настройки наклеек и эмоции. Вы увидите частный пакет (ваш пользовательский пакет изображений) и можете редактировать его там. Шорткод - это уникальный идентификатор, который вы используете для выбора изображения, и корпус - это альтернативный текст, который отображается на клиентах, которые не поддерживают изображения (например, ALT -тег в HTML -изображениях).
Если у вас есть необходимые разрешения, вы можете создать новые комнатные пакеты с кнопкой внизу списка пакетов изображений. Они такие же, как пользовательский пакет, но вы можете создать столько, сколько вы хотите, и все в комнате могут использовать их. Было бы неплохо создать дополнительное место только для ваших изображений, чтобы облегчить обмен.
В: Я не вижу типов изображений!
A: NHEKO использует плагины изображения QT для рендеринга изображений. Возможно, вам потребуется установить дополнительные пакеты для отображения некоторых типов изображений, таких как WebP. Обычно эти пакеты называются qt6-image-formats-plugins , qt6-imageformats или аналогичными. KDE имеет аналогичные плагины, которые могут расширить поддерживаемые типы изображений еще больше.
-DVOIP=OFF , чтобы отключить.).-DSCREENSHARE_X11=OFF .-DLIBSECRET_SUPPORT=OFF .) NHEKO может автоматически использовать комплексную версию для большинства этих библиотек, если версии в вашем дистрибутиве слишком стары. Чтобы использовать их, вы можете включить интеграцию Hunter, передавая -DHUNTER_ENABLED=ON . Вероятно, целесообразно связывать эти зависимости статически, передавая -DBUILD_SHARED_LIBS=OFF вы можете выбрать, какие зависимости в комплекте вы хотите использовать, передавая различные флаги -DUSE_BUNDLED_* . По умолчанию все зависимости связаны, если вы включите Hunter. (Исключение из этого - OpenSSL, который всегда отключен по умолчанию.) Если вы испытываете проблемы с сборкой и пытаетесь связать библиотеку mtxclient без охотника, убедитесь, что используется версия библиотеки (Commit), как указано в CMakeList.txt . Иногда нам приходится вносить изменения в mtxclient , и в течение этого периода основная ветвь обоих репо может быть совместимой.
Флаги пакета в настоящее время:
Примечание на Bundled OpenSSL: вам нужно явно включить его, и она не будет использовать ваш каталог системы сертификатов по умолчанию, если вы включите его. Вам нужно переопределить это во время выполнения с переменной ssl_cert_file. В Windows он все равно будет использовать ваши системные сертификаты, так как он загружает их из системного хранилища вместо каталога OpenSSL.
Если вы не хотите устанавливать какие -либо внешние зависимости, вы можете создать аппликацию локально с помощью Docker. Это не так хорошо поддерживается, хотя ...
make docker-app-imagesudo pacman -S qt6-base
qt6-tools
qt6-multimedia
qt6-svg
cmake
gcc
fontconfig
lmdb
cmark
qtkeychain-qt6 # Install build requirements
sudo apt install -y cmake asciidoc-base libevent-dev libspdlog-dev libre2-dev liblmdb++-dev libcurl4-openssl-dev libssl-dev libolm-dev libcmark-dev nlohmann-json3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev libkdsingleapplication-qt6-dev
sudo apt install -y qt6-base-dev qt6-tools-dev qt6-svg-dev qt6-multimedia-dev qt6-declarative-dev qtkeychain-qt6-dev qt6-base-private-dev qt6-declarative-private-dev
# Clone nheko repository from github
sudo apt install -y git
git clone https://github.com/Nheko-Reborn/nheko && cd nheko
# Build
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DUSE_BUNDLED_COEURL=1 -DUSE_BUNDLED_MTXCLIENT=1 -DUSE_BUNDLED_LMDBXX=1
cmake --build buildТребования к сборке + модули QML, необходимые во время выполнения (вам может не понадобиться все, но следующие, похоже, работают в соответствии с отчетами):
sudo apt install --no-install-recommends g++ cmake make zlib1g-dev libssl-dev libolm-dev liblmdb-dev libcmark-dev nlohmann-json3-dev libspdlog-dev libevent-dev libcurl4-openssl-dev libre2-dev libxcb-ewmh-dev asciidoc-base
qt{base,declarative,tools,multimedia,quickcontrols2-}5-dev libqt6svg5-dev qt6keychain-dev qml-module-qt{gstreamer,multimedia,quick-extras,-labs-settings,graphicaleffects,quick-controls2,quick-particles2}
libgstreamer1.0-dev libgstreamer-plugins-{base,bad}1.0-dev qtgstreamer-plugins-qt6 libnice-dev ninja-build LMDB ++-DEV слишком старый, поэтому необходимо использовать комплексный LMDBXX.
Libspdlog-dev в Debian Bullseye слишком старый (без обратной стороны), поэтому требует использования Hunter для использования Bundled Spdlog.
Предлагаемые флаги для Debian bullseye: -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=OFF
Предлагаемые флаги для Debian Bookworm: -DUSE_BUNDLED_COEURL=1 -DUSE_BUNDLED_MTXCLIENT=1 -DUSE_BUNDLED_LMDBXX=1
sudo dnf builddep nheko # note that some newer packages might not be captured by that sudo emerge -a " >=dev-qt/qtgui-5.15.0 " media-libs/fontconfig dev-libs/qtkeychainguix environment nhekobrew update
brew install qt6 lmdb cmake llvm spdlog cmark libolm qtkeychainУстановите Visual Studio 2022 «Разработка настольных компьютеров» и «Разработка Linux с C ++» (для интеграции Cmake).
Загрузите последний QT для установщика Windows и установите его где -нибудь. Обязательно установите MSVC 2022 64-bit как минимум для QT 5.15.
Если у вас нет установки OpenSSL, вам нужно будет установить Perl для его построения (то есть Strawberry Perl).
Теперь мы можем построить Нхеко:
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build buildЧтобы использовать комплексные зависимости, вы можете использовать Hunter, то есть:
cmake -S. -Bbuild -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=OFF
cmake --build build --config ReleaseАдаптируйте use_bundled_* по мере необходимости.
Если сборка не удается со следующей ошибкой
Could not find a package configuration file provided by "Qt6Widgets" with
any of the following names:
Qt6WidgetsConfig.cmake
qt6widgets-config.cmake
Возможно, вам придется передать -DCMAKE_PREFIX_PATH в Cmake, чтобы указать на его установку QT6.
Например, на macOS
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(brew --prefix qt6)
cmake --build build
Бинарный файл nheko будет расположена в каталоге build .
После установки всех зависимостей вам необходимо отредактировать CMakeSettings.json , чтобы иметь возможность загружать и компилировать NHEKO в Visual Studio.
Вам нужно заполнить пути для Qt6_DIR . QT6 DIR должен указывать на libcmakeQt6 Dir.
Примеры путей:
C:\Qt\6.5.2\msvc2017_64\lib\cmake\Qt6 Вы также должны включить Hunter, установив HUNTER_ENABLED to ON и BUILD_SHARED_LIBS для OFF .
Теперь щелкните правой кнопкой мыши в справочном каталоге Root NHEKO и выберите Open in Visual Studio . Вы можете выбрать выпуск и отладка типа сборки на топ -панели инструментов. После успешного поколения Cmake вы можете выбрать nheko.exe в качестве цели прогона. Теперь выберите Build all в меню Cmake или нажмите F7 , чтобы скомпилировать исполняемый файл.
Чтобы иметь возможность запустить приложение, последним шагом является установка необходимых зависимостей QT рядом с бинарным из NHEKO.
Начните команду «QT X.XX.X 64-бит для настольного компьютера (MSVC 2017)» и запустите windeployqt .
cd < path-to-nheko > build-vcReleaseRelease
windeployqt nheko.exe Окончательный двоичный файл будет расположен внутри build-vcReleaseRelease для релиза Build и build-vcDebugDebug для сборки отладки.
Также скопируйте соответствующий cmark.dll в бинарный режиссер от build/cmark-build/src/Release (или отладка).
Смотрите.
В настоящее время нет документации для API D-BUS, поэтому, если вы хотите использовать его, приходите попросить поддержку в #NHEKO: nHeko.im.
Вот несколько снимков экрана, чтобы почувствовать пользовательский интерфейс, но все, вероятно, изменится.