blob: 8750096f73f14289aebe354f02c92d8163285b27 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# karlender
A bloated calender software.
## Features
- flexible condition-based recurring tasks
- automatic scheduling of tasks, based on priority
- blazing fast and highly configurable 🚀🚀
- undocumented
## Components
- `karld` daemon process calculating occurences and scheduling
- `karlc` cli-interface for karld (uses unix domain socket)
- `karlgui` graphical user interface made with egui (uses the unix domain socket too)
- `karlcommon` rust library for shared e.g. protocol
- _`????`_ browser interface (future, will use websocket)
## Protocol
Packets with JSON-serialized instances of either `ServerboundPacket` or `ClientboundPacket` respectively as declared in ([karlcommon/protocol.d.ts](./karlcommon/protocol.d.ts)) are sent over one of the supported methods.
| Transport | Note | Default location/address |
| ------------------ | -------------------------- | ---------------------------- |
| Unix domain socket | Every line is a packet. | `/run/user/<uid>/karlender`. |
| Websocket | Packets are text messages. | `127.0.0.1:18752`. |
| TCP | Every line is a packet | `127.0.0.1:18751`. |
| Stdio | Every line is a packet | stdin / stdout |
## Licence
GNU Affero General Public License Version 3 only. See [COPYING](./COPYING)
|