this repo has no description
1# apollo
2
3An IRC server with some opinions
4
5## Usage
6
7Don't use it yet
8
9## Development
10
11Apollo can be run locally (or remotely) with the following command:
12
13`apollo --hostname <hostname> --port <port> --auth <auth>`, where `auth` is one
14of:
15
161. `none` - No authentication will happen. Whatever a user supplies as part of
17their SASL plain auth will be used as their nick
182. `github` - The password portion of SASL plain is taken to be a Github access
19token. apollo will request the profile of the authenticated user, and use their
20github login as their nick
213. `atproto` - An ATProto handle + app password will be used to authenticate the
22user. Works with did:web also.
23
24If you don't supply any options, it will default to "localhost", 6667, and
25`none`. Apollo requires SASL plain authentication, and never runs it's own TLS.
26When running remotely, always run it behind a proxy.
27
28## Design Principles
29
301. Low friction, modern chat experience
312. Self hostable on low-end hardware for most use cases
323. Identity provided by third parties (ATProto, Github, etc)
334. Comply with IRC specifications, but not necessarily IRC norms
34
35## Clients
36
37### comlink
38
39```lua
40comlink.connect({
41 server = "chat.rockorager.dev", -- Chat server you want to connect to
42 nick = "rockorager.dev", -- BlueSky / ATProto handle. Skip the '@'
43 password = "xxxx-xxxx-xxxx-xxxx", -- app password
44})
45```
46
47### senpai
48
49```scfg
50address chat.rockorager.dev
51nickname rockorager.dev
52password xxxx-xxxx-xxxx-xxxx
53```
54
55### weechat
56
57```
58/server add <servername> chat.rockorager.dev/6697 -ssl
59/set irc.server.<servername>.sasl_mechanism "plain"
60/set irc.server.<servername>.sasl_username "rockorager.dev"
61/set irc.server.<servername>.sasl_password "xxxx-xxxx-xxxx-xxxx"
62```
63
64### halloy
65
66```toml
67[servers.apollo]
68nickname = "rockorager.dev" #BlueSky handle
69server = "chat.rockorager.dev" # Server url
70
71[servers.apollo.sasl.plain]
72username = "rockorager.dev" # BlueSky / ATProto handle
73password = "xxxx-xxxx-xxxx-xxxx" # App password
74```