# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class FilerioCom(XFSHoster): __name__ = "FilerioCom" __type__ = "hoster" __version__ = "0.08" __status__ = "testing" __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}' __description__ = """FileRio.in hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**")] URL_REPLACEMENTS = [(r'filekeen\.com', "filerio.in")] OFFLINE_PATTERN = r'>"File Not Found|File has been removed' getInfo = create_getInfo(FilerioCom)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class EasybytezCom(XFSHoster): __name__ = "EasybytezCom" __type__ = "hoster" __version__ = "0.23" __pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}' __description__ = """Easybytez.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**"), ("stickell", "*****@*****.**")] OFFLINE_PATTERN = r'>File not available' LINK_PATTERN = r'(http://(\w+\.(easybytez|easyload|ezbytez|zingload)\.(com|to)|\d+\.\d+\.\d+\.\d+)/files/\d+/\w+/.+?)["\'<]' getInfo = create_getInfo(EasybytezCom)
# -*- coding: utf-8 -*- import re from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class HugefilesNet(XFSHoster): __name__ = "HugefilesNet" __type__ = "hoster" __version__ = "0.05" __pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}' __description__ = """Hugefiles.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("stickell", "*****@*****.**")] SIZE_PATTERN = r'File Size:</span>\s*<span.*?>(?P<S>[^<]+)</span></div>' FORM_INPUTS_MAP = {'ctype': re.compile(r'\d+')} getInfo = create_getInfo(HugefilesNet)
# http://fileom.com/gycaytyzdw3g/random.bin.html from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class FileomCom(XFSHoster): __name__ = "FileomCom" __type__ = "hoster" __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?fileom\.com/\w{12}' __description__ = """Fileom.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "*****@*****.**")] NAME_PATTERN = r'Filename: <span>(?P<N>.+?)<' SIZE_PATTERN = r'File Size: <span class="size">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' LINK_PATTERN = r'var url2 = \'(.+?)\';' def setup(self): self.multiDL = True self.chunkLimit = 1 self.resumeDownload = self.premium getInfo = create_getInfo(FileomCom)
# -*- coding: utf-8 -*- import re from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class StreamcloudEu(XFSHoster): __name__ = "StreamcloudEu" __type__ = "hoster" __version__ = "0.10" __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\w{12}' __description__ = """Streamcloud.eu hoster plugin""" __license__ = "GPLv3" __authors__ = [("seoester", "*****@*****.**")] WAIT_PATTERN = r'var count = (\d+)' def setup(self): self.multiDL = True self.chunkLimit = 1 self.resumeDownload = self.premium getInfo = create_getInfo(StreamcloudEu)
__pattern__ = r'https?://(?:www\.)?(uptobox|uptostream)\.com/\w{12}' __config__ = [("activated" , "bool", "Activated" , True), ("use_premium" , "bool", "Use premium account if available" , True), ("fallback" , "bool", "Fallback to free download if premium fails" , True), ("chk_filesize", "bool", "Check file size" , True), ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )] __description__ = """Uptobox.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "*****@*****.**")] PLUGIN_DOMAIN = "uptobox.com" INFO_PATTERN = r'"para_title">(?P<N>.+) \((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)' OFFLINE_PATTERN = r'>(File not found|Access Denied|404 Not Found)' TEMP_OFFLINE_PATTERN = r'>Service Unavailable' LINK_PATTERN = r'"(https?://\w+\.uptobox\.com/d/.*?)"' DL_LIMIT_PATTERN = r'>You have to wait (.+) to launch a new download<' def setup(self): self.multiDL = True self.chunk_limit = 1 self.resume_download = True getInfo = create_getInfo(UptoboxCom)
# -*- coding: utf-8 -*- # # Test links: # http://novafile.com/vfun4z6o2cit # http://novafile.com/s6zrr5wemuz4 from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class NovafileCom(XFSHoster): __name__ = "NovafileCom" __type__ = "hoster" __version__ = "0.05" __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}' __description__ = """Novafile.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**"), ("stickell", "*****@*****.**")] ERROR_PATTERN = r'class="alert.+?alert-separate".*?>\s*(?:<p>)?(.*?)\s*</' WAIT_PATTERN = r'<p>Please wait <span id="count".*?>(\d+)</span> seconds</p>' LINK_PATTERN = r'<a href="(http://s\d+\.novafile\.com/.*?)" class="btn btn-green">Download File</a>' getInfo = create_getInfo(NovafileCom)
__version__ = "0.09" __status__ = "testing" __pattern__ = r'https?://(?:www\.)?fileom\.com/\w{12}' __config__ = [("activated" , "bool", "Activated" , True), ("use_premium" , "bool", "Use premium account if available" , True), ("fallback" , "bool", "Fallback to free download if premium fails" , True), ("chk_filesize", "bool", "Check file size" , True), ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )] __description__ = """Fileom.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "*****@*****.**")] PLUGIN_DOMAIN = "fileom.com" NAME_PATTERN = r'Filename: <span>(?P<N>.+?)<' SIZE_PATTERN = r'File Size: <span class="size">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' LINK_PATTERN = r'var url2 = \'(.+?)\';' def setup(self): self.multiDL = True self.chunk_limit = 1 self.resume_download = self.premium getInfo = create_getInfo(FileomCom)
# -*- coding: utf-8 -*- # # Test links: # BigBuckBunny_320x180.mp4 - 61.7 Mb - http://vidplay.net/38lkev0h3jv0 from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class VidPlayNet(XFSHoster): __name__ = "VidPlayNet" __type__ = "hoster" __version__ = "0.04" __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}' __description__ = """VidPlay.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] NAME_PATTERN = r'<b>Password:</b></div>\s*<h[1-6]>(?P<N>[^<]+)</h[1-6]>' getInfo = create_getInfo(VidPlayNet)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class FilerioCom(XFSHoster): __name__ = "FilerioCom" __type__ = "hoster" __version__ = "0.07" __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}' __description__ = """FileRio.in hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**")] URL_REPLACEMENTS = [(r'filekeen\.com', "filerio.in")] OFFLINE_PATTERN = r'>"File Not Found|File has been removed' getInfo = create_getInfo(FilerioCom)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class JunocloudMe(XFSHoster): __name__ = "JunocloudMe" __type__ = "hoster" __version__ = "0.05" __pattern__ = r'http://(?:\w+\.)?junocloud\.me/\w{12}' __description__ = """Junocloud.me hoster plugin""" __license__ = "GPLv3" __authors__ = [("guidobelix", "*****@*****.**")] URL_REPLACEMENTS = [(r'//(www\.)?junocloud', "//dl3.junocloud")] OFFLINE_PATTERN = r'>No such file with this filename<' TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' getInfo = create_getInfo(JunocloudMe)
__status__ = "testing" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/\w{12}' __description__ = """Tusfiles.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "*****@*****.**"), ("guidobelix", "*****@*****.**")] INFO_PATTERN = r'\](?P<N>.+) - (?P<S>[\d.,]+) (?P<U>[\w^_]+)\[' def setup(self): self.chunk_limit = -1 self.multiDL = True self.resume_download = True def download(self, url, *args, **kwargs): try: return super(TusfilesNet, self).download(url, *args, **kwargs) except BadHeader, e: if e.code == 503: self.multiDL = False raise Retry("503") getInfo = create_getInfo(TusfilesNet)
STEP_PATTERN = r'<a href="(/step/.+)">' def setup(self): self.multiDL = False self.chunkLimit = 1 self.resumeDownload = True def handleFree(self, pyfile): m = re.search(self.STEP_PATTERN, self.html) if m is None: self.error(_("STEP_PATTERN not found")) self.html = self.load(urlparse.urljoin("http://uplea.com/", m.group(1))) m = re.search(self.WAIT_PATTERN, self.html) if m: self.logDebug("Waiting %s seconds" % m.group(1)) self.wait(m.group(1), True) self.retry() m = re.search(self.LINK_PATTERN, self.html) if m is None: self.error(_("LINK_PATTERN not found")) self.link = m.group(1) self.wait(15) getInfo = create_getInfo(UpleaCom)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class HundredEightyUploadCom(XFSHoster): __name__ = "HundredEightyUploadCom" __type__ = "hoster" __version__ = "0.05" __pattern__ = r'http://(?:www\.)?180upload\.com/\w{12}' __description__ = """180upload.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("stickell", "*****@*****.**")] OFFLINE_PATTERN = r'>File Not Found' getInfo = create_getInfo(HundredEightyUploadCom)
# -*- coding: utf-8 -*- # # Test links: # BigBuckBunny_320x180.mp4 - 61.7 Mb - http://vidplay.net/38lkev0h3jv0 from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class VidPlayNet(XFSHoster): __name__ = "VidPlayNet" __type__ = "hoster" __version__ = "0.04" __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}' __description__ = """VidPlay.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] HOSTER_DOMAIN = "vidplay.net" NAME_PATTERN = r'<b>Password:</b></div>\s*<h[1-6]>(?P<N>[^<]+)</h[1-6]>' getInfo = create_getInfo(VidPlayNet)
__pattern__ = r'http://(?:www\.)?nosupload\.com/\?d=\w{12}' __description__ = """Nosupload.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("igel", "*****@*****.**")] SIZE_PATTERN = r'<p><strong>Size:</strong> (?P<S>[\d.,]+) (?P<U>[\w^_]+)</p>' LINK_PATTERN = r'<a class="select" href="(http://.+?)">Download</a>' WAIT_PATTERN = r'Please wait.*?>(\d+)</span>' def getDownloadLink(self): # stage1: press the "Free Download" button data = self.getPostParameters() self.html = self.load(self.pyfile.url, post=data, decode=True) # stage2: wait some time and press the "Download File" button data = self.getPostParameters() wait_time = re.search(self.WAIT_PATTERN, self.html, re.M | re.S).group(1) self.logDebug("Hoster told us to wait %s seconds" % wait_time) self.wait(wait_time) self.html = self.load(self.pyfile.url, post=data, decode=True) # stage3: get the download link return re.search(self.LINK_PATTERN, self.html, re.S).group(1) getInfo = create_getInfo(NosuploadCom)
super(XFileSharingPro, self).init() self.__pattern__ = self.core.pluginManager.hosterPlugins[self.__name__]['pattern'] self.HOSTER_DOMAIN = re.match(self.__pattern__, self.pyfile.url).group("DOMAIN").lower() self.HOSTER_NAME = "".join(part.capitalize() for part in re.split(r'(\.|\d+)', self.HOSTER_DOMAIN) if part != '.') account = self.core.accountManager.getAccountPlugin(self.HOSTER_NAME) if account and account.canUse(): self.account = account elif self.account: self.account.HOSTER_DOMAIN = self.HOSTER_DOMAIN else: return self.user, data = self.account.selectAccount() self.req = self.account.getAccountRequest(self.user) self.premium = self.account.isPremium(self.user) def setup(self): self.chunkLimit = 1 self.resumeDownload = self.premium self.multiDL = True getInfo = create_getInfo(XFileSharingPro)
from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class StreamcloudEu(XFSHoster): __name__ = "StreamcloudEu" __type__ = "hoster" __version__ = "0.10" __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\w{12}' __description__ = """Streamcloud.eu hoster plugin""" __license__ = "GPLv3" __authors__ = [("seoester", "*****@*****.**")] HOSTER_DOMAIN = "streamcloud.eu" WAIT_PATTERN = r'var count = (\d+)' LINK_PATTERN = r'file: "(http://(stor|cdn)\d+\.streamcloud\.eu:?\d*/.*/video\.(mp4|flv))",' def setup(self): self.multiDL = True self.chunkLimit = 1 self.resumeDownload = self.premium getInfo = create_getInfo(StreamcloudEu)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class RapidfileshareNet(XFSHoster): __name__ = "RapidfileshareNet" __type__ = "hoster" __version__ = "0.04" __status__ = "testing" __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/\w{12}' __description__ = """Rapidfileshare.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("guidobelix", "*****@*****.**")] NAME_PATTERN = r'<input type="hidden" name="fname" value="(?P<N>.+?)">' SIZE_PATTERN = r'>http://www.rapidfileshare.net/\w+?</font> \((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)</font>' OFFLINE_PATTERN = r'>No such file with this filename' TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' getInfo = create_getInfo(RapidfileshareNet)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class JunocloudMe(XFSHoster): __name__ = "JunocloudMe" __type__ = "hoster" __version__ = "0.06" __status__ = "testing" __pattern__ = r'http://(?:\w+\.)?junocloud\.me/\w{12}' __description__ = """Junocloud.me hoster plugin""" __license__ = "GPLv3" __authors__ = [("guidobelix", "*****@*****.**")] URL_REPLACEMENTS = [(r'//(www\.)?junocloud', "//dl3.junocloud")] OFFLINE_PATTERN = r'>No such file with this filename<' TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' getInfo = create_getInfo(JunocloudMe)
__pattern__ = r'http://(?:www\.)?nosupload\.com/\?d=\w{12}' __description__ = """Nosupload.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("igel", "*****@*****.**")] SIZE_PATTERN = r'<p><strong>Size:</strong> (?P<S>[\d.,]+) (?P<U>[\w^_]+)</p>' LINK_PATTERN = r'<a class="select" href="(http://.+?)">Download</a>' WAIT_PATTERN = r'Please wait.*?>(\d+)</span>' def get_download_link(self): #: stage1: press the "Free Download" button data = self.get_post_parameters() self.html = self.load(self.pyfile.url, post=data) #: stage2: wait some time and press the "Download File" button data = self.get_post_parameters() wait_time = re.search(self.WAIT_PATTERN, self.html, re.M | re.S).group(1) self.log_debug("Hoster told us to wait %s seconds" % wait_time) self.wait(wait_time) self.html = self.load(self.pyfile.url, post=data) #: stage3: get the download link return re.search(self.LINK_PATTERN, self.html, re.S).group(1) getInfo = create_getInfo(NosuploadCom)
__status__ = "testing" __pattern__ = r'http://(?:www\.)?exashare\.com/\w{12}' __config__ = [("activated" , "bool", "Activated" , True), ("use_premium" , "bool", "Use premium account if available" , True), ("fallback" , "bool", "Fallback to free download if premium fails" , True), ("chk_filesize", "bool", "Check file size" , True), ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )] __description__ = """Exashare.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "*****@*****.**")] PLUGIN_DOMAIN = "exashare.com" INFO_PATTERN = r'>(?P<NAME>.+?)<small>\( (?P<S>[\d.,]+) (?P<U>[\w^_]+)' def setup(self): self.multiDL = True self.chunk_limit = 1 self.resume_download = self.premium def handle_free(self, pyfile): return super(ExashareCom, self).handle_free(pyfile) getInfo = create_getInfo(ExashareCom)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class RapidfileshareNet(XFSHoster): __name__ = "RapidfileshareNet" __type__ = "hoster" __version__ = "0.03" __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/\w{12}' __description__ = """Rapidfileshare.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("guidobelix", "*****@*****.**")] NAME_PATTERN = r'<input type="hidden" name="fname" value="(?P<N>.+?)">' SIZE_PATTERN = r'>http://www.rapidfileshare.net/\w+?</font> \((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)</font>' OFFLINE_PATTERN = r'>No such file with this filename' TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' getInfo = create_getInfo(RapidfileshareNet)
# -*- coding: utf-8 -*- import re from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class RarefileNet(XFSHoster): __name__ = "RarefileNet" __type__ = "hoster" __version__ = "0.09" __pattern__ = r'http://(?:www\.)?rarefile\.net/\w{12}' __description__ = """Rarefile.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**")] HOSTER_DOMAIN = "rarefile.net" LINK_PATTERN = r'<a href="(.+?)">\1</a>' getInfo = create_getInfo(RarefileNet)
class ExashareCom(XFSHoster): __name__ = "ExashareCom" __type__ = "hoster" __version__ = "0.01" __pattern__ = r'http://(?:www\.)?exashare\.com/\w{12}' __description__ = """Exashare.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "*****@*****.**")] INFO_PATTERN = r'>(?P<NAME>.+?)<small>\( (?P<S>[\d.,]+) (?P<U>[\w^_]+)' def setup(self): self.multiDL = True self.chunkLimit = 1 self.resumeDownload = self.premium def handleFree(self, pyfile): m = re.search(self.LINK_FREE_PATTERN, self.html) if m is None: self.error(_("Free download link not found")) else: self.link = m.group(1) getInfo = create_getInfo(ExashareCom)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class UptoboxCom(XFSHoster): __name__ = "UptoboxCom" __type__ = "hoster" __version__ = "0.20" __pattern__ = r'https?://(?:www\.)?(uptobox|uptostream)\.com/\w{12}' __description__ = """Uptobox.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "*****@*****.**")] INFO_PATTERN = r'"para_title">(?P<N>.+) \((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)' OFFLINE_PATTERN = r'>(File not found|Access Denied|404 Not Found)' TEMP_OFFLINE_PATTERN = r'>Service Unavailable' LINK_PATTERN = r'"(https?://\w+\.uptobox\.com/d/.*?)"' def setup(self): self.multiDL = True self.chunkLimit = 1 self.resumeDownload = True getInfo = create_getInfo(UptoboxCom)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class CramitIn(XFSHoster): __name__ = "CramitIn" __type__ = "hoster" __version__ = "0.07" __pattern__ = r'http://(?:www\.)?cramit\.in/\w{12}' __description__ = """Cramit.in hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**")] INFO_PATTERN = r'<span class=t2>\s*(?P<N>.*?)</span>.*?<small>\s*\((?P<S>.*?)\)' LINK_PATTERN = r'href="(http://cramit\.in/file_download/.*?)"' getInfo = create_getInfo(CramitIn)
# # Test links: # http://novafile.com/vfun4z6o2cit # http://novafile.com/s6zrr5wemuz4 from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class NovafileCom(XFSHoster): __name__ = "NovafileCom" __type__ = "hoster" __version__ = "0.05" __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}' __description__ = """Novafile.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**"), ("stickell", "*****@*****.**")] HOSTER_DOMAIN = "novafile.com" SIZE_PATTERN = r'<div class="size">(?P<S>.+?)</div>' ERROR_PATTERN = r'class="alert[^"]*alert-separate"[^>]*>\s*(?:<p>)?(.*?)\s*</' LINK_PATTERN = r'<a href="(http://s\d+\.novafile\.com/.*?)" class="btn btn-green">Download File</a>' WAIT_PATTERN = r'<p>Please wait <span id="count"[^>]*>(\d+)</span> seconds</p>' getInfo = create_getInfo(NovafileCom)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class CramitIn(XFSHoster): __name__ = "CramitIn" __type__ = "hoster" __version__ = "0.07" __pattern__ = r'http://(?:www\.)?cramit\.in/\w{12}' __description__ = """Cramit.in hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**")] HOSTER_DOMAIN = "cramit.in" INFO_PATTERN = r'<span class=t2>\s*(?P<N>.*?)</span>.*?<small>\s*\((?P<S>.*?)\)' LINK_PATTERN = r'href="(http://cramit\.in/file_download/.*?)"' getInfo = create_getInfo(CramitIn)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class SafesharingEu(XFSHoster): __name__ = "SafesharingEu" __type__ = "hoster" __version__ = "0.06" __status__ = "testing" __pattern__ = r'https?://(?:www\.)?safesharing\.eu/\w{12}' __description__ = """Safesharing.eu hoster plugin""" __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "*****@*****.**")] ERROR_PATTERN = r'(?:<div class="alert alert-danger">)(.+?)(?:</div>)' getInfo = create_getInfo(SafesharingEu)
self.chunkLimit = 1 self.resumeDownload = True def handleFree(self, pyfile): m = re.search(self.STEP_PATTERN, self.html) if m is None: self.error(_("STEP_PATTERN not found")) self.html = self.load(urljoin("http://uplea.com/", m.group(1))) m = re.search(self.WAIT_PATTERN, self.html) if m: self.logDebug(_("Waiting %s seconds") % m.group(1)) self.wait(m.group(1), True) self.retry() m = re.search(self.PREMIUM_PATTERN, self.html) if m: self.error(_("This URL requires a premium account")) m = re.search(self.LINK_PATTERN, self.html) if m is None: self.error(_("LINK_PATTERN not found")) self.link = m.group(1) self.wait(15) getInfo = create_getInfo(UpleaCom)
self.premium = self.account.is_premium(self.user) self.resume_download = self.premium else: self.req = self.pyload.requestFactory.getRequest(account_name) self.premium = False self.resume_download = False def load_account(self): if self.req: self.req.close() if not self.account: self.account = self.pyload.accountManager.getAccountPlugin(self.HOSTER_NAME) if not self.account: self.account = self.pyload.accountManager.getAccountPlugin(self.__name__) if self.account: if not self.account.HOSTER_DOMAIN: self.account.HOSTER_DOMAIN = self.HOSTER_DOMAIN if not self.user: self.user = self.account.select()[0] if not self.user or not self.account.is_logged(self.user, True): self.account = False getInfo = create_getInfo(XFileSharingPro)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class MovReelCom(XFSHoster): __name__ = "MovReelCom" __type__ = "hoster" __version__ = "1.24" __pattern__ = r'http://(?:www\.)?movreel\.com/\w{12}' __description__ = """MovReel.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("JorisV83", "*****@*****.**")] LINK_PATTERN = r'<a href="(.+?)">Download Link' getInfo = create_getInfo(MovReelCom)
# -*- coding: utf-8 -*- import re from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class RarefileNet(XFSHoster): __name__ = "RarefileNet" __type__ = "hoster" __version__ = "0.09" __pattern__ = r'http://(?:www\.)?rarefile\.net/\w{12}' __description__ = """Rarefile.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**")] LINK_PATTERN = r'<a href="(.+?)">\1</a>' getInfo = create_getInfo(RarefileNet)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class EasybytezCom(XFSHoster): __name__ = "EasybytezCom" __type__ = "hoster" __version__ = "0.23" __pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}' __description__ = """Easybytez.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "*****@*****.**"), ("stickell", "*****@*****.**")] HOSTER_DOMAIN = "easybytez.com" OFFLINE_PATTERN = r'>File not available' LINK_PATTERN = r'(http://(\w+\.(easybytez|easyload|ezbytez|zingload)\.(com|to)|\d+\.\d+\.\d+\.\d+)/files/\d+/\w+/.+?)["\'<]' getInfo = create_getInfo(EasybytezCom)
# -*- coding: utf-8 -*- import re from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class HugefilesNet(XFSHoster): __name__ = "HugefilesNet" __type__ = "hoster" __version__ = "0.06" __status__ = "testing" __pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}' __description__ = """Hugefiles.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("stickell", "*****@*****.**")] SIZE_PATTERN = r'File Size:</span>\s*<span.*?>(?P<S>[^<]+)</span></div>' FORM_INPUTS_MAP = {'ctype': re.compile(r'\d+')} getInfo = create_getInfo(HugefilesNet)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class SecureUploadEu(XFSHoster): __name__ = "SecureUploadEu" __type__ = "hoster" __version__ = "0.06" __status__ = "testing" __pattern__ = r'https?://(?:www\.)?secureupload\.eu/\w{12}' __description__ = """SecureUpload.eu hoster plugin""" __license__ = "GPLv3" __authors__ = [("z00nx", "*****@*****.**")] INFO_PATTERN = r'<h3>Downloading (?P<N>[^<]+) \((?P<S>[^<]+)\)</h3>' getInfo = create_getInfo(SecureUploadEu)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class SecureUploadEu(XFSHoster): __name__ = "SecureUploadEu" __type__ = "hoster" __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?secureupload\.eu/\w{12}' __description__ = """SecureUpload.eu hoster plugin""" __license__ = "GPLv3" __authors__ = [("z00nx", "*****@*****.**")] INFO_PATTERN = r'<h3>Downloading (?P<N>[^<]+) \((?P<S>[^<]+)\)</h3>' getInfo = create_getInfo(SecureUploadEu)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class MovReelCom(XFSHoster): __name__ = "MovReelCom" __type__ = "hoster" __version__ = "1.25" __status__ = "testing" __pattern__ = r'http://(?:www\.)?movreel\.com/\w{12}' __description__ = """MovReel.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("JorisV83", "*****@*****.**")] LINK_PATTERN = r'<a href="(.+?)">Download Link' getInfo = create_getInfo(MovReelCom)
# -*- coding: utf-8 -*- from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo class SafesharingEu(XFSHoster): __name__ = "SafesharingEu" __type__ = "hoster" __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?safesharing\.eu/\w{12}' __description__ = """Safesharing.eu hoster plugin""" __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "*****@*****.**")] ERROR_PATTERN = r'(?:<div class="alert alert-danger">)(.+?)(?:</div>)' getInfo = create_getInfo(SafesharingEu)