From b44709ff5a27389e948a4561b068f0b8a7f41f0c Mon Sep 17 00:00:00 2001
From: marco
Date: Sun, 31 May 2020 18:19:00 +0200
Subject: [PATCH] =?UTF-8?q?eliminati=20server=20non=20pi=C3=B9=20esistenti?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
servers/bitertv.json | 47 ----------
servers/bitertv.py | 24 -----
servers/bitshare.json | 53 -----------
servers/bitshare.py | 19 ----
servers/estream.json | 46 ----------
servers/estream.py | 35 --------
servers/filebebo.json | 42 ---------
servers/filebebo.py | 36 --------
servers/filevideo.json | 42 ---------
servers/filevideo.py | 42 ---------
servers/flix555.json | 42 ---------
servers/flix555.py | 44 ---------
servers/freakshare.json | 45 ----------
servers/freakshare.py | 18 ----
servers/jplayer.json | 42 ---------
servers/jplayer.py | 43 ---------
servers/manyvideos.json | 42 ---------
servers/manyvideos.py | 38 --------
servers/megadrive.json | 42 ---------
servers/megadrive.py | 27 ------
servers/openload.json | 45 ----------
servers/openload.py | 183 --------------------------------------
servers/rapidvideo.json | 42 ---------
servers/rapidvideo.py | 53 -----------
servers/streamango.json | 54 -----------
servers/streamango.py | 74 ---------------
servers/streamcherry.json | 45 ----------
servers/streamcherry.py | 77 ----------------
servers/streamcloud.json | 59 ------------
servers/streamcloud.py | 78 ----------------
servers/thevideome.json | 42 ---------
servers/thevideome.py | 45 ----------
servers/thevideos.json | 41 ---------
servers/thevideos.py | 29 ------
servers/verystream.json | 45 ----------
servers/verystream.py | 55 ------------
servers/videofiles.json | 42 ---------
servers/videofiles.py | 39 --------
servers/videoz.json | 42 ---------
servers/videoz.py | 34 -------
servers/vidgot.json | 42 ---------
servers/vidzi.json | 46 ----------
servers/vidzi.py | 38 --------
43 files changed, 2019 deletions(-)
delete mode 100644 servers/bitertv.json
delete mode 100644 servers/bitertv.py
delete mode 100644 servers/bitshare.json
delete mode 100644 servers/bitshare.py
delete mode 100644 servers/estream.json
delete mode 100644 servers/estream.py
delete mode 100644 servers/filebebo.json
delete mode 100644 servers/filebebo.py
delete mode 100644 servers/filevideo.json
delete mode 100644 servers/filevideo.py
delete mode 100644 servers/flix555.json
delete mode 100644 servers/flix555.py
delete mode 100644 servers/freakshare.json
delete mode 100644 servers/freakshare.py
delete mode 100644 servers/jplayer.json
delete mode 100644 servers/jplayer.py
delete mode 100644 servers/manyvideos.json
delete mode 100644 servers/manyvideos.py
delete mode 100644 servers/megadrive.json
delete mode 100644 servers/megadrive.py
delete mode 100644 servers/openload.json
delete mode 100644 servers/openload.py
delete mode 100755 servers/rapidvideo.json
delete mode 100755 servers/rapidvideo.py
delete mode 100644 servers/streamango.json
delete mode 100644 servers/streamango.py
delete mode 100644 servers/streamcherry.json
delete mode 100644 servers/streamcherry.py
delete mode 100755 servers/streamcloud.json
delete mode 100755 servers/streamcloud.py
delete mode 100755 servers/thevideome.json
delete mode 100755 servers/thevideome.py
delete mode 100644 servers/thevideos.json
delete mode 100644 servers/thevideos.py
delete mode 100644 servers/verystream.json
delete mode 100644 servers/verystream.py
delete mode 100644 servers/videofiles.json
delete mode 100644 servers/videofiles.py
delete mode 100644 servers/videoz.json
delete mode 100644 servers/videoz.py
delete mode 100644 servers/vidgot.json
delete mode 100644 servers/vidzi.json
delete mode 100644 servers/vidzi.py
diff --git a/servers/bitertv.json b/servers/bitertv.json
deleted file mode 100644
index 9a4caa4c..00000000
--- a/servers/bitertv.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "active": true,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "(http://b.ter.tv/v/[A-z0-9]+)",
- "url": "\\1"
- },
- {
- "pattern": "(https://byter.tv/v/[A-z0-9]+)",
- "url": "\\1"
- }
- ]
- },
- "free": true,
- "id": "bitertv",
- "name": "Bitertv",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "https://s18.postimg.cc/f56rayqq1/logo-bitertv.png",
- "version": 1
-}
diff --git a/servers/bitertv.py b/servers/bitertv.py
deleted file mode 100644
index 9e898962..00000000
--- a/servers/bitertv.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# -*- coding: utf-8 -*-
-from core import httptools
-from core import scrapertools
-from platformcode import config
-from platformcode import logger
-
-headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
- if "Archive no Encontrado" in data or "File has been removed" in data:
- return False, config.get_localized_string(70449) % "bitertv"
- return True, ""
-
-
-def get_video_url(page_url, user="", password="", video_password=""):
- logger.info("(page_url='%s')" % page_url)
- video_urls = []
- data = httptools.downloadpage(page_url).data
- patron = "(?s)file: '([^']+)"
- file = scrapertools.find_single_match(data, patron)
- video_urls.append([".MP4 [bitertv]", file])
- return video_urls
diff --git a/servers/bitshare.json b/servers/bitshare.json
deleted file mode 100644
index 52d1cae9..00000000
--- a/servers/bitshare.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "active": true,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "(bitshare.com/files/[^/]+/[\\w.+\\-_]+)",
- "url": "http://\\1"
- },
- {
- "pattern": "(bitshare.com/files/[a-z0-9]+)[^/a-z0-9]",
- "url": "http://\\1"
- },
- {
- "pattern": "(bitshare.com/\\?f=[\\w+]+)",
- "url": "http://\\1"
- }
- ]
- },
- "free": false,
- "id": "bitshare",
- "name": "bitshare",
- "premium": [
- "realdebrid",
- "alldebrid"
- ],
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ]
-}
\ No newline at end of file
diff --git a/servers/bitshare.py b/servers/bitshare.py
deleted file mode 100644
index 08acfe94..00000000
--- a/servers/bitshare.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from core import httptools
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
- if "Error - Archivo no disponible" in data or "Por favor seleccione el archivo a cargar" in data:
- return False, "Archivo no encontrado"
- patron = '()'
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("(page_url='%s')" % page_url)
- video_urls = []
- return video_urls
diff --git a/servers/estream.json b/servers/estream.json
deleted file mode 100644
index dfcae14c..00000000
--- a/servers/estream.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "active": false,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "https://estream.to/embed-([a-z0-9]+).html",
- "url": "https://estream.to/\\1.html"
- },
- {
- "pattern": "https://estream.xyz/embed-([a-z0-9]+).html",
- "url": "https://estream.to/\\1.html"
- }
- ]
- },
- "free": true,
- "id": "estream",
- "name": "estream",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "https://s14.postimg.cc/ibd54ayf5/estream.png"
-}
diff --git a/servers/estream.py b/servers/estream.py
deleted file mode 100644
index 24c63a34..00000000
--- a/servers/estream.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# -*- coding: utf-8 -*-
-# --------------------------------------------------------
-# Conector Estream By Alfa development Group
-# --------------------------------------------------------
-import re
-
-from core import httptools
-from platformcode import config
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
-
- data = httptools.downloadpage(page_url)
-
- if data.code == 404:
- return False, config.get_localized_string(70449) % "Estream"
-
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("url=" + page_url)
-
- video_urls = []
- data = httptools.downloadpage(page_url).data
- data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data)
- patron = "|\s{2,}', "", data)
- return data
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- data = get_source(page_url)
-
- if "File was deleted" in data or "File Not Found" in data:
- return False, config.get_localized_string(70449) % "Filebebo"
-
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("url=" + page_url)
- video_urls = []
- data = get_source(page_url)
- url = scrapertools.find_single_match(data, "(eval.*?)\s*")
- dec_data = jsunpack.unpack(enc_data)
-
- video_urls = []
- media_urls = scrapertools.find_multiple_matches(dec_data, '\{file\s*:\s*"([^"]+)",label\s*:\s*"([^"]+)"\}')
- for media_url, label in media_urls:
- ext = scrapertools.get_filename_from_url(media_url)[-4:]
- video_urls.append(["%s %sp [filevideo]" % (ext, label), media_url])
-
- video_urls.reverse()
- m3u8 = scrapertools.find_single_match(dec_data, '\{file\:"(.*?.m3u8)"\}')
- if m3u8:
- title = video_urls[-1][0].split(" ", 1)[1]
- video_urls.insert(0, [".m3u8 %s" % title, m3u8])
-
- for video_url in video_urls:
- logger.info("%s - %s" % (video_url[0], video_url[1]))
-
- return video_urls
diff --git a/servers/flix555.json b/servers/flix555.json
deleted file mode 100644
index f642474c..00000000
--- a/servers/flix555.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "active": false,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "flix555.com/(?:embed-|)([A-z0-9]+)",
- "url": "https://flix555.com/embed-\\1.html"
- }
- ]
- },
- "free": true,
- "id": "flix555",
- "name": "flix555",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "https://flix555.com/img/logo.png"
-}
diff --git a/servers/flix555.py b/servers/flix555.py
deleted file mode 100644
index 87484ada..00000000
--- a/servers/flix555.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- coding: utf-8 -*-
-import re
-
-from core import httptools, scrapertools
-from lib import jsunpack
-from platformcode import config
-from platformcode import logger
-
-data = ""
-def test_video_exists(page_url):
- resp = httptools.downloadpage(page_url)
- global data
- data = resp.data
- if resp.code == 404 or 'File Not Found' in resp.data or "File is no longer available" in resp.data:
- return False, config.get_localized_string(70449) % "flix555"
- return True, ""
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info()
- itemlist = []
-
- packed = scrapertools.find_single_match(data, "")
- unpacked = jsunpack.unpack(packed)
- # ~ logger.info(unpacked)
- unpacked = re.sub(r'\n|\r|\t|\s{2,}', "", unpacked)
- subtitles = scrapertools.find_single_match(unpacked, r'tracks:\s*\[\{\s*file\s*:\s*"([^"]*)"\s*,\s*label')
- if "empty." in subtitles: subtitles = ""
- matches = scrapertools.find_multiple_matches(unpacked, 'file\s*:\s*"([^"]*)"\s*,\s*label\s*:\s*"([^"]*)"')
- if matches:
- for url, lbl in matches:
-
- if url.endswith('.srt') or url.endswith('.vtt'):
- #subtitles += url
- continue
-
- itemlist.append(['.mp4 (%s) [flix555]' % lbl, url, 0, subtitles])
-
- url = scrapertools.find_single_match(unpacked, 'file\s*:\s*"([^"]*)"\s*')
- if url:
- if not url.endswith('.srt') or not url.endswith('.vtt'):
- itemlist.append(['.m3u8 [flix555]', url, 0, subtitles])
-
- return itemlist
-
diff --git a/servers/freakshare.json b/servers/freakshare.json
deleted file mode 100644
index 4b2575b0..00000000
--- a/servers/freakshare.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "active": true,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "(freakshare.com/files/[^/]+/[^\"'\\n ]+)",
- "url": "http://\\1"
- }
- ]
- },
- "free": false,
- "id": "freakshare",
- "name": "freakshare",
- "premium": [
- "realdebrid",
- "alldebrid"
- ],
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ]
-}
\ No newline at end of file
diff --git a/servers/freakshare.py b/servers/freakshare.py
deleted file mode 100644
index 92f9f92f..00000000
--- a/servers/freakshare.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from core import httptools
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
- if "Este archivo no existe" in data:
- return False, "Archivo no existe"
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("(page_url='%s')" % page_url)
- video_urls = []
- return video_urls
diff --git a/servers/jplayer.json b/servers/jplayer.json
deleted file mode 100644
index ff1281c4..00000000
--- a/servers/jplayer.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "active": true,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "jplayer.net/v/([A-z0-9_-]+)",
- "url": "https://www.jplayer.net/api/source/\\1"
- }
- ]
- },
- "free": true,
- "id": "jplayer",
- "name": "jplayer",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": ""
-}
diff --git a/servers/jplayer.py b/servers/jplayer.py
deleted file mode 100644
index 19048363..00000000
--- a/servers/jplayer.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# -*- coding: utf-8 -*-
-# --------------------------------------------------------
-# Conector jplayer By Alfa development Group
-# --------------------------------------------------------
-import sys
-
-from platformcode import config
-
-PY3 = False
-if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int
-
-if PY3:
- #from future import standard_library
- #standard_library.install_aliases()
- import urllib.parse as urllib # Es muy lento en PY2. En PY3 es nativo
-else:
- import urllib # Usamos el nativo de PY2 que es más rápido
-
-from core import httptools
-from core import jsontools
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
- if "no longer exists" in data or "to copyright issues" in data:
- return False, config.get_localized_string(70449) % "jplayer"
- return True, ""
-
-
-def get_video_url(page_url, user="", password="", video_password=""):
- logger.info("(page_url='%s')" % page_url)
- video_urls = []
- post = urllib.urlencode({"r":"", "d":"www.jplayer.net"})
- data = httptools.downloadpage(page_url, post=post).data
- json = jsontools.load(data)["data"]
- for _url in json:
- url = _url["file"]
- label = _url["label"]
- video_urls.append([label +" [jplayer]", url])
-
- return video_urls
diff --git a/servers/manyvideos.json b/servers/manyvideos.json
deleted file mode 100644
index 81cbe42e..00000000
--- a/servers/manyvideos.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "active": true,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "https://manyvideos.xyz/embed/([A-z0-9]+)",
- "url": "https://manyvideos.xyz/embed/\\1"
- }
- ]
- },
- "free": true,
- "id": "manyvideos",
- "name": "manyvideos",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": ""
-}
diff --git a/servers/manyvideos.py b/servers/manyvideos.py
deleted file mode 100644
index 971e2a22..00000000
--- a/servers/manyvideos.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# -*- coding: utf-8 -*-
-# --------------------------------------------------------
-# Conector manyvideos By Alfa development Group
-# --------------------------------------------------------
-import base64
-
-from core import httptools
-from core import scrapertools
-from lib import jsunpack
-from platformcode import config
-from platformcode import logger
-
-
-def test_video_exists(page_url):
-
- response = httptools.downloadpage(page_url)
-
- if not response.sucess or \
- "Not Found" in response.data \
- or "File was deleted" in response.data \
- or "is no longer available" in response.data:
- return False, config.get_localized_string(70449) % "manyvideos"
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info()
- video_urls = []
- data = httptools.downloadpage(page_url).data
- data = scrapertools.find_single_match(data, 'JuicyCodes.Run\(([^\)]+)\)')
- data = data.replace("+", "")
- data = base64.b64decode(data)
- unpack = jsunpack.unpack(data)
- matches = scrapertools.find_multiple_matches(unpack, '"file":"([^"]+)","label":"([^"]+)"')
- for url,quality in matches:
- url = url.replace("v2.", "v1.")
- video_urls.append(["[manyvideos] %s" % quality, url])
- return video_urls
diff --git a/servers/megadrive.json b/servers/megadrive.json
deleted file mode 100644
index da5d8b62..00000000
--- a/servers/megadrive.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "active": true,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "megadrive.co/embed/([A-z0-9]+)",
- "url": "https://megadrive.co/embed/\\1"
- }
- ]
- },
- "free": true,
- "id": "megadrive",
- "name": "megadrive",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "https://s8.postimg.cc/kr5olxmad/megadrive1.png"
-}
diff --git a/servers/megadrive.py b/servers/megadrive.py
deleted file mode 100644
index c6974984..00000000
--- a/servers/megadrive.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-from core import httptools
-from core import scrapertools
-from platformcode import config
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
- if "no longer exists" in data or "to copyright issues" in data:
- return False, "[Megadrive] El video ha sido borrado"
- if "please+try+again+later." in data:
- return False, "[Megadrive] Error de Megadrive, no se puede generar el enlace al video"
- if "File has been removed due to inactivity" in data:
- return False, config.get_localized_string(70449) % "Megadrive"
- return True, ""
-
-
-def get_video_url(page_url, user="", password="", video_password=""):
- logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
- video_urls = []
- videourl = scrapertools.find_single_match(data, "(.*?)
' )
- if not code or code == "" or code is None:
- code = scrapertools.find_single_match(data, '(.*?)
' )
- _0x59ce16 = eval(scrapertools.find_single_match(data, '_0x59ce16=([^;]+)').replace('parseInt', 'int'))
- _1x4bfb36 = eval(scrapertools.find_single_match(data, '_1x4bfb36=([^;]+)').replace('parseInt', 'int'))
- parseInt = eval(scrapertools.find_single_match(data, '_0x30725e,(\(parseInt.*?)\),').replace('parseInt', 'int'))
- url = decode(code, parseInt, _0x59ce16, _1x4bfb36)
- url = httptools.downloadpage(url, only_headers=True, follow_redirects=False).headers.get('location')
- extension = scrapertools.find_single_match(url, '(\..{,3})\?')
- itemlist.append([extension, url, 0,subtitle])
-
- except Exception:
- logger.info()
- if config.get_setting('api', __file__):
- url = get_link_api(page_url)
- extension = scrapertools.find_single_match(url, '(\..{,3})\?')
- if url:
- itemlist.append([extension, url, 0,subtitle])
- logger.debug(itemlist)
-
- return itemlist
-
-
-def decode(code, parseInt, _0x59ce16, _1x4bfb36):
- logger.info()
- import math
-
- _0x1bf6e5 = ''
- ke = []
-
- for i in range(0, len(code[0:9*8]),8):
- ke.append(int(code[i:i+8],16))
-
- _0x439a49 = 0
- _0x145894 = 0
-
- while _0x439a49 < len(code[9*8:]):
- _0x5eb93a = 64
- _0x896767 = 0
- _0x1a873b = 0
- _0x3c9d8e = 0
- while True:
- if _0x439a49 + 1 >= len(code[9*8:]):
- _0x5eb93a = 143;
-
- _0x3c9d8e = int(code[9*8+_0x439a49:9*8+_0x439a49+2], 16)
- _0x439a49 +=2
-
- if _0x1a873b < 6*5:
- _0x332549 = _0x3c9d8e & 63
- _0x896767 += _0x332549 << _0x1a873b
- else:
- _0x332549 = _0x3c9d8e & 63
- _0x896767 += int(_0x332549 * math.pow(2, _0x1a873b))
-
- _0x1a873b += 6
- if not _0x3c9d8e >= _0x5eb93a: break
-
- # _0x30725e = _0x896767 ^ ke[_0x145894 % 9] ^ _0x59ce16 ^ parseInt ^ _1x4bfb36
- _0x30725e = _0x896767 ^ ke[_0x145894 % 9] ^ parseInt ^ _1x4bfb36
- _0x2de433 = _0x5eb93a * 2 + 127
-
- for i in range(4):
- _0x3fa834 = chr(((_0x30725e & _0x2de433) >> (9*8/ 9)* i) - 1)
- if _0x3fa834 != '$':
- _0x1bf6e5 += _0x3fa834
- _0x2de433 = (_0x2de433 << (9*8/ 9))
-
- _0x145894 += 1
-
- url = host + "/stream/%s?mime=true" % _0x1bf6e5
- return url
-
-
-def login():
- logger.info()
- data = httptools.downloadpage(host).data
- _csrf = scrapertools.find_single_match(data, '')
-
- post = {
- 'LoginForm[email]' : config.get_setting('user', __file__),
- 'LoginForm[password]' : config.get_setting('passowrd', __file__),
- 'LoginForm[rememberMe]' : 1,
- '_csrf' : _csrf
- }
- data = httptools.downloadpage(host + '/login', post = post).data
-
- if 'Login key has already been sent.' in data:
- while True :
- if 'Invalid login key.' in data:
- platformtools.dialog_ok('openload', 'El código introducido no es válido\nrevisa tu correo e introduce el código correcto')
-
- code = platformtools.dialog_input( post.get('LoginForm[loginkey]', ''),
- 'Introduzca el código que ha sido enviado a \'%s\'' % 'r_dav'
- )
- if not code:
- break
- else:
- post['LoginForm[loginkey]'] = code
- data = httptools.downloadpage(host + '/login', post = post).data
-
- if 'Welcome back,' in data: break
-
-
-def get_api_keys():
- logger.info()
- api_login = config.get_setting('api_login', __file__)
- api_key = config.get_setting('api_key', __file__)
- if not api_key or not api_login:
- login()
- data = httptools.downloadpage(host + '/account').data
- post = {
- 'FTPKey[password]' : config.get_setting('password', __file__),
- '_csrf' : scrapertools.find_single_match(data, '')
- }
-
-
- data = httptools.downloadpage(host + '/account', post = post).data
- api_login = scrapertools.find_single_match(data, '| ID: | ([^<]+) |
')
- api_key = scrapertools.find_single_match(data, 'Your FTP Password/API Key is: ([^<]+) ')
- config.set_setting('api_login', api_login, __file__)
- config.set_setting('api_key', api_key, __file__)
-
- return api_login, api_key
-
-
-def get_link_api(page_url):
- logger.info()
-
- api_login, api_key = get_api_keys()
-
- file_id = scrapertools.find_single_match(page_url, '(?:embed|f)/([0-9a-zA-Z-_]+)')
-
- data = httptools.downloadpage(host + "/api/1/file/dlticket?file=%s&login=%s&key=%s" % (file_id, api_login, api_key)).data
- data = jsontools.load_json(data)
- # logger.info(data)
- if data["status"] == 200:
- ticket = data["result"]["ticket"]
- data = httptools.downloadpage(host + "/api/1/file/dl?file=%s&ticket=%s" % (file_id, ticket)).data
- data = jsontools.load(data)
-
- return data['result']['url'].replace("https", "http")
diff --git a/servers/rapidvideo.json b/servers/rapidvideo.json
deleted file mode 100755
index f6f6bf5a..00000000
--- a/servers/rapidvideo.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "active": false,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "(?:rapidvideo|rapidvid).(?:org|com|to|is)/(?:\\?v=|e/|embed/|v/|d/)([A-z0-9]+)",
- "url": "https://www.rapidvideo.com/e/\\1"
- }
- ]
- },
- "free": true,
- "id": "rapidvideo",
- "name": "rapidvideo",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "https://s26.postimg.cc/y5arjad1l/rapidvideo1.png"
-}
diff --git a/servers/rapidvideo.py b/servers/rapidvideo.py
deleted file mode 100755
index 7031d40f..00000000
--- a/servers/rapidvideo.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from core import httptools
-from core import scrapertools
-from platformcode import config, logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- response = httptools.downloadpage(page_url)
- if response.code == 404:
- return False, config.get_localized_string(70449) % "RapidVideo"
- if not response.data or "urlopen error [Errno 1]" in str(response.code):
- if config.is_xbmc():
- return False, config.get_localized_string(70302) % "RapidVideo"
- elif config.get_platform() == "plex":
- return False, config.get_localized_string(70303) % "RapidVideo"
- elif config.get_platform() == "mediaserver":
- return False, config.get_localized_string(70304) % "RapidVideo"
- if "Object not found" in response.data:
- return False, config.get_localized_string(70449) % "RapidVideo"
- if response.code == 500:
- return False, config.get_localized_string(70524) % "RapidVideo"
-
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("url=" + page_url)
- video_urls = []
- data = httptools.downloadpage(page_url).data
- post = "confirm.x=77&confirm.y=76&block=1"
- if "Please click on this button to open this video" in data:
- data = httptools.downloadpage(page_url, post=post).data
- patron = 'https://www.rapidvideo.com/e/[^"]+'
- match = scrapertools.find_multiple_matches(data, patron)
- if match:
- for url1 in match:
- res = scrapertools.find_single_match(url1, '=(\w+)')
- data = httptools.downloadpage(url1).data
- if "Please click on this button to open this video" in data:
- data = httptools.downloadpage(url1, post=post).data
- url = scrapertools.find_single_match(data, 'source src="([^"]+)')
- ext = scrapertools.get_filename_from_url(url)[-4:]
- video_urls.append(['%s %s [rapidvideo]' % (ext, res), url])
- else:
- patron = 'src="([^"]+)" type="video/([^"]+)" label="([^"]+)"'
- match = scrapertools.find_multiple_matches(data, patron)
- if match:
- for url, ext, res in match:
- video_urls.append(['.%s %s [Rapidvideo]' % (ext, res), url])
-
- return video_urls
diff --git a/servers/streamango.json b/servers/streamango.json
deleted file mode 100644
index ff06ea3b..00000000
--- a/servers/streamango.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "active": false,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "streamango.com/(?:embed|f)/([A-z0-9]+)",
- "url": "http://streamango.com/embed/\\1"
- },
- {
- "pattern": "https://fruitadblock.net/embed/([A-z0-9]+)",
- "url": "http://streamango.com/embed/\\1"
- },
- {
- "pattern": "https://streamangos.com/e/([A-z0-9]+)",
- "url": "http://streamango.com/embed/\\1"
- }
- ]
- },
- "free": true,
- "id": "streamango",
- "name": "streamango",
- "premium": [
- "realdebrid",
- "alldebrid"
- ],
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "http://i.imgur.com/o8XR8fL.png"
-}
diff --git a/servers/streamango.py b/servers/streamango.py
deleted file mode 100644
index cc5e48cc..00000000
--- a/servers/streamango.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from core import httptools
-from core import scrapertools
-from platformcode import config, logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
-
- data = httptools.downloadpage(page_url).data
- if "We are unable to find the video" in data:
- return False, config.get_localized_string(70449) % "Streamango"
-
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("(page_url='%s')" % page_url)
-
- data = httptools.downloadpage(page_url).data
-
- video_urls = []
-
- matches = scrapertools.find_multiple_matches(data, "type:\"video/([^\"]+)\",src:d\('([^']+)',(.*?)\).+?height:(\d+)")
-
- for ext, encoded, code, quality in matches:
-
- media_url = decode(encoded, int(code))
- media_url = media_url.replace("@","")
- if not media_url.startswith("http"):
- media_url = "http:" + media_url
- video_urls.append([".%s %sp [streamango]" % (ext, quality), media_url])
-
- video_urls.reverse()
- for video_url in video_urls:
- logger.info("%s - %s" % (video_url[0], video_url[1]))
-
- return video_urls
-
-
-def decode(encoded, code):
- logger.info("encoded '%s', code '%s'" % (encoded, code))
-
- _0x59b81a = ""
- k = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
- k = k[::-1]
-
- count = 0
-
- for index in range(0, len(encoded) - 1):
- while count <= len(encoded) - 1:
- _0x4a2f3a = k.index(encoded[count])
- count += 1
- _0x29d5bf = k.index(encoded[count])
- count += 1
- _0x3b6833 = k.index(encoded[count])
- count += 1
- _0x426d70 = k.index(encoded[count])
- count += 1
-
- _0x2e4782 = ((_0x4a2f3a << 2) | (_0x29d5bf >> 4))
- _0x2c0540 = (((_0x29d5bf & 15) << 4) | (_0x3b6833 >> 2))
- _0x5a46ef = ((_0x3b6833 & 3) << 6) | _0x426d70
- _0x2e4782 = _0x2e4782 ^ code
-
- _0x59b81a = str(_0x59b81a) + chr(_0x2e4782)
-
- if _0x3b6833 != 64:
- _0x59b81a = str(_0x59b81a) + chr(_0x2c0540)
- if _0x3b6833 != 64:
- _0x59b81a = str(_0x59b81a) + chr(_0x5a46ef)
-
- return _0x59b81a
diff --git a/servers/streamcherry.json b/servers/streamcherry.json
deleted file mode 100644
index e9c41dbf..00000000
--- a/servers/streamcherry.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "active": false,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "streamcherry.com/(?:embed|f)/([A-z0-9]+)",
- "url": "http://streamcherry.com/embed/\\1"
- }
- ]
- },
- "free": true,
- "id": "streamcherry",
- "name": "streamcherry",
- "premium": [
- "realdebrid"
- ],
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "http://i.imgur.com/l45Tk0G.png"
-}
diff --git a/servers/streamcherry.py b/servers/streamcherry.py
deleted file mode 100644
index 3cff360e..00000000
--- a/servers/streamcherry.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# -*- coding: utf-8 -*-
-# --------------------------------------------------------
-# Conector para streamcherry
-# --------------------------------------------------------
-from core import httptools
-from core import scrapertools
-from platformcode import config
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
-
- data = httptools.downloadpage(page_url).data
- if "We are unable to find the video" in data:
- return False, config.get_localized_string(70449) % "streamcherry"
-
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("(page_url='%s')" % page_url)
-
- data = httptools.downloadpage(page_url).data
-
- video_urls = []
-
- matches = scrapertools.find_multiple_matches(data, "type:\"video/([^\"]+)\",src:d\('([^']+)',(.*?)\).+?height:(\d+)")
-
- for ext, encoded, code, quality in matches:
-
- media_url = decode(encoded, int(code))
- media_url = media_url.replace("@","")
- if not media_url.startswith("http"):
- media_url = "http:" + media_url
- video_urls.append([".%s %sp [streamcherry]" % (ext, quality), media_url])
-
- video_urls.reverse()
- for video_url in video_urls:
- logger.info("%s - %s" % (video_url[0], video_url[1]))
-
- return video_urls
-
-
-def decode(encoded, code):
- logger.info("encoded '%s', code '%s'" % (encoded, code))
-
- _0x59b81a = ""
- k = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
- k = k[::-1]
-
- count = 0
-
- for index in range(0, len(encoded) - 1):
- while count <= len(encoded) - 1:
- _0x4a2f3a = k.index(encoded[count])
- count += 1
- _0x29d5bf = k.index(encoded[count])
- count += 1
- _0x3b6833 = k.index(encoded[count])
- count += 1
- _0x426d70 = k.index(encoded[count])
- count += 1
-
- _0x2e4782 = ((_0x4a2f3a << 2) | (_0x29d5bf >> 4))
- _0x2c0540 = (((_0x29d5bf & 15) << 4) | (_0x3b6833 >> 2))
- _0x5a46ef = ((_0x3b6833 & 3) << 6) | _0x426d70
- _0x2e4782 = _0x2e4782 ^ code
-
- _0x59b81a = str(_0x59b81a) + chr(_0x2e4782)
-
- if _0x3b6833 != 64:
- _0x59b81a = str(_0x59b81a) + chr(_0x2c0540)
- if _0x3b6833 != 64:
- _0x59b81a = str(_0x59b81a) + chr(_0x5a46ef)
-
- return _0x59b81a
diff --git a/servers/streamcloud.json b/servers/streamcloud.json
deleted file mode 100755
index ca902581..00000000
--- a/servers/streamcloud.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "active": false,
- "find_videos": {
- "ignore_urls": [
- "http://streamcloud.eu/stylesheets",
- "http://streamcloud.eu/control",
- "http://streamcloud.eu/xupload",
- "http://streamcloud.eu/js",
- "http://streamcloud.eu/favicon",
- "http://streamcloud.eu/reward",
- "http://streamcloud.eu/login",
- "http://streamcloud.eu/deliver",
- "http://streamcloud.eu/faq",
- "http://streamcloud.eu/tos",
- "http://streamcloud.eu/checkfiles",
- "http://streamcloud.eu/contact",
- "http://streamcloud.eu/serve"
- ],
- "patterns": [
- {
- "pattern": "(streamcloud.eu/[a-z0-9]+)",
- "url": "http://\\1"
- }
- ]
- },
- "free": true,
- "id": "streamcloud",
- "name": "streamcloud",
- "premium": [
- "alldebrid"
- ],
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "server_streamcloud.png"
-}
diff --git a/servers/streamcloud.py b/servers/streamcloud.py
deleted file mode 100755
index f7828b66..00000000
--- a/servers/streamcloud.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from __future__ import print_function
-
-from core import httptools
-from core import scrapertools
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("page_url='%s')" % page_url)
- data = httptools.downloadpage(url=page_url).data
- if "404 Not Found
" in data:
- return False, "El archivo no existe
en streamcloud o ha sido borrado."
- elif "File Not Found
" in data:
- return False, "El archivo no existe
en streamcloud o ha sido borrado."
- elif "Archivo no encontrado
" in data:
- return False, "El archivo no existe
en streamcloud o ha sido borrado."
- else:
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("url=" + page_url)
- # Lo pide una vez
- headers = [
- ['User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14']]
- data = httptools.downloadpage(page_url, headers=headers).data
-
- media_url = scrapertools.find_single_match(data, 'file\: "([^"]+)"')
-
- if len(media_url) == 0:
- post = ""
- matches = scrapertools.find_multiple_matches(data, '')
- for inputname, inputvalue in matches:
- post += inputname + "=" + inputvalue + "&"
- post = post.replace("op=download1", "op=download2")
- data = httptools.downloadpage(page_url, post=post).data
- if 'id="justanotice"' in data:
- logger.info("data=" + data)
- logger.info("Ha saltado el detector de adblock")
- return []
- # Extrae la URL
- media_url = scrapertools.find_single_match(data, 'file\: "([^"]+)"')
- video_urls = []
- video_urls.append([scrapertools.get_filename_from_url(media_url)[-4:] + " [streamcloud]", media_url+"|Referer="+page_url])
- for video_url in video_urls:
- logger.info("%s - %s" % (video_url[0], video_url[1]))
- return video_urls
-
-
-if __name__ == "__main__":
- import getopt
- import sys
- options, arguments = getopt.getopt(sys.argv[1:], "", ["video_url=", "login=", "password="])
- video_url = ""
- login = ""
- password = ""
- logger.info("%s %s" % (str(options), str(arguments)))
- for option, argument in options:
- print(option, argument)
- if option == "--video_url":
- video_url = argument
- elif option == "--login":
- login = argument
- elif option == "--password":
- password = argument
- else:
- assert False, "Opcion desconocida"
- if video_url == "":
- print("ejemplo de invocacion")
- print("streamcloud --video_url http://xxx --login usuario --password secreto")
- else:
- if login != "":
- premium = True
- else:
- premium = False
- print(get_video_url(video_url, premium, login, password))
diff --git a/servers/thevideome.json b/servers/thevideome.json
deleted file mode 100755
index 77103016..00000000
--- a/servers/thevideome.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "active": false,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "(?:thevideo.me|tvad.me|thevideo.ch|thevideo.us)/(?:embed-|)([A-z0-9]+)",
- "url": "https://thevideo.me/embed-\\1.html"
- }
- ]
- },
- "free": true,
- "id": "thevideome",
- "name": "thevideome",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "https://s26.postimg.cc/fzmu2c761/thevideo.me1.png"
-}
diff --git a/servers/thevideome.py b/servers/thevideome.py
deleted file mode 100755
index 89308046..00000000
--- a/servers/thevideome.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import sys
-PY3 = False
-if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int
-
-if PY3:
- #from future import standard_library
- #standard_library.install_aliases()
- import urllib.parse as urllib # Es muy lento en PY2. En PY3 es nativo
-else:
- import urllib # Usamos el nativo de PY2 que es más rápido
-
-from core import httptools
-from core import scrapertools
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- #Deshabilitamos el server hasta nueva orden
- return False, "[Thevideo.me] Servidor deshabilitado"
-
- page_url = httptools.downloadpage(page_url, follow_redirects=False, only_headers=True).headers.get("location", "")
- data = httptools.downloadpage(page_url).data
- if "File was deleted" in data or "Page Cannot Be Found" in data or "Video not found" in data:
- return False, "[thevideo.me] El archivo ha sido eliminado o no existe"
- return True, ""
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("url=" + page_url)
- video_urls = []
- post = {}
- post = urllib.urlencode(post)
- if not "embed" in page_url:
- page_url = page_url.replace("https://thevideo.me/", "https://thevideo.me/embed-") + ".html"
- url = httptools.downloadpage(page_url, follow_redirects=False, only_headers=True).headers.get("location", "")
- data = httptools.downloadpage("https://vev.io/api/serve/video/" + scrapertools.find_single_match(url, "embed/([A-z0-9]+)"), post=post).data
- bloque = scrapertools.find_single_match(data, 'qualities":\{(.*?)\}')
- matches = scrapertools.find_multiple_matches(bloque, '"([^"]+)":"([^"]+)')
- for res, media_url in matches:
- video_urls.append(
- [scrapertools.get_filename_from_url(media_url)[-4:] + " (" + res + ") [thevideo.me]", media_url])
- return video_urls
diff --git a/servers/thevideos.json b/servers/thevideos.json
deleted file mode 100644
index 7776a6ac..00000000
--- a/servers/thevideos.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "active": true,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "thevideos.tv/(?:embed-|)([a-z0-9A-Z]+)",
- "url": "http://thevideos.tv/embed-\\1.html"
- }
- ]
- },
- "free": true,
- "id": "thevideos",
- "name": "thevideos",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ]
-}
\ No newline at end of file
diff --git a/servers/thevideos.py b/servers/thevideos.py
deleted file mode 100644
index a6e0fce7..00000000
--- a/servers/thevideos.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from core import httptools
-from core import scrapertools
-from lib import jsunpack
-from platformcode import logger
-
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info("url=" + page_url)
-
- data = httptools.downloadpage(page_url).data
-
- match = scrapertools.find_single_match(data, "")
- if match.startswith("eval"):
- match = jsunpack.unpack(match)
-
- # Extrae la URL
- # {file:"http://95.211.81.229/kj2vy4rle46vtaw52bsj4ooof6meikcbmwimkrthrahbmy4re3eqg3buhoza/v.mp4",label:"240p"
- video_urls = []
- media_urls = scrapertools.find_multiple_matches(match, '\{file\:"([^"]+)",label:"([^"]+)"')
- subtitle = scrapertools.find_single_match(match, 'tracks: \[\{file: "([^"]+)", label: "Spanish"')
- for media_url, quality in media_urls:
- video_urls.append([media_url[-4:] + " [thevideos] " + quality, media_url, 0, subtitle])
-
- for video_url in video_urls:
- logger.info("%s - %s" % (video_url[0], video_url[1]))
-
- return video_urls
diff --git a/servers/verystream.json b/servers/verystream.json
deleted file mode 100644
index a7b506ed..00000000
--- a/servers/verystream.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "active": false,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "(?:verystream|woof.tube).*?/(?:e|stream)/([0-9a-zA-Z-_]+)",
- "url": "https://verystream.com/e/\\1/"
- }
- ]
- },
- "free": true,
- "id": "verystream",
- "name": "verystream",
- "premium": [
- "realdebrid"
- ],
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "server_verystream.png"
- }
\ No newline at end of file
diff --git a/servers/verystream.py b/servers/verystream.py
deleted file mode 100644
index 92a3510b..00000000
--- a/servers/verystream.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# -*- coding: utf-8 -*-
-# Verystream server tool
-# Developed by KOD for KOD
-# KOD - Kodi on Demand Team
-
-from core import httptools
-from core import scrapertools
-from platformcode import config, logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
-
- header = {}
- if "|" in page_url:
- page_url, referer = page_url.split("|", 1)
- header = {'Referer': referer}
- data = httptools.downloadpage(page_url, headers=header, cookies=False).data
- if 'not found!' in data:
- data = httptools.downloadpage(page_url.replace("/e/", "/stream/"), headers=header, cookies=False).data
- if 'not found!' in data:
- return False, config.get_localized_string(70449) % "Verystream"
-
- return True, ""
-
-def get_video_url(page_url, premium=False, user="", password="", video_password=""):
- logger.info()
- itemlist = []
-
- header = {}
- if "|" in page_url:
- page_url, referer = page_url.split("|", 1)
- header = {'Referer': referer}
-
- data = httptools.downloadpage(page_url, cookies=False, headers=header).data
- subtitle = scrapertools.find_single_match(data, '