added new path /webrtc for testing purposes
This commit is contained in:
4
nodejs/etc/default/safechat
Normal file
4
nodejs/etc/default/safechat
Normal file
@@ -0,0 +1,4 @@
|
||||
#EXEC_SAFECHAT="/usr/bin/nodejs /usr/share/safechat/nodejs/safechat"
|
||||
#SAFECHAT_LOG="/var/log/SAFECHAT.log"
|
||||
#SAFECHAT="safechat"
|
||||
#SAFECHAT_PORT="8888"
|
38
nodejs/etc/init/safechat.conf
Normal file
38
nodejs/etc/init/safechat.conf
Normal file
@@ -0,0 +1,38 @@
|
||||
#!upstart
|
||||
description "Secure and Encrypted Chat Server"
|
||||
author "Marc Wäckerlin (https://marc.wäckerlin.ch) <marc@waeckerlin.org>"
|
||||
|
||||
start on (local-filesystems and net-device-up)
|
||||
stop on runlevel [!2345]
|
||||
|
||||
respawn
|
||||
|
||||
script
|
||||
echo $$ > /var/run/safechat.pid
|
||||
# there are some useful defaults
|
||||
# do not edit this file, overwrite values in /etc/default/safechat
|
||||
EXEC_SAFECHAT="/usr/bin/nodejs /usr/share/safechat/nodejs/safechat"
|
||||
SAFECHAT_LOG="/var/log/safechat.log"
|
||||
SAFECHAT_USER="safechat"
|
||||
SAFECHAT_PORT=""
|
||||
[ -r /etc/default/safechat ] && . /etc/default/safechat
|
||||
if test -n "${SAFECHAT_USER}"; then
|
||||
exec sudo -u "${SAFECHAT_USER}" ${EXEC_SAFECHAT} ${SAFECHAT_PORT} >> ${SAFECHAT_LOG} 2>&1
|
||||
else
|
||||
exec ${EXEC_SAFECHAT} ${SAFECHAT_PORT} >> ${SAFECHAT_LOG} 2>&1
|
||||
fi
|
||||
end script
|
||||
|
||||
pre-start script
|
||||
SAFECHAT_LOG="/var/log/safechat.log"
|
||||
[ -r /etc/default/safechat ] && . /etc/default/safechat
|
||||
# Date format same as (new Date()).toISOString() for consistency
|
||||
echo "[2016-11-25T11:53:52.543Z] (sys) Starting" >> ${SAFECHAT_LOG}
|
||||
end script
|
||||
|
||||
pre-stop script
|
||||
SAFECHAT_LOG="/var/log/safechat.log"
|
||||
[ -r /etc/default/safechat ] && . /etc/default/safechat
|
||||
rm /var/run/safechat.pid
|
||||
echo "[2016-11-25T11:53:52.544Z] (sys) Stopping" >> ${SAFECHAT_LOG}
|
||||
end script
|
@@ -1,24 +1,38 @@
|
||||
## @id $Id$
|
||||
|
||||
##
|
||||
## This file has been added:
|
||||
## - by bootstrap.sh
|
||||
## - on Fri, 25 November 2016 13:55:11 +0100
|
||||
## Feel free to change it or even remove and rebuild it, up to your needs
|
||||
##
|
||||
## 1 2 3 4 5 6 7 8
|
||||
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
EXTRA_DIST = package.json.in database doc public routes sockets safechat.js views
|
||||
EXTRA_DIST = @PACKAGE_NAME@.js package.json.in public routes sockets views
|
||||
|
||||
nodejsdir = ${pkgdatadir}/nodejs
|
||||
|
||||
node_modules:
|
||||
npm install
|
||||
sysconfdefaultdir = ${sysconfdir}/default
|
||||
sysconfinitdir = ${sysconfdir}/init
|
||||
dist_sysconf_DATA = etc/@PACKAGE_NAME@.json
|
||||
dist_sysconfdefault_DATA = etc/default/@PACKAGE_NAME@
|
||||
dist_sysconfinit_DATA = etc/init/@PACKAGE_NAME@.conf
|
||||
|
||||
all: node_modules
|
||||
|
||||
node_modules: package.json.in
|
||||
HOME=. npm install
|
||||
|
||||
clean-local:
|
||||
-rm -r node_modules .npm
|
||||
|
||||
install-data-hook:
|
||||
test -d $(DESTDIR)${nodejsdir} || mkdir -p $(DESTDIR)${nodejsdir}
|
||||
chmod -R u+w $(DESTDIR)${nodejsdir}
|
||||
cp -r . $(DESTDIR)${nodejsdir}
|
||||
|
||||
uninstall-local:
|
||||
-chmod -R u+w $(DESTDIR)${nodejsdir}
|
||||
-rm -rf $(DESTDIR)${nodejsdir}
|
||||
|
||||
clean-local:
|
||||
-rm -rf node_modules
|
||||
|
||||
MAINTAINERCLEANFILES = makefile.in
|
||||
|
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "@PACKAGE_NAME@",
|
||||
"version": "@PACKAGE_VERSION@",
|
||||
"documentation": "https://dev.marc.waeckerlin.org/doc/safechat/",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"ejs": "~2.5.2",
|
||||
|
5
nodejs/public/stylesheets/style.styl
Normal file
5
nodejs/public/stylesheets/style.styl
Normal file
@@ -0,0 +1,5 @@
|
||||
body
|
||||
padding: 50px
|
||||
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif
|
||||
a
|
||||
color: #00B7FF
|
@@ -6,9 +6,17 @@
|
||||
var package = require(__dirname+"/../package.json");
|
||||
|
||||
exports.index = function(req, res) {
|
||||
res.render('index', {
|
||||
projecturl: "https://dev.marc.waeckerlin.org/redmine/projects/safechat/embedded/index.html",
|
||||
packagename: package.name,
|
||||
packageversion: package.version
|
||||
res.render(path, {
|
||||
projecturl: package.documentation,
|
||||
packagename: package.name,
|
||||
packageversion: package.version
|
||||
})
|
||||
}
|
||||
|
||||
exports.webrtc = function(req, res) {
|
||||
res.render('webrtc', {
|
||||
projecturl: package.documentation,
|
||||
packagename: package.name,
|
||||
packageversion: package.version
|
||||
});
|
||||
};
|
||||
}
|
||||
|
@@ -2,11 +2,10 @@
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var express = require('express'),
|
||||
routes = require(__dirname+'/routes');
|
||||
|
||||
var package = require(__dirname+'/package.json');
|
||||
var config = require(package.path.config);
|
||||
var express = require('express');
|
||||
var routes = require(__dirname+'/routes');
|
||||
var app = module.exports = express.createServer();
|
||||
var io = require('socket.io').listen(app);
|
||||
var sql = require(__dirname+'/database')(config.mysql);
|
||||
@@ -58,6 +57,7 @@ io.sockets.on('connection', sockets.connection);
|
||||
// Routes
|
||||
|
||||
app.get('/', routes.index);
|
||||
app.get('/webrtc', routes.webrtc);
|
||||
|
||||
app.listen(config.port, function(){
|
||||
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
|
||||
|
54
nodejs/views/webrtc.ejs
Normal file
54
nodejs/views/webrtc.ejs
Normal file
@@ -0,0 +1,54 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width initial-scale=1" />
|
||||
<link href="stylesheets/safechat.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="jquery/jquery.min.js"></script>
|
||||
<link href="stylesheets/jquery.cssemoticons.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<script src="javascripts/ext/jquery.cssemoticons.js" type="text/javascript"></script>
|
||||
<title>WebRTC Test</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>WebRTC test</h1>
|
||||
<div id="status">
|
||||
<div id="main">
|
||||
<noscript>JavaScript is required!</noscript>
|
||||
<video autoplay></video>
|
||||
</div>
|
||||
<script>
|
||||
try {
|
||||
var errorCallback = function(e) {
|
||||
$('#status').html('ERROR: '+e)
|
||||
console.log('ERROR:', e)
|
||||
}
|
||||
navigator.getUserMedia = navigator.getUserMedia ||
|
||||
navigator.webkitGetUserMedia ||
|
||||
navigator.mozGetUserMedia ||
|
||||
navigator.msGetUserMedia
|
||||
if (navigator.getUserMedia) {
|
||||
// Not showing vendor prefixes.
|
||||
navigator.getUserMedia({
|
||||
video: true,
|
||||
audio: true,
|
||||
facingMode: "user"
|
||||
}, function(localMediaStream) {
|
||||
var video = document.querySelector('video')
|
||||
video.src = window.URL.createObjectURL(localMediaStream)
|
||||
|
||||
// Note: onloadedmetadata doesn't fire in Chrome when using it with getUserMedia.
|
||||
// See crbug.com/110938.
|
||||
video.onloadedmetadata = function(e) {
|
||||
// Ready to go. Do some stuff.
|
||||
};
|
||||
}, errorCallback)
|
||||
} else {
|
||||
$('#status').html('ERROR: WebRTC not fully supported in this browser')
|
||||
}
|
||||
} catch (e) {
|
||||
$('#status').html('ERROR: '+e.message)
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user