Skip to content
Snippets Groups Projects
Commit 423dc940 authored by Neil Gershenfeld's avatar Neil Gershenfeld
Browse files

add auth

parent 1d1cc1b5
Branches
Tags
No related merge requests found
cast 0 → 100755
#!/bin/bash
cd ~/git/screen
sudo node screen.js 80 10 10 1234
...@@ -18,13 +18,17 @@ ...@@ -18,13 +18,17 @@
// //
// command line // command line
// //
if (process.argv.length != 5) { if ((process.argv.length < 5) || (process.argv.length > 6)) {
console.log("node screen.js server_port server_update_rate_ms client_update_rate_ms") console.log("node screen.js server_port server_update_rate_ms client_update_rate_ms [code]")
process.exit() process.exit()
} }
var port = parseInt(process.argv[2]) var port = parseInt(process.argv[2])
var server_delay = parseFloat(process.argv[3]) var server_delay = parseFloat(process.argv[3])
var client_delay = parseFloat(process.argv[4]) var client_delay = parseFloat(process.argv[4])
if (process.argv.length == 6)
var code = process.argv[5]
else
var code = "''"
// //
// requires // requires
// //
...@@ -56,7 +60,9 @@ http.createServer(function(request,response) { ...@@ -56,7 +60,9 @@ http.createServer(function(request,response) {
if (url == '/') { if (url == '/') {
fs.readFile('viewer.html',function(err,data){ fs.readFile('viewer.html',function(err,data){
response.writeHead(200,{'Content-Type':'text/html'}); response.writeHead(200,{'Content-Type':'text/html'});
response.end(data) var str = data.toString()
str = str.replace('CODE',code)
response.end(str)
}) })
} }
else if (url == '/img') { else if (url == '/img') {
......
<html> <html>
<body> <body>
<div id="page">
<img id="img" alt="waiting for screen transmission to start"><br> <img id="img" alt="waiting for screen transmission to start"><br>
<a href="screen.js">screen.js</a> <a href="screen.js">screen.js</a>
<a href="viewer.html">viewer.html</a> <a href="viewer.html">viewer.html</a>
</div>
<script type="text/javascript"> <script type="text/javascript">
// //
// viewer.html // viewer.html
// screen.js content viewer // screen.js content viewer
// Neil Gershenfeld // Neil Gershenfeld
// 2/9/17 // 2/26/19
// //
var client_delay var client_delay
var code = CODE
insecure_auth()
function insecure_auth() {
if (code == '') {
initialize() initialize()
update() update()
}
else {
var resp = prompt('screencast code?')
if (resp == code) {
initialize()
update()
}
else {
document.body.removeChild(document.getElementById('page'))
document.write('incorrect code')
}
}
}
function initialize() { function initialize() {
var req = new XMLHttpRequest() var req = new XMLHttpRequest()
req.open('GET','/initvars',true); req.open('GET','/initvars',true);
...@@ -48,8 +67,8 @@ function update() { ...@@ -48,8 +67,8 @@ function update() {
req.addEventListener('loadend',function(evt) { req.addEventListener('loadend',function(evt) {
if (evt.loaded == 0) { if (evt.loaded == 0) {
req.abort() req.abort()
document.getElementById("img").alt = 'screen transmission ended' document.body.removeChild(document.getElementById('page'))
document.getElementById("img").src = '' document.write('screen transmission ended')
} }
else { else {
var url = window.URL.createObjectURL(req.response) var url = window.URL.createObjectURL(req.response)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment