feedback #7
@ -21,6 +21,12 @@ mkdir -p /var/www/stream/token/tokendb
|
||||
chown root:www-data /var/www/stream/publish/token/tokendb /var/www/stream/token/tokendb
|
||||
chmod 775 /var/www/stream/publish/token/tokendb /var/www/stream/token/tokendb
|
||||
|
||||
mkdir -p /var/www/stream/feedback
|
||||
mkdir -p /var/www/stream/currentlylive
|
||||
mkdir -p /var/www/stream/paststats
|
||||
chown root:www-data /var/www/stream/feedback /var/www/stream/currentlylive /var/www/stream/paststats
|
||||
chmod 775 /var/www/stream/feedback /var/www/stream/currentlylive /var/www/stream/paststats
|
||||
|
||||
if [ ! -f /var/www/stream/legal.html ]; then
|
||||
cp legal.html /var/www/stream/
|
||||
fi
|
||||
@ -60,6 +66,56 @@ if [ ! -f /var/www/stream/publish/token/gen_publish.cgi ]; then
|
||||
chmod +x /var/www/stream/publish/token/gen_publish.cgi
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/feedback/feedback.html ]; then
|
||||
cat feedback_index.html | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/feedback/index.html
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/feedback/streamstats.html ]; then
|
||||
cat feedback_streamstats.html | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/feedback/streamstats.html
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/feedback/gettmp.js ]; then
|
||||
cat feedback_gettmp.js | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/feedback/gettmp.js
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/feedback/gettmpstats.cgi ]; then
|
||||
cat gettmpstats.cgi | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/feedback/gettmpstats.cgi
|
||||
chmod +x /var/www/stream/feedback/gettmpstats.cgi
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/currentlylive/index.html ]; then
|
||||
cat currentlylive_index.html | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/currentlylive/index.html
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/currentlylive/collecttmp.js ]; then
|
||||
cat currentlylive_collecttmp.js | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/currentlylive/collecttmp.js
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/currentlylive/listoftmps.cgi ]; then
|
||||
cat listoftmps.cgi | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/currentlylive/listoftmps.cgi
|
||||
chmod +x /var/www/stream/currentlylive/listoftmps.cgi
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/paststats/index.html ]; then
|
||||
cat paststats_index.html | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/paststats/index.html
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/paststats/datesetter.js ]; then
|
||||
cat paststats_datesetter.js | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/paststats/datesetter.js
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/paststats/paststats.html ]; then
|
||||
cat paststats_paststats.html | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/paststats/paststats.html
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/paststats/paststats.js ]; then
|
||||
cat paststats_paststats.js | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/paststats/paststats.js
|
||||
fi
|
||||
|
||||
if [ ! -f /var/www/stream/paststats/getviewers.cgi ]; then
|
||||
cat getviewers.cgi | sed 's/\$DOMAINNAME/'"$EL_DOMAINNAME"'/g' >/var/www/stream/paststats/getviewers.cgi
|
||||
chmod +x /var/www/stream/paststats/getviewers.cgi
|
||||
fi
|
||||
|
||||
mkdir -p /var/log/nginx
|
||||
mkdir -p /var/log/rtmp
|
||||
|
76
tmpl/currentlylive_collecttmp.js
Executable file
76
tmpl/currentlylive_collecttmp.js
Executable file
@ -0,0 +1,76 @@
|
||||
function init(){
|
||||
refresh();
|
||||
}
|
||||
|
||||
|
||||
function refresh()
|
||||
{
|
||||
var myvar = setInterval(readlog, 5000)
|
||||
}
|
||||
|
||||
function readlog() {
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange=function()
|
||||
{
|
||||
if (xmlhttp.readyState==4 && xmlhttp.status==200)
|
||||
{
|
||||
//document.getElementById("temptable").innerHTML=xmlhttp.responseText;
|
||||
var str = xmlhttp.responseText;
|
||||
var streams = str.split('\n')
|
||||
streams.splice(0,5)
|
||||
streams.splice(-3,3)
|
||||
if (streams[0] === "*-tmp.log" && streams.length === 1)
|
||||
{
|
||||
document.getElementById("temptable").innerHTML="No streams are online at the moment."
|
||||
document.getElementById("listofstreams").innerHTML = ""
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < streams.length; i++)
|
||||
{
|
||||
if (streams[i].includes("-lq-tmp"))
|
||||
{
|
||||
streams.splice(i,1);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
var table = document.getElementById("listofstreams")
|
||||
table.innerHTML = ""
|
||||
var row = table.insertRow(-1)
|
||||
var c1 = row.insertCell(0)
|
||||
var c2 = row.insertCell(1)
|
||||
c1.innerHTML = "Stream name"
|
||||
c2.innerHTML = "Track statistics"
|
||||
for (i = 0; i < streams.length; i++)
|
||||
{
|
||||
|
||||
var processTheName = streams[i].split("-")
|
||||
var eacode = processTheName[1]
|
||||
//console.log(eacode)
|
||||
|
||||
var table = document.getElementById("listofstreams")
|
||||
var row = table.insertRow(-1)
|
||||
var c1 = row.insertCell(0)
|
||||
var c2 = row.insertCell(1)
|
||||
c1.innerHTML = eacode
|
||||
refLink = "../feedback/streamstats.html?code=" + eacode;
|
||||
c2.innerHTML = "<a href=\"" + refLink + "\" target=\"blank\" rel=\"noopener noreferrer\">Link</a>"
|
||||
}
|
||||
|
||||
document.getElementById("temptable").innerHTML=streams
|
||||
}
|
||||
|
||||
//console.log(streams)
|
||||
} else if (xmlhttp.readyState==4)
|
||||
{
|
||||
document.getElementById("temptable").innerHTML=(xmlhttp.status + xmlhttp.statusText);
|
||||
}
|
||||
}
|
||||
xmlhttp.open("POST","listoftmps.cgi", true);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
window.onload = init;
|
11
tmpl/currentlylive_index.html
Executable file
11
tmpl/currentlylive_index.html
Executable file
@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script type="text/javascript" src="collecttmp.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="temptable">Loading...</div>
|
||||
<table id="listofstreams">
|
||||
</table>
|
||||
</body>
|
58
tmpl/feedback_gettmp.js
Executable file
58
tmpl/feedback_gettmp.js
Executable file
@ -0,0 +1,58 @@
|
||||
function init()
|
||||
{
|
||||
refresh();
|
||||
}
|
||||
|
||||
function getEaCode()
|
||||
{
|
||||
var parameters = location.search.substring(1).split("&")
|
||||
var temp = parameters[0].split("=");
|
||||
lecturename = unescape(temp[1]);
|
||||
//console.log(lecturename);
|
||||
//var myvar = setInterval(readlog(lecturename), 1000)
|
||||
readlog(lecturename);
|
||||
}
|
||||
|
||||
function readlog(e) {
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange=function()
|
||||
{
|
||||
if (xmlhttp.readyState==4 && xmlhttp.status==200)
|
||||
{
|
||||
var resp = xmlhttp.responseText;
|
||||
resp = resp.substring(resp.indexOf("frame="))
|
||||
if (resp.startsWith("frame="))
|
||||
{
|
||||
document.getElementById("testdiv").innerHTML = resp;
|
||||
}
|
||||
else
|
||||
{
|
||||
resp = resp.substring(resp.indexOf("The requested"))
|
||||
if (resp.startsWith("The requested"))
|
||||
{
|
||||
document.getElementById("testdiv").innerHTML = resp;
|
||||
}
|
||||
else
|
||||
{
|
||||
document.getElementById("testdiv").innerHTML = "Stream is currently starting...";
|
||||
}
|
||||
}
|
||||
//console.log(xmlhttp.responseText);
|
||||
|
||||
} else if (xmlhttp.readyState==4)
|
||||
{
|
||||
document.getElementById("testdiv").innerHTML=(xmlhttp.status + xmlhttp.statusText);
|
||||
}
|
||||
}
|
||||
xmlhttp.open("POST","gettmpstats.cgi", true);
|
||||
xmlhttp.setRequestHeader("eacode", e);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
function refresh()
|
||||
{
|
||||
var myvar = setInterval(getEaCode, 1000)
|
||||
|
||||
}
|
||||
|
||||
window.onload = init;
|
16
tmpl/feedback_index.html
Executable file
16
tmpl/feedback_index.html
Executable file
@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
<body>
|
||||
<form action="streamstats.html" method="GET">
|
||||
<input type="text" name="code" placeholder="eacode">
|
||||
<input type="submit" value="Track">
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<!--<input type="text" id="eakod">
|
||||
<div id="testdiv"></div>
|
||||
<button id="button1"></button>-->
|
||||
</body>
|
8
tmpl/feedback_streamstats.html
Executable file
8
tmpl/feedback_streamstats.html
Executable file
@ -0,0 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script type="text/javascript" src="gettmp.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="testdiv">Loading...</div>
|
||||
</body>
|
40
tmpl/gettmpstats.cgi
Executable file
40
tmpl/gettmpstats.cgi
Executable file
@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
|
||||
LOG_DIR="../../../log/"
|
||||
|
||||
EACODE="$HTTP_EACODE"
|
||||
|
||||
FILE=""$LOG_DIR"/ffmpeg/ffmpeg-"$EACODE"-tmp.log"
|
||||
|
||||
if test -f "$FILE" ; then
|
||||
#lastline=$( tail -n 1 "$FILE" | head -n 1)
|
||||
#https://stackoverflow.com/questions/22727107/how-to-find-the-last-field-using-cut
|
||||
lastline=$( tail -n 1 "$FILE" | rev | cut -d'x' -f 2 | rev )
|
||||
echo "HTTP/1.1 200 OK"
|
||||
echo "Content-Type: text/html; charset=UTF-8"
|
||||
echo "
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body>"
|
||||
echo "$lastline"
|
||||
echo "<br>"
|
||||
#set $QUERY_STRING #(this prints all the headers)
|
||||
echo "</body>
|
||||
</html>"
|
||||
else
|
||||
echo "HTTP/1.1 200 OK"
|
||||
echo "Content-Type: text/html; charset=UTF-8"
|
||||
echo "
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body>"
|
||||
echo "The requested stream is offline or does not exist."
|
||||
echo "<br>"
|
||||
echo "</body>
|
||||
</html>"
|
||||
fi
|
||||
exit 0
|
32
tmpl/getviewers.cgi
Executable file
32
tmpl/getviewers.cgi
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
LOG_DIR="../../../log/"
|
||||
|
||||
EACODE="$HTTP_EACODE"
|
||||
|
||||
DATE="$HTTP_DATESTRING"
|
||||
|
||||
FILE=""$LOG_DIR"/nginx/access.log"
|
||||
|
||||
|
||||
|
||||
if test -f "$FILE" ; then
|
||||
accessforthiscode=$( grep "PLAY \"live.*\"" "$FILE" | grep "$EACODE" | cut -d':' -f 1 | grep "$DATE" | cut -d' ' -f 1)
|
||||
browserplays=$( grep "GET /livehls.*/$EACODE.m3u8" "$FILE" | cut -d' ' -f 1,4 | grep "$DATE" | cut -d' ' -f 1)
|
||||
|
||||
echo "HTTP/1.1 200 OK"
|
||||
echo "Content-Type: text/html; charset=UTF-8"
|
||||
echo "
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body>"
|
||||
echo "$accessforthiscode"
|
||||
echo "$browserplays"
|
||||
echo "</body>
|
||||
</html>"
|
||||
else
|
||||
echo "HTTP/1.1 503 Service Unavailable"
|
||||
fi
|
||||
|
||||
exit 0
|
39
tmpl/listoftmps.cgi
Executable file
39
tmpl/listoftmps.cgi
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
LOG_DIR="../../../log/"
|
||||
|
||||
#stackoverflow.com/questions/18884992/how-do-i-assign-ls-to-an-array-in-linux-bash
|
||||
|
||||
cd $LOG_DIR/ffmpeg
|
||||
|
||||
#TMPSTREAMS=$(ls -d *-tmp.log)
|
||||
#shopt -s nullglob
|
||||
#TMPSTREAMS=(*-tmp.log)
|
||||
#shopt -u nullglob
|
||||
#TMPSTREAMS=$(ls -d *-tmp.log)
|
||||
##TMPSTREAMS=$(ls *nummod* )
|
||||
##ARRAY=($TMPSTREAMS)
|
||||
#MPSTREAMS=$(echo $TMPSTREAMS | cut -d'-' -f 2)
|
||||
|
||||
#stackoverflow.com/questions/12623064/listing-files-using-sh
|
||||
set -- *-tmp.log
|
||||
#set -- *analizis*
|
||||
|
||||
|
||||
echo "HTTP/1.1 200 OK"
|
||||
echo "Content-Type: text/html; charset=UTF-8"
|
||||
echo "
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body>"
|
||||
for filename; do
|
||||
echo "${filename}"
|
||||
done
|
||||
##echo "${ARRAY[*]}"
|
||||
#echo "$ARRAY"
|
||||
#echo "$TMPSTREAMS"
|
||||
echo "</body>
|
||||
</html>"
|
||||
exit 0
|
46
tmpl/paststats_datesetter.js
Normal file
46
tmpl/paststats_datesetter.js
Normal file
@ -0,0 +1,46 @@
|
||||
function init()
|
||||
{
|
||||
document.getElementById("formsubmitter").onclick = checkAndSubmit;
|
||||
}
|
||||
|
||||
function checkAndSubmit()
|
||||
{
|
||||
var eacode = document.getElementById("code").value;
|
||||
var year = document.getElementById("year").value;
|
||||
var month = document.getElementById("month").value;
|
||||
var day = document.getElementById("day").value;
|
||||
var isCorrect = 1;
|
||||
document.getElementById("errorlog").innerHTML = ""
|
||||
if (eacode == "")
|
||||
{
|
||||
document.getElementById("errorlog").innerHTML += "Code cannot be empty! "
|
||||
isCorrect = 0;
|
||||
}
|
||||
|
||||
if (isNaN(year) || year < 0 || year == "")
|
||||
{
|
||||
document.getElementById("errorlog").innerHTML += "Incorrect year format! "
|
||||
isCorrect = 0;
|
||||
}
|
||||
if (isNaN(month) || month < 0 || month > 12 || month == "")
|
||||
{
|
||||
document.getElementById("errorlog").innerHTML += "Incorrect month format! "
|
||||
isCorrect = 0;
|
||||
}
|
||||
if (isNaN(day) || day < 0 || day > 31 || month == "")
|
||||
{
|
||||
document.getElementById("errorlog").innerHTML += "Incorrect day format! "
|
||||
isCorrect = 0;
|
||||
}
|
||||
|
||||
if (isCorrect == 1)
|
||||
{
|
||||
document.getElementById("yearform").submit();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
window.onload = init;
|
15
tmpl/paststats_index.html
Normal file
15
tmpl/paststats_index.html
Normal file
@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script type="text/javascript" src="datesetter.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<form action="paststats.html" method="GET" id="yearform">
|
||||
Code: <br> <input type="text" name="code" id="code" placeholder="eacode"> <br>
|
||||
Year: <br> <input type="text" name="year" id="year" placeholder="2020"> <br>
|
||||
Month: <br> <input type="text" name="month" id="month" placeholder="09"> <br>
|
||||
Day: <br> <input type="text" name="day" id="day" placeholder="21"> <br>
|
||||
<button type="button" id="formsubmitter">Submit</button>
|
||||
</form>
|
||||
<div id="errorlog"></div>
|
||||
</body>
|
8
tmpl/paststats_paststats.html
Normal file
8
tmpl/paststats_paststats.html
Normal file
@ -0,0 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script type="text/javascript" src="paststats.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="testdiv">Loading...</div>
|
||||
</body>
|
110
tmpl/paststats_paststats.js
Normal file
110
tmpl/paststats_paststats.js
Normal file
@ -0,0 +1,110 @@
|
||||
function init()
|
||||
{
|
||||
loadStats()
|
||||
}
|
||||
|
||||
function loadStats()
|
||||
{
|
||||
var parameters = location.search.substring(1).split("&")
|
||||
var temp = parameters[0].split("=");
|
||||
var lecturename = unescape(temp[1]);
|
||||
var t2 = parameters[1].split("=");
|
||||
var year = unescape(t2[1]);
|
||||
var t3 = parameters[2].split("=");
|
||||
var month = unescape(t3[1]);
|
||||
var t4 = parameters[3].split("=");
|
||||
var day = unescape(t4[1]);
|
||||
var transformedDate = day
|
||||
transformedDate += "/"
|
||||
var b = 0;
|
||||
switch(parseInt(month)) {
|
||||
case 1:
|
||||
transformedDate += "Jan/"
|
||||
break;
|
||||
case 2:
|
||||
transformedDate += "Feb/"
|
||||
break;
|
||||
case 3:
|
||||
transformedDate += "Mar/"
|
||||
break;
|
||||
case 4:
|
||||
transformedDate += "Apr/"
|
||||
break;
|
||||
case 5:
|
||||
transformedDate += "May/"
|
||||
break;
|
||||
case 6:
|
||||
transformedDate += "Jun/"
|
||||
break;
|
||||
case 7:
|
||||
transformedDate += "Jul/"
|
||||
break;
|
||||
case 8:
|
||||
transformedDate += "Aug/"
|
||||
break;
|
||||
case 9:
|
||||
transformedDate += "Sep/"
|
||||
break;
|
||||
case 10:
|
||||
transformedDate += "Oct/"
|
||||
break;
|
||||
case 11:
|
||||
transformedDate += "Nov/"
|
||||
break;
|
||||
case 12:
|
||||
transformedDate += "Dec/"
|
||||
break;
|
||||
default:
|
||||
b = 1;
|
||||
document.getElementById("testdiv").innerHTML = "Error during processing month!"
|
||||
}
|
||||
transformedDate+= year;
|
||||
if (b == 0)
|
||||
{
|
||||
lookForCode(lecturename, transformedDate);
|
||||
}
|
||||
}
|
||||
|
||||
function lookForCode(e, str) {
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange=function()
|
||||
{
|
||||
if (xmlhttp.readyState==4 && xmlhttp.status==200)
|
||||
{
|
||||
var resp = xmlhttp.responseText;
|
||||
var ip_raw_string = resp.split('\n')
|
||||
ip_raw_string.splice(0,5)
|
||||
ip_raw_string.splice(-3,3)
|
||||
var ip_array = [];
|
||||
var l = ip_raw_string.length;
|
||||
if (l == 2 && ip_raw_string[0] == "" && ip_raw_string[1] == "")
|
||||
{
|
||||
document.getElementById("testdiv").innerHTML="No visits found for the specified code on the specified date!"
|
||||
}
|
||||
else
|
||||
{
|
||||
for (var i = 0; i < l; i++)
|
||||
{
|
||||
var ip = ip_raw_string[i];
|
||||
//console.log(ip)
|
||||
if ( !(ip_array.includes(ip)) )
|
||||
{
|
||||
ip_array.push(ip);
|
||||
}
|
||||
}
|
||||
document.getElementById("testdiv").innerHTML=ip_array;
|
||||
}
|
||||
|
||||
|
||||
} else if (xmlhttp.readyState==4)
|
||||
{
|
||||
document.getElementById("testdiv").innerHTML=(xmlhttp.status + xmlhttp.statusText);
|
||||
}
|
||||
}
|
||||
xmlhttp.open("POST","getviewers.cgi", true);
|
||||
xmlhttp.setRequestHeader("eacode", e);
|
||||
xmlhttp.setRequestHeader("datestring", str);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
window.onload = init;
|
54
tmpl/stream
54
tmpl/stream
@ -9,6 +9,21 @@ server {
|
||||
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
}
|
||||
|
||||
location = /feedback/gettmpstats.cgi {
|
||||
include /etc/nginx/fastcgi.conf;
|
||||
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
}
|
||||
|
||||
location = /currentlylive/listoftmps.cgi {
|
||||
include /etc/nginx/fastcgi.conf;
|
||||
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
}
|
||||
|
||||
location = /paststats/getviewers.cgi {
|
||||
include /etc/nginx/fastcgi.conf;
|
||||
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
}
|
||||
|
||||
location / {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
@ -73,6 +88,45 @@ server {
|
||||
$PUBLISHERAUTHSERVICE
|
||||
}
|
||||
|
||||
location /feedback {
|
||||
$PUBLISHERAUTHMESSA
|
||||
$PUBLISHERAUTHSERVICE
|
||||
}
|
||||
|
||||
location /currentlylive {
|
||||
$PUBLISHERAUTHMESSA
|
||||
$PUBLISHERAUTHSERVICE
|
||||
}
|
||||
|
||||
location /paststats {
|
||||
$PUBLISHERAUTHMESSA
|
||||
$PUBLISHERAUTHSERVICE
|
||||
}
|
||||
|
||||
location = /paststats/getviewers.cgi {
|
||||
include /etc/nginx/fastcgi.conf;
|
||||
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
include /etc/nginx/fastcgi_params;
|
||||
$PUBLISHERAUTHMESSA
|
||||
$PUBLISHERAUTHSERVICE
|
||||
}
|
||||
|
||||
location = /feedback/gettmpstats.cgi {
|
||||
include /etc/nginx/fastcgi.conf;
|
||||
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
include /etc/nginx/fastcgi_params;
|
||||
$PUBLISHERAUTHMESSA
|
||||
$PUBLISHERAUTHSERVICE
|
||||
}
|
||||
|
||||
location = /currentlylive/listoftmps.cgi {
|
||||
include /etc/nginx/fastcgi.conf;
|
||||
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
include /etc/nginx/fastcgi_params;
|
||||
$PUBLISHERAUTHMESSA
|
||||
$PUBLISHERAUTHSERVICE
|
||||
}
|
||||
|
||||
location /publish/token {
|
||||
deny all;
|
||||
return 404;
|
||||
|
Reference in New Issue
Block a user
Here, we should also take the LQ (low quality) streams into the count.