diff --git a/servers/lulustream.json b/servers/lulustream.json
new file mode 100644
index 00000000..103f5c87
--- /dev/null
+++ b/servers/lulustream.json
@@ -0,0 +1,25 @@
+{
+ "active": true,
+ "find_videos": {
+ "ignore_urls": [],
+ "patterns": [
+ {
+ "pattern": "(?:\\/\\/|\\.)(lulu(?:stream|vdo)\\.com)\/(?:e\\/|d\\/)?([0-9a-zA-Z]+)",
+ "url": "https://\\1/e/\\2"
+ }
+ ]
+ },
+ "free": true,
+ "id": "lulustream",
+ "name": "LuluStream",
+ "settings": [
+ {
+ "default": false,
+ "enabled": true,
+ "id": "black_list",
+ "label": "@70708",
+ "type": "bool",
+ "visible": true
+ }
+ ]
+}
diff --git a/servers/lulustream.py b/servers/lulustream.py
new file mode 100644
index 00000000..a1b0c9d6
--- /dev/null
+++ b/servers/lulustream.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+
+from core import httptools, scrapertools, support
+from platformcode import logger, config
+
+
+def test_video_exists(page_url):
+ logger.debug("(page_url='%s')" % page_url)
+ page = httptools.downloadpage(page_url)
+ global matches
+ data = page.data
+
+ matches = support.get_jwplayer_mediaurl(data, 'LuluStream', hls=True)
+ if not matches:
+ data = scrapertools.find_single_match(data,
+ r"")
+ if data:
+ from lib import jsunpack
+ data = jsunpack.unpack(data)
+ matches = support.get_jwplayer_mediaurl(data, 'LuluStream', hls=True)
+
+ if not matches: # if not exists, the site just return a page with