xmpp
jackal
xmpp | jackal | |
---|---|---|
4 | 38 | |
112 | 1,439 | |
0.9% | - | |
5.9 | 0.0 | |
8 months ago | 10 months ago | |
Go | Go | |
BSD 2-clause "Simplified" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xmpp
-
Instant Messaging: XMPP or Websocket
Some xmpp servers allow a websocket connection (the conversejs client can make use of that, as an example). Converse is pretty flexible by plugin if go isn't a hard requirement. Alternatively, take a look at the mellium library (https://github.com/mellium/xmpp) if you are going the direction of xmpp development in go.
- Mellium XMPP 0.21.3 has been released with Channel Binding for TLS 1.3 support
-
Release: Mellium v0.19.0
For more information, see the full release notes: https://github.com/mellium/xmpp/releases/tag/v0.19.0
- Should a context cancel a net.Conn read?
jackal
-
VoceChat server is ready! Rust written 17MB open sourced chat server--the easiest to host/intergrate chat server you can find.
Take your pick. Or just look here.
-
Extend XMPP Authorization
XMPP servers have the ability to use backend authenticators that can share existing auth infrastructure. This is commonly used for LDAP integration at corporations, for instance. The jackal XMPP server, since it is in Go and this is /r/golang, appears to have some support for this although it appears you'd have to go learn GRPC, the docs basically assume you know what you're doing with that already.
-
Instant Messaging Service | Approach | Protocol | Libraries
How much traffic do you expect ? If you don't expect much traffic and you are happy with single server (or maybe a sharded cluster) you may be able to pull something off by yourself. Otherwise you should go with something already proved, like XMPP. Have a look at https://github.com/ortuman/jackal
-
Instant Messaging: XMPP or GO Socket
Raw sockets are just a "plain pipes" that can carry any logic, while XMPP is already well defined, long established protocol for instant messaging. Check it out: - XMPP Server - XMPP client lib
-
What is the coolest Go open source projects you have seen?
jackal
- Jackal 0.62.0 released - Golang XMPP Server
- Jackal 0.61.0 Released – Go XMPP Server
- Jackal v0.60.0 released – Go XMPP Server
What are some alternatives?
netcat - :computer: Netcat client and server modules written in pure Javascript for Node.js.
Prosody IM - IMPORTANT: due to a drive failure, as of 13-Mar-2021, the Mercurial repository had to be re-mirrored, which changed every commit SHA. The old SHAs and trees are backed up in the vault branches. Please migrate to the new branches as soon as you can.
Tinode - Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots
etcd - Distributed reliable key-value store for the most critical data of a distributed system
matterbridge - bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
ejabberd - Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
easegress - A Cloud Native traffic orchestration system
Conversations - Conversations is an open source XMPP/Jabber client for Android
Sparta - go microservices, powered by AWS Lambda
dino - Modern XMPP ("Jabber") Chat Client using GTK+/Vala
traefik - The Cloud Native Application Proxy