A simple IRC web client
Find a file
Simon Ser 695b02caaa Introduce store helper
Responsible for serializing/deserializing data to be saved in
localStorage. Add a prefix to all localStorage entries to avoid
conflicts with other webapps. Stop guarding against localStorage
not existing, browsers can just implement a dumb interface to
disable it.
2021-05-26 18:43:11 +02:00
components Introduce store helper 2021-05-26 18:43:11 +02:00
lib Add support for IRCv3 setname 2021-05-25 20:22:21 +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 Introduce store helper 2021-05-26 18:43:11 +02:00
index.html Make all resource paths relative 2021-03-02 22:46:48 +01: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 readme: update IRC channel 2021-05-25 12:35:43 +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 Indent channels and nicks in buffer list 2021-05-25 16:58:50 +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
  • channels: comma-separated list of channels to join

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