This repository has been archived on 2021-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
eltelive/tmpl/auth_publish.cgi

31 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
DB_DIR=tokendb
USER_PREFIX="user_"
TOKEN_PREFIX="token_"
POSTDATA="$( cat - | tr '\&' '\n' )"
# GETDATA="$( echo $QUERY_STRING | tr '\&' '\n' )"
TOKEN=$( echo "$POSTDATA" | grep swfurl= | cut -d"=" -f2 | cut -d"%" -f2 | cut -c3- )
APPNAME=$( echo "$POSTDATA" | grep app= | cut -d"=" -f2 )
STREAMNAME=$( echo "$POSTDATA" | grep name= | cut -d"=" -f2 )
SOURCEIP=$( echo "$POSTDATA" | grep addr= | cut -d"=" -f2 )
USER="N/A"
if [ -z "$SOURCEIP" ] || [ -z "$APPNAME" ] || [ -z "$STREAMNAME" ] || [ -z "$TOKEN" ] || [ ! -f $DB_DIR/"$TOKEN_PREFIX""$TOKEN" ]; then
#echo "$POSTDATA" >>/var/log/rtmp/publish.log
echo "ip:$SOURCEIP user:$USER time:$( date +%Y-%m-%d-%H:%M:%S ) action:PUBLISH app:$APPNAME key:$STREAMNAME DENY" >>/var/log/rtmp/publish.log
echo "HTTP/1.1 403 Forbidden"
exit 0
fi
USER=$( cat $DB_DIR/"$TOKEN_PREFIX""$TOKEN" )
echo "ip:$SOURCEIP user:$USER time:$( date +%Y-%m-%d-%H:%M:%S ) action:PUBLISH app:$APPNAME key:$STREAMNAME ALLOW" >>/var/log/rtmp/publish.log
echo "HTTP/1.1 200 OK"
echo "Content-Type: text/html; charset=UTF-8"
echo ""
echo "<html><head><title>Pass</title></head><body></body></html>"
exit 0