3110a9e2df
irc.CaseMapping contains the basic canonicalization functions for the three supported case-mappings. irc.CaseMapMap is a Map-like class that supports case-mapped keys. |
||
---|---|---|
components | ||
lib | ||
.editorconfig | ||
.gitignore | ||
commands.js | ||
index.html | ||
keybindings.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
state.js | ||
store.js | ||
style.css |
gamja
A bare-bones IRC web client.
Usage
Requires an IRC WebSocket server.
First install dependencies:
npm install --production
soju
Add a WebSocket listener to soju, e.g. listen wss://127.0.0.1:8080
.
Configure your reverse proxy to serve gamja files and proxy /socket
to soju.
webircgateway
Setup webircgateway to serve gamja files:
[fileserving]
enabled = true
webroot = /path/to/gamja
Then connect to webircgateway and append ?server=/webirc/websocket/
to the
URL.
Development server
Start your IRC WebSocket server, e.g. on port 8080. Then run:
npm install
npm start
This will start a development HTTP server for gamja. Connect to it and append
?server=ws://localhost:8080
to the URL.
Query parameters
gamja settings can be overridden using URL query parameters:
server
: path or URL to the WebSocket servernick
: nicknamechannels
: comma-separated list of channels to join (#
needs to be escaped)
Alternatively, the channels can be set with the URL fragment (ie, by just appending the channel name to the gamja URL).
Configuration file
gamja default settings can be set using a config.json
file at the root:
{
"server": {
// WebSocket URL to connect to (string)
"url": "wss://irc.example.org",
// Channel(s) to auto-join (string or array of strings)
"autojoin": "#gamja"
}
}
Contributing
Send patches on the mailing list, report bugs on the issue tracker. Discuss in #soju on Libera Chat.
License
AGPLv3, see LICENSE.
Copyright (C) 2020 The gamja Contributors