All Projects → nioc → xmpp-web

nioc / xmpp-web

Licence: AGPL-3.0 License
Lightweight web chat client for XMPP server

Programming Languages

Vue
7211 projects
javascript
184084 projects - #8 most used programming language
SCSS
7915 projects
HTML
75241 projects

Projects that are alternatives of or similar to xmpp-web

Pade
Pàdé (Yoruba word for Meet) is a browser extension (Chrome/Edge) based unified communications desktop client for Openfire.
Stars: ✭ 72 (+38.46%)
Mutual labels:  xmpp, xmpp-client
snatch
An Erlang Lightweight XMPP Client library
Stars: ✭ 16 (-69.23%)
Mutual labels:  xmpp, xmpp-client
Chat Sdk Android
Chat SDK Android - Open Source Mobile Messenger
Stars: ✭ 1,496 (+2776.92%)
Mutual labels:  xmpp, xmpp-client
Chat Sdk Ios
Chat SDK iOS - Open Source Mobile Messenger
Stars: ✭ 813 (+1463.46%)
Mutual labels:  xmpp, xmpp-client
xyTalk-pc
企业IM即时通讯定制平台,百万级高并发、高性能、可扩展、安全、高交互体验的企业通信和协作im平台。包含通讯服务、客户端(PC、Android、iOS)、Web门户(用于集成企业应用)、WebAPI。
Stars: ✭ 48 (-7.69%)
Mutual labels:  xmpp, xmpp-client
Profanity
Ncurses based XMPP client
Stars: ✭ 966 (+1757.69%)
Mutual labels:  xmpp, xmpp-client
Xabber Android
Open-source XMPP client for Android
Stars: ✭ 1,773 (+3309.62%)
Mutual labels:  xmpp, xmpp-client
Miranda Ng
Miranda NG: Next Generation of Miranda IM
Stars: ✭ 341 (+555.77%)
Mutual labels:  xmpp, xmpp-client
Converse.js
Web-based XMPP/Jabber chat client written in JavaScript
Stars: ✭ 2,745 (+5178.85%)
Mutual labels:  xmpp, xmpp-client
Xmpp Messenger Ios
iOS XMPP Messenger Framework
Stars: ✭ 213 (+309.62%)
Mutual labels:  xmpp, xmpp-client
Jsxc
💬 Real-time xmpp chat application with video calls, file transfer and encrypted communication.
Stars: ✭ 604 (+1061.54%)
Mutual labels:  xmpp, xmpp-client
xabber-web
Open source XMPP client for Web
Stars: ✭ 117 (+125%)
Mutual labels:  xmpp, xmpp-client
Spark
Cross-platform real-time collaboration client optimized for business and organizations.
Stars: ✭ 471 (+805.77%)
Mutual labels:  xmpp, xmpp-client
Uwpx Client
A WIP secure XMPP client for UWP (Windows 10) devices.
Stars: ✭ 61 (+17.31%)
Mutual labels:  xmpp, xmpp-client
Jappix
💬 Jappix, a full-featured XMPP web-client (Jappix Desktop, Jappix Mobile & Jappix Mini).
Stars: ✭ 430 (+726.92%)
Mutual labels:  xmpp, xmpp-client
Dino
Modern XMPP ("Jabber") Chat Client using GTK+/Vala
Stars: ✭ 1,637 (+3048.08%)
Mutual labels:  xmpp, xmpp-client
Monal
Free XMPP client for iOS and macOS
Stars: ✭ 312 (+500%)
Mutual labels:  xmpp, xmpp-client
Jitsi
Jitsi is an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, IRC and many other useful features.
Stars: ✭ 3,531 (+6690.38%)
Mutual labels:  xmpp, xmpp-client
Go Sarah
Simple yet customizable bot framework written in Go.
Stars: ✭ 188 (+261.54%)
Mutual labels:  xmpp, xmpp-client
xmpp-php
PHP client library for XMPP (Jabber) protocol
Stars: ✭ 33 (-36.54%)
Mutual labels:  xmpp, xmpp-client

XMPP Web

license: AGPLv3 GitHub release GitHub Workflow Status Docker Cloud Build Status GitHub issues by-label

Lightweight web chat client for XMPP server.

Key features

  • Connect to an XMPP server with WebSocket or BOSH,
  • Chat and groupchat (MUC as defined in XEP-0045),
  • Retrieve contacts (roster) and bookmarked rooms (XEP-0048),
  • Send and receive files over HTTP (XEP-0066, XEP-0363),
  • Handle password protected room,
  • Display chat state notifications: is composing, is paused (XEP-0085),
  • Format messages: bold, italic, striked, link and code inline/block (XEP-0393),
  • Pick emoji,
  • Room creation and configuration,
  • PWA (Progressive Web App) creating user experiences similar to native applications on desktop and mobile devices,
  • Lightweight (600 KB gzipped at the first loading and then less than 10 KB)
  • Guest access /guest?join={jid} (joining a MUC anonymously as described in RFC 4505)

Screenshot desktop Screenshot mobile home Screenshot mobile chat Screenshot guest join

Installation

XMPP Web can be installed:

  • With provided Ansible role,
  • From archive:
  • From Docker image (docker pull nioc/xmpp-web, based on nginx):
    • as standalone service:
      docker run -it -p 80:80 --rm \
      -e XMPP_HTTP=https://domain-xmpp.ltd:5281/http-bind \
      -e XMPP_WS=https://domain-xmpp.ltd:5281/xmpp-websocket \
      -e APP_DEFAULT_DOMAIN=domain-xmpp.ltd \
      --name xmpp-web-1 nioc/xmpp-web
    • in a docker-compose:
      version: "3.4"
      services:
        xmpp-web:
          image: nioc/xmpp-web:latest
          ports:
            - "80:80"
          environment: 
            - XMPP_HTTP=https://domain-xmpp.ltd:5281/http-bind
            - XMPP_WS=https://domain-xmpp.ltd:5281/xmpp-websocket
            - APP_DEFAULT_DOMAIN=domain-xmpp.ltd
  • From source (git clone, npm build, etc...)

Configuration

local.js attribute Environment Default (initial value) Description
name APP_NAME "XMPP web" Application name
transports.bosh APP_HTTP "https://chat.domain-web.ltd/http-bind" BOSH endpoint used by application (proxy or direct XMPP server)
transports.websocket APP_WS "wss://chat.domain-web.ltd/xmpp-websocket" Websocket endpoint used by application (proxy or direct XMPP server)
hasRegisteredAccess APP_REGISTERED_ACCESS true Set to false to disable registered users components (guest access only)
hasGuestAccess APP_GUEST_ACCESS true Set to false to disable guest users components
anonymousHost XMPP_ANON_HOST null Virtual host used for guest access (anonymous)
isTransportsUserAllowed APP_IS_TRANSPORTS_USER_ALLOWED false Allow user to set endpoints on the fly in login component
hasHttpAutoDiscovery APP_HTTP_AUTODISCOVERY false Allow to retrieve a .well-known/host-meta.json if user log on a different domain
resource APP_RESOURCE "Web XMPP" Resource (client) affected to user
defaultDomain APP_DEFAULT_DOMAIN "domain-xmpp.ltd" Domain used if user do not provide a full jid
defaultMuc APP_DEFAULT_MUC null Autocomplete MUC address (ex: conference.domain.ltd) if user do not provide a full room jid (join & create)
isStylingDisabled APP_IS_STYLING_DISABLED false Set to true for disable messages styling
N/A XMPP_HTTP "http://localhost:5280/http-bind" BOSH endpoint proxyfied by Nginx (on a docker installation)
N/A XMPP_WS "http://localhost:5280/xmpp-websocket" Websocket endpoint proxyfied by Nginx (on a docker installation)

Credits

  • Nioc - Initial work

See also the list of contributors to this project.

This project is powered by the following components:

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].