this repo has no description
at main 74 lines 2.0 kB view raw view rendered
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```