Go to file
Tor Hveem 5408d77a1b Merge pull request #422 from glowing-bear/update-angular
update angularjs to 1.3 beta 19 to fix bug with quotes around URL
2014-08-25 13:54:29 +02:00
3rdparty Delete bindonce file and mention in README 2014-08-24 11:36:21 +01:00
assets Optipng-zopfli for even smaller pngs 2014-07-20 13:50:20 +01:00
css Fix word breaking 2014-08-14 15:35:40 +02:00
directives Remove bindonce for Angular 1.3 One-Time Bindings 2014-08-23 12:26:04 +01:00
js Merge pull request #418 from glowing-bear/kill-the-watchers 2014-08-23 18:18:24 -04:00
.jshintrc Don't use globalstrict, it produces lots of errors 2014-07-18 12:26:10 +01:00
.travis.yml Travis: disable build success IRC notifications 2014-05-03 14:17:57 +01:00
COPYING Add license information 2013-10-04 16:52:45 -04:00
README.md Potential improvements to our README 2014-08-24 17:03:52 +01:00
index.html update angularjs to 1.3 beta 19 to fix bug with quotes around URL 2014-08-25 12:40:49 +01:00
manifest.json Bump project version to 0.4.0 2014-08-02 10:27:15 -04:00
manifest.webapp Bump project version to 0.4.0 2014-08-02 10:27:15 -04:00

README.md

A web client for WeeChat Build Status

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, whereever 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.

Getting Started

Glowing Bear connects to the WeeChat instance you're already running (version 0.4.2 or later is required), and you need to be able to establish a connection to the WeeChat host from your device. It makes use of the relay plugin, and therefore you need to set up a relay. If you want to get started as quickly as possible, use these commands in WeeChat:

/relay add weechat 9001
/set relay.network.password YOURPASSWORD

Now point your browser to the Glowing Bear! If you're having trouble connecting, check that the host and port of your WeeChat host are entered correctly, and that your server's firewall permits incoming connections on the relay port.

Please note that the above instructions set up an unencrypted relay, and all your data will be transmitted in clear. Therefore, we strongly recommend that you set up encryption if you want to keep using Glowing Bear. We've written a detailed guide on how to set up a trusted secure relay for you.

You can run Glowing Bear in many ways: use it like any other webpage, as an app in Firefox (choose "Install app" on the landing page) or Chrome ("Tools", then "Create application shortcuts"), or a full-screen Chrome app on Android ("Add to homescreen"). We also provide an Android app that you can install from the Google Play Store, and a Firefox OS app in the Firefox Marketplace.

Android app on Google PlayFirefox OS app in the Firefox Marketplace

Screenshots

Running as Chrome application in a separate window on Windows and as Android app:

Glowing bear screenshot

How it Works

What follows is a more technical explanation of how Glowing Bear works, and you don't need to understand it to use it.

Glowing Bear uses WeeChat directly as its backend through the relay plugin. This means that we can connect to WeeChat directly from the browser using WebSockets. Therefore, the client does not need a special "backend service", and you don't have to install anything. A connection is made from your browser to your WeeChat, with no services in between. Thus, Glowing Bear is written purely in client-side JavaScript with a bit of HTML and CSS.

FAQ

  • Can I use Glowing Bear to access a machine or port not exposed to the internet by passing the connection through my server? No, that's not what Glowing Bear does. You can use a websocket proxy module for your webserver to forward /weechat to your WeeChat instance though. Here are some pointers you might find helpful for setting this up with nginx or apache.
  • How does the encryption work? TLS is used for securing the connection if you enable encryption. This is handled by your browser, and we have no influence on certificate handling, etc. You can find more detailed instructions on how to communicate securely in the "encryption instructions" tab on the landing page. A detailed guide on setting up a trusted secure relay is available here.

Development

Getting started with the development of Glowing Bear is really simple, partly because we don't have a build process (pure client-side JS, remember). All you have to do is clone the repository, fire up a webserver to host the files, and start fiddling around. You can try out your changes by reloading the page.

Here's a simple example using the python simple web server:

git clone https://github.com/glowing-bear/glowing-bear
cd glowing-bear
python -m SimpleHTTPServer

Now you can point your browser to http://localhost:8000!

Remember that you don't need to host Glowing Bear yourself to use it, you can just use our hosted version powered by GitHub pages, and we'll take care of updates for you. Your browser connects to WeeChat directly, so it does not matter where Glowing Bear is hosted.

If you'd prefer a version hosted with HTTPS, GitHub serves that as well with an undocumented, not officially supported (by GitHub) link. Be careful though, it might break any minute. Anyway, here's the link: secret GitHub HTTPS link.

You can also use the latest and greatest development version of Glowing Bear at https://latest.glowing-bear.org/.

Contributing

Whether you are interested in contributing or simply want to talk about the project, join us at #glowing-bear on freenode!

We appreciate all forms of contributions -- whether you're a coder, designer, or user, we are always curious what you have to say. Whether you have suggestions or already implemented a solution, let us know and we'll try to help. We're also very keen to hear which devices and platforms Glowing Bear works on (or doesn't), as we're a small team and don't have access to the resources we would need to test it everywhere.

If you're curious about the projects we're using, here's a list: AngularJS, Bootstrap, Underscore, favico.js, and zlib.js. Technology-wise, WebSockets are the most important part, but we also use local storage, the Notification Web API, and last (but not least) Apache Cordova for our mobile app.