La motivación detrás del proyecto es proporcionar una aplicación de escritorio nativa para Matrix que se sienta más como una aplicación de chat convencional (elemento, telegrama, etc.) y menos como un cliente IRC.
Para otras opciones y detalles, consulte la sección de instalación.
¡Ayúdanos con las traducciones para que tantas personas como sea posible podrán usar Nheko!
La implementación actual es en su mayoría estable, pero nunca fue auditada. Si confía en él para la seguridad, no podemos hacer ninguna garantía.
La mayoría de las características que esperaría de una aplicación de chat no se encuentran en este momento, pero nos estamos acercando a un cliente completo más característico. Específicamente hay soporte para:
-p name ).Las versiones para Linux (Flatpak), MacOS (imagen de disco) y Windows (X64 MSIX o AppInstaller) se pueden encontrar en las versiones de GitHub. El AppInstaller en Windows verificará regularmente nuestros servidores para obtener actualizaciones. El msix no lo hará.
sudo pacman -Syu nhekoLa versión de desarrollo está disponible en el AUR:
yay -S nheko-git # Or your favorite way of installing AUR packagesNheko requiere que se ejecute un servidor secreto, por lo que deberá instalar y configurar un servicio como KDE Wallet o Gnome Keyring si no lo proporciona su entorno de escritorio.
sudo apt install nhekosudo dnf install nhekosudo eselect repository enable guru
sudo emaint sync -r guru
sudo emerge -a nheko Si está utilizando GNOME Keyring o KeepAssXC como sus secretos demonios, asegúrese de que el uso keyring esté habilitado en 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.Alternativamente, agrégalo a su configuración de una de las siguientes maneras: (recomendado para la instalación a largo plazo)
En todo el sistema:
environment . systemPackages = with pkgs ; [
# ...
nheko
# ...
] ;Específico del usuario:
users . users . <user> . packages = with pkgs ; [
# ...
nheko
# ...
] ; Via home-manager :
programs . nheko . enable = true ; Asegúrese de tener los repositorios de prueba desde edge habilitados. Tenga en cuenta que esto no es necesario en Postmarketos.
sudo apk add nhekoNOTA: Estas instrucciones solo se han probado en la planta baja.
Primero, instale nheko:
sudo zypper addrepo https://download.opensuse.org/repositories/network:messaging:matrix/openSUSE_Tumbleweed/network:messaging:matrix.repo
sudo zypper ref
sudo zypper in nhekoSi desea agregar soporte de JDenticon:
sudo zypper install qt-jdenticon flatpak install flathub im.nheko.Nheko
guix install nheko
Instale nheko a través de la aplicación Discover en el modo de escritorio (esto instala el plano). Para que también funcione en modo de juego, tendrás un script de envoltura que inicia kwalletd y luego nheko. Puede crear /home/deck/nheko.sh con el siguiente contenido y luego agregar este script como un "juego no acelerado" para 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 @@Con HomeBrew:
brew install --cask nhekocon chocolate:
choco install nheko - rebornNheko no proporciona binarios para ningún complemento D-Bus. Sin embargo, proporcionamos la siguiente lista de complementos conocidos:
P: ¿Por qué los videos no me ejecutan en Windows?
R: Probablemente se esté perdiendo los códecs de video requeridos, descargue el paquete de códec K-lite.
P: ¿Qué comandos son compatibles con Nheko?
A: Ver https://github.com/nheko-reborn/nheko/wiki/commands
P: ¿Nheko admite el cifrado de extremo a extremo (EE2E)?
R: Sí, vea la lista de funciones
P: ¿Puedo probar una versión de desarrollo de borde de sangrado?
R: el pago nocturno construye https://matrix-static.neko.dev/room/!tshdrgpbnbdmfdegn:neko.dev/
P: ¿Cómo agrego pegatinas y emojis personalizados?
R: Las calcomanías y los emojis personalizados se organizan en paquetes de imágenes. Hay un paquete de imagen del usuario al que solo su cuenta tiene acceso y hay paquetes de imágenes de habitaciones a los que todos los que están en la habitación están definidos. Puede activar un paquete de imagen de habitación a nivel mundial para usarlo en cualquier habitación.
Para administrar paquetes de imágenes en Nheko, vaya a la configuración de la habitación e ingrese la configuración de etiqueta y emote. Verá el paquete privado (su paquete de imagen de usuario) y puede editarlo allí. El código corto es un identificador único con el que utiliza para seleccionar la imagen y el cuerpo es el texto alternativo que se muestra en los clientes que no admiten imágenes (como la etiqueta ALT en imágenes HTML).
Si tiene los permisos necesarios, puede crear nuevos paquetes de habitación con el botón en la parte inferior de la lista de paquetes de imágenes. Son los mismos que el paquete de usuarios, pero puede crear tantos como desee y todos en la habitación pueden usarlos. Puede ser una buena idea crear una habitación adicional solo para sus paquetes de imágenes para facilitar el intercambio.
P: ¡No puedo ver algunos tipos de imágenes!
R: Nheko usa los complementos de imagen de QT para representar imágenes. Es posible que deba instalar paquetes adicionales para mostrar algunos tipos de imágenes como WebP. Por lo general, esos paquetes se llaman qt6-image-formats-plugins , qt6-imageformats o similares. KDE tiene complementos similares, que pueden extender aún más los tipos de imágenes compatibles.
-DVOIP=OFF para deshabilitar).-DSCREENSHARE_X11=OFF .-DLIBSECRET_SUPPORT=OFF .) Nheko puede usar la versión agrupada para la mayoría de esas bibliotecas automáticamente, si las versiones en su distribución son demasiado antiguas. Para usarlos, puede habilitar la integración del cazador pasando -DHUNTER_ENABLED=ON . Probablemente sea aconsejable vincular esas dependencias estáticamente pasando -DBUILD_SHARED_LIBS=OFF puede seleccionar qué dependencias agrupadas desea usar al pasar varias banderas -DUSE_BUNDLED_* . Por defecto, todas las dependencias se agrupan si habilita Hunter. (La excepción a eso es OpenSSL, que siempre está deshabilitada de forma predeterminada). Si experimenta problemas de compilación e intenta vincular la biblioteca mtxclient sin cazador, asegúrese de que se utilice la versión de la biblioteca (confirmación) como se menciona en CMakeList.txt . A veces tenemos que hacer cambios de ruptura en mtxclient y para ese período la rama maestra de ambos repos puede no ser compatible.
Las banderas del paquete son actualmente:
Una nota sobre Bundled OpenSSL: debe habilitarla explícitamente y no utilizará el directorio de certificado de su sistema de forma predeterminada, si lo habilita. Debe anular eso en tiempo de ejecución con la variable SSL_CERT_FILE. Sin embargo, en Windows todavía utilizará los certificados de su sistema, ya que los carga desde la tienda del sistema en lugar del directorio OpenSSL.
Si no desea instalar dependencias externas, puede generar una Appimage localmente usando Docker. Sin embargo, no es tan bien mantenido ...
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 buildRequisitos de compilación + módulos QML necesarios en tiempo de ejecución (es posible que no necesite todos ellos, pero lo siguiente parece funcionar según los informes):
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 es demasiado viejo, por lo que se debe usar LMDBXX.
Libspdlog-Dev en Debian Bullseye es demasiado antiguo (sin backporting), por lo que requiere el uso de Hunter para usar SPDLog agrupado.
Banderas sugeridas para Debian Bullseye: -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=OFF
Banderas sugeridas para 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 qtkeychainInstale el "Desarrollo de escritorio" de Visual Studio 2022 y el "Desarrollo de Linux con cargas de trabajo C ++" (para la integración Cmake).
Descargue el último instalador QT para Windows e instálelo en algún lugar. Asegúrese de instalar el conjunto de herramientas MSVC 2022 64-bit para al menos Qt 5.15.
Si no tiene instalado OpenSSL, deberá instalar Perl para construirlo (es decir, Strawberry Perl).
Ahora podemos construir Nheko:
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build buildPara usar dependencias agrupadas, puede usar Hunter, es decir:
cmake -S. -Bbuild -DHUNTER_ENABLED=ON -DBUILD_SHARED_LIBS=OFF -DUSE_BUNDLED_OPENSSL=OFF
cmake --build build --config ReleaseAdapte el uso_bundled_* según sea necesario.
Si la compilación falla con el siguiente error
Could not find a package configuration file provided by "Qt6Widgets" with
any of the following names:
Qt6WidgetsConfig.cmake
qt6widgets-config.cmake
Es posible que deba aprobar -DCMAKE_PREFIX_PATH a CMake para señalarlo a su instalación QT6.
por ejemplo, en macOS
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(brew --prefix qt6)
cmake --build build
El binario nheko se ubicará en el directorio build .
Después de instalar todas las dependencias, debe editar CMakeSettings.json para poder cargar y compilar NHEKO dentro de Visual Studio.
Debe completar las rutas para el Qt6_DIR . El DIR QT6 debe apuntar a libcmakeQt6 Dir.
Los ejemplos para las rutas son:
C:\Qt\6.5.2\msvc2017_64\lib\cmake\Qt6 También debe habilitar a Hunter configurando HUNTER_ENABLED en ON y BUILD_SHARED_LIBS para OFF .
Ahora haga clic derecho en el directorio de origen de Root Nheko y elija Open in Visual Studio . Puede elegir la versión de tipo de compilación y la depuración en la barra de herramientas superior. Después de una generación CMAKE exitosa, puede seleccionar el nheko.exe como el objetivo de ejecución. Ahora elija Build all en el menú Cmake o presione F7 para compilar el ejecutable.
Para poder ejecutar la aplicación, el último paso es instalar las dependencias QT necesarias al lado del binario NHEKO.
Inicie el comando "QT X.XX.X 64 bits para escritorio (MSVC 2017)" Promt y ejecute windeployqt .
cd < path-to-nheko > build-vcReleaseRelease
windeployqt nheko.exe El binario final se ubicará dentro de build-vcReleaseRelease para el lanzamiento Build y build-vcDebugDebug para la construcción de depuración.
También copie el respectivo CMark.dll al Dir binario de build/cmark-build/src/Release (o Depug).
Ver contribuyendo.
Actualmente, no hay documentación para la API D-Bus, por lo que si desea utilizarla, venga a solicitar apoyo en #nheko: nheko.im.
Aquí hay algunas capturas de pantalla para tener una idea de la interfaz de usuario, pero las cosas probablemente cambiarán.