Просмотр исходного кода

#3608 Stream: authentication for Nginx streaming

Alex Trofimov 4 лет назад
Родитель
Сommit
2ad64d0cb5

+ 4 - 2
modules/boonex/stream/classes/BxStrmEngineNGINX.php

@@ -54,8 +54,10 @@ class BxStrmEngineNGINX extends BxDol
             return false;
 
         $sBaseUrl = "rtmp://$sHost:1935/$sApp";
-        $sStreamSecret = base_convert(substr(md5(BX_DOL_SECRET . $sStreamKey), -4), 16, 36);
-        return ['server' => $sBaseUrl, 'key' => $sStreamKey . '?s=' . $sStreamSecret];
+        $sParams = '';
+        if (getParam('bx_stream_server_nginx_auth'))
+            $sParams = '?s=' . base_convert(substr(md5(BX_DOL_SECRET . $sStreamKey), -4), 16, 36);
+        return ['server' => $sBaseUrl, 'key' => $sStreamKey . $sParams];
     }
 
     public function getRtmpIngestUrl($sStreamKey)

+ 1 - 0
modules/boonex/stream/install/langs/en.xml

@@ -17,6 +17,7 @@
 
     <string name="_bx_stream_option_ome_api_port"><![CDATA[OvenMediaEngine API Port]]></string>
     <string name="_bx_stream_option_nginx_stats_url"><![CDATA[NGINX Stats URL]]></string>
+    <string name="_bx_stream_option_nginx_auth"><![CDATA[NGINX Authentication (on_publish need to be set to http://site/m/stream/nginx_on_publish/)]]></string>
     <string name="_bx_stream_option_server_host"><![CDATA[Server Hostname]]></string>
     <string name="_bx_stream_option_app"><![CDATA[Application Name]]></string>
     <string name="_bx_stream_option_sources_pattern"><![CDATA[Sources Pattern]]></string>

+ 2 - 2
modules/boonex/stream/install/sql/enable.sql

@@ -36,8 +36,8 @@ VALUES (@iTypeId, 'bx_stream_engine_nginx', '_bx_stream_options_cat_engine_nginx
 SET @iCategId = LAST_INSERT_ID();
 
 INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `check`, `check_error`, `extra`, `order`) VALUES
-
-('bx_stream_server_nginx_stats_url', 'http://{host}/stat', @iCategId, '_bx_stream_option_nginx_stats_url', 'digit', '', '', '', 10);
+('bx_stream_server_nginx_stats_url', 'https://{host}/stat', @iCategId, '_bx_stream_option_nginx_stats_url', 'digit', '', '', '', 10),
+('bx_stream_server_nginx_auth', 'on', @iCategId, '_bx_stream_option_nginx_auth', 'checkbox', '', '', '', 12);
 
 INSERT INTO `sys_options_categories` (`type_id`, `name`, `caption`, `order`)
 VALUES (@iTypeId, 'bx_stream_general', '_bx_stream_options_cat_general', 4);