Example #1
0

class RarefileNet(XFileSharingPro):
    __name__ = "RarefileNet"
    __type__ = "hoster"
    __pattern__ = r'http://(?:www\.)?rarefile.net/\w{12}'
    __version__ = "0.03"
    __description__ = """Rarefile.net hoster plugin"""
    __author_name__ = "zoidberg"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "rarefile.net"

    FILE_NAME_PATTERN = r'<td><font color="red">(?P<N>.*?)</font></td>'
    FILE_SIZE_PATTERN = r'<td>Size : (?P<S>.+?)&nbsp;'
    DIRECT_LINK_PATTERN = r'<a href="(?P<link>[^"]+)">(?P=link)</a>'

    def setup(self):
        self.resumeDownload = self.multiDL = self.premium

    def handleCaptcha(self, inputs):
        captcha_div = re.search(r'<b>Enter code.*?<div.*?>(.*?)</div>', self.html, re.S).group(1)
        self.logDebug(captcha_div)
        numerals = re.findall('<span.*?padding-left\s*:\s*(\d+).*?>(\d)</span>', html_unescape(captcha_div))
        inputs['code'] = "".join([a[1] for a in sorted(numerals, key=lambda num: int(num[0]))])
        self.logDebug("CAPTCHA", inputs['code'], numerals)
        return 3


getInfo = create_getInfo(RarefileNet)
Example #2
0
# 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 Affero General Public License for more details.                      #
#                                                                          #
# You should have received a copy of the GNU Affero General Public License #
# along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
############################################################################

# Test links (random.bin):
# http://hugefiles.net/prthf9ya4w6s

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class HugefilesNet(XFileSharingPro):
    __name__ = "HugefilesNet"
    __type__ = "hoster"
    __pattern__ = r"http://(www\.)?hugefiles\.net/\w{12}"
    __version__ = "0.01"
    __description__ = """Hugefiles.net hoster plugin"""
    __author_name__ = ("stickell")
    __author_mail__ = ("*****@*****.**")

    HOSTER_NAME = "hugefiles.net"

    FILE_SIZE_PATTERN = r'File Size:</span>\s*<span[^>]*>(?P<S>[^<]+)</span></div>'


getInfo = create_getInfo(HugefilesNet)
Example #3
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class CyberlockerCh(XFileSharingPro):
    __name__ = "CyberlockerCh"
    __type__ = "hoster"
    __pattern__ = r"http://(www\.)?cyberlocker\.ch/\w{12}"
    __version__ = "0.01"
    __description__ = """Cyberlocker.ch hoster plugin"""
    __author_name__ = ("stickell")
    __author_mail__ = ("*****@*****.**")

    HOSTER_NAME = "cyberlocker.ch"


getInfo = create_getInfo(CyberlockerCh)
Example #4
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo

class UptoboxCom(XFileSharingPro):
    __name__ = "UptoboxCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?uptobox.com/\w{12}"
    __version__ = "0.06"
    __description__ = """Uptobox.com hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")
    
    FILE_INFO_PATTERN = r'<h2>\s*Download File\s*<span[^>]*>(?P<N>[^>]+)</span></h2>\s*[^\(]*\((?P<S>[^\)]+)\)</h2>'
    FILE_OFFLINE_PATTERN = r'<center>File Not Found</center>'
    HOSTER_NAME = "uptobox.com"
   
    def setup(self):
        self.resumeDownload = self.multiDL = self.premium        
        self.chunkLimit = 1

getInfo = create_getInfo(UptoboxCom)
Example #5
0

class File4safeCom(XFileSharingPro):
    __name__ = "File4safeCom"
    __type__ = "hoster"
    __pattern__ = r'https?://(?:www\.)?file4safe\.com/\w+'
    __version__ = "0.01"
    __description__ = """File4safe.com hoster plugin"""
    __author_name__ = "stickell"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "file4safe.com"

    def handlePremium(self):
        self.req.http.lastURL = self.pyfile.url

        self.req.http.c.setopt(FOLLOWLOCATION, 0)
        self.load(self.pyfile.url, post=self.getPostParameters(), decode=True)
        self.header = self.req.http.header
        self.req.http.c.setopt(FOLLOWLOCATION, 1)

        found = re.search(r"Location\s*:\s*(.*)", self.header, re.I)
        if found and re.match(self.DIRECT_LINK_PATTERN, found.group(1)):
            location = found.group(1).strip()
            self.startDownload(location)
        else:
            self.parseError("Unable to detect premium download link")


getInfo = create_getInfo(File4safeCom)
Example #6
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class SendmywayCom(XFileSharingPro):
    __name__ = "SendmywayCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?sendmyway.com/\w{12}"
    __version__ = "0.01"
    __description__ = """SendMyWay hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    FILE_NAME_PATTERN = r'<p class="file-name" ><.*?>\s*(?P<N>.+)'
    FILE_SIZE_PATTERN = r'<small>\((?P<S>\d+) bytes\)</small>'
    HOSTER_NAME = "sendmyway.com"

getInfo = create_getInfo(SendmywayCom)
Example #7
0
        for i in xrange(5):

            m = re.search(self.SOLVEMEDIA_PATTERN, self.html)
            if not m:
                self.parseError("Error parsing captcha")

            captchaKey = m.group(1)
            captcha = SolveMedia(self)
            challenge, response = captcha.challenge(captchaKey)

            inputs["adcopy_challenge"] = challenge
            inputs["adcopy_response"] = response

            self.html = self.load(self.pyfile.url, post=inputs)
            if "WRONG CAPTCHA" in self.html:
                self.invalidCaptcha()
                self.logInfo("Invalid Captcha")
            else:
                self.correctCaptcha()
                break

        else:
            self.fail("You have entered 5 invalid captcha codes")

        if 'Click here to download' in self.html:
            m = re.search(self.DIRECT_LINK_PATTERN, self.html)
            return m.group(1)


getInfo = create_getInfo(RyushareCom)
Example #8
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class SharebeesCom(XFileSharingPro):
    __name__ = "SharebeesCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?sharebees.com/\w{12}"
    __version__ = "0.01"
    __description__ = """ShareBees hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    FILE_NAME_PATTERN = r'<p class="file-name" ><.*?>\s*(?P<N>.+)'
    FILE_SIZE_PATTERN = r'<small>\((?P<S>\d+) bytes\)</small>'
    FORM_PATTERN = 'F1'
    HOSTER_NAME = "sharebees.com"


getInfo = create_getInfo(SharebeesCom)
Example #9
0
# -*- coding: utf-8 -*-

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class BillionuploadsCom(XFileSharingPro):
    __name__ = "BillionuploadsCom"
    __type__ = "hoster"
    __pattern__ = r'http://(?:www\.)?billionuploads.com/\w{12}'
    __version__ = "0.01"
    __description__ = """Billionuploads.com hoster plugin"""
    __author_name__ = "zoidberg"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "billionuploads.com"

    FILE_NAME_PATTERN = r'<b>Filename:</b>(?P<N>.*?)<br>'
    FILE_SIZE_PATTERN = r'<b>Size:</b>(?P<S>.*?)<br>'


getInfo = create_getInfo(BillionuploadsCom)
Example #10
0
#  You should have received a copy of the GNU Affero General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
#  @author: Walter Purcaro
###############################################################################

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class UptoboxCom(XFileSharingPro):
    __name__ = "UptoboxCom"
    __type__ = "hoster"
    __pattern__ = r'https?://(?:www\.)?uptobox\.com/\w+'
    __version__ = "0.08"
    __description__ = """Uptobox.com hoster plugin"""
    __author_name__ = "Walter Purcaro"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "uptobox.com"

    FILE_INFO_PATTERN = r'"para_title">(?P<N>.+) \((?P<S>[\d\.]+) (?P<U>\w+)\)'
    FILE_OFFLINE_PATTERN = r'>(File not found|Access Denied|404 Not Found)'
    TEMP_OFFLINE_PATTERN = r'>This server is in maintenance mode'

    WAIT_PATTERN = r'>(\d+)</span> seconds<'

    DIRECT_LINK_PATTERN = r'"(https?://\w+\.uptobox\.com/d/.*?)"'


getInfo = create_getInfo(UptoboxCom)
Example #11
0
# -*- coding: utf-8 -*-

# Test links:
# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://vidplay.net/38lkev0h3jv0

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class VidPlayNet(XFileSharingPro):
    __name__ = "VidPlayNet"
    __type__ = "hoster"
    __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}'
    __version__ = "0.01"
    __description__ = """VidPlay.net hoster plugin"""
    __author_name__ = "t4skforce"
    __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"

    HOSTER_NAME = "vidplay.net"

    FILE_OFFLINE_PATTERN = r'<b>File Not Found</b><br>\s*<br>'
    FILE_NAME_PATTERN = r'<b>Password:</b></div>\s*<h[1-6]>(?P<N>[^<]+)</h[1-6]>'
    DIRECT_LINK_PATTERN = r'(http://([^/]*?%s|\d+\.\d+\.\d+\.\d+)(:\d+)?(/d/|(?:/files)?/\d+/\w+/)[^"\'<&]+)' % HOSTER_NAME


getInfo = create_getInfo(VidPlayNet)
Example #12
0
    __type__ = "hoster"
    __version__ = "0.1"
    __pattern__ = r"http://(?:www\.)?nosupload\.com/\?d=\w{12}"
    __description__ = """Nosupload.com hoster plugin"""
    __author_name__ = "igel"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "nosupload.com"

    FILE_SIZE_PATTERN = r"<p><strong>Size:</strong> (?P<S>[0-9\.]+) (?P<U>[kKMG]?B)</p>"
    DIRECT_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, ref=True, 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.MULTILINE | re.DOTALL).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, ref=True, decode=True)

        # stage3: get the download link
        return re.search(self.DIRECT_LINK_PATTERN, self.html, re.S).group(1)


getInfo = create_getInfo(NosuploadCom)
Example #13
0
# 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 Affero General Public License for more details.                      #
#                                                                          #
# You should have received a copy of the GNU Affero General Public License #
# along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
############################################################################

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class MegareleaseOrg(XFileSharingPro):
    __name__ = "MegareleaseOrg"
    __type__ = "hoster"
    __pattern__ = r'https?://(?:www\.)?megarelease.org/\w{12}'
    __version__ = "0.01"
    __description__ = """Megarelease.org hoster plugin"""
    __author_name__ = ("derek3x", "stickell")
    __author_mail__ = ("*****@*****.**", "*****@*****.**")

    HOSTER_NAME = "megarelease.org"

    FILE_INFO_PATTERN = r'<font color="red">%s/(?P<N>.+)</font> \((?P<S>[^)]+)\)</font>' % __pattern__


getInfo = create_getInfo(MegareleaseOrg)
Example #14
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class SpeedLoadOrg(XFileSharingPro):
    __name__ = "SpeedLoadOrg"
    __type__ = "hoster"
    __pattern__ = r"http://(www\.)?speedload\.org/(?P<ID>\w+)"
    __version__ = "1.01"
    __description__ = """Speedload.org hoster plugin"""
    __author_name__ = ("stickell")
    __author_mail__ = ("*****@*****.**")

    FILE_NAME_PATTERN = r'Filename:</b></td><td nowrap>(?P<N>[^<]+)</td></tr>'
    FILE_SIZE_PATTERN = r'Size:</b></td><td>[\w. ]+<small>\((?P<S>\d+) bytes\)</small>'

    HOSTER_NAME = "speedload.org"

    def handlePremium(self):
        self.download(self.pyfile.url, post=self.getPostParameters())


getInfo = create_getInfo(SpeedLoadOrg)
Example #15
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo

class RyushareCom(XFileSharingPro):
    __name__ = "RyushareCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?ryushare.com/\w{12}"
    __version__ = "0.02"
    __description__ = """ryushare.com hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")
    
    HOSTER_NAME = "ryushare.com"
    
    def setup(self):
        self.resumeDownload = self.multiDL = self.premium

getInfo = create_getInfo(RyushareCom)
Example #16
0
# -*- coding: utf-8 -*-

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class SendmywayCom(XFileSharingPro):
    __name__ = "SendmywayCom"
    __type__ = "hoster"
    __pattern__ = r'http://(?:www\.)?sendmyway.com/\w{12}'
    __version__ = "0.01"
    __description__ = """SendMyWay hoster plugin"""
    __author_name__ = "zoidberg"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "sendmyway.com"

    FILE_NAME_PATTERN = r'<p class="file-name" ><.*?>\s*(?P<N>.+)'
    FILE_SIZE_PATTERN = r'<small>\((?P<S>\d+) bytes\)</small>'


getInfo = create_getInfo(SendmywayCom)
Example #17
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class SecureUploadEu(XFileSharingPro):
    __name__ = "SecureUploadEu"
    __type__ = "hoster"
    __pattern__ = r"http://(www\.)?secureupload\.eu/(\w){12}(/\w+)"
    __version__ = "0.01"
    __description__ = """SecureUpload.eu hoster plugin"""
    __author_name__ = ("z00nx")
    __author_mail__ = ("*****@*****.**")

    HOSTER_NAME = "secureupload.eu"
    FILE_INFO_PATTERN = '<h3>Downloading (?P<N>[^<]+) \((?P<S>[^<]+)\)</h3>'
    FILE_OFFLINE_PATTERN = 'The file was removed|File Not Found'


getInfo = create_getInfo(SecureUploadEu)
Example #18
0
# -*- coding: utf-8 -*-

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class IFileWs(XFileSharingPro):
    __name__ = "IFileWs"
    __type__ = "hoster"
    __pattern__ = r"http://(?:www\.)?ifile\.ws/\w+(/.+)?"
    __version__ = "0.01"
    __description__ = """Ifile.ws hoster plugin"""
    __author_name__ = "z00nx"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "ifile.ws"

    FILE_INFO_PATTERN = '<h1\s+style="display:inline;">(?P<N>[^<]+)</h1>\s+\[(?P<S>[^]]+)\]'
    FILE_OFFLINE_PATTERN = "File Not Found|The file was removed by administrator"
    LONG_WAIT_PATTERN = "(?P<M>\d(?=\s+minutes)).*(?P<S>\d+(?=\s+seconds))"


getInfo = create_getInfo(IFileWs)
Example #19
0
        self.html = self.load("http://www.%s/" % self.HOSTER_NAME)
        action, inputs =  self.parseHtmlForm('')
        upload_id = "%012d" % int(random()*10**12)
        action += upload_id + "&js_on=1&utype=prem&upload_type=url"
        inputs['tos'] = '1'
        inputs['url_mass'] = self.pyfile.url
        inputs['up1oad_type'] = 'url'

        self.logDebug(action, inputs)
        #wait for file to upload to easybytez.com
        self.req.http.c.setopt(LOW_SPEED_TIME, 600)
        self.html = self.load(action, post = inputs)

        action, inputs = self.parseHtmlForm('F1')
        if not inputs: self.parseError('TEXTAREA')
        self.logDebug(inputs)
        if inputs['st'] == 'OK':
            self.html = self.load(action, post = inputs)
        elif inputs['st'] == 'Can not leech file':
            self.retry(max_tries=20, wait_time=180, reason=inputs['st'])
        else:
            self.fail(inputs['st'])    
        
        #get easybytez.com link for uploaded file
        found = re.search(self.OVR_DOWNLOAD_LINK_PATTERN, self.html)
        if not found: self.parseError('DIRECT LINK (OVR)')
        self.pyfile.url = found.group(1)
        self.retry()

getInfo = create_getInfo(EasybytezCom)
Example #20
0
    HOSTER_NAME = "nosupload.com"

    FILE_SIZE_PATTERN = r'<p><strong>Size:</strong> (?P<S>[0-9\.]+) (?P<U>[kKMG]?B)</p>'
    DIRECT_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,
                              ref=True,
                              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.MULTILINE | re.DOTALL).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,
                              ref=True,
                              decode=True)

        # stage3: get the download link
        return re.search(self.DIRECT_LINK_PATTERN, self.html, re.S).group(1)


getInfo = create_getInfo(NosuploadCom)
Example #21
0
        action, inputs = self.parseHtmlForm('')
        upload_id = "%012d" % int(random() * 10**12)
        action += upload_id + "&js_on=1&utype=prem&upload_type=url"
        inputs['tos'] = '1'
        inputs['url_mass'] = self.pyfile.url
        inputs['up1oad_type'] = 'url'

        self.logDebug(action, inputs)
        #wait for file to upload to easybytez.com
        self.req.http.c.setopt(LOW_SPEED_TIME, 600)
        self.html = self.load(action, post=inputs)

        action, inputs = self.parseHtmlForm('F1')
        if not inputs: self.parseError('TEXTAREA')
        self.logDebug(inputs)
        if inputs['st'] == 'OK':
            self.html = self.load(action, post=inputs)
        elif inputs['st'] == 'Can not leech file':
            self.retry(max_tries=20, wait_time=180, reason=inputs['st'])
        else:
            self.fail(inputs['st'])

        #get easybytez.com link for uploaded file
        found = re.search(self.OVR_DOWNLOAD_LINK_PATTERN, self.html)
        if not found: self.parseError('DIRECT LINK (OVR)')
        self.pyfile.url = found.group(1)
        self.retry()


getInfo = create_getInfo(EasybytezCom)
Example #22
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class SpeedLoadOrg(XFileSharingPro):
    __name__ = "SpeedLoadOrg"
    __type__ = "hoster"
    __pattern__ = r"http://(www\.)?speedload\.org/(?P<ID>\w+)"
    __version__ = "1.01"
    __description__ = """Speedload.org hoster plugin"""
    __author_name__ = "stickell"
    __author_mail__ = "*****@*****.**"

    FILE_NAME_PATTERN = r"Filename:</b></td><td nowrap>(?P<N>[^<]+)</td></tr>"
    FILE_SIZE_PATTERN = r"Size:</b></td><td>[\w. ]+<small>\((?P<S>\d+) bytes\)</small>"

    HOSTER_NAME = "speedload.org"

    def handlePremium(self):
        self.download(self.pyfile.url, post=self.getPostParameters())


getInfo = create_getInfo(SpeedLoadOrg)
Example #23
0
    __version__ = "0.1"
    __pattern__ = r"http://filezy.net/.*/.*.html"
    __description__ = """filezy.net hoster plugin"""

    HOSTER_NAME = "filezy.net"

    FILE_SIZE_PATTERN = r'<span class="plansize">(?P<S>[0-9.]+) (?P<U>[kKMG])i?B</span>'
    WAIT_PATTERN = r'<div id="countdown_str" class="seconds">\n<!--Wait--> <span id=".*?">(\d+)</span>'
    DOWNLOAD_JS_PATTERN = r"<script type='text/javascript'>eval(.*)"

    def setup(self):
        self.resumeDownload = True
        self.multiDL = self.premium

    def getDownloadLink(self):
        self.logDebug("Getting download link")

        data = self.getPostParameters()
        self.html = self.load(self.pyfile.url,
                              post=data,
                              ref=True,
                              decode=True)

        obfuscated_js = re.search(self.DOWNLOAD_JS_PATTERN, self.html)
        dl_file_now = self.js.eval(obfuscated_js.group(1))
        link = re.search(self.DIRECT_LINK_PATTERN, dl_file_now)
        return link.group(1)


getInfo = create_getInfo(FilezyNet)
Example #24
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class PotloadCom(XFileSharingPro):
    __name__ = "PotloadCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:www\.)?potload\.com/\w{12}"
    __version__ = "0.01"
    __description__ = """billionuploads.com hoster plugin"""
    __author_name__ = ("stickell")
    __author_mail__ = ("*****@*****.**")

    FILE_INFO_PATTERN = r'<h[1-6]>(?P<N>.+) \((?P<S>\d+) (?P<U>\w+)\)</h'
    HOSTER_NAME = "potload.com"


getInfo = create_getInfo(PotloadCom)
Example #25
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo

class BoltsharingCom(XFileSharingPro):
    __name__ = "BoltsharingCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?boltsharing.com/\w{12}"
    __version__ = "0.01"
    __description__ = """Boltsharing.com hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    HOSTER_NAME = "boltsharing.com"

getInfo = create_getInfo(BoltsharingCom)
Example #26
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo

class BillionuploadsCom(XFileSharingPro):
    __name__ = "BillionuploadsCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?billionuploads.com/\w{12}"
    __version__ = "0.01"
    __description__ = """billionuploads.com hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    FILE_NAME_PATTERN = r'<b>Filename:</b>(?P<N>.*?)<br>'
    FILE_SIZE_PATTERN = r'<b>Size:</b>(?P<S>.*?)<br>'
    HOSTER_NAME = "billionuploads.com"

getInfo = create_getInfo(BillionuploadsCom)
Example #27
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class TusfilesNet(XFileSharingPro):
    __name__ = "TusfilesNet"
    __type__ = "hoster"
    __pattern__ = r"http://(?:www\.)?tusfiles\.net/(?P<ID>[a-zA-Z0-9]{12})"
    __version__ = "0.02"
    __description__ = """Tusfiles.net hoster plugin"""
    __author_name__ = ("stickell", "Walter Purcaro")
    __author_mail__ = ("*****@*****.**", "*****@*****.**")

    FILE_INFO_PATTERN = r'<li>(?P<N>[^<]+)</li>\s+<li><b>Size:</b> <small>(?P<S>[\d.]+) (?P<U>\w+)</small></li>'
    FILE_OFFLINE_PATTERN = r'The file you were looking for could not be found'
    HOSTER_NAME = "tusfiles.net"

    def setup(self):
        self.chunkLimit = 1
        self.resumeDownload = self.multiDL = True
        if self.premium:
            self.limitDL = 5
        elif self.account:
            self.limitDL = 3
        else:
            self.limitDL = 2


getInfo = create_getInfo(TusfilesNet)
Example #28
0
# it under the terms of the GNU Affero 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 Affero General Public License for more details.                      #
#                                                                          #
# You should have received a copy of the GNU Affero General Public License #
# along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
############################################################################

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class MegareleaseOrg(XFileSharingPro):
    __name__ = "MegareleaseOrg"
    __type__ = "hoster"
    __pattern__ = r'https?://(?:www\.)?megarelease.org/\w{12}'
    __version__ = "0.01"
    __description__ = """Megarelease.org hoster plugin"""
    __author_name__ = ("derek3x", "stickell")
    __author_mail__ = ("*****@*****.**", "*****@*****.**")

    HOSTER_NAME = "megarelease.org"

    FILE_INFO_PATTERN = r'<font color="red">%s/(?P<N>.+)</font> \((?P<S>[^)]+)\)</font>' % __pattern__

getInfo = create_getInfo(MegareleaseOrg)
Example #29
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo

class DdlstorageCom(XFileSharingPro):
    __name__ = "DdlstorageCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?ddlstorage.com/\w{12}"
    __version__ = "0.06"
    __description__ = """DDLStorage.com hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")
    
    FILE_INFO_PATTERN = r'<h2>\s*Download File\s*<span[^>]*>(?P<N>[^>]+)</span></h2>\s*[^\(]*\((?P<S>[^\)]+)\)</h2>'
    HOSTER_NAME = "ddlstorage.com"
   
    def setup(self):
        self.resumeDownload = self.multiDL = self.premium        
        self.chunkLimit = 1

getInfo = create_getInfo(DdlstorageCom)
Example #30
0
class FilezyNet(XFileSharingPro):
    __name__ = "FilezyNet"
    __type__ = "hoster"
    __version__ = "0.1"
    __pattern__ = r'http://(?:www\.)?filezy.net/.*/.*.html'
    __description__ = """Filezy.net hoster plugin"""

    HOSTER_NAME = "filezy.net"

    FILE_SIZE_PATTERN = r'<span class="plansize">(?P<S>[0-9.]+) (?P<U>[kKMG])i?B</span>'
    WAIT_PATTERN = r'<div id="countdown_str" class="seconds">\n<!--Wait--> <span id=".*?">(\d+)</span>'
    DOWNLOAD_JS_PATTERN = r"<script type='text/javascript'>eval(.*)"

    def setup(self):
        self.resumeDownload = True
        self.multiDL = self.premium

    def getDownloadLink(self):
        self.logDebug("Getting download link")

        data = self.getPostParameters()
        self.html = self.load(self.pyfile.url, post=data, ref=True, decode=True)

        obfuscated_js = re.search(self.DOWNLOAD_JS_PATTERN, self.html)
        dl_file_now = self.js.eval(obfuscated_js.group(1))
        link = re.search(self.DIRECT_LINK_PATTERN, dl_file_now)
        return link.group(1)


getInfo = create_getInfo(FilezyNet)
Example #31
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class Share76Com(XFileSharingPro):
    __name__ = "Share76Com"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?share76.com/\w{12}"
    __version__ = "0.03"
    __description__ = """share76.com hoster plugin"""
    __author_name__ = ("me")

    FILE_INFO_PATTERN = r'<h2>\s*File:\s*<font[^>]*>(?P<N>[^>]+)</font>\s*\[<font[^>]*>(?P<S>[0-9.]+) (?P<U>[kKMG])i?B</font>\]</h2>'
    HOSTER_NAME = "share76.com"

    def setup(self):
        self.resumeDownload = self.multiDL = self.premium
        self.chunkLimit = 1


getInfo = create_getInfo(Share76Com)
Example #32
0
# -*- coding: utf-8 -*-

# Test links:
# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://lemuploads.com/uwol0aly9dld

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class LemUploadsCom(XFileSharingPro):
    __name__ = "LemUploadsCom"
    __type__ = "hoster"
    __pattern__ = r'https?://(?:www\.)?lemuploads.com/\w{12}'
    __version__ = "0.01"
    __description__ = """LemUploads.com hoster plugin"""
    __author_name__ = "t4skforce"
    __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"

    HOSTER_NAME = "lemuploads.com"

    FILE_OFFLINE_PATTERN = r'<b>File Not Found</b><br><br>'
    FILE_NAME_PATTERN = r'<b>Password:</b></div>\s*<h2>(?P<N>[^<]+)</h2>'


getInfo = create_getInfo(LemUploadsCom)
Example #33
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class CramitIn(XFileSharingPro):
    __name__ = "CramitIn"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*cramit.in/\w{12}"
    __version__ = "0.03"
    __description__ = """Cramit.in hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    FILE_INFO_PATTERN = r'<span class=t2>\s*(?P<N>.*?)</span>.*?<small>\s*\((?P<S>.*?)\)'
    DIRECT_LINK_PATTERN = r'href="(http://cramit.in/file_download/.*?)"'
    HOSTER_NAME = "cramit.in"

    def setup(self):
        self.multiDL = self.premium


getInfo = create_getInfo(CramitIn)
Example #34
0
# -*- coding: utf-8 -*-

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class DdlstorageCom(XFileSharingPro):
    __name__ = "DdlstorageCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*?ddlstorage.com/\w{12}"
    __version__ = "0.07"
    __description__ = """DDLStorage.com hoster plugin"""
    __author_name__ = ("zoidberg", "stickell")
    __author_mail__ = ("*****@*****.**", "*****@*****.**")

    FILE_INFO_PATTERN = r'<p class="sub_title"[^>]*>(?P<N>.+) \((?P<S>[^)]+)\)</p>'
    HOSTER_NAME = "ddlstorage.com"


getInfo = create_getInfo(DdlstorageCom)
Example #35
0
# -*- coding: utf-8 -*-
import re

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class ShareFilesCo(XFileSharingPro):
    __name__ = "ShareFilesCo"
    __type__ = "hoster"
    __pattern__ = r"http://(www\.)?sharefiles\.co/\w{12}"
    __version__ = "0.01"
    __description__ = """Sharefiles.co hoster plugin"""
    __author_name__ = ("stickell")
    __author_mail__ = ("*****@*****.**")

    HOSTER_NAME = "sharefiles.co"

    def startDownload(self, link):
        link = link.strip()
        if link.startswith('http://adf.ly'):
            link = re.sub('http://adf.ly/\d+/', '', link)
        if self.captcha:
            self.correctCaptcha()
        self.logDebug('DIRECT LINK: %s' % link)
        self.download(link)


getInfo = create_getInfo(ShareFilesCo)
Example #36
0
# -*- coding: utf-8 -*-

# Test links:
# test.bin - 214 B - http://pandapla.net/pew1cz3ot586
# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://pandapla.net/tz0rgjfyyoh7

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class PandaPlanet(XFileSharingPro):
    __name__ = "PandaPlanet"
    __type__ = "hoster"
    __pattern__ = r"https?://(?:www\.)?pandapla\.net/\w{12}"
    __version__ = "0.01"
    __description__ = """Pandapla.net hoster plugin"""
    __author_name__ = "t4skforce"
    __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"

    HOSTER_NAME = "pandapla.net"

    FILE_SIZE_PATTERN = r"File Size:</b>\s*</td>\s*<td[^>]*>(?P<S>[^<]+)</td>\s*</tr>"
    FILE_NAME_PATTERN = r"File Name:</b>\s*</td>\s*<td[^>]*>(?P<N>[^<]+)</td>\s*</tr>"
    DIRECT_LINK_PATTERN = (
        r'(http://([^/]*?%s|\d+\.\d+\.\d+\.\d+)(:\d+)?(/d/|(?:/files)?/\d+/\w+/)[^"\'<]+\/(?!video\.mp4)[^"\'<]+)'
        % HOSTER_NAME
    )


getInfo = create_getInfo(PandaPlanet)
Example #37
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo

class CramitIn(XFileSharingPro):
    __name__ = "CramitIn"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*cramit.in/\w{12}"
    __version__ = "0.03"
    __description__ = """Cramit.in hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")
    
    FILE_INFO_PATTERN = r'<span class=t2>\s*(?P<N>.*?)</span>.*?<small>\s*\((?P<S>.*?)\)'
    DIRECT_LINK_PATTERN = r'href="(http://cramit.in/file_download/.*?)"'    
    HOSTER_NAME = "cramit.in"
    
    def setup(self):
        self.multiDL = self.premium

getInfo = create_getInfo(CramitIn)
Example #38
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo

class NovafileCom(XFileSharingPro):
    __name__ = "NovafileCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*novafile\.com/\w{12}"
    __version__ = "0.01"
    __description__ = """novafile.com hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")
       
    FILE_SIZE_PATTERN = r'<div class="size">(?P<S>.+?)</div>'
    #FILE_OFFLINE_PATTERN = '<b>&quot;File Not Found&quot;</b>|File has been removed due to Copyright Claim'
    FORM_PATTERN = r'name="F\d+"'
    ERROR_PATTERN = r'class="alert[^"]*alert-separate"[^>]*>\s*(?:<p>)?(.*?)\s*</'
    DIRECT_LINK_PATTERN = r'<a href="(http://s\d+\.novafile\.com/.*?)" class="btn btn-green">Download File</a>'
    
    HOSTER_NAME = "novafile.com"   
    
    def setup(self):
        self.multiDL = False 

getInfo = create_getInfo(NovafileCom)
Example #39
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class FilerioCom(XFileSharingPro):
    __name__ = "FilerioCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*(filerio\.(in|com)|filekeen\.com)/\w{12}"
    __version__ = "0.02"
    __description__ = """FileRio.in hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    FILE_OFFLINE_PATTERN = '<b>&quot;File Not Found&quot;</b>|File has been removed due to Copyright Claim'
    HOSTER_NAME = "filerio.in"
    FILE_URL_REPLACEMENTS = [(r'http://.*?/', 'http://filerio.in/')]

    def setup(self):
        self.resumeDownload = self.multiDL = self.premium


getInfo = create_getInfo(FilerioCom)
Example #40
0
# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
# GNU Affero General Public License for more details.                      #
#                                                                          #
# You should have received a copy of the GNU Affero General Public License #
# along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
############################################################################

# Test links (random.bin):
# http://180upload.com/js9qdm6kjnrs

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class HundredEightyUploadCom(XFileSharingPro):
    __name__ = "HundredEightyUploadCom"
    __type__ = "hoster"
    __pattern__ = r'http://(?:www\.)?180upload\.com/(\w+).*'
    __version__ = "0.01"
    __description__ = """180upload.com hoster plugin"""
    __author_name__ = "stickell"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "180upload.com"

    FILE_NAME_PATTERN = r'Filename:</b></td><td nowrap>(?P<N>.+)</td></tr>-->'
    FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.]+) (?P<U>[A-Z]+)\s*<small>'


getInfo = create_getInfo(HundredEightyUploadCom)
Example #41
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class NovafileCom(XFileSharingPro):
    __name__ = "NovafileCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*novafile\.com/\w{12}"
    __version__ = "0.01"
    __description__ = """novafile.com hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    FILE_SIZE_PATTERN = r'<div class="size">(?P<S>.+?)</div>'
    #FILE_OFFLINE_PATTERN = '<b>&quot;File Not Found&quot;</b>|File has been removed due to Copyright Claim'
    FORM_PATTERN = r'name="F\d+"'
    ERROR_PATTERN = r'class="alert[^"]*alert-separate"[^>]*>\s*(?:<p>)?(.*?)\s*</'
    DIRECT_LINK_PATTERN = r'<a href="(http://s\d+\.novafile\.com/.*?)" class="btn btn-green">Download File</a>'

    HOSTER_NAME = "novafile.com"

    def setup(self):
        self.multiDL = False


getInfo = create_getInfo(NovafileCom)
Example #42
0
# -*- coding: utf-8 -*-
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
import re


class FiledinoCom(XFileSharingPro):
    __name__ = "FiledinoCom"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*(file(dino|fat).com)/\w{12}"
    __version__ = "0.02"
    __description__ = """FileDino / FileFat hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    FILE_SIZE_PATTERN = r'File Size : </(span|font)><(span|font)[^>]*>(?P<S>.+?)</(span|font)>'
    DIRECT_LINK_PATTERN = r'http://www\.file(dino|fat)\.com/cgi-bin/dl\.cgi/'

    def setup(self):
        self.HOSTER_NAME = re.search(self.__pattern__,
                                     self.pyfile.url).group(1)
        self.multiDL = False


getInfo = create_getInfo(FiledinoCom)
Example #43
0
# 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 Affero General Public License for more details.                      #
#                                                                          #
# You should have received a copy of the GNU Affero General Public License #
# along with this program.  If not, see <http://www.gnu.org/licenses/>.    #
############################################################################

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class DuploadOrg(XFileSharingPro):
    __name__ = "DuploadOrg"
    __type__ = "hoster"
    __pattern__ = r"http://(www\.)?dupload\.org/\w{12}"
    __version__ = "0.01"
    __description__ = """Dupload.grg hoster plugin"""
    __author_name__ = ("stickell")
    __author_mail__ = ("*****@*****.**")

    HOSTER_NAME = "dupload.org"

    FILE_INFO_PATTERN = r'<h3[^>]*>(?P<N>.+) \((?P<S>[\d.]+) (?P<U>\w+)\)</h3>'


getInfo = create_getInfo(DuploadOrg)
Example #44
0
                    self.captcha = self.handleCaptcha(inputs)

                    if wait_time:
                        self.wait()

                self.errmsg = None
                self.logDebug("getPostParameters {0}".format(i))
                return inputs

            else:
                inputs['referer'] = self.pyfile.url

                if self.premium:
                    inputs['method_premium'] = "Premium Download"
                    if 'method_free' in inputs:
                        del inputs['method_free']
                else:
                    inputs['method_free'] = "Free Download"
                    if 'method_premium' in inputs:
                        del inputs['method_premium']

                self.html = self.load(self.pyfile.url, post=inputs, ref=False)
                self.errmsg = None

        else:
            self.parseError('FORM: %s' % (inputs['op'] if 'op' in inputs else 'UNKNOWN'))


getInfo = create_getInfo(StreamcloudEu)
Example #45
0
# -*- coding: utf-8 -*-

# Test links:
# test.bin - 214 B - http://pandapla.net/pew1cz3ot586
# BigBuckBunny_320x180.mp4 - 61.7 Mb - http://pandapla.net/tz0rgjfyyoh7

from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo


class PandaPlanet(XFileSharingPro):
    __name__ = "PandaPlanet"
    __type__ = "hoster"
    __pattern__ = r'https?://(?:www\.)?pandapla\.net/\w{12}'
    __version__ = "0.01"
    __description__ = """Pandapla.net hoster plugin"""
    __author_name__ = "t4skforce"
    __author_mail__ = "t4skforce1337[AT]gmail[DOT]com"

    HOSTER_NAME = "pandapla.net"

    FILE_SIZE_PATTERN = r'File Size:</b>\s*</td>\s*<td[^>]*>(?P<S>[^<]+)</td>\s*</tr>'
    FILE_NAME_PATTERN = r'File Name:</b>\s*</td>\s*<td[^>]*>(?P<N>[^<]+)</td>\s*</tr>'
    DIRECT_LINK_PATTERN = r'(http://([^/]*?%s|\d+\.\d+\.\d+\.\d+)(:\d+)?(/d/|(?:/files)?/\d+/\w+/)[^"\'<]+\/(?!video\.mp4)[^"\'<]+)' % HOSTER_NAME


getInfo = create_getInfo(PandaPlanet)
Example #46
0
                    self.captcha = self.handleCaptcha(inputs)

                    if wait_time:
                        self.wait()

                self.errmsg = None
                self.logDebug("getPostParameters {0}".format(i))
                return inputs

            else:
                inputs['referer'] = self.pyfile.url

                if self.premium:
                    inputs['method_premium'] = "Premium Download"
                    if 'method_free' in inputs:
                        del inputs['method_free']
                else:
                    inputs['method_free'] = "Free Download"
                    if 'method_premium' in inputs:
                        del inputs['method_premium']

                self.html = self.load(self.pyfile.url, post=inputs, ref=False)
                self.errmsg = None

        else:
            self.parseError('FORM: %s' %
                            (inputs['op'] if 'op' in inputs else 'UNKNOWN'))


getInfo = create_getInfo(StreamcloudEu)
Example #47
0
from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
from module.utils import html_unescape


class RarefileNet(XFileSharingPro):
    __name__ = "RarefileNet"
    __type__ = "hoster"
    __pattern__ = r"http://(?:\w*\.)*rarefile.net/\w{12}"
    __version__ = "0.03"
    __description__ = """Rarefile.net hoster plugin"""
    __author_name__ = ("zoidberg")
    __author_mail__ = ("*****@*****.**")

    FILE_NAME_PATTERN = r'<td><font color="red">(?P<N>.*?)</font></td>'
    FILE_SIZE_PATTERN = r'<td>Size : (?P<S>.+?)&nbsp;'
    DIRECT_LINK_PATTERN = r'<a href="(?P<link>[^"]+)">(?P=link)</a>'
    HOSTER_NAME = "rarefile.net"

    def setup(self):
        self.resumeDownload = self.multiDL = self.premium

    def handleCaptcha(self, inputs):
        captcha_div = re.search(r'<b>Enter code.*?<div.*?>(.*?)</div>', self.html, re.S).group(1)
        self.logDebug(captcha_div)
        numerals = re.findall('<span.*?padding-left\s*:\s*(\d+).*?>(\d)</span>', html_unescape(captcha_div))
        inputs['code'] = "".join([a[1] for a in sorted(numerals, key = lambda num: int(num[0]))])
        self.logDebug("CAPTCHA", inputs['code'], numerals)
        return 3

getInfo = create_getInfo(RarefileNet)
Example #48
0

class FileomCom(XFileSharingPro):
    __name__ = "FileomCom"
    __type__ = "hoster"
    __pattern__ = r'https?://(?:www\.)?fileom\.com/\w+'
    __version__ = "0.01"
    __description__ = """Fileom.com hoster plugin"""
    __author_name__ = "Walter Purcaro"
    __author_mail__ = "*****@*****.**"

    HOSTER_NAME = "fileom.com"

    FILE_URL_REPLACEMENTS = [(r'/$', "")]
    SH_COOKIES = [(".fileom.com", "lang", "english")]

    FILE_NAME_PATTERN = r'Filename: <span>(?P<N>.+?)<'
    FILE_SIZE_PATTERN = r'File Size: <span class="size">(?P<S>[\d\.]+) (?P<U>\w+)'

    ERROR_PATTERN = r'class=["\']err["\'][^>]*>(.*?)(?:\'|</)'

    DIRECT_LINK_PATTERN = r"var url2 = '(.+?)';"

    def setup(self):
        self.resumeDownload = self.premium
        self.multiDL = True
        self.chunkLimit = 1


getInfo = create_getInfo(FileomCom)