From f8b874e7080bf22df2e47cb01a018bbe0eeb845e Mon Sep 17 00:00:00 2001
From: zhaolei <zhaolei@qiniu.com>
Date: Wed, 26 Aug 2020 14:15:10 +0800
Subject: [PATCH 1/2] 8.26

---
 .../com/qiniu/qvs/model/StaticLiveRoute.java  | 35 +++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/src/main/java/com/qiniu/qvs/model/StaticLiveRoute.java b/src/main/java/com/qiniu/qvs/model/StaticLiveRoute.java
index e3dbe36e2..c63c41e36 100644
--- a/src/main/java/com/qiniu/qvs/model/StaticLiveRoute.java
+++ b/src/main/java/com/qiniu/qvs/model/StaticLiveRoute.java
@@ -1,5 +1,9 @@
 package com.qiniu.qvs.model;
 
+import com.qiniu.common.Constants;
+import com.qiniu.util.Md5;
+import com.qiniu.util.UrlSafeBase64;
+
 public class StaticLiveRoute {
 
     private String Domain; // 域名
@@ -40,4 +44,35 @@ public int getUrlExpireSec() {
     public void setUrlExpireSec(int urlExpireSec) {
         UrlExpireSec = urlExpireSec;
     }
+
+    public String genStaticHLSFLVDomain(String nsId, String streamId, String key, boolean useHttps) {
+        String path = "/" + nsId + "/" + streamId;
+        String scheme = useHttps ? "https" : "http";
+        String host = "";
+        if ("liveHls".equals(DomainType)) {
+            host = Domain + ":1370";
+            path += ".m3u8";
+        } else {
+            host = Domain + ":1360";
+            path += ".flv";
+        }
+        long expireTime = System.currentTimeMillis() + UrlExpireSec * 1000;
+        String token = signToken(key, path, expireTime);
+        return String.format("%s://%s%s?e=%d&token=%s", scheme, host, path, expireTime, token);
+    }
+
+    public String genStaticRtmpDomain(String nsId, String streamId, String key) {
+        String path = "/" + nsId + "/" + streamId;
+        String scheme = "rtmp";
+        String host = Domain + ":2045";
+        long expireTime = System.currentTimeMillis() + UrlExpireSec * 1000;
+        String token = signToken(key, path, expireTime);
+        return String.format("%s://%s%s?e=%d&token=%s", scheme, host, path, expireTime, token);
+    }
+
+    private String signToken(String key, String path, long expireTime) {
+        String encode_path = UrlSafeBase64.encodeToString(path);
+        String tempS = key + encode_path + Long.toHexString(expireTime);
+        return Md5.md5(tempS.getBytes(Constants.UTF_8));
+    }
 }

From 3e9ac6395ee4076a122b5cfc215127d4af873c69 Mon Sep 17 00:00:00 2001
From: zhaolei <zhaolei@qiniu.com>
Date: Fri, 4 Sep 2020 13:27:21 +0800
Subject: [PATCH 2/2] update 9.04

---
 .../java/com/qiniu/qvs/model/StaticLiveRoute.java    | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/qiniu/qvs/model/StaticLiveRoute.java b/src/main/java/com/qiniu/qvs/model/StaticLiveRoute.java
index afcb99551..f0c360a0a 100644
--- a/src/main/java/com/qiniu/qvs/model/StaticLiveRoute.java
+++ b/src/main/java/com/qiniu/qvs/model/StaticLiveRoute.java
@@ -49,14 +49,14 @@ public String genStaticHLSFLVDomain(String nsId, String streamId, String key, bo
         String path = "/" + nsId + "/" + streamId;
         String scheme = useHttps ? "https" : "http";
         String host = "";
-        if ("liveHls".equals(DomainType)) {
-            host = Domain + ":1370";
+        if ("liveHls".equals(domainType)) {
+            host = domain + ":1370";
             path += ".m3u8";
         } else {
-            host = Domain + ":1360";
+            host = domain + ":1360";
             path += ".flv";
         }
-        long expireTime = System.currentTimeMillis() + UrlExpireSec * 1000;
+        long expireTime = System.currentTimeMillis() + urlExpireSec * 1000;
         String token = signToken(key, path, expireTime);
         return String.format("%s://%s%s?e=%d&token=%s", scheme, host, path, expireTime, token);
     }
@@ -64,8 +64,8 @@ public String genStaticHLSFLVDomain(String nsId, String streamId, String key, bo
     public String genStaticRtmpDomain(String nsId, String streamId, String key) {
         String path = "/" + nsId + "/" + streamId;
         String scheme = "rtmp";
-        String host = Domain + ":2045";
-        long expireTime = System.currentTimeMillis() + UrlExpireSec * 1000;
+        String host = domain + ":2045";
+        long expireTime = System.currentTimeMillis() + urlExpireSec * 1000;
         String token = signToken(key, path, expireTime);
         return String.format("%s://%s%s?e=%d&token=%s", scheme, host, path, expireTime, token);
     }