A versatile web based messenger using IRC
- 100% static files. Host with your favourite web server or a CDN
- Works with UnrealIRCd
- Single or multiple IRC network connections
- Multiple layouts for small areas or full page layouts
- Light and dark modes
- Desktop notifications
- Extremely versatile via a single JSON config file at runtime
- Themable and rich plugin support such as file uploading and video calling
- Team mode for workplaces
Connection modes:
- Directly to a websocket IRC server
- Connect via the webircgateway websocket proxy for normal IRC servers
- Stay connected with KiwiBNC
If you just wanted to embed an IRC client on your website, you used to be able to generate a custom client hosted by kiwiirc.com using the simple client builder, https://kiwiirc.com/clientbuilder/ This has been giving an error "Gateway time-out" when I have tried it, however.
To install Kiwi IRC on your own server, pre-built and ready to use installers can be found at the downloads page, https://kiwiirc.com/downloads/ However if you download one of these "prebuilt" binaries you will need to create a config.conf by copying config.conf.example and editting it. Then you you also need to edit www/static/config.json in that file under "startupOptions" : { you will need to add lines like the following:
"server": "your.default.com",
"port": 6667,
"tls": false,
or if the IRC server you have chosen as your default supports tls,
"server": "your.default.com",
"port": 6697,
"tls": true,
This is necessary because the default server hard coded into these downloads is no longer online. Make sure you configure a certificate. Then you should be able to point web browser at https://your.host.com:port###/ and run the client.
First you need to add the following lines to your unrealircd.conf file:
loadmodule "websocket";
loadmodule "webserver";
listen {
ip *;
port 8000;
options {
tls;
websocket { type text; } // type must be either 'text' or 'binary'
};
tls-options {
certificate "server.cert.pem";
key "server.key.pem";
options {
no-client-certificate;
};
};
};
Then in your Kiwi IRC web folder, modify static/config.json and in that file under "startupOptions" : { you will need to change or add the following lines:
"server": "yourirc.server.com",
"port": 8000,
"tls": true,
"direct": true,
You will only be able to connect to IRC servers (like yours that you just configured) that support the websocket protocol. Make sure that if your web server sends a Content-Security-Policy header that it will alllow components to load from the following sites:
bestiejs.github.io
bugs.chromium.org
bugs.webkit.org
bugzilla.mozilla.org
code.google.com
css-tricks.com
developer.chrome.com
developer.mozilla.org
docs.inspircd.org
drafts.csswg.org
en.wikipedia.org
es5.github.io
fonts.googleapis.com
gist.github.com
github.com
goo.gl
hcaptcha.com
html.spec.whatwg.org
irc.server.com
jhildenbiddle.github.io
kiwiirc.com
lodash.com
mathiasbynens.be
mdn.io
mths.be
npms.io
openjsf.org
pastebin.com
people.mozilla.org
regex101.com
stackoverflow.com
tc39.github.io
tools.ietf.org
url.spec.whatwg.org
w3c.github.io
www.google.com
www.i18next.com
www.npmjs.com
www.w3.org
Also make sure to allow content from your UnrealIRCd web socket. Example:
connect-src wss://irc.unrealircd.org/;
Before you can build or start to develop on Kiwi IRC, make sure to have the following installed on your system:
# Install dependencies
$ yarn install
# Build Kiwi IRC into the dist/ folder
$ yarn run build
Note: Be sure to copy the files from the dist/
folder to your webserver! This folder will be overwritten each time it is built.
Kiwi IRC is built using Vuejs, webpack and babel.
# Install dependencies
yarn install
# Optionally link git pre-commit linting hooks
ln -s $PWD/scripts/pre-commit .git/hooks/
# A development web server with hot reloading at http://localhost:8080/
yarn run dev
Note: Do not use this development environment on your live website. It is slow, very large, and unsecure.
By default, the client will load the /static/config.json file on startup which contains the runtime configuration. When running in the development environment this can be found at static/config.json
Kiwi IRC is tested on all modern browsers and IE11. Other browsers are not actively tested and may have trouble running Kiwi IRC.
- Chrome
- Chrome Mobile (Android)
- Firefox
- IE11
- Safari 9+