No description
Find a file
Simon Ser 615e746ec5 lib/client: add Client.cm
This contains the current connection case-mapping, parsed from the
CASEMAPPING ISUPPORT token.
2021-05-27 15:14:03 +02:00
components Add hint to run /help in unknown command error message 2021-05-27 12:55:28 +02:00
lib lib/client: add Client.cm 2021-05-27 15:14:03 +02:00
.editorconfig Add .editorconfig 2020-07-22 14:51:37 +02:00
.gitignore Add support for config file 2021-05-25 12:33:22 +02:00
commands.js Improve command error reporting 2021-05-27 11:26:42 +02:00
index.html Set the viewport meta tag 2021-05-26 22:42:35 +02:00
keybindings.js Make all resource paths relative 2021-03-02 22:46:48 +01:00
LICENSE Initial commit 2020-04-24 19:03:43 +02:00
package-lock.json Update dependencies 2021-05-17 09:52:42 +02:00
package.json Update preact 2021-01-12 16:04:49 +01:00
README.md Add nick URL param 2021-05-27 12:32:22 +02:00
state.js Switch to query params for msgid/timestamp in irc:// URLs 2021-05-25 12:46:00 +02:00
store.js Introduce store helper 2021-05-26 18:43:11 +02:00
style.css Style dialogs for dark theme 2021-05-27 12:05:24 +02:00

gamja

A bare-bones IRC web client.

screenshot

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 server
  • nick: nickname
  • channels: 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