sum7
/
yaja
Archived
1
0
Fork 0
Yet Another JAbber implementation (xmpp) in go Archived: We help maintaince gosrc.io/xmpp @ https://github.com/FluuxIO/go-xmpp, now.
This repository has been archived on 2020-09-27. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Martin/Geno e2a59cb3ba
rename and split xmpp xml structs packages
2018-02-14 19:40:22 +01:00
client rename and split xmpp xml structs packages 2018-02-14 19:40:22 +01:00
cmd [DOC] update README 2018-02-14 03:08:44 +01:00
daemon rename and split xmpp xml structs packages 2018-02-14 19:40:22 +01:00
database rename and split xmpp xml structs packages 2018-02-14 19:40:22 +01:00
model rename and split xmpp xml structs packages 2018-02-14 19:40:22 +01:00
server rename and split xmpp xml structs packages 2018-02-14 19:40:22 +01:00
xmpp rename and split xmpp xml structs packages 2018-02-14 19:40:22 +01:00
.drone.yml move to dev.sum7.eu 2018-02-07 15:54:24 +01:00
.gitignore implement client and start tester daemon 2018-02-07 19:47:59 +01:00
.test-coverage [BUGFIX] .text-coverage for strange repos 2018-02-14 11:11:47 +01:00
LICENSE Initial commit 2017-10-02 00:28:22 +02:00
README.md rename and split xmpp xml structs packages 2018-02-14 19:40:22 +01:00
circle.yml [TASK] add CI circleci and codecov + coveralls 2018-02-14 11:03:27 +01:00
main.go [TASK] add CI circleci and codecov + coveralls 2018-02-14 11:03:27 +01:00
yaja-server_example.conf implement client and start tester daemon 2018-02-07 19:47:59 +01:00
yaja-tester_example.conf improve use bind of stream start + logging 2018-02-11 22:48:41 +01:00

README.md

yaja (Yet Another JAbber implementation)

CircleCI Coverage Status codecov Go Report Card chat on our conference room

Features

  • XMPP Library (first version - PR are welcome)
    • RFC 6120 (XMPP - Core)
    • XEP 0030: Service Discovery
    • XEP-0199: XMPP Ping
  • 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)
  • 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)

Library

XMPP

all implementation of all comman (RFCs and XEPs) xml element

Version

  • RFC 6120 (XMPP - Core)
  • XEP 0030: Service Discovery
  • 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> and admin list)
  • auto accept subscription by every user to every bot
  • ping to pong 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

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

Inspiration by source-code structures (but rewritten)

  • server side: tam7t a fork of agl's work
  • client side: mattn (original by russ cox)