[DOC] update README
This commit is contained in:
parent
81c8605477
commit
35dbf982fc
123
README.md
123
README.md
|
@ -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)
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue