@ -66,14 +66,14 @@
< label class = "control-label" for = "password" > WeeChat relay password< / label >
< label class = "control-label" for = "password" > WeeChat relay password< / label >
< input type = "password" class = "form-control monospace" id = "password" ng-model = "password" placeholder = "Password" >
< input type = "password" class = "form-control monospace" id = "password" ng-model = "password" placeholder = "Password" >
< div class = "checkbox" >
< div class = "checkbox" >
< label >
< label class = "control-label" for = "savepassword" >
< input type = "checkbox" class = "checkbox" id = "savepassword" ng-model = "savepassword" >
< input type = "checkbox" id = "savepassword" ng-model = "savepassword" >
Save password in your browser
Save password in your browser
< / label >
< / label >
< / div >
< / div >
< div class = "checkbox" >
< div class = "checkbox" >
< label class = "control-label " for = "ssl" >
< label class = "control-label" for = "ssl" >
< input type = "checkbox" class = "" id = "ssl" ng-model = "ssl" >
< input type = "checkbox" id = "ssl" ng-model = "ssl" >
Encryption. Read instructions for help
Encryption. Read instructions for help
< / label >
< / label >
< / div >
< / div >
@ -102,7 +102,6 @@
< span class = "label label-danger" > WeeChat version 0.4.2 or higher is required.< / span > < br >
< span class = "label label-danger" > WeeChat version 0.4.2 or higher is required.< / span > < br >
The communication goes directly between your browser and your WeeChat relay in plain text. Check the instructions below for help on setting up encrypted communication.
The communication goes directly between your browser and your WeeChat relay in plain text. Check the instructions below for help on setting up encrypted communication.
Connection settings, including your password, are saved locally in your own browser between sessions.
Connection settings, including your password, are saved locally in your own browser between sessions.
< br >
< br >
< h3 > Shortcuts< / h3 >
< h3 > Shortcuts< / h3 >
Glowing Bear has a few shortcuts:
Glowing Bear has a few shortcuts:
@ -127,14 +126,14 @@
< div id = "collapseThree" class = "panel-collapse collapse" >
< div id = "collapseThree" class = "panel-collapse collapse" >
< div class = "panel-body" >
< div class = "panel-body" >
If you check the encryption box, the communication between browser and WeeChat will be encrypted.< br >
If you check the encryption box, the communication between browser and WeeChat will be encrypted.< br >
< strong > Note< / strong > : Due to a < a href = "https://bugzilla.mozilla.org/show_bug.cgi?id=594502" > bug< / a > encryption will not work in Firefox. Unless you are using a certificate trusted by your browser, you must also first visit the URL https://weechathost:relayport/ to accept the certificate .< / p >
< strong > Note< / strong > : Due to a < a href = "https://bugzilla.mozilla.org/show_bug.cgi?id=594502" > bug< / a > encryption will not work in Firefox. Unless you are using a certificate trusted by your browser, you must also first visit the URL https://weechathost:relayport/ to mark the certificate as trusted .< / p >
If you want to use an encrypted session you first have to set up the relay using SSL. It is easiest to use a self-signed certificate, which you can create like this:
If you want to use an encrypted session you first have to set up the relay to use SSL. It is easiest to use a self-signed certificate, which you can create like this:
< pre >
< pre >
$ mkdir -p ~/.weechat/ssl
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
$ openssl req -nodes -newkey rsa:4096 -keyout relay.pem -x509 -days 365 -out relay.pem
< / pre >
< / pre >
If WeeChat is already running, you can reload the certificate and private key with these commands:
If WeeChat is already running, you can reload the certificate and private key and set up an encrypted relay on port 8000 with these commands:
< pre >
< pre >
/relay sslcertkey
/relay sslcertkey
/relay add ssl.weechat 8000
/relay add ssl.weechat 8000
@ -152,105 +151,120 @@ $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out rel
< / div >
< / div >
< div id = "collapseFour" class = "panel-collapse collapse" >
< div id = "collapseFour" class = "panel-collapse collapse" >
< div class = "panel-body" >
< div class = "panel-body" >
< p > If you have a very recent version of Firefox you can install the frontend as an app. Click the button to install.< / p >
< p > If you have a recent version of Firefox you can install glowing bear as an app. Click the button to install.< / p >
< button class = "btn btn-lg btn-primary" ng-click = "install()" > Install app < i class = "glyphicon glyphicon-chevron-right" > < / i > < / button >
< button class = "btn btn-lg btn-primary" ng-click = "install()" > Install app < i class = "glyphicon glyphicon-chevron-right" > < / i > < / button >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "panel" >
< div class = "panel-heading" >
< h4 class = "panel-title" >
< a class = "accordion-toggle" data-toggle = "collapse" data-parent = "#accordion" href = "#collapseFive" >
Get involved
< / a >
< / h4 >
< / div >
< div id = "collapseFive" class = "panel-collapse collapse" >
< div class = "panel-body" >
< p > 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 < a href = "https://github.com/cormier/glowing-bear" > project page< / a > on GitHub!< / p >
< p > If you're interested in contributing or simply want to say hello, head over to < strong > #glowing-bear< / strong > on < strong > freenode!< / strong > We won't bite, promise (-ish).< / p >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "content" ng-show = "connected" >
< div class = "content" ng-show = "connected" >
< div id = "topbar" class = "" >
< div id = "topbar" >
< div class = "brand" >
< div class = "brand" >
< a href = "#" data-target = "#sidebar" data-toggle = "collapse" >
< a href = "#" data-target = "#sidebar" data-toggle = "collapse" >
< img alt = "brand" src = "img/favicon.png" title = "Connected to {{ host }}:{{ port}}" >
< img alt = "brand" src = "img/favicon.png" title = "Connected to {{ host }}:{{ port}}" >
< / a >
< / a >
< button ng-show = "debugMode" ng-click = "countWatchers()" > Count< br / > Watchers< / button >
< button ng-show = "debugMode" ng-click = "countWatchers()" > Count< br / > Watchers< / button >
< / div >
< / div >
< div class = "title" ng-bind-html = "activeBuffer().title | linky:'_blank'" > < / div >
< div class = "title" ng-bind-html = "activeBuffer().title | linky:'_blank'" > < / div >
< div class = "actions pull-right vertical-line-left" >
< div class = "actions pull-right vertical-line-left" >
< div class = "dropdown pull-left" >
< div class = "dropdown pull-left" >
< a href = "#" class = "dropdown-toggle" data-toggle = "dropdown" title = "Options menu" >
< a href = "#" class = "dropdown-toggle" data-toggle = "dropdown" title = "Options menu" >
< i class = "glyphicon glyphicon-cog" > < / i >
< i class = "glyphicon glyphicon-cog" > < / i >
< / a >
< / a >
< ul class = "dropdown-menu pull-right" >
< ul class = "dropdown-menu pull-right" >
< li class = "" >
< li >
< form class = "form-inline" role = "form" >
< form class = "form-inline" role = "form" >
< div class = "checkbox" >
< div class = "checkbox" >
< label >
< label >
< input type = "checkbox" ng-model = "onlyUnread" >
< input type = "checkbox" ng-model = "onlyUnread" >
Only show unread
Only show unread
< / label >
< / label >
< / div >
< / div >
< / form >
< / form >
< / li >
< / li >
< li class = "" >
< li >
< form class = "form-inline" role = "form" >
< form class = "form-inline" role = "form" >
< div class = "checkbox" >
< div class = "checkbox" >
< label >
< label
< input type = "checkbox" ng-model = "notimestamp" >
< input type = "checkbox" ng-model = "notimestamp" >
Hide timestamps
Hide timestamps
< / label >
< / label >
< / div >
< / div >
< / form >
< / form >
< / li >
< / li >
< li class = "" >
< li >
< form class = "form-inline" role = "form" >
< form class = "form-inline" role = "form" >
< div class = "checkbox" >
< div class = "checkbox" >
< label >
< label >
< input type = "checkbox" ng-model = "noembed" >
< input type = "checkbox" ng-model = "noembed" >
Hide embedded content by default
Hide embedded content by default
< / label >
< / label >
< / div >
< / div >
< / form >
< / form >
< / li >
< / li >
< li class = "" >
< li >
< form class = "form-inline" role = "form" >
< form class = "form-inline" role = "form" >
< div class = "checkbox" >
< div class = "checkbox" >
< label >
< label >
< input type = "checkbox" ng-model = "hotlistsync" >
< input type = "checkbox" ng-model = "hotlistsync" >
Sync hotlist with WeeChat
Sync hotlist with WeeChat
< / label >
< / label >
< / div >
< / div >
< / form >
< / form >
< / li >
< / li >
< li class = "" >
< li >
< form class = "form-inline" role = "form" >
< form class = "form-inline" role = "form" >
< div class = "checkbox" >
< div class = "checkbox" >
< label >
< label >
< input type = "checkbox" ng-model = "nonicklist" >
< input type = "checkbox" ng-model = "nonicklist" >
Hide nicklist
Hide nicklist
< / label >
< / label >
< / div >
< / div >
< / form >
< / form >
< / li >
< / li >
< li class = "" >
< li >
< form class = "form-inline" role = "form" >
< form class = "form-inline" role = "form" >
< div class = "checkbox" >
< div class = "checkbox" >
< label >
< label >
< input type = "checkbox" ng-model = "orderbyserver" >
< input type = "checkbox" ng-model = "orderbyserver" >
Order channels by server
Order channels by server
< / label >
< / label >
< / div >
< / div >
< / form >
< / form >
< / li >
< / li >
< li class = "" >
< li >
< form class = "form-inline" role = "form" >
< form class = "form-inline" role = "form" >
< div class = "checkbox" >
< div class = "checkbox" >
< label >
< label >
< input type = "checkbox" ng-model = "debugMode" >
< input type = "checkbox" ng-model = "debugMode" >
Debug Mode
Debug Mode
< / label >
< / label >
< / div >
< / div >
< / form >
< / form >
< / li >
< / li >
< / ul >
< / ul >
< / div >
< / div >
< a ng-click = "disconnect()" title = "Disconnect from WeeChat" >
< a ng-click = "disconnect()" title = "Disconnect from WeeChat" >
< i class = "glyphicon glyphicon-remove" > < / i >
< i class = "glyphicon glyphicon-remove" > < / i >
< / a >
< / a >
< / div >
< / div >
< / div >
< / div >
< div bindonce id = "sidebar" class = "vertical-line collapse in" >
< div bindonce id = "sidebar" class = "vertical-line collapse in" >
< ul class = "nav nav-pills nav-stacked" ng-class = "{'indented': (predicate === 'serverSortKey')}" >
< ul class = "nav nav-pills nav-stacked" ng-class = "{'indented': (predicate === 'serverSortKey')}" >
@ -271,7 +285,7 @@ $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out rel
< div bindonce id = "bufferlines" class = "monospace" ng-class = "{'withnicklist': showNicklist}" >
< div bindonce id = "bufferlines" class = "monospace" ng-class = "{'withnicklist': showNicklist}" >
< div id = "nicklist" ng-show = "showNicklist" class = "vertical-line-left" >
< div id = "nicklist" ng-show = "showNicklist" class = "vertical-line-left" >
< ul class = "nicklistgroup list-unstyled" ng-repeat = "group in activeBuffer().nicklist" >
< ul class = "nicklistgroup list-unstyled" ng-repeat = "group in activeBuffer().nicklist" >
< li class = "" ng-repeat = "nick in group.nicks|orderBy:'name'" ng-click = "openQuery(nick.name)" >
< li ng-repeat = "nick in group.nicks|orderBy:'name'" ng-click = "openQuery(nick.name)" >
< a ng-click = "nickAction(nick)" > < span bo-class = "nick.prefixClasses" bo-text = "nick.prefix" > < / span > < span bo-class = "nick.nameClasses" bo-text = "nick.name" > < / span > < / a >
< a ng-click = "nickAction(nick)" > < span bo-class = "nick.prefixClasses" bo-text = "nick.prefix" > < / span > < span bo-class = "nick.nameClasses" bo-text = "nick.name" > < / span > < / a >
< / li >
< / li >
< / ul >
< / ul >
@ -300,7 +314,6 @@ $ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out rel
< div plugin data = "metadata" > < / div >
< div plugin data = "metadata" > < / div >
< / div >
< / div >
< span ng-repeat = "part in bufferline.content" class = "text" bo-class = "part.classes" bo-html = "part.text|linky:'_blank'" > < / span >
< span ng-repeat = "part in bufferline.content" class = "text" bo-class = "part.classes" bo-html = "part.text|linky:'_blank'" > < / span >
< / td >
< / td >
< / tr >
< / tr >
< tr class = "readmarker" ng-if = "activeBuffer().lastSeen==$index" >
< tr class = "readmarker" ng-if = "activeBuffer().lastSeen==$index" >