2013-02-16 19:18:14 +01:00
<!DOCTYPE html>
2013-10-07 00:12:44 +02:00
< html ng-app = "weechat" ng-cloak >
2013-02-16 18:49:20 +01:00
< head >
2013-10-07 00:12:44 +02:00
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=Edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title ng-bind-template = "WeeChat {{ pageTitle}}" > < / title >
2013-10-07 14:26:05 +02:00
< link href = "//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel = "stylesheet" media = "screen" >
2013-10-06 12:34:41 +02:00
< link rel = "shortcut icon" type = "image/png" href = "img/favicon.png" >
2013-10-02 01:39:24 +02:00
< link href = "css/glowingbear.css" rel = "stylesheet" media = "screen" >
2013-02-16 19:18:14 +01:00
< script type = "text/javascript" src = "js/angular.min.js" > < / script >
2013-07-28 05:59:12 +02:00
< script type = "text/javascript" src = "js/underscore.js" > < / script >
2013-10-05 16:05:16 +02:00
< script type = "text/javascript" src = "js/localstorage.js" > < / script >
2013-02-24 20:44:03 +01:00
< script type = "text/javascript" src = "js/protocol.js" > < / script >
2013-02-16 19:18:14 +01:00
< script type = "text/javascript" src = "js/websockets.js" > < / script >
2013-10-07 15:38:47 +02:00
< script src = "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" > < / script >
< script src = "//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js" > < / script >
2013-02-16 18:49:20 +01:00
< / head >
2013-10-06 23:59:34 +02:00
< body >
2013-02-16 19:18:14 +01:00
< div ng-controller = "WeechatCtrl" >
2013-10-06 13:59:34 +02:00
< div ng-hide = "connected" class = "container" >
< h2 >
2013-10-07 01:56:26 +02:00
< img src = "img/favicon.png" >
glowing bear
< small >
WeeChat web frontend
< / small >
2013-10-06 13:59:34 +02:00
< / h2 >
< div > To start using, please enable relay in your WeeChat client:
2013-10-07 01:56:26 +02:00
< pre >
2013-10-07 12:09:30 +02:00
/set relay.network.password yourpassword
/relay add weechat 9001< / pre >
2013-10-06 13:59:34 +02:00
Note: The communication goes directly between your browser and your weechat in clear text.
Connection settings are saved between sessions, including password, in your own browser.
2013-10-07 15:38:47 +02:00
< h4 > Encryption< / h4 >
If you want to use encrypted session you first have to set up the relay using SSL
< pre >
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
< / pre >
If WeeChat is already running, you can reload the certificate and private key with command:
< pre >
/relay sslcertkey
/relay add ssl.weechat 8000
< / pre >
2013-10-06 13:59:34 +02:00
< / div >
< h3 > Connection settings< / h3 >
< form role = "form" >
2013-10-07 01:56:26 +02:00
< div class = "alert alert-danger" ng-show = "errorMessage" >
< strong > Oh no!< / strong > We cannot connect!
< / div >
< div class = "form-group" >
< label class = "control-label" for = "hostport" > Hostname and port< / label >
< input type = "text" class = "form-control" id = "hostport" ng-model = "hostport" placeholder = "Hostport" >
< p class = "help-block" > Enter the hostname and the port to the WeeChat relay, separated by a :< / p >
< / div >
< div class = "form-group" >
< label class = "control-label" for = "password" > WeeChat relay password< / label >
< input type = "password" class = "form-control" id = "password" ng-model = "password" placeholder = "Password" >
< p class = "help-block" > Password will be stored in your browser session< / p >
< / div >
< div class = "form-group" >
2013-10-07 15:38:47 +02:00
< label class = "control-label" for = "proto" > Encryption< / label >
< input type = "checkbox" class = "form-control" id = "ssl" ng-model = "ssl" >
< p class = "help-block" > Check the box if you want to encrypt communication between browser and WeeChat. < 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. You must also first visit the URL https://weechathost:relayport/ to accept the certificate< / p >
2013-10-07 01:56:26 +02:00
< / div >
< button class = "btn btn-lg btn-primary" ng-click = "connect()" > Connect!< / button >
2013-02-16 19:18:14 +01:00
< / form >
< / div >
2013-10-07 16:58:41 +02:00
< div class = "content" ng-show = "connected" >
2013-10-07 01:56:26 +02:00
< nav class = "navbar navbar-default navbar-inverse navbar-fixed-top" role = "navigation" >
< div class = "navbar-header" >
< button type = "button" class = "navbar-toggle" data-toggle = "collapse" data-target = ".navbar-collapse" >
< span class = "sr-only" > Toggle navigation< / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< / button >
< / div >
< div class = "navbar-collapse collapse" >
< ul class = "nav navbar-nav " >
< li class = "label" ng-class = "{'active': content.active }" ng-repeat = "(key, content) in buffers | toArray | orderBy:'content.number':true" >
2013-10-07 12:04:28 +02:00
< a ng-click = "setActiveBuffer(content.id)" title = "{{ content.full_name }}" > {{ content.short_name }} < span class = "badge" ng-class = "{'danger': content.highlight }" ng-bind = "content.unread" > < / span > < / a >
2013-10-07 01:56:26 +02:00
< / li >
< / ul >
< / div >
< / nav >
2013-10-07 00:49:20 +02:00
< div class = "bufferlines" >
< div class = "bufferline" ng-repeat = "bufferline in activeBuffer.lines" >
< span class = "date text-muted" >
{{ bufferline.date | date:'HH:mm' }}
< / span >
2013-08-03 17:25:38 +02:00
2013-10-07 00:49:20 +02:00
< span ng-repeat = "part in bufferline.message" class = "text" style = "{{ part.fg }}" >
{{ part.text }}
< / span >
2013-08-06 23:07:29 +02:00
2013-10-07 00:49:20 +02:00
< div ng-repeat = "metadata in bufferline.metadata" >
< div ng-show = "metadata.visible" >
< a ng-click = "metadata.visible = false" > Hide additional content< / a >
< div ng-bind-html-unsafe = "metadata.content" > < / div >
< / div >
< div ng-hide = "metadata.visible" >
< a ng-click = "metadata.visible = true" > Show additional content< / a >
< / div >
2013-08-06 23:07:29 +02:00
2013-08-06 22:39:10 +02:00
< / div >
< / div >
2013-02-18 00:49:42 +01:00
< / div >
2013-10-07 00:49:20 +02:00
2013-10-06 19:15:34 +02:00
< div class = "navbar navbar-inverse navbar-fixed-bottom" >
< form class = "form form-horizontal" ng-submit = "sendMessage()" >
< div class = "input-group" >
< input type = "text" class = "form-control" ng-model = "command" > < / input >
< span class = "input-group-btn" >
< button class = "btn btn-default btn-primary" > Send< / button >
< / span >
< / div >
< / form >
< / div >
2013-02-16 19:18:14 +01:00
< / div >
< / div >
2013-02-16 18:49:20 +01:00
< / body >
< / html >