Upload error: Image upload failed.

logo Glowing Bear WeeChat web frontend

You're using Glowing Bear over an unencrypted connection (http://). This is not recommended! We recommend using our secure hosted version at https://www.glowing-bear.org/, or https://latest.glowing-bear.org for the latest development version. If your relay is on your local network, that is unfortunately impossible, but be aware of the implications.
Connection error The client was unable to connect to the WeeChat relay
Secure connection error A secure connection with the WeeChat relay could not be initiated. This is most likely because your browser does not trust your relay's certificate. Please read the encryption instructions below!
Secure connection error Unable to connect to unencrypted relay when you are connecting to Glowing Bear over HTTPS. Please use an encrypted relay or load the page without using HTTPS.
GlowingBear requires JavaScript support to function. Additionally, you must allow JS from cdnjs.cloudflare.com. Please check your script blocker or browser settings.
Glowing Bear is a web frontend for the WeeChat IRC client and strives to be a modern interface. It relies on WeeChat to do all the heavy lifting and then provides some nice features on top of that, like embedding images, videos, and other content. The best part, however, is that you can use it from any modern internet device -- whether it's a computer, tablet, or smart phone -- and all your stuff is there, wherever you are. You don't have to deal with the messy technical details, and all you need to have installed is a browser or our app.

Use TLS encryption

WeeChat version 0.4.2 or higher is required—we recommend at least 1.0.

To start using Glowing Bear, follow the instructions below to set up an encrypted relay. All communication goes directly between your browser and your WeeChat relay! This means that your server must be accessible. We never see any of your data or your password, and you don't need to trust a "cloud". All settings, including your password, are saved locally in your own browser between sessions.

You're using Glowing Bear over an unencrypted connection (http://). This is not recommended! We recommend using our secure hosted version at https://www.glowing-bear.org/, or https://latest.glowing-bear.org for the latest and greatest development version. You can still follow the instructions below to set up an encrypted relay, though.

When using encryption, all communication between your browser and WeeChat will be securely encrypted with TLS. This means that you have to set up a certificate. While it's possible to use a self-signed cert, we recommend against it, because it's handled poorly in browsers, and may not work at all on mobile devices. If you don't already have a certificate for your domain (or you don't have a domain), we strongly encourage you to get a certificate from Let's Encrypt—it's free and easy. We'll walk you through it.

If you don't have a domain you can get a free subdomain from providers such as afraid. You'll want to set up an 'A' record to your server's IP address, and quite possibly an AAAA record to its IPv6 address. These might take a few hours to propagate, if the steps below don't work right away, try again in a few hours.

Getting a certificate is easy. You'll need certbot—just follow the encryptions at https://certbot.eff.org. If you're not serving webpages on the same server or are unsure, select "none of the above" (if you are, you can probably use that webserver to proxy your relay, and skip this—check out the instructions in our Wiki). Next, get the certificate with certbot certonly --standalone -d {{ settings.host || your.domain.com }} and follow the instructions.

Nearly done! Now you just need to copy the files into place. To do that, use the following commands, replacing the username placeholder with your actual username:

mkdir -p ~username/.weechat/ssl
cat /etc/letsencrypt/live/{{ settings.host || your.domain.com }}/{fullchain,privkey}.pem > ~username/.weechat/ssl/relay.pem
chown -R username:username ~username/.weechat/ssl/

Once you've got the certificate and moved it in place, you can set up an encrypted relay on port {{ settings.port || 9001 }} with these WeeChat commands:

/set relay.network.password y0ur_StRonG-pa$sw0rd:of*choice
/relay sslcertkey
/relay add ssl.weechat {{ settings.port || 9001 }}

Your certificate needs to be renewed every couple of months. Either follow the instructions for automatic renewal at https://certbot.eff.org, or run certbot renew manually when renewal is due. Important: You'll need to follow the instructions for copying the certificate to the right place again, and re-run /relay sslcertkey in WeeChat.

Use TOTP (Time-based One-Time Password)

Configure WeeChat for TOTP. The secret key has to be a base 32 string.

/secure set relay_totp_secret xxxxx
/set relay.network.totp_secret "${sec.data.relay_totp_secret}"

Open an authenticator app and create an entry with the same secret. In Glowing Bear check the checkbox for "use Time-based One-Time Password" and fill in the one time password as you see it in the authenticator app.

Shortcuts

Glowing Bear has a few shortcuts:
  • ALT-n: Toggle nicklist
  • ALT-l: Focus on input bar
  • ALT-[0-9]: Switch to buffer number N
  • ALT-↑/↓: Switch to buffer above/below
  • ALT-a: Focus on next buffer with activity
  • ALT-<: Switch to previous active buffer
  • ALT-g: Focus on buffer list filter
  • ALT-h: Clear unread counters in every buffer (locally)
  • Esc-Esc: Disconnect (double-tap)
  • Arrow keys: Navigate history, or navigate quick search buffer results. Pressing while writing a message pushes it onto the history for later re-use, without sending it.
  • Tab: Complete nick
  • The following readline/emacs style keybindings can be enabled with a setting: Ctrl-a, Ctrl-e, Ctrl-u, Ctrl-k, Ctrl-w

Pinning buffers

The option "Only show buffers with unread messages" is useful when you have a lot of buffers and can't meaningfully look at all of them at the same time. However, often you have a select few buffers that you use more frequently and would like to have displayed permanently.

To pin a buffer, type /buffer set localvar_set_pinned true. Note: Local variables on buffers are not persisted across WeeChat restarts, so either use script buffer_autoset.py to automatically apply that upon buffer creation or use a trigger if you want automatic repinning when buffers get recreated. To unpin, you can use the same command and set anything other than true.

Helpful trigger to automatically repin a buffer (in this instance, irc.libera.#weechat):

/trigger add autopin signal "buffer_opened" "${buffer[${tg_signal_data}].full_name} =~ irc.libera.#weechat" "" "/command -buffer ${buffer[${tg_signal_data}].full_name} * /buffer set localvar_set_pinned true"

Setting a custom path

The hostname field can be used to set a custom path. Or a URL parameter can be used see section 'URL Parameters'.

To connect to the weechat relay service we connect using a URL. A typical URL consists of 4 parts. {scheme}://{host}:{port}/{path}. The path can be changed by entering the relay's full URL (except the scheme).

  • scheme: The scheme must never be input. The scheme is "ws" if TLS isn't used and it is "wss" if TLS is used.
  • host: Can be an IPv4, IPv6 or a FQDN. IPv6 addresses must be wrapped in square brackets.
  • port: can be specified in the host field or the seperate port field. However if the path is specified in the host field the port must also be specified.
  • path: by defautl this is "weechat". In case a proxy is used the path can be changed by entering it in the host field.

Examples of correct input for the host field are:

  • 192.168.0.1
  • 192.168.0.1:8000
  • 192.168.0.1:8000/weechat2
  • [2001:db8:85a3::8a2e:370:7334]
  • [2001:db8:85a3::8a2e:370:7334]:8000
  • [2001:db8:85a3::8a2e:370:7334]:8000/weechat2
  • yourhost.yourdomain.com
  • yourhost.yourdomain.com:8000
  • yourhost.yourdomain.com:8000/weechat2

Incorrect input for the host field:

  • ws://192.168.0.1 (do not specify the scheme)
  • 192.168.0.1/weechat2 (must specify port when specifying path)
  • [2001:db8:85a3::8a2e:370:7334]/weechat2 (must specify port when specifying path)
  • yourhost.yourdomain.com/weechat2 (must specify port when specifying path)
  • 2001:db8:85a3::8a2e:370:7334 (must wrap IPv6 address in square brackets)
  • 2001:db8:85a3::8a2e:370:7334:8000 (must wrap IPv6 address in square brackets)

URL Parameters

Parameters can be passed in the URL to prefill the fields. This can be useful when you have multiple relays and want to use bookmarks to manage them. We do not recommend passing the password in this way as it will be visible in plain text and stored in history/bookmarks but it is possible. Special characters should be URL encoded.

If we want just the path for example: https://glowing-bear.org/#path=weechat2

An example: https://glowing-bear.org/#host=my.domain.com&port=8000&password=hunter2&autoconnect=true

Available parameters:

  • host
  • port
  • path
  • password
  • autoconnect

You don't need to install anything to use Glowing Bear, it works with any modern browser. Start using it right now at the top of the page! However, there are a few ways to improve integration with your operating system.

Electron

Glowing Bear supports the electron shell. You'll have to build it yourself, though. Run the following commands, choosing your platform from the list in the last command:

git clone https://github.com/glowing-bear/glowing-bear
cd glowing-bear
npm install
npm install electron-packager
npm run build-electron-{windows, darwin, linux}

Chrome

To install Glowing Bear as an app in Chrome for Android, select Menu - Add to home screen. In the desktop version of Chrome, click Menu - More tools - Create application shortcuts.

Android App

We used to have an Android app, but discontinued it for lack of maintainers. You can still build it for yourself, see the app repository for instructions. Sorry!

Firefox Browser

Firefox used to support apps, but this was removed from Firefox. There's nothing we can do about it. Sorry!

Glowing bear is built by a small group of developers in their free time. As we're always trying to improve it, we would love getting your feedback and help. If that sounds like something you might enjoy, check out our project page on GitHub!

If you're interested in contributing or simply want to say hello, head over to #glowing-bear on libera! We won't bite, promise :)

brand {{unread}} {{notifications}}
{{ activeBuffer().trimmedName || activeBuffer().fullName }}
Fetch more lines Fetching more lines
<>

Connection to WeeChat lost

Reconnecting... Click to try to reconnect now