Git Product home page Git Product logo

resolveurl's Introduction

ResolveURL for Kodi

Fork of UrlResolver for XBMC/Kodi by t0mm0, eldorados, bstrdsmkr, tknorris and jsergio123

I am in no way responsible for the urls being resolved by 3rd parties. This script only resolves video content from legitimate file lockers without prejudice. If this script is being used by 3rd parties to resolve content that you feel infringes upon your Intellectual Property then please take your complaints to the actual website or developer linking to such content and not me. This script in no way searches for any content whatsoever.

Include smrzips dir with your repo to always have the latest updates

<dir>
    <info compressed="false">https://raw.githubusercontent.com/Gujal00/smrzips/master/addons.xml</info>
    <checksum>https://raw.githubusercontent.com/Gujal00/smrzips/master/addons.xml.md5</checksum>
    <datadir zip="true">https://raw.githubusercontent.com/Gujal00/smrzips/master/zips/</datadir>
</dir>

script.module.resolveurl

Include the script in your addon.xml

<requires>
    <import addon="script.module.resolveurl" version="5.1.0"/>
</requires>

Import ResolveUrl and use it with url (or magnet)

import resolveurl
hmf = resolveurl.HostedMediaFile(url)
if hmf:
    resolved = hmf.resolve()

📝 You can pass referer url along with the embed url by joining them with $$ when required as shown below
url: embed_url$$referer_url

You can ask Resolveurl to look for subtitles if supported by plugin

import resolveurl
hmf = resolveurl.HostedMediaFile(url, subs=True)
if hmf:
    resp = hmf.resolve()
    resolved = resp.get('url')
    # subs are returned as a dict with keys as lang and values as urls
    subs = resp.get('subs')

You can ask ResolveURL to return all files in Debrid Magnet links this way

import resolveurl
hmf = resolveurl.HostedMediaFile(magnet, return_all=True)
if hmf:
    allfiles = hmf.resolve()
# returns list of dictionaries
# pick the file you want to play with whatever logic
stream_url = allfiles[item].get('link')
if resolveurl.HostedMediaFile(stream_url):
    stream_url = resolveurl.resolve(stream_url)

script.module.resolveurl.xxx

Adult Resolver Extension for ResolveURL

Include both the scripts in your addon.xml

<requires>
    <import addon="script.module.resolveurl" version="5.1.0"/>
    <import addon="script.module.resolveurl.xxx" version="2.1.0"/>
</requires>

Setup resolveurl to import the xxx plugins in your addon.

import resolveurl
import xbmcvfs
xxx_plugins_path = 'special://home/addons/script.module.resolveurl.xxx/resources/plugins/'
if xbmcvfs.exists(xxx_plugins_path):
    resolveurl.add_plugin_dirs(xbmcvfs.translatePath(xxx_plugins_path))

Call the resolveurl from your addon as usual to resolve the XXX hosts.

hmf = resolveurl.HostedMediaFile(url)
if hmf:
    resolved = hmf.resolve()

resolveurl's People

Contributors

addon-lab avatar anis3 avatar azzy9 avatar bassemhelal18 avatar bugatsinho avatar cache-sk avatar cywteow avatar dendygh avatar doko-desuka avatar dwh-wfc avatar erosvece avatar frankiek3 avatar ghb3245 avatar groggyegg avatar grzebzi avatar gujal00 avatar heptamer avatar host505 avatar jewbmx avatar jsergio123 avatar k3ypusher avatar kingul avatar lukkie112 avatar mbebe avatar mrdini123 avatar peter3344 avatar shellc0de27 avatar soter80 avatar twilight0 avatar whitecreamdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

resolveurl's Issues

voe.sx

Looks like they have changed something.

streamsb

Links like https://sblanh.com/blablabla.html ain't working through resolver

Cloudb does not work

As mentioned in the title, and at least on my end, resolveurl fails on cloudb. This is what kodi's log says when I enter a relevant url in smr link tester

2022-05-07 18:27:29.840 T:140003115357952  NOTICE: SMR Link Tester: Version: |1.1.7| Queries: |{'link': 'http://cloudb.me/embed/tt8097030gr/', 'mode': 'play_link'}| (ENCODED)
2022-05-07 18:27:29.841 T:140003115357952  NOTICE: SMR Link Tester: Running on: |Python 2.7.16 (default, Oct 25 2020, 09:34:29)
                                            [GCC 8.3.0]|OpenSSL 1.1.1d  10 Sep 2019
2022-05-07 18:27:29.841 T:140003115357952  NOTICE: SMR Link Tester: Args: |['plugin://plugin.video.smr_link_tester/', '4', '?link=http%3A%2F%2Fcloudb.me%2Fembed%2Ftt8097030gr%2F&mode=play_link', 'resume:false']|
2022-05-07 18:27:29.841 T:140003115357952  NOTICE: SMR Link Tester: Playing Link: |http://cloudb.me/embed/tt8097030gr/|
2022-05-07 18:27:29.894 T:140003115357952  NOTICE: SMR Link Tester: Link Supported: |http://cloudb.me/embed/tt8097030gr/|
2022-05-07 18:27:31.054 T:140003115357952   ERROR: ResolveURL: ResolverError Error - From: cloudb Link: http://cloudb.me/embed/tt8097030gr/: Δεν βρέθηκε σύνδεσμος βίντεο
2022-05-07 18:27:31.094 T:140004715702400   ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.smr_link_tester/?link=http%3A%2F%2Fcloudb.me%2Fembed%2Ftt8097030gr%2F&mode=play_link]

The above is from kodi 18.9. running resolveurl 5.1.66, but the same happens on kodi 19.4 too. The greek text at the end of a line says "no video url was found".

VOE new Domain - fix

"""
Plugin for ResolveURL
Copyright (C) 2020 gujal

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""

import re
import base64
from resolveurl import common
from resolveurl.lib import helpers
from resolveurl.resolver import ResolveUrl, ResolverError

class VoeResolver(ResolveUrl):
name = 'Voe'
domains = ['voe.sx', 'voe-unblock.com', 'voe-unblock.net', 'voeunblock.com',
'voeunbl0ck.com', 'voeunblck.com', 'voeunblk.com', 'voe-un-block.com',
'voeun-block.net', 'un-block-voe.net', 'v-o-e-unblock.com',
'audaciousdefaulthouse.com, launchreliantcleaverriver.com']
domains += ['voeunblock{}.com'.format(x) for x in range(1, 11)]
pattern = r'(?://|.)((?:audaciousdefaulthouse|'
r'(?:launchreliantcleaverriver|)'
r'(?:v-?o-?e)?(?:-?un-?bl[o0]?c?k\d{0,2})?(?:-?voe)?).(?:sx|com|net))/'
r'(?:e/)?([0-9A-Za-z]+)'

def get_media_url(self, host, media_id):
    web_url = self.get_url(host, media_id)
    headers = {'User-Agent': common.RAND_UA}
    html = self.net.http_GET(web_url, headers=headers).content
    r = re.search(r'uttf0\((\[[^)]+)', html)
    if r:
        r = eval(r.group(1))
        r = base64.b64decode(''.join(r)[::-1].encode('utf8')).decode('utf8')
        return r + helpers.append_headers(headers)

    sources = helpers.scrape_sources(
        html,
        patterns=[r'''hls":\s*"(?P<url>[^"]+)",\s*"video_height":\s*(?P<label>[^,]+)'''],
        generic_patterns=False
    )
    if sources:
        return helpers.pick_source(sources) + helpers.append_headers(headers)

    raise ResolverError('No video found')

def get_url(self, host, media_id):
    return self._default_get_url(host, media_id, template='https://{host}/e/{media_id}')

Do you have gdriveplayer.to?

it would be nice if added.

base url:
https://gdriveplayer.to/

test url:
https://gdriveplayer.to/embed.php?hash=IwyOTa8wCwJQfbtOTp0CfQyb3x2wLl3Zk395pGOc69YOo5PryYBNLu16/Cu1mU0pLwE+YV3nlCQNwj7vwmGevjLZjqduZR6kj641327GDLS29hBvNKwmUIxawrJieNWIFD+0pHdmZ8UFG/nWnompSaiSc9v5JtvyxEU3PFZJMaHNrRhDlJoBkeh4AerVRT700gNWCLEEPwniqpgLbXq3ZPY5qK63xczCJ+xAha8z5Nyf1v97E2dNnS08ADogI6SxORgp+skJP58pgypvdd0Y4d6SvGwfbo/lzfdY5RRw57E0/bPu1643SNKTkZQvWyoOnyZ/xHTFWpjHzLPjx6TkRTqbEezBq6A6DtMzSEWsIgr4iPqPcX9MBzmH6xDoVRBvitZMDEygiyGDSgvQhJrj9eUpcAcRTsH80Gp5rW3B1G0lY5iPOKNxe1IzZPrOic4u9uWzX4srWmxxQz2SYQd2fnXuWTBqzk+2wjBMaQa/k2/AhZ8jGsW2/BzbDxzkWoXYL93mUcE76oqfQfntgpfUFT

streamrapid.py ?

They switched to a new method. Base64 style encryption with Ajax

streamsb not work

Hui Guys, treamsb not work, erro HTTP 404 but vidoe is online and work on browser.

this is the log

2022-09-12 15:04:55.654 T:14964   ERROR <general>: ResolveURL: HTTPError Error - From: StreamSB Link: https://sblanh.com/o59acl3wlwis.html: HTTP Error 404: Not Found
2022-09-12 15:04:55.656 T:14964   DEBUG <general>: ResolveURL: Traceback (most recent call last):
                                                     File "C:\Users\PCPRENO1\AppData\Roaming\Kodi\addons\script.module.resolveurl\lib\resolveurl\hmf.py", line 194, in resolve
                                                       stream_url = resolver.get_media_url(self._host, self._media_id)
                                                     File "C:\Users\PCPRENO1\AppData\Roaming\Kodi\addons\script.module.resolveurl\lib\resolveurl\plugins\streamsb.py", line 67, in get_media_url
                                                       html = self.net.http_GET(eurl, headers=headers).content
                                                     File "C:\Users\PCPRENO1\AppData\Roaming\Kodi\addons\script.module.resolveurl\lib\resolveurl\lib\net.py", line 236, in http_GET
                                                       return self._fetch(url, headers=headers, compression=compression)
                                                     File "C:\Users\PCPRENO1\AppData\Roaming\Kodi\addons\script.module.resolveurl\lib\resolveurl\lib\net.py", line 347, in _fetch
                                                       response = urllib_request.urlopen(req, timeout=15)
                                                     File "C:\Program Files\Kodi\system\python\Lib\urllib\request.py", line 222, in urlopen
                                                       return opener.open(url, data, timeout)
                                                     File "C:\Program Files\Kodi\system\python\Lib\urllib\request.py", line 531, in open
                                                       response = meth(req, response)
                                                     File "C:\Program Files\Kodi\system\python\Lib\urllib\request.py", line 640, in http_response
                                                       response = self.parent.error(
                                                     File "C:\Program Files\Kodi\system\python\Lib\urllib\request.py", line 569, in error
                                                       return self._call_chain(*args)
                                                     File "C:\Program Files\Kodi\system\python\Lib\urllib\request.py", line 502, in _call_chain
                                                       result = func(*args)
                                                     File "C:\Program Files\Kodi\system\python\Lib\urllib\request.py", line 649, in http_error_default
                                                       raise HTTPError(req.full_url, code, msg, hdrs, fp)
                                                   urllib.error.HTTPError: HTTP Error 404: Not Found

voe new domain

Looks like they are reddirecting to https://audaciousdefaulthouse.com now.

Example:

https://audaciousdefaulthouse.com/e/3drbhw4q3hlv

Custom Progress dialog doesn't display line 3 on Kodi 19

...at least on ResolveURL Real-Debrid Transfer dialog (it does appear on kodi 18).
Some findings from my digging about it:

  • CountdownDialog that uses the same CustomProgressDialog.ProgressDialog() class and xml does show line 3 (on eg r-d auth dialog). EDIT: that's wrong sorry, CountdownDialog has the same problem too
  • Using standard xbmcgui.DialogProgress() does show line 3 on that specific dialog, so I guess lines joining to 1 has been done correctly.

So, not sure if there's something wrong on the xml, the CustomProgressDialog.ProgressDialog() class or the call for kodi.CountdownDialog() on realdebrid.get_media_url that makes line 3 to not appear on kodi 19.

VOE Unblock URL

"""
    Plugin for ResolveURL
    Copyright (C) 2020 gujal

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
"""

import re
import base64
from resolveurl import common
from resolveurl.lib import helpers
from resolveurl.resolver import ResolveUrl, ResolverError


class VoeResolver(ResolveUrl):
    name = 'Voe'
    domains = ['voe.sx', 'voe-unblock.com', 'voe-unblock.net', 'voeunblock.com', 'voeunbl0ck.com', 'voeun-block.net',
               'voeunblck.com', 'voeunblk.com', 'voe-un-block.com']
    domains += ['voeunblock{}.com'.format(x) for x in range(1, 11)]
    pattern = r'(?://|\.)(voe(?:-?un-?bl[o0]?c?k\d{0,2})?\.(?:sx|com|net))/(?:e/)?([0-9A-Za-z]+)'

    def get_media_url(self, host, media_id):
        web_url = self.get_url(host, media_id)
        headers = {'User-Agent': common.RAND_UA}
        html = self.net.http_GET(web_url, headers=headers).content
        r = re.search(r'uttf0\((\[[^)]+)', html)
        if r:
            r = eval(r.group(1))
            r = base64.b64decode(''.join(r)[::-1].encode('utf8')).decode('utf8')
            return r + helpers.append_headers(headers)

        sources = helpers.scrape_sources(
            html,
            patterns=[r'''hls":\s*"(?P<url>[^"]+)",\s*"video_height":\s*(?P<label>[^,]+)'''],
            generic_patterns=False
        )
        if sources:
            return helpers.pick_source(sources) + helpers.append_headers(headers)

        raise ResolverError('No video found')

    def get_url(self, host, media_id):
        return self._default_get_url(host, media_id, template='https://{host}/e/{media_id}')

resolving magnet links with multiple videos

Hey, just wondering if there's support for resolving a magnet link that contains multiple video files.
When I try, it seems to just be returning a single video.

Currently testing with only Real-Debrid configured.
Just getting into Kodi addon development, so still getting used to this.

Thanks!

VOE Fix

--- a/script.module.resolveurl/lib/resolveurl/plugins/voesx.py
+++ b/script.module.resolveurl/lib/resolveurl/plugins/voesx.py
@@ -30,11 +30,11 @@ class VoeResolver(ResolveUrl):
                'voeun-block.net', 'un-block-voe.net', 'v-o-e-unblock.com',
                'audaciousdefaulthouse.com', 'launchreliantcleaverriver.com',
                'reputationsheriffkennethsand.com', 'fittingcentermondaysunday.com',
-               'housecardsummerbutton.com']
+               'housecardsummerbutton.com', 'fraudclatterflyingcar.com']
     domains += ['voeunblock{}.com'.format(x) for x in range(1, 11)]
     pattern = r'(?://|\.)((?:audaciousdefaulthouse|launchreliantcleaverriver|' \
               r'reputationsheriffkennethsand|fittingcentermondaysunday|' \
-              r'housecardsummerbutton|' \
+              r'housecardsummerbutton|fraudclatterflyingcar|' \
               r'(?:v-?o-?e)?(?:-?un-?bl[o0]?c?k\d{0,2})?(?:-?voe)?)\.(?:sx|com|net))/' \
               r'(?:e/)?([0-9A-Za-z]+)'

Streamtape

Hello,

streamtape doesnt seem to work at the moment. Have they changed anything?
example links:

https://streamtape.com/e/e0qoegLPDdhYl8j/CUTJMxZ6iCWIjdPQjpwDhBXm6u6LOOrgZXbHd8J0AvKVH.mkv

https://streamtape.com/e/BQ7ZAVLmjafyg4Z

Real-debrid must be reauthorized every day

See the same issue also posted here, started by someone else: team-crew/team-crew.github.io#93

Real-debrid currently needs to be reauthorized every 24 hours, whereas before, this was not the case. The issue began sometime this Summer, probably when the other fellow opened his issue on The Crew GitHub. Users of other streaming addons reported they are/aren't having the problem, and some have suggested that it could be a problem with ResolveURL rather than the streaming add-on, so I'm posting it here just in case.

I've experienced this issue on both Linux and Windows installs of the 19.x branch of Kodi, The Crew v1.1.6b, ResolveURL 5.1.64. I've tried the fix suggested here - editing realdebrid.py and re-authorizing:
https://www.reddit.com/r/Addons4Kodi/comments/v7zzer/reauthorize_realdebrid_every_day/
...but the issue persists.

Appreciate any suggestions on further troubleshooting steps.

vidjet support

Please can you add support for links like https://vidjet.me/v/89ME5QEuFeW5Vad
Thanks you!

Error when trying to authorize Real Debrid

I'm getting this error when trying to authorize my RD account. Kodi 19.4 Win 10 64bit.

ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
               Error Type: <class 'http.client.IncompleteRead'>
               Error Contents: IncompleteRead(0 bytes read)
               Traceback (most recent call last):
                 File "G:\Kodi.19\system\python\Lib\http\client.py", line 555, in _get_chunk_left
                   chunk_left = self._read_next_chunk_size()
                 File "G:\Kodi.19\system\python\Lib\http\client.py", line 522, in _read_next_chunk_size
                   return int(line, 16)
               ValueError: invalid literal for int() with base 16: b''
               
               During handling of the above exception, another exception occurred:
               
               Traceback (most recent call last):
                 File "G:\Kodi.19\system\python\Lib\http\client.py", line 572, in _readall_chunked
                   chunk_left = self._get_chunk_left()
                 File "G:\Kodi.19\system\python\Lib\http\client.py", line 557, in _get_chunk_left
                   raise IncompleteRead(b'')
               http.client.IncompleteRead: IncompleteRead(0 bytes read)
               
               During handling of the above exception, another exception occurred:
               
               Traceback (most recent call last):
                 File "G:\Kodi.19\portable_data\addons\script.module.resolveurl\lib\default.py", line 195, in <module>
                   sys.exit(main())
                 File "G:\Kodi.19\portable_data\addons\script.module.resolveurl\lib\default.py", line 191, in main
                   url_dispatcher.dispatch(mode, queries)
                 File "G:\Kodi.19\portable_data\addons\script.module.resolveurl\lib\resolveurl\lib\url_dispatcher.py", line 85, in dispatch
                   self.func_registry[mode](*args, **kwargs)
                 File "G:\Kodi.19\portable_data\addons\script.module.resolveurl\lib\default.py", line 67, in auth_rd
                   if realdebrid.RealDebridResolver().authorize_resolver():
                 File "G:\Kodi.19\portable_data\addons\script.module.resolveurl\lib\resolveurl\plugins\realdebrid.py", line 295, in authorize_resolver
                   js_result = json.loads(self.net.http_GET(url, headers=self.headers).content)
                 File "G:\Kodi.19\portable_data\addons\script.module.resolveurl\lib\resolveurl\lib\net.py", line 389, in content
                   html = self._response.read()
                 File "G:\Kodi.19\system\python\Lib\http\client.py", line 465, in read
                   return self._readall_chunked()
                 File "G:\Kodi.19\system\python\Lib\http\client.py", line 579, in _readall_chunked
                   raise IncompleteRead(b''.join(value))
               http.client.IncompleteRead: IncompleteRead(0 bytes read)
               -->End of Python script error report<--

streamsb not working

Fix 1cde1f4 not working when "File owner disabled downloads".

get_embedurl doesn't work now.

VOE Fix

"""
Plugin for ResolveURL
Copyright (C) 2020 gujal

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""

import re
import base64
from resolveurl import common
from resolveurl.lib import helpers
from resolveurl.resolver import ResolveUrl, ResolverError

class VoeResolver(ResolveUrl):
name = 'Voe'
domains = ['voe.sx', 'voe-unblock.com', 'voe-unblock.net', 'voeunblock.com',
'voeunbl0ck.com', 'voeunblck.com', 'voeunblk.com', 'voe-un-block.com',
'voeun-block.net', 'un-block-voe.net', 'v-o-e-unblock.com',
'audaciousdefaulthouse.com', 'launchreliantcleaverriver.com',
'reputationsheriffkennethsand.com', 'fittingcentermondaysunday.com','housecardsummerbutton.com']
domains += ['voeunblock{}.com'.format(x) for x in range(1, 11)]
pattern = r'(?://|.)((?:audaciousdefaulthouse|launchreliantcleaverriver|'
r'reputationsheriffkennethsand|fittingcentermondaysunday|housecardsummerbutton|'
r'(?:v-?o-?e)?(?:-?un-?bl[o0]?c?k\d{0,2})?(?:-?voe)?).(?:sx|com|net))/'
r'(?:e/)?([0-9A-Za-z]+)'

def get_media_url(self, host, media_id):
    web_url = self.get_url(host, media_id)
    headers = {'User-Agent': common.RAND_UA}
    html = self.net.http_GET(web_url, headers=headers).content
    r = re.search(r'uttf0\((\[[^)]+)', html)
    if r:
        r = eval(r.group(1))
        r = base64.b64decode(''.join(r)[::-1].encode('utf8')).decode('utf8')
        return r + helpers.append_headers(headers)

    sources = helpers.scrape_sources(
        html,
        patterns=[r'''hls":\s*"(?P<url>[^"]+)",\s*"video_height":\s*(?P<label>[^,]+)'''],
        generic_patterns=False
    )
    if sources:
        return helpers.pick_source(sources) + helpers.append_headers(headers)

    raise ResolverError('No video found')

def get_url(self, host, media_id):
    return self._default_get_url(host, media_id, template='https://{host}/e/{media_id}')

Please extend "VOE" domains

Please extend "VOE" domains

name = "Voe"
domains = ["voe.sx", "voe-unblock.com", "voe-unblock.net"]
pattern = r'(?://|\.)(voe(?:-unblock)?\.(?:sx|com|net))/(?:e/)?([0-9A-Za-z]+)'

Thank you very much!

Something broke on 5.1.67

2022-05-08 22:45:40.567 T:18964   DEBUG <CAddonSettings[script.module.resolveurl]>: trying to load setting definitions from old format...
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (ABCVideoResolver_enabled) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (ABCVideoResolver_login) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (ABCVideoResolver_priority) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (AnaVidsResolver_enabled) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (AnaVidsResolver_login) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (AnaVidsResolver_priority) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (CocoScopeResolver_enabled) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (CocoScopeResolver_login) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (CocoScopeResolver_priority) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (DateMuleResolver_enabled) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (DateMuleResolver_login) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (DateMuleResolver_priority) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (EasyLoadResolver_enabled) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (EasyLoadResolver_login) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (EasyLoadResolver_priority) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (ElUploadResolver_enabled) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (ElUploadResolver_login) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (ElUploadResolver_priority) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (GoUnlimitedResolver_enabled) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (GoUnlimitedResolver_login) was not found.
2022-05-08 22:45:40.578 T:18964   DEBUG <CSettingsManager>: requested setting (GoUnlimitedResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (HugefilesResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (HugefilesResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (HugefilesResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (JetloadResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (JetloadResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (JetloadResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (LiveLeakResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (LiveLeakResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (LiveLeakResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (MystreamResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (MystreamResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (MystreamResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (NinjaStreamResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (NinjaStreamResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (NinjaStreamResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (NxloadResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (NxloadResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (NxloadResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (OnlyStreamResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (OnlyStreamResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (OnlyStreamResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (OoglyResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (OoglyResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (OoglyResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (PlayTubeResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (PlayTubeResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (PlayTubeResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (PutLoadResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (PutLoadResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (PutLoadResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SBEmbedResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SBEmbedResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SBEmbedResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SendFoxResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SendFoxResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SendFoxResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SpeedVideoResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SpeedVideoResolver_login) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SpeedVideoResolver_priority) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SpeedWatchResolver_enabled) was not found.
2022-05-08 22:45:40.579 T:18964   DEBUG <CSettingsManager>: requested setting (SpeedWatchResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (SpeedWatchResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (SteamaniResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (SteamaniResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (SteamaniResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (StreamWireResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (StreamWireResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (StreamWireResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (StreamtyResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (StreamtyResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (StreamtyResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TheVidResolver_auto_update) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TheVidResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TheVidResolver_etag) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TheVidResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TheVidResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TrollVidResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TrollVidResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TrollVidResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TunePkResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TunePkResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (TunePkResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VevIoResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VevIoResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VevIoResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VidUpResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VidUpResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VidUpResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideoBeeResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideoBeeResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideoBeeResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideoMegaResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideoMegaResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideoMegaResolver_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideozUpload_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideozUpload_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VideozUpload_priority) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VidiaResolver_enabled) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VidiaResolver_login) was not found.
2022-05-08 22:45:40.580 T:18964   DEBUG <CSettingsManager>: requested setting (VidiaResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidloxResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidloxResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidloxResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidspaceResolve_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidspaceResolve_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidspaceResolve_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (ViduPlayerResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (ViduPlayerResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (ViduPlayerResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidwatchResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidwatchResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidwatchResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidziResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidziResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VidziResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (ViuclipsResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (ViuclipsResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (ViuclipsResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VivosxResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VivosxResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VivosxResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VlareTVResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VlareTVResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VlareTVResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VshareEuResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VshareEuResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VshareEuResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VuptoResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VuptoResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (VuptoResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WatchVideoResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WatchVideoResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WatchVideoResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WeShareResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WeShareResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WeShareResolver_priority) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WstreamResolver_enabled) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WstreamResolver_login) was not found.
2022-05-08 22:45:40.581 T:18964   DEBUG <CSettingsManager>: requested setting (WstreamResolver_priority) was not found.

5.1.66 still working fine

streamlare.py

there is a problem

https: //streamlare.com/e/10rwmD79yy1lRaZ8

edit doodstream.py

https://kinomax.click/61-men-in-black-international-stream-deutsch.html
in the source text of the website

<a data-link="https://dood.to/e/zhueszjwaqmq" href="#"><span class="masha_index masha_index23" rel="23"></span>Doodstream</a>

https://kkiste.show/7144-men-in-black-3-stream-kinox.html
in the source text of the website

<span data-link="https://dood.to/e/h8l1h9keiz4d" class="active"><img src="/templates/kkiste-dark/images/doodstream.png" height="17" alt=""> Doodstream</span>

the domain "dood.to" no longer exists, but the stream does!
You only need to change "dood.to" to "doodstream.com" or to another available "dood" domain

edit doodstream.py

if host.endswith('.cx') or host.endswith('.to'): 
    host = 'dood.so'

thank you very much

VOE Domain Fix

--- a/script.module.resolveurl/lib/resolveurl/plugins/voesx.py
+++ b/script.module.resolveurl/lib/resolveurl/plugins/voesx.py
@@ -30,11 +30,13 @@ class VoeResolver(ResolveUrl):
                'voeun-block.net', 'un-block-voe.net', 'v-o-e-unblock.com',
                'audaciousdefaulthouse.com', 'launchreliantcleaverriver.com',
                'reputationsheriffkennethsand.com', 'fittingcentermondaysunday.com',
-               'housecardsummerbutton.com', 'fraudclatterflyingcar.com']
+               'housecardsummerbutton.com', 'fraudclatterflyingcar.com',
+               'bigclatterhomesguideservice.com']
     domains += ['voeunblock{}.com'.format(x) for x in range(1, 11)]
     pattern = r'(?://|\.)((?:audaciousdefaulthouse|launchreliantcleaverriver|' \
               r'reputationsheriffkennethsand|fittingcentermondaysunday|' \
               r'housecardsummerbutton|fraudclatterflyingcar|' \
+              r'bigclatterhomesguideservice|' \
               r'(?:v-?o-?e)?(?:-?un-?bl[o0]?c?k\d{0,2})?(?:-?voe)?)\.(?:sx|com|net))/' \
               r'(?:e/)?([0-9A-Za-z]+)'

eplayvid.net

Since the "entervideo.py" does nothing i wrote some code to resolve eplayvid.net.
Would be nice if you could add it.

import re
import random
import string
import time
from resolveurl.plugins.lib import helpers
from resolveurl import common
from resolveurl.resolver import ResolveUrl, ResolverError


class EnterVideoResolver(ResolveUrl):
    name = 'entervideo'
    domains = ['entervideo.net', 'eplayvid.com', 'eplayvid.net']
    pattern = r'(?://|\.)((?:entervideo|eplayvid)\.(?:com|net))/(?:watch/)?([0-9a-zA-Z]+)'
    
    def get_media_url(self, host, media_id):
        web_url = self.get_url(host, media_id)
        headers = {'User-Agent': common.RAND_UA,
                'Referer': 'https://{0}/'.format(host)}  
        html = self.net.http_GET(web_url, headers=headers).content
        
        match = re.search(r'''source src=\"(.*?)\"''', html, re.DOTALL)
        
        if match:
            return match.group(1)+ helpers.append_headers(headers)
        
        raise ResolverError('Video Link Not Found')

    def get_url(self, host, media_id):
        return self._default_get_url(host, media_id, template='http://eplayvid.net/watch/{media_id}')

VOE Domain

Please change voesx.py to

name = "Voe"
domains = ["voe.sx", "voe-unblock.com", "voe-unblock.net", "voeunblock.com"]
pattern = r'(?://|\.)(voe(?:-unblock|unblock)?\.(?:sx|com|net))/(?:e/)?([0-9A-Za-z]+)'

Thank you!

Host support.

Can you add support for this host?
hxxps://moviesroot.club/video_embed.php?id=3721

Failed to open settings.xml

Hey,

I'm trying to auto update ResolveURL from within my plugin but whenever I do this, I get an error afterwards at script.module.resolveurl/lib/init.py line 256. It should check if that file exists before trying to open it.

Thank you!

streamrapid.py ?

it doesn't work right now. I think they removed the web socket, they went back to the old order.

Some DramaCool links not resolving in Leia

DramaCool by groggyegg has a bunch of links that work in Matrix 19.4 but not in Leia 18.9.
There used to be just one, Xstreamcdn, that was working, now Streamtape also works in Leia (I think since 5.1.67?).
However usually reliable links in Matrix, StreamDB, Mixdrop, and Doodstream, stopped working in Leia.
Currently on 5.1.69 for both, on Firestick 4K.

streamsb resolver cannot resolve ssbstream.net

So I noticed that StreamSB has a new(?) domain now, eg. for this page, the streamsb link points to https://ssbstream.net/e/qudxuanngupa, which cannot be resolved by ResolveURL (log here). I noticed that this domain ssbstream.net is not in the list of domains in streamsb.py.

I tried to manually edit the link to https://streamsb.net/e/qudxuanngupa and SMR Link Tester can resolve this, so I thought that this new domain can also be resolved in the same way as the currently supported domains.

So I tried adding 'ssbstream.net' to the list of domains in \lib\resolveurl\plugins\streamsb.py but it still didn't work. Hopefully you can take a look at this issue.

Thanks a lot!

(my workaround for now: I added a line in the addon (not ResolveURL) to replace ssbstream.net with streamsb.net before calling ResolveURL, but I hope that ResolveURL can solve this issue natively).

DoodStream issue

I get this error when resolving doodstream. (Failed: Peer certificate cannot be authenticated with given CA certificates(60)
If i manually edit doodstream.py from: return self.dood_decode(html) + token + str(int(time.time() * 1000)) + helpers.append_headers(headers)
to:
return self.dood_decode(html) + token + str(int(time.time() * 1000)) + '|User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36&verifypeer=false&Connection=keep-alive&Referer=%s' % (web_url)
it works!

VOE Domain

Hello,

looks like VOE added another domain
domains = ['voe.sx', 'voe-unblock.com', 'voe-unblock.net', 'voeunblock.com', 'voeunblock1.com', 'voeunblock2.com']

Please add this and probably also voeunblock3 and/or 4 so we're prepared for the next update 😁

Thank you!

Update VOE

"""
    Plugin for ResolveURL
    Copyright (C) 2020 gujal

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program. If not, see <http://www.gnu.org/licenses/>.
"""

import re
import base64
from resolveurl import common
from resolveurl.lib import helpers
from resolveurl.resolver import ResolveUrl, ResolverError


class VoeResolver(ResolveUrl):
    name = 'Voe'
    domains = ['voe.sx', 'voe-unblock.com', 'voe-unblock.net', 'voeunblock.com', 'voeunbl0ck.com']
    domains += ['voeunblock{}.com'.format(x) for x in range(1, 20)]
    pattern = r'(?://|\.)(voe(?:-?unblock|unbl0ck\d{0,2})?\.(?:sx|com|net))/(?:e/)?([0-9A-Za-z]+)'

    def get_media_url(self, host, media_id):
        web_url = self.get_url(host, media_id)
        headers = {'User-Agent': common.RAND_UA}
        html = self.net.http_GET(web_url, headers=headers).content
        r = re.search(r'uttf0\((\[[^)]+)', html)
        if r:
            r = eval(r.group(1))
            r = base64.b64decode(''.join(r)[::-1].encode('utf8')).decode('utf8')
            return r + helpers.append_headers(headers)

        sources = helpers.scrape_sources(
            html,
            patterns=[r'''hls":\s*"(?P<url>[^"]+)",\s*"video_height":\s*(?P<label>[^,]+)'''],
            generic_patterns=False
        )
        if sources:
            return helpers.pick_source(sources) + helpers.append_headers(headers)

        raise ResolverError('No video found')

    def get_url(self, host, media_id):
        return self._default_get_url(host, media_id, template='https://{host}/e/{media_id}')

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.