Yet Another JAbber implementation (xmpp) in go Archived: We help maintaince gosrc.io/xmpp @ https://github.com/FluuxIO/go-xmpp, now.
Martin/Geno 4732e0d292 | ||
---|---|---|
client | ||
cmd | ||
daemon | ||
database | ||
model | ||
server | ||
xmpp | ||
.drone.yml | ||
.gitignore | ||
.test-coverage | ||
LICENSE | ||
README.md | ||
circle.yml | ||
main.go | ||
yaja-server_example.conf | ||
yaja-tester_example.conf |
README.md
yaja (Yet Another JAbber implementation)
Features
- XMPP Library (first version - PR are welcome)
- Client Library (WIP)
- Stream: TLS Required
- SASL-Auth (PLAIN, DIGEST-MD5)
- Read & Decode (recv xml)
- Send (send xml)
- No OTR (never implemented -> nowadays OMEMO or PGP prefered)
- No OMEMO support (not implemented by me: library only for bots and testing)
- Stream: TLS Required
- Client (planned)
- Daemon
- Tester (based on Client Library)
- Bidirected Messaging
- Check IPv4 & IPv6
- TLS Version
- Server (maybe broken, planned)
- get certificate by lets encrypt
- registration (for every possible TLS domain)
- Tester (based on Client Library)
Library
XMPP
all implementation of all comman (RFCs and XEPs) xml element
Version
- RFC 6120 (XMPP - Core)
- RFC 6121 (XMPP - Instant Messaging and Presence)
- XEP-0030: Service Discovery
- XEP-0049: Private XML Storage
- XEP-0092: Software Version
- XEP-0138: Stream Compression
- XEP-0199: XMPP Ping
Client
Planned
- auto decoding of XML (with some auto answer e.g. ping)
- SendRecv to get answer of a request
- Register
Run
A small standalone command line round about jabber (e.g tester WIP: client & server)
Usage:
yaja [command]
Available Commands:
daemon daemon of yaja
help Help about any command
Flags:
-h, --help help for yaja
Use "yaja [command] --help" for more information about a command.
Daemons
daemon of yaja
Usage:
yaja daemon [command]
Available Commands:
server runs xmpp server
tester runs xmpp tester server
Flags:
-h, --help help for daemon
Use "yaja daemon [command] --help" for more information about a command.
Tester
Website for displaying: genofire/yaja-tester-viewer
(dirty and based on Freifunk Meshviewer)
Demo: tester.chat.sum7.eu
runs xmpp tester server
Usage:
yaja daemon tester [flags]
Examples:
yaja daemon tester -c /etc/yaja.conf
Flags:
-c, --config string path to configuration file (default "yaja-tester.conf")
-h, --help help for tester
Features
- notification of disconnect by server (domain)
- manage by bot command
admin (add|del) <JID>
andadmin list
)
- manage by bot command
- auto accept subscription by every user to every bot
ping
topong
by every user to every bot (for self check)
Planned
- improve chat bot implementation
- improve notification (add my self, not only other by admins)
- add new accounts/server
- other checks, maybe like running - source-code
- software and version of xmpp servers
Inspiration by
Sorry i did not like Java on my server
- ServerStatus of iNPUTmice: running - source-code
Server
runs xmpp server
Usage:
yaja daemon server [flags]
Examples:
yaja daemon server -c /etc/yaja.conf
Flags:
-c, --config string path to configuration file (default "yaja-server.conf")
-h, --help help for server