sum7
/
yaja
Archived
1
0
Fork 0

[DOC] update README

This commit is contained in:
Martin/Geno 2018-02-14 02:49:41 +01:00
parent 81c8605477
commit 35dbf982fc
No known key found for this signature in database
GPG Key ID: F0D39A37E925E941
4 changed files with 119 additions and 12 deletions

123
README.md
View File

@ -1,24 +1,131 @@
# yaja (yet another jabber server) # yaja (Yet Another JAbber implementation)
[![chat on our conference room](https://camo.githubusercontent.com/a839cc0a3d4dac7ec82237381b165dd144365b6d/68747470733a2f2f74696e7975726c2e636f6d2f6a6f696e7468656d7563)](https://conversations.im/j/yaja@conference.chat.sum7.eu)
## Features
- Messages XML Library (first version - PR are welcome)
- Full RFC 6120 (XMPP - Core)
- 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
### Messages
all implementation of all comman (RFCs and XEPs) xml element
**Version**
- RFC 6120 (XMPP - Core)
### 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 jabber server, for easy deployment A small standalone command line round about jabber (e.g tester WIP: client & server)
Usage: Usage:
yaja [command] yaja [command]
Available Commands: Available Commands:
daemon daemon of yaja
help Help about any command help Help about any command
server Runs the yaja server
Flags: Flags:
-h, --help help for yaja -h, --help help for yaja
Use "yaja [command] --help" for more information about a command. Use "yaja [command] --help" for more information about a command.
``` ```
## Features (works already) ### Daemons
- get certificate by lets encrypt ```
- registration (for every possible ssl domain) daemon of yaja
## Inspiration Usage:
- [tam7t](https://github.com/tam7t/xmpp) a fork of [agl](https://github.com/agl)'s work 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](https://github.com/genofire/yaja-tester-viewer/tree/master)
(dirty and based on [Freifunk Meshviewer](https://github.com/ffrgb/meshviewer/))
Demo: [tester.chat.sum7.eu](https://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](https://conversations.im/compliance/) - [source-code](https://github.com/iNPUTmice/ComplianceTester)
- software and version of xmpp servers
**Inspiration by**
*Sorry i did not like Java on my server*
- ServerStatus of iNPUTmice: [running](https://status.conversations.im/) - [source-code](https://github.com/iNPUTmice/ServerStatus)
#### 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](https://github.com/tam7t/xmpp) a fork of [agl](https://github.com/agl)'s work
- **client side:** [mattn](https://github.com/mattn/go-xmpp) (original by russ cox)

View File

@ -13,8 +13,8 @@ var (
// RootCmd represents the base command when called without any subcommands // RootCmd represents the base command when called without any subcommands
var RootCMD = &cobra.Command{ var RootCMD = &cobra.Command{
Use: "yaja", Use: "yaja",
Short: "Yet another jabber server", Short: "Yet another jabber implementation",
Long: `A small standalone jabber server, for easy deployment`, Long: `A small standalone command line round about jabber (e.g tester WIP: client & server)`,
} }
// Execute adds all child commands to the root command and sets flags appropriately. // Execute adds all child commands to the root command and sets flags appropriately.

View File

@ -199,6 +199,6 @@ func init() {
extension.IQExtensions{ extension.IQExtensions{
&extension.IQPing{}, &extension.IQPing{},
}) })
ServerCMD.Flags().StringVarP(&configPath, "config", "c", "yaja-server.conf", "Path to configuration file") ServerCMD.Flags().StringVarP(&configPath, "config", "c", "yaja-server.conf", "path to configuration file")
} }

View File

@ -104,6 +104,6 @@ func quitTester() {
} }
func init() { func init() {
TesterCMD.Flags().StringVarP(&configPath, "config", "c", "yaja-tester.conf", "Path to configuration file") TesterCMD.Flags().StringVarP(&configPath, "config", "c", "yaja-tester.conf", "path to configuration file")
} }