├── .gitattributes ├── .gitignore ├── README.md ├── media └── banner.png └── pyload ├── __init__.py └── plugins ├── accounts ├── AlldebridCom.py ├── AniStreamCom.py ├── BackinNet.py ├── BigfileTo.py ├── CatShareNet.py ├── CloudsharesNet.py ├── CloudsixMe.py ├── CloudzillaTo.py ├── CramitIn.py ├── CzshareCom.py ├── DatoidCz.py ├── DebridItaliaCom.py ├── DebridlinkFr.py ├── DepositfilesCom.py ├── EasybytezCom.py ├── EuroshareEu.py ├── ExashareCom.py ├── FastixRu.py ├── FastshareCz.py ├── File4SafeCom.py ├── FilecloudIo.py ├── FilefactoryCom.py ├── FilejokerNet.py ├── FilejungleCom.py ├── FileomCom.py ├── FilerNet.py ├── FilerioCom.py ├── FilesMailRu.py ├── FileserveCom.py ├── FourSharedCom.py ├── FreakshareCom.py ├── FshareVn.py ├── Ftp.py ├── HellshareCz.py ├── HighWayMe.py ├── Http.py ├── HugefilesNet.py ├── HundredEightyUploadCom.py ├── JunkyvideoCom.py ├── JunocloudMe.py ├── Keep2ShareCc.py ├── LinksnappyCom.py ├── MegaCoNz.py ├── MegaDebridEu.py ├── MegaRapidCz.py ├── MegaRapidoNet.py ├── MegasharesCom.py ├── MovReelCom.py ├── MultihostersCom.py ├── MultishareCz.py ├── MyfastfileCom.py ├── NitroflareCom.py ├── NoPremiumPl.py ├── NosuploadCom.py ├── NovafileCom.py ├── NowVideoSx.py ├── OboomCom.py ├── OneFichierCom.py ├── OpenloadCo.py ├── OverLoadMe.py ├── PremiumTo.py ├── PremiumizeMe.py ├── PutdriveCom.py ├── QuickshareCz.py ├── RPNetBiz.py ├── RapideoPl.py ├── RapidfileshareNet.py ├── RapidgatorNet.py ├── RapiduNet.py ├── RarefileNet.py ├── RealdebridCom.py ├── RehostTo.py ├── SafesharingEu.py ├── SecureUploadEu.py ├── SendmywayCom.py ├── SharebeastCom.py ├── ShareonlineBiz.py ├── SimplyPremiumCom.py ├── SimplydebridCom.py ├── SmoozedCom.py ├── StreamcloudEu.py ├── TurbobitNet.py ├── TusfilesNet.py ├── UlozTo.py ├── UpleaCom.py ├── UploadcCom.py ├── UploadedTo.py ├── UploadheroCom.py ├── UptoboxCom.py ├── VidPlayNet.py ├── WebshareCz.py ├── WorldbytezCom.py ├── YibaishiwuCom.py └── ZeveraCom.py ├── captcha ├── AdYouLike.py ├── AdsCaptcha.py ├── CircleCaptcha.py ├── GigasizeCom.py ├── LinksaveIn.py ├── NetloadIn.py ├── ReCaptcha.py ├── ShareonlineBiz.py ├── SolveMedia.py └── UlozTo.py ├── container ├── CCF.py ├── DLC.py ├── RSDF.py └── TXT.py ├── crypter ├── BigfileToFolder.py ├── BitshareComFolder.py ├── C1NeonCom.py ├── ChipDe.py ├── CloudzillaToFolder.py ├── CrockoComFolder.py ├── CryptCat.py ├── CryptItCom.py ├── CzshareComFolder.py ├── DailymotionComFolder.py ├── DataHuFolder.py ├── DatafileComFolder.py ├── DdlstorageComFolder.py ├── DepositfilesComFolder.py ├── Dereferer.py ├── DevhostStFolder.py ├── DlProtectCom.py ├── DuckCryptInfo.py ├── DuploadOrgFolder.py ├── EasybytezComFolder.py ├── EmbeduploadCom.py ├── FilebeerInfoFolder.py ├── FilecloudIoFolder.py ├── FilecryptCc.py ├── FilefactoryComFolder.py ├── FilerNetFolder.py ├── FileserveComFolder.py ├── FilesonicComFolder.py ├── FilestubeCom.py ├── FiletramCom.py ├── FiredriveComFolder.py ├── FourChanOrg.py ├── FreakhareComFolder.py ├── FreetexthostCom.py ├── FshareVnFolder.py ├── FurLy.py ├── Go4UpCom.py ├── GooGl.py ├── GoogledriveComFolder.py ├── HflixIn.py ├── HoerbuchIn.py ├── HotfileComFolder.py ├── ILoadTo.py ├── ImgurCom.py ├── JDlist.py ├── LetitbitNetFolder.py ├── LinkCryptWs.py ├── LinkSaveIn.py ├── LinkdecrypterCom.py ├── LixIn.py ├── LofCc.py ├── MBLinkInfo.py ├── MediafireComFolder.py ├── MegaCoNzFolder.py ├── MegaRapidCzFolder.py ├── MegadyskPlFolder.py ├── MegauploadComFolder.py ├── MirrorcreatorCom.py ├── Movie2KTo.py ├── MultiUpOrg.py ├── MultiloadCz.py ├── MultiuploadCom.py ├── NCryptIn.py ├── NetfolderIn.py ├── NitroflareComFolder.py ├── NosvideoCom.py ├── OronComFolder.py ├── PastebinCom.py ├── PastedCo.py ├── QuickshareCzFolder.py ├── RSLayerCom.py ├── RelinkUs.py ├── SafelinkingNet.py ├── SecuredIn.py ├── SexuriaCom.py ├── ShSt.py ├── ShareLinksBiz.py ├── SharingmatrixComFolder.py ├── SpeedLoadOrgFolder.py ├── StealthTo.py ├── TNTVillageScambioeticoOrg.py ├── TinyurlCom.py ├── TnyCz.py ├── TrailerzoneInfo.py ├── TurbobitNetFolder.py ├── TusfilesNetFolder.py ├── UlozToFolder.py ├── UploadedToFolder.py ├── WiiReloadedOrg.py ├── WuploadComFolder.py ├── XFileSharingFolder.py ├── XupPl.py └── YoutubeComFolder.py ├── hooks ├── AndroidPhoneNotify.py ├── AntiStandby.py ├── AntiVirus.py ├── BypassCaptcha.py ├── Captcha9Kw.py ├── CaptchaBrotherhood.py ├── Checksum.py ├── ClickNLoad.py ├── CloudFlareDdos.py ├── DeathByCaptcha.py ├── DeleteFinished.py ├── DownloadScheduler.py ├── EventMapper.py ├── ExpertDecoders.py ├── ExternalScripts.py ├── ExtractArchive.py ├── HotFolder.py ├── IRC.py ├── ImageTyperz.py ├── JustPremium.py ├── LinkFilter.py ├── LinkdecrypterComHook.py ├── LogMarker.py ├── MergeFiles.py ├── MultiHome.py ├── PushBullet.py ├── PushOver.py ├── RestartFailed.py ├── SkipRev.py ├── TransmissionRPC.py ├── UnSkipOnFail.py ├── UpdateManager.py ├── UserAgentSwitcher.py ├── WindowsPhoneNotify.py ├── XFileSharing.py └── XMPP.py ├── hoster ├── AlldebridCom.py ├── AndroidfilehostCom.py ├── BasePlugin.py ├── BasketbuildCom.py ├── BayfilesCom.py ├── BezvadataCz.py ├── BigfileTo.py ├── BillionuploadsCom.py ├── BitshareCom.py ├── BoltsharingCom.py ├── CatShareNet.py ├── ClicknuploadCom.py ├── CloudzerNet.py ├── CloudzillaTo.py ├── CramitIn.py ├── CrockoCom.py ├── CyberlockerCh.py ├── CzshareCom.py ├── DailymotionCom.py ├── DataHu.py ├── DatafileCom.py ├── DataportCz.py ├── DateiTo.py ├── DatoidCz.py ├── DdlstorageCom.py ├── DebridItaliaCom.py ├── DebridlinkFr.py ├── DepositfilesCom.py ├── DevhostSt.py ├── DlFreeFr.py ├── DodanePl.py ├── DropboxCom.py ├── DuploadOrg.py ├── EasybytezCom.py ├── EdiskCz.py ├── EgoFilesCom.py ├── EnteruploadCom.py ├── EpicShareNet.py ├── EuroshareEu.py ├── ExashareCom.py ├── ExtabitCom.py ├── FastixRu.py ├── FastshareCz.py ├── FileApeCom.py ├── FileSharkPl.py ├── FileStoreTo.py ├── FilebeerInfo.py ├── FileboomMe.py ├── FilecloudIo.py ├── FiledropperCom.py ├── FilefactoryCom.py ├── FilejokerNet.py ├── FilejungleCom.py ├── FileomCom.py ├── FilepostCom.py ├── FilepupNet.py ├── FilerNet.py ├── FilerioCom.py ├── FilesMailRu.py ├── FileserveCom.py ├── FileshareInUa.py ├── FilesonicCom.py ├── FileuploadNet.py ├── FilezyNet.py ├── FiredriveCom.py ├── FlyFilesNet.py ├── FourSharedCom.py ├── FreakshareCom.py ├── FreeWayMe.py ├── FreevideoCz.py ├── FshareVn.py ├── Ftp.py ├── GamefrontCom.py ├── GigapetaCom.py ├── GooIm.py ├── GoogledriveCom.py ├── HearthisAt.py ├── HellshareCz.py ├── HellspyCz.py ├── HighWayMe.py ├── HostujeNet.py ├── HotfileCom.py ├── Http.py ├── HugefilesNet.py ├── HundredEightyUploadCom.py ├── IFileWs.py ├── IcyFilesCom.py ├── IfileIt.py ├── IfolderRu.py ├── JumbofilesCom.py ├── JunocloudMe.py ├── Keep2ShareCc.py ├── KickloadCom.py ├── KingfilesNet.py ├── LemUploadsCom.py ├── LetitbitNet.py ├── LinksnappyCom.py ├── LoadTo.py ├── LolabitsEs.py ├── LomafileCom.py ├── LuckyShareNet.py ├── MediafireCom.py ├── MegaCoNz.py ├── MegaDebridEu.py ├── MegaFilesSe.py ├── MegaRapidCz.py ├── MegaRapidoNet.py ├── MegacrypterCom.py ├── MegadyskPl.py ├── MegareleaseOrg.py ├── MegasharesCom.py ├── MegauploadCom.py ├── MegavideoCom.py ├── MovReelCom.py ├── MultihostersCom.py ├── MultishareCz.py ├── MyfastfileCom.py ├── MystoreTo.py ├── MyvideoDe.py ├── NahrajCz.py ├── NarodRu.py ├── NetloadIn.py ├── NitroflareCom.py ├── NoPremiumPl.py ├── NosuploadCom.py ├── NovafileCom.py ├── NowDownloadSx.py ├── NowVideoSx.py ├── OboomCom.py ├── OneFichierCom.py ├── OnlineTvRecorder.py ├── OpenloadIo.py ├── OronCom.py ├── OverLoadMe.py ├── PandaplaNet.py ├── PornhostCom.py ├── PornhubCom.py ├── PornovkaCz.py ├── PotloadCom.py ├── PremiumTo.py ├── PremiumizeMe.py ├── PromptfileCom.py ├── PrzeklejPl.py ├── PutdriveCom.py ├── QuickshareCz.py ├── RPNetBiz.py ├── RapideoPl.py ├── RapidfileshareNet.py ├── RapidgatorNet.py ├── RapiduNet.py ├── RarefileNet.py ├── RealdebridCom.py ├── RedtubeCom.py ├── RehostTo.py ├── RemixshareCom.py ├── RgHostNet.py ├── RockfileEu.py ├── RyushareCom.py ├── SafesharingEu.py ├── SecureUploadEu.py ├── SendspaceCom.py ├── Share4WebCom.py ├── Share76Com.py ├── ShareFilesCo.py ├── SharebeesCom.py ├── ShareonlineBiz.py ├── ShareplaceCom.py ├── SharingmatrixCom.py ├── ShragleCom.py ├── SimplyPremiumCom.py ├── SimplydebridCom.py ├── SizedriveCom.py ├── SmoozedCom.py ├── SmuleCom.py ├── SockshareCom.py ├── SolidfilesCom.py ├── SoundcloudCom.py ├── SpeedLoadOrg.py ├── SpeedfileCz.py ├── SpeedyshareCom.py ├── StahnuTo.py ├── StorageTo.py ├── StreamCz.py ├── StreamcloudEu.py ├── TurbobitNet.py ├── TurbouploadCom.py ├── TusfilesNet.py ├── TwoSharedCom.py ├── UgouploadNet.py ├── UlozTo.py ├── UloziskoSk.py ├── UnibytesCom.py ├── UnrestrictLi.py ├── UpleaCom.py ├── UploadStationCom.py ├── UploadboxCom.py ├── UploadedTo.py ├── UploadhereCom.py ├── UploadheroCom.py ├── UploadingCom.py ├── UploadkingCom.py ├── UploadrocketNet.py ├── UpstoreNet.py ├── UptoboxCom.py ├── UserscloudCom.py ├── VeehdCom.py ├── VeohCom.py ├── VidPlayNet.py ├── VimeoCom.py ├── Vipleech4UCom.py ├── VkCom.py ├── WarserverCz.py ├── WebshareCz.py ├── WrzucTo.py ├── WuploadCom.py ├── X7To.py ├── XDCC.py ├── XFileSharing.py ├── XHamsterCom.py ├── XVideosCom.py ├── XdadevelopersCom.py ├── YadiSk.py ├── YesPornPleaseCom.py ├── YibaishiwuCom.py ├── YoupornCom.py ├── YourfilesTo.py ├── YoutubeCom.py ├── ZDF.py ├── ZShareNet.py ├── ZahikiNet.py ├── ZbigzCom.py ├── ZeveraCom.py └── ZippyshareCom.py └── internal ├── Account.py ├── Addon.py ├── Base.py ├── Captcha.py ├── CaptchaService.py ├── Container.py ├── Crypter.py ├── DeadCrypter.py ├── DeadHoster.py ├── Extractor.py ├── Hoster.py ├── MultiAccount.py ├── MultiCrypter.py ├── MultiHoster.py ├── Notifier.py ├── OCR.py ├── Plugin.py ├── SevenZip.py ├── SimpleCrypter.py ├── SimpleHoster.py ├── UnRar.py ├── UnTar.py ├── UnZip.py ├── XFSAccount.py ├── XFSCrypter.py ├── XFSHoster.py └── misc.py /README.md: -------------------------------------------------------------------------------- 1 |

pyLoad

2 | 3 | Discover the **official plugins** for 4 | [**pyLoad**](https://github.com/pyload/pyload), 5 | *The Free and Open Source download manager written in Pure Python and designed 6 | to be extremely lightweight, fully customizable and remotely manageable*. 7 | 8 | _Continue reading about **pyLoad** amazing features on _ 9 | 10 | 11 | [![Join the chat at https://gitter.im/pyload/plugins](https://badges.gitter.im/pyload/plugins.svg)](https://gitter.im/pyload/plugins?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 12 | 13 | 14 | Plugin policy 15 | ------------- 16 | 17 | > **Notice:** 18 | > **The current policy can be modified anytime without notice.** 19 | 20 | - NO cracking website or service. 21 | - NO drugs website or service. 22 | - NO e-commerce website or service. 23 | - NO government website or service. 24 | - NO illegal website or service *(in the country where its servers are located)*. 25 | - NO pedopornography website or service. 26 | - NO private access website or service. 27 | - NO racist website or service. 28 | - NO warez website or service. 29 | - NO weapon website or service. 30 | 31 | 32 | ------------------------------ 33 | ###### © 2009-2017 pyLoad Team 34 | -------------------------------------------------------------------------------- /media/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyload/pyload-plugins/2b71e94a731edb863409adb35dea992a041faf79/media/banner.png -------------------------------------------------------------------------------- /pyload/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @author: vuolter 3 | # ____________ 4 | # _ / | \ ___________ _ _______________ _ ___ _______________ 5 | # / | ___/ | _ __ _ _| | ___ __ _ __| | \\ ___ ___ _\ 6 | # / \___/ ______/ | '_ \ || | |__/ _ \/ _` / _` | \\ / _ \/ _ `/ \ 7 | # \ | o| | .__/\_, |____\___/\__,_\__,_| // /_//_/\_, / / 8 | # \______\ /______|_|___|__/________________________//______ /___/__/ 9 | # \ / 10 | # \/ 11 | 12 | try: 13 | import pkg_resources 14 | pkg_resources.declare_namespace(__name__) 15 | 16 | except ImportError: 17 | import pkgutil 18 | __path__ = pkgutil.extend_path(__path__, __name__) 19 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/AniStreamCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class AniStreamCom(XFSAccount): 7 | __name__ = "AniStreamCom" 8 | __type__ = "account" 9 | __version__ = "0.05" 10 | __status__ = "testing" 11 | 12 | __description__ = """Ani-Stream.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "ani-stream.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/BackinNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class BackinNet(XFSAccount): 7 | __name__ = "BackinNet" 8 | __type__ = "account" 9 | __version__ = "0.06" 10 | __status__ = "testing" 11 | 12 | __description__ = """Backin.net account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "backin.net" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/BigfileTo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.Account import Account 4 | 5 | 6 | class BigfileTo(Account): 7 | __name__ = "BigfileTo" 8 | __type__ = "account" 9 | __version__ = "0.11" 10 | __status__ = "testing" 11 | 12 | __description__ = """bigfile.to account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Sasch", "gsasch@gmail.com"), 15 | ("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] 16 | 17 | def grab_info(self, user, password, data): 18 | html = self.load("https://www.bigfile.to/login.php") 19 | 20 | premium = 'account type\s*Premium Account' 19 | 20 | def grab_info(self, user, password, data): 21 | html = self.load("http://www.cloudzilla.to/") 22 | 23 | premium = True if re.search(self.PREMIUM_PATTERN, html) else False 24 | 25 | return {'validuntil': -1, 'trafficleft': -1, 'premium': premium} 26 | 27 | def signin(self, user, password, data): 28 | html = self.load("https://www.cloudzilla.to/", 29 | post={'lusername': user, 30 | 'lpassword': password, 31 | 'w': "dologin"}) 32 | 33 | if "ERROR" in html: 34 | self.fail_login() 35 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/CramitIn.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class CramitIn(XFSAccount): 7 | __name__ = "CramitIn" 8 | __type__ = "account" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __description__ = """Cramit.in account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 15 | 16 | PLUGIN_DOMAIN = "cramit.in" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/DatoidCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Account import Account 6 | 7 | 8 | class DatoidCz(Account): 9 | __name__ = "DatoidCz" 10 | __type__ = "account" 11 | __version__ = "0.39" 12 | __status__ = "testing" 13 | 14 | __description__ = """Datoid.cz account plugin""" 15 | __license__ = "GPLv3" 16 | __authors__ = [("GammaC0de", None)] 17 | 18 | def grab_info(self, user, password, data): 19 | html = self.load("https://datoid.cz/") 20 | 21 | m = re.search(r'"menu-bar-storage"> ([\d.,]+) ([\w^_]+)', html) 22 | trafficleft = self.parse_traffic(m.group(1), m.group(2)) if m else 0 23 | 24 | info = {'validuntil': -1, 25 | 'trafficleft': trafficleft, 26 | 'premium': True} 27 | 28 | return info 29 | 30 | def signin(self, user, password, data): 31 | html = self.load("https://datoid.cz/") 32 | if 'href="/muj-ucet">' in html: 33 | self.skip_login() 34 | 35 | html = self.load("https://datoid.cz/prihlaseni?do=signInForm-submit", 36 | post={'username': user, 37 | 'password': password}) 38 | 39 | if 'href="/muj-ucet">' not in html: 40 | self.fail_login() 41 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/DepositfilesCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | import time 5 | 6 | from ..internal.Account import Account 7 | 8 | 9 | class DepositfilesCom(Account): 10 | __name__ = "DepositfilesCom" 11 | __type__ = "account" 12 | __version__ = "0.39" 13 | __status__ = "testing" 14 | 15 | __description__ = """Depositfiles.com account plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("mkaay", "mkaay@mkaay.de"), 18 | ("stickell", "l.stickell@yahoo.it"), 19 | ("Walter Purcaro", "vuolter@gmail.com")] 20 | 21 | def grab_info(self, user, password, data): 22 | html = self.load("https://dfiles.eu/de/gold/") 23 | validuntil = re.search( 24 | r'Sie haben Gold Zugang bis: (.*?)', 25 | html).group(1) 26 | 27 | validuntil = time.mktime( 28 | time.strptime( 29 | validuntil, 30 | "%Y-%m-%d %H:%M:%S")) 31 | 32 | return {'validuntil': validuntil, 'trafficleft': -1} 33 | 34 | def signin(self, user, password, data): 35 | html = self.load("https://dfiles.eu/de/login.php", 36 | get={'return': "/de/gold/payment.php"}, 37 | post={'login': user, 38 | 'password': password}) 39 | 40 | if r'
Sie haben eine falsche Benutzername-Passwort-Kombination verwendet.
' in html: 41 | self.fail_login() 42 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/EasybytezCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.XFSAccount import XFSAccount 6 | 7 | 8 | class EasybytezCom(XFSAccount): 9 | __name__ = "EasybytezCom" 10 | __type__ = "account" 11 | __version__ = "0.18" 12 | __status__ = "testing" 13 | 14 | __description__ = """EasyBytez.com account plugin""" 15 | __license__ = "GPLv3" 16 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), 17 | ("guidobelix", "guidobelix@hotmail.it")] 18 | 19 | PLUGIN_DOMAIN = "easybytez.com" 20 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/ExashareCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class ExashareCom(XFSAccount): 7 | __name__ = "ExashareCom" 8 | __type__ = "account" 9 | __version__ = "0.06" 10 | __status__ = "testing" 11 | 12 | __description__ = """Exashare.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "exashare.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/File4SafeCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class File4SafeCom(XFSAccount): 7 | __name__ = "File4SafeCom" 8 | __type__ = "account" 9 | __version__ = "0.11" 10 | __status__ = "testing" 11 | 12 | __description__ = """File4Safe.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 15 | 16 | PLUGIN_DOMAIN = "file4safe.com" 17 | 18 | LOGIN_FAIL_PATTERN = r'input_login' 19 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/FilejokerNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class FilejokerNet(XFSAccount): 7 | __name__ = "FilejokerNet" 8 | __type__ = "account" 9 | __version__ = "0.02" 10 | __status__ = "testing" 11 | 12 | __description__ = """Filejoker.net account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] 15 | 16 | PLUGIN_DOMAIN = "filejoker.net" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/FileomCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class FileomCom(XFSAccount): 7 | __name__ = "FileomCom" 8 | __type__ = "account" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __description__ = """Fileom.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "fileom.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/FilerioCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class FilerioCom(XFSAccount): 7 | __name__ = "FilerioCom" 8 | __type__ = "account" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __description__ = """FileRio.in account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 15 | 16 | PLUGIN_DOMAIN = "filerio.in" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/FilesMailRu.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.Account import Account 4 | 5 | 6 | class FilesMailRu(Account): 7 | __name__ = "FilesMailRu" 8 | __type__ = "account" 9 | __version__ = "0.18" 10 | __status__ = "testing" 11 | 12 | __description__ = """Filesmail.ru account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("RaNaN", "RaNaN@pyload.org")] 15 | 16 | def grab_info(self, user, password, data): 17 | return {'validuntil': None, 'trafficleft': None} 18 | 19 | def signin(self, user, password, data): 20 | user, domain = user.split("@") 21 | 22 | html = self.load("https://swa.mail.ru/cgi-bin/auth", 23 | post={'Domain': domain, 24 | 'Login': user, 25 | 'Password': password, 26 | 'Page': "http://files.mail.ru/"}) 27 | 28 | if "Неверное имя пользователя или пароль" in html: 29 | self.fail_login() 30 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/FourSharedCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.Account import Account 4 | from ..internal.misc import set_cookie 5 | 6 | 7 | class FourSharedCom(Account): 8 | __name__ = "FourSharedCom" 9 | __type__ = "account" 10 | __version__ = "0.13" 11 | __status__ = "testing" 12 | 13 | __description__ = """FourShared.com account plugin""" 14 | __license__ = "GPLv3" 15 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), 16 | ("stickell", "l.stickell@yahoo.it")] 17 | 18 | def grab_info(self, user, password, data): 19 | #: Free mode only for now 20 | return {'premium': False} 21 | 22 | def signin(self, user, password, data): 23 | set_cookie(self.req.cj, "4shared.com", "4langcookie", "en") 24 | 25 | res = self.load("https://www.4shared.com/web/login", 26 | post={'login': user, 27 | 'password': password, 28 | 'remember': "on", 29 | '_remember': "on", 30 | 'returnTo': "http://www.4shared.com/account/home.jsp"}) 31 | 32 | if 'Please log in to access your 4shared account' in res: 33 | self.fail_login() 34 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/Ftp.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.Account import Account 4 | 5 | 6 | class Ftp(Account): 7 | __name__ = "Ftp" 8 | __type__ = "account" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __description__ = """Ftp dummy account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 15 | 16 | info_threshold = 1000000 17 | login_timeout = 1000000 18 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/Http.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.Account import Account 4 | 5 | 6 | class Http(Account): 7 | __name__ = "Http" 8 | __type__ = "account" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __description__ = """Http dummy account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 15 | 16 | info_threshold = 1000000 17 | login_timeout = 1000000 18 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/HugefilesNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class HugefilesNet(XFSAccount): 7 | __name__ = "HugefilesNet" 8 | __type__ = "account" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __description__ = """Hugefiles.net account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "hugefiles.net" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/HundredEightyUploadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class HundredEightyUploadCom(XFSAccount): 7 | __name__ = "HundredEightyUploadCom" 8 | __type__ = "account" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __description__ = """180upload.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "180upload.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/JunkyvideoCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class JunkyvideoCom(XFSAccount): 7 | __name__ = "JunkyvideoCom" 8 | __type__ = "account" 9 | __version__ = "0.06" 10 | __status__ = "testing" 11 | 12 | __description__ = """Junkyvideo.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "junkyvideo.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/JunocloudMe.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class JunocloudMe(XFSAccount): 7 | __name__ = "JunocloudMe" 8 | __type__ = "account" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __description__ = """Junocloud.me account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("guidobelix", "guidobelix@hotmail.it")] 15 | 16 | PLUGIN_DOMAIN = "junocloud.me" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/MegasharesCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | import time 5 | 6 | from ..internal.Account import Account 7 | 8 | 9 | class MegasharesCom(Account): 10 | __name__ = "MegasharesCom" 11 | __type__ = "account" 12 | __version__ = "0.11" 13 | __status__ = "testing" 14 | 15 | __description__ = """Megashares.com account plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | 19 | VALID_UNTIL_PATTERN = r'

Period Ends: (\w{3} \d{1,2}, \d{4})

' 20 | 21 | def grab_info(self, user, password, data): 22 | html = self.load("http://d01.megashares.com/myms.php") 23 | 24 | premium = False if '>Premium Upgrade<' in html else True 25 | 26 | validuntil = trafficleft = -1 27 | try: 28 | timestr = re.search(self.VALID_UNTIL_PATTERN, html).group(1) 29 | self.log_debug(timestr) 30 | validuntil = time.mktime(time.strptime(timestr, "%b %d, %Y")) 31 | 32 | except Exception, e: 33 | self.log_error(e, trace=True) 34 | 35 | return {'validuntil': validuntil, 36 | 'trafficleft': -1, 'premium': premium} 37 | 38 | def signin(self, user, password, data): 39 | html = self.load('http://d01.megashares.com/myms_login.php', 40 | post={'httpref': "", 41 | 'myms_login': "Login", 42 | 'mymslogin_name': user, 43 | 'mymspassword': password}) 44 | 45 | if not '%s' % user in html: 46 | self.fail_login() 47 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/MovReelCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class MovReelCom(XFSAccount): 7 | __name__ = "MovReelCom" 8 | __type__ = "account" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __description__ = """Movreel.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] 15 | 16 | login_timeout = 60 17 | info_threshold = 30 18 | 19 | PLUGIN_DOMAIN = "movreel.com" 20 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/MultihostersCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .ZeveraCom import ZeveraCom 4 | 5 | 6 | class MultihostersCom(ZeveraCom): 7 | __name__ = "MultihostersCom" 8 | __type__ = "account" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __description__ = """Multihosters.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("tjeh", "tjeh@gmx.net")] 15 | 16 | PLUGIN_DOMAIN = "multihosters.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/NosuploadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class NosuploadCom(XFSAccount): 7 | __name__ = "NosuploadCom" 8 | __type__ = "account" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __description__ = """Nosupload.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "nosupload.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/NovafileCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class NovafileCom(XFSAccount): 7 | __name__ = "NovafileCom" 8 | __type__ = "account" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __description__ = """Novafile.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "novafile.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/OpenloadCo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class OpenloadCo(XFSAccount): 7 | __name__ = "OpenloadCo" 8 | __type__ = "account" 9 | __version__ = "0.03" 10 | __status__ = "testing" 11 | 12 | __description__ = """Openload.co account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "openload.co" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/PutdriveCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .ZeveraCom import ZeveraCom 4 | 5 | 6 | class PutdriveCom(ZeveraCom): 7 | __name__ = "PutdriveCom" 8 | __type__ = "account" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __description__ = """Putdrive.com account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | PLUGIN_DOMAIN = "putdrive.com" 17 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/QuickshareCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Account import Account 6 | 7 | 8 | class QuickshareCz(Account): 9 | __name__ = "QuickshareCz" 10 | __type__ = "account" 11 | __version__ = "0.11" 12 | __status__ = "testing" 13 | 14 | __description__ = """Quickshare.cz account plugin""" 15 | __license__ = "GPLv3" 16 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 17 | 18 | TRAFFIC_LEFT_PATTERN = r'Stav kreditu: (.+?)' 19 | 20 | def grab_info(self, user, password, data): 21 | html = self.load("http://www.quickshare.cz/premium") 22 | 23 | m = re.search(self.TRAFFIC_LEFT_PATTERN, html) 24 | if m is not None: 25 | trafficleft = self.parse_traffic(m.group(1)) 26 | premium = True if trafficleft else False 27 | else: 28 | trafficleft = None 29 | premium = False 30 | 31 | return {'validuntil': -1, 'trafficleft': trafficleft, 'premium': premium} 32 | 33 | def signin(self, user, password, data): 34 | html = self.load('http://www.quickshare.cz/html/prihlaseni_process.php', 35 | post={'akce': u'Přihlásit', 36 | 'heslo': password, 37 | 'jmeno': user}) 38 | 39 | if u'>Takový uživatel neexistuje.<' in html or u'>Špatné heslo.<' in html: 40 | self.fail_login() 41 | -------------------------------------------------------------------------------- /pyload/plugins/accounts/RapidfileshareNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSAccount import XFSAccount 4 | 5 | 6 | class RapidfileshareNet(XFSAccount): 7 | __name__ = "RapidfileshareNet" 8 | __type__ = "account" 9 | __version__ = "0.11" 10 | __status__ = "testing" 11 | 12 | __description__ = """Rapidfileshare.net account plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("guidobelix", "guidobelix@hotmail.it")] 15 | 16 | PLUGIN_DOMAIN = "rapidfileshare.net" 17 | 18 | TRAFFIC_LEFT_PATTERN = r'>Traffic available today:
' 31 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/BitshareComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class BitshareComFolder(DeadCrypter): 7 | __name__ = "BitshareComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.11" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Bitshare.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/C1NeonCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class C1NeonCom(DeadCrypter): 7 | __name__ = "C1NeonCom" 8 | __type__ = "crypter" 9 | __version__ = "0.11" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?c1neon\.com/.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """C1neon.com decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("godofdream", "soilfiction@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/ChipDe.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Crypter import Crypter 6 | 7 | 8 | class ChipDe(Crypter): 9 | __name__ = "ChipDe" 10 | __type__ = "crypter" 11 | __version__ = "0.16" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?chip\.de/video/.+\.html' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("folder_per_package", "Default;Yes;No", "Create folder for each package", "Default")] 18 | 19 | __description__ = """Chip.de decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("4Christopher", "4Christopher@gmx.de")] 22 | 23 | def decrypt(self, pyfile): 24 | self.data = self.load(pyfile.url) 25 | try: 26 | f = re.search(r'"(http://video\.chip\.de/.+)"', self.data) 27 | 28 | except Exception: 29 | self.fail(_("Failed to find the URL")) 30 | 31 | else: 32 | self.links = [f.group(1)] 33 | self.log_debug("The file URL is %s" % self.links[0]) 34 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/CloudzillaToFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.SimpleCrypter import SimpleCrypter 6 | 7 | 8 | class CloudzillaToFolder(SimpleCrypter): 9 | __name__ = "CloudzillaToFolder" 10 | __type__ = "crypter" 11 | __version__ = "0.11" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?cloudzilla\.to/share/folder/(?P[\w^_]+)' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("folder_per_package", "Default;Yes;No", 18 | "Create folder for each package", "Default"), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """Cloudzilla.to folder decrypter plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 24 | 25 | INFO_PATTERN = r'File not found...<' 27 | 28 | LINK_PATTERN = r'' 29 | 30 | PASSWORD_PATTERN = r'
' 31 | 32 | def check_errors(self): 33 | m = re.search(self.PASSWORD_PATTERN, self.data) 34 | if m is not None: 35 | self.data = self.load( 36 | self.pyfile.url, get={ 37 | 'key': self.get_password()}) 38 | 39 | if re.search(self.PASSWORD_PATTERN, self.data): 40 | self.retry(msg="Wrong password") 41 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/CrockoComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class CrockoComFolder(SimpleCrypter): 7 | __name__ = "CrockoComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?crocko\.com/f/.+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Crocko.com folder decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 22 | 23 | LINK_PATTERN = r'download' 24 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/CryptItCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class CryptItCom(DeadCrypter): 7 | __name__ = "CryptItCom" 8 | __type__ = "crypter" 9 | __version__ = "0.16" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Crypt-it.com decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("jeix", "jeix@hasnomail.de")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/CzshareComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Crypter import Crypter 6 | 7 | 8 | class CzshareComFolder(Crypter): 9 | __name__ = "CzshareComFolder" 10 | __type__ = "crypter" 11 | __version__ = "0.27" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.+' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("folder_per_package", "Default;Yes;No", "Create folder for each package", "Default")] 18 | 19 | __description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 22 | 23 | FOLDER_PATTERN = r'\s*\s*(.*?)
' 24 | LINK_PATTERN = r'info' 25 | 26 | def decrypt(self, pyfile): 27 | html = self.load(pyfile.url) 28 | 29 | m = re.search(self.FOLDER_PATTERN, html, re.S) 30 | if m is None: 31 | self.error(_("FOLDER_PATTERN not found")) 32 | 33 | self.links.extend(re.findall(self.LINK_PATTERN, m.group(1))) 34 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/DatafileComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Crypter import Crypter 6 | 7 | 8 | class DatafileComFolder(Crypter): 9 | __name__ = "DatafileComFolder" 10 | __type__ = "crypter" 11 | __version__ = "0.02" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'https?://(?:www\.)?datafile\.com/f/\w{12}' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("folder_per_package", "Default;Yes;No", 18 | "Create folder for each package", "Default"), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """datafile.com decrypter plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] 24 | 25 | LINK_PATTERN = r'https?://(?:www\.)?datafile\.com/d/\w{17}' 26 | NAME_PATTERN = r'
(?P.+?)<' 27 | 28 | def decrypt(self, pyfile): 29 | self.data = self.load(pyfile.url) 30 | 31 | links = re.findall(self.LINK_PATTERN, self.data) 32 | 33 | m = re.search(self.NAME_PATTERN, self.data) 34 | if m is not None: 35 | name = m.group('N') 36 | self.packages.append((name, links, name)) 37 | 38 | else: 39 | self.links.extend(links) 40 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/DdlstorageComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class DdlstorageComFolder(DeadCrypter): 7 | __name__ = "DdlstorageComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.09" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/folder/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """DDLStorage.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("godofdream", "soilfiction@gmail.com"), 18 | ("stickell", "l.stickell@yahoo.it")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/DepositfilesComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class DepositfilesComFolder(SimpleCrypter): 7 | __name__ = "DepositfilesComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?depositfiles\.com/folders/\w+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Depositfiles.com folder decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 22 | 23 | LINK_PATTERN = r'
\s*' 24 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/DuploadOrgFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class DuploadOrgFolder(DeadCrypter): 7 | __name__ = "DuploadOrgFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.08" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Dupload.org folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/EasybytezComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSCrypter import XFSCrypter 4 | 5 | 6 | class EasybytezComFolder(XFSCrypter): 7 | __name__ = "EasybytezComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.17" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?easybytez\.com/users/\d+/\d+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Easybytez.com folder decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 22 | 23 | PLUGIN_DOMAIN = "easybytez.com" 24 | 25 | LOGIN_ACCOUNT = True 26 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FilebeerInfoFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class FilebeerInfoFolder(DeadCrypter): 7 | __name__ = "FilebeerInfoFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.08" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?filebeer\.info/\d*~f\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Filebeer.info folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FilecloudIoFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class FilecloudIoFolder(SimpleCrypter): 7 | __name__ = "FilecloudIoFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.09" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Filecloud.io folder decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 22 | 23 | LINK_PATTERN = r'href="(http://filecloud\.io/\w+)" title' 24 | NAME_PATTERN = r'>(?P.+?) - filecloud\.io<' 25 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FilefactoryComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class FilefactoryComFolder(SimpleCrypter): 7 | __name__ = "FilefactoryComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.38" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Filefactory.com folder decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 22 | 23 | COOKIES = [("filefactory.com", "locale", "en_US.utf8")] 24 | 25 | LINK_PATTERN = r'\s*Files in (?P.+?)<' 27 | PAGES_PATTERN = r'data-paginator-totalPages="(\d+)' 28 | 29 | def load_page(self, page_n): 30 | return self.load(self.pyfile.url, get={'page': page_n, 'show': 100}) 31 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FilerNetFolder.py: -------------------------------------------------------------------------------- 1 | 2 | from ..internal.SimpleCrypter import SimpleCrypter 3 | 4 | 5 | class FilerNetFolder(SimpleCrypter): 6 | __name__ = "FilerNetFolder" 7 | __type__ = "crypter" 8 | __version__ = "0.48" 9 | __status__ = "testing" 10 | 11 | __pattern__ = r'https?://filer\.net/folder/\w{16}' 12 | __config__ = [("activated", "bool", "Activated", True), 13 | ("use_premium", "bool", "Use premium account if available", True), 14 | ("folder_per_package", "Default;Yes;No", 15 | "Create folder for each package", "Default"), 16 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 17 | 18 | __description__ = """Filer.net decrypter plugin""" 19 | __license__ = "GPLv3" 20 | __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"), 21 | ("stickell", "l.stickell@yahoo.it")] 22 | 23 | LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' 24 | 25 | NAME_PATTERN = r'

(?P.+?) - (.*?)' 24 | LINK_PATTERN = r'' 25 | 26 | def decrypt(self, pyfile): 27 | html = self.load(pyfile.url) 28 | 29 | new_links = [] 30 | 31 | folder = re.search(self.FOLDER_PATTERN, html, re.S) 32 | if folder is None: 33 | self.error(_("FOLDER_PATTERN not found")) 34 | 35 | new_links.extend(re.findall(self.LINK_PATTERN, folder.group(1))) 36 | 37 | if new_links: 38 | self.links = [ 39 | map(lambda s: "http://fileserve.com%s" % s, new_links)] 40 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FilesonicComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class FilesonicComFolder(DeadCrypter): 7 | __name__ = "FilesonicComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.18" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?filesonic\.com/folder/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Filesonic.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FilestubeCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class FilestubeCom(SimpleCrypter): 7 | __name__ = "FilestubeCom" 8 | __type__ = "crypter" 9 | __version__ = "0.11" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Filestube.com decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 22 | 23 | LINK_PATTERN = r']* href=\"(http://[^\"]+)' 24 | NAME_PATTERN = r' (?P.+?) download\s*

' 25 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FiletramCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class FiletramCom(SimpleCrypter): 7 | __name__ = "FiletramCom" 8 | __type__ = "crypter" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?filetram\.com/[^/]+/.+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Filetram.com decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("igel", "igelkun@myopera.com"), 22 | ("stickell", "l.stickell@yahoo.it")] 23 | 24 | LINK_PATTERN = r'\s+(http://.+)' 25 | NAME_PATTERN = r'(?P<N>.+?) - Free Download' 26 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FiredriveComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class FiredriveComFolder(DeadCrypter): 7 | __name__ = "FiredriveComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.09" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Firedrive.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FourChanOrg.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Based on 4chandl by Roland Beermann (https://gist.github.com/enkore/3492599) 4 | 5 | import re 6 | import urlparse 7 | 8 | from ..internal.Crypter import Crypter 9 | 10 | 11 | class FourChanOrg(Crypter): 12 | __name__ = "FourChanOrg" 13 | __type__ = "crypter" 14 | __version__ = "0.38" 15 | __status__ = "testing" 16 | 17 | __pattern__ = r'http://(?:www\.)?boards\.4chan\.org/\w+/res/(\d+)' 18 | __config__ = [("activated", "bool", "Activated", True), 19 | ("use_premium", "bool", "Use premium account if available", True), 20 | ("folder_per_package", "Default;Yes;No", "Create folder for each package", "Default")] 21 | 22 | __description__ = """4chan.org folder decrypter plugin""" 23 | __license__ = "GPLv3" 24 | __authors__ = [] 25 | 26 | def decrypt(self, pyfile): 27 | pagehtml = self.load(pyfile.url) 28 | images = set( 29 | re.findall( 30 | r'(images\.4chan\.org/[^/]*/src/[^"<]+)', 31 | pagehtml)) 32 | self.links = [urlparse.urljoin("http://", image) for image in images] 33 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FreetexthostCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.SimpleCrypter import SimpleCrypter 6 | 7 | 8 | class FreetexthostCom(SimpleCrypter): 9 | __name__ = "FreetexthostCom" 10 | __type__ = "crypter" 11 | __version__ = "0.06" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("folder_per_package", "Default;Yes;No", 18 | "Create folder for each package", "Default"), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """Freetexthost.com decrypter plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 24 | 25 | def get_links(self): 26 | m = re.search( 27 | r'<div id="contentsinner">\s*(.+)<div class="viewcount">', 28 | self.data, 29 | re.S) 30 | if m is None: 31 | self.error(_("Unable to extract links")) 32 | links = m.group(1) 33 | return links.strip().split("<br />\r\n") 34 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FshareVnFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class FshareVnFolder(SimpleCrypter): 7 | __name__ = "FshareVnFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?fshare\.vn/folder/.+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Fshare.vn folder decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 22 | 23 | LINK_PATTERN = r'<li class="w_80pc"><a href="(.+?)" target="_blank">' 24 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/FurLy.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class FurLy(SimpleCrypter): 7 | __name__ = "FurLy" 8 | __type__ = "crypter" 9 | __version__ = "0.06" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?fur\.ly/(\d/)?\w+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Fur.ly decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 22 | 23 | URL_REPLACEMENTS = [(r'fur\.ly/', r'fur\.ly/bar/')] 24 | 25 | LINK_PATTERN = r'urls\[\d+\] = "(.+?)"' 26 | OFFLINE_PATTERN = r'var output;\s*var total' 27 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/GooGl.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.misc import json 4 | from ..internal.SimpleCrypter import SimpleCrypter 5 | 6 | 7 | class GooGl(SimpleCrypter): 8 | __name__ = "GooGl" 9 | __type__ = "crypter" 10 | __version__ = "0.08" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'https?://(?:www\.)?goo\.gl/([a-zA-Z]+/)?\w+' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("folder_per_package", "Default;Yes;No", 17 | "Create folder for each package", "Default"), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Goo.gl decrypter plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("stickell", "l.stickell@yahoo.it"), 23 | ("Walter Purcaro", "vuolter@gmail.com")] 24 | 25 | API_URL = "https://www.googleapis.com/urlshortener/v1/url" 26 | 27 | OFFLINE_PATTERN = r'has been disabled|does not exist' 28 | 29 | def get_links(self): 30 | rep = self.load(self.API_URL, get={'shortUrl': self.pyfile.url}) 31 | self.log_debug("JSON data: " + rep) 32 | rep = json.loads(rep) 33 | return [rep['longUrl']] if "longUrl" in rep else None 34 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/HflixIn.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.SimpleCrypter import SimpleCrypter 6 | 7 | 8 | class HflixIn(SimpleCrypter): 9 | __name__ = "HflixIn" 10 | __type__ = "crypter" 11 | __version__ = "0.12" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(www\.)?hflix\.in/\w+' 15 | 16 | __description__ = """Hflix.in decrypter plugin""" 17 | __license__ = "GPLv3" 18 | __authors__ = [("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] 19 | 20 | def decrypt(self, pyfile): 21 | headers = self.load(pyfile.url, just_header=True) 22 | if 'refresh' in headers and headers['refresh']: 23 | m = re.search("\d+;url=(.+)", headers['refresh']) 24 | if m and "http://hflix.in/admin" not in m.group(1): 25 | self.packages.append( 26 | (pyfile.package().name, [ 27 | m.group(1)], pyfile.package().name)) 28 | 29 | else: 30 | self.offline() 31 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/HotfileComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class HotfileComFolder(DeadCrypter): 7 | __name__ = "HotfileComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.36" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?hotfile\.com/list/\w+/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Hotfile.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("RaNaN", "RaNaN@pyload.org")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/ILoadTo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class ILoadTo(DeadCrypter): 7 | __name__ = "ILoadTo" 8 | __type__ = "crypter" 9 | __version__ = "0.16" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+\-[\w\-.]+/' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Iload.to decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("hzpz", None)] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/JDlist.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.Crypter import Crypter 4 | 5 | 6 | class JDlist(Crypter): 7 | __name__ = "JDlist" 8 | __type__ = "crypter" 9 | __version__ = "0.05" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'jdlist://(?P<LIST>[\w\+^_]+==)' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", "Create folder for each package", "Default")] 16 | 17 | __description__ = """JDlist decrypter plugin""" 18 | __license__ = "GPLv3" 19 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 20 | 21 | def decrypt(self, pyfile): 22 | self.links.extend( 23 | self.info['pattern']['LIST'].decode('base64').split(',')) 24 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/LetitbitNetFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class LetitbitNetFolder(DeadCrypter): 7 | __name__ = "LetitbitNet" 8 | __type__ = "crypter" 9 | __version__ = "0.18" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?letitbit\.net/folder/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Letitbit.net folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("DHMH", "webmaster@pcProfil.de"), 18 | ("z00nx", "z00nx0@gmail.com")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/LinkSaveIn.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class LinkSaveIn(SimpleCrypter): 7 | __name__ = "LinkSaveIn" 8 | __type__ = "crypter" 9 | __version__ = "2.11" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?linksave\.in/\w+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """LinkSave.in decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 22 | 23 | COOKIES = [("linksave.in", "Linksave_Language", "english")] 24 | 25 | OFFLINE_PATTERN = r'>(Error )?404 -' 26 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/LofCc.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class LofCc(DeadCrypter): 7 | __name__ = "LofCc" 8 | __type__ = "crypter" 9 | __version__ = "0.26" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?lof\.cc/(.+)' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Lof.cc decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("mkaay", "mkaay@mkaay.de")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/MBLinkInfo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class MBLinkInfo(DeadCrypter): 7 | __name__ = "MBLinkInfo" 8 | __type__ = "crypter" 9 | __version__ = "0.08" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """MBLink.info decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Gummibaer", "Gummibaer@wiki-bierkiste.de"), 18 | ("stickell", "l.stickell@yahoo.it")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/MegaRapidCzFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class MegaRapidCzFolder(SimpleCrypter): 7 | __name__ = "MegaRapidCzFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/slozka/\d+/\w+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Share-Rapid.com folder decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 22 | 23 | LINK_PATTERN = r'<td class="soubor".*?><a href="(.+?)">' 24 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/MegauploadComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class MegauploadComFolder(DeadCrypter): 7 | __name__ = "MegauploadComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.08" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?megaupload\.com/(\?f|xml/folderfiles\.php\?.*&?folderid)=\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Megaupload.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/Movie2KTo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class Movie2KTo(DeadCrypter): 7 | __name__ = "Movie2KTo" 8 | __type__ = "crypter" 9 | __version__ = "0.56" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?movie2k\.to/(.+)\.html' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Movie2k.to decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("4Christopher", "4Christopher@gmx.de")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/MultiuploadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class MultiuploadCom(DeadCrypter): 7 | __name__ = "MultiuploadCom" 8 | __type__ = "crypter" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?multiupload\.(com|nl)/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """MultiUpload.com decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/NetfolderIn.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class NetfolderIn(DeadCrypter): 7 | __name__ = "NetfolderIn" 8 | __type__ = "crypter" 9 | __version__ = "0.78" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?netfolder\.(in|me)/(folder\.php\?folder_id=)?(?P<ID>\w+)(?(1)|/\w+)' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """NetFolder.in decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("RaNaN", "RaNaN@pyload.org"), 18 | ("fragonib", "fragonib[AT]yahoo[DOT]es")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/NitroflareComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.misc import json 4 | from ..internal.SimpleCrypter import SimpleCrypter 5 | 6 | 7 | class NitroflareComFolder(SimpleCrypter): 8 | __name__ = "NitroflareComFolder" 9 | __type__ = "crypter" 10 | __version__ = "0.08" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'https?://(?:www\.)?nitroflare\.com/folder/(?P<USER>\d+)/(?P<ID>[\w=]+)' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("folder_per_package", "Default;Yes;No", 17 | "Create folder for each package", "Default"), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Nitroflare.com folder decrypter plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 23 | 24 | def get_links(self): 25 | html = self.load("http://nitroflare.com/ajax/folder.php", 26 | post={'userId': self.info['pattern']['USER'], 27 | 'folder': self.info['pattern']['ID'], 28 | 'page': 1, 29 | 'perPage': 10000}) 30 | res = json.loads(html) 31 | if res['name']: 32 | self.pyfile.name = res['name'] 33 | else: 34 | self.offline() 35 | 36 | return [link['url'] 37 | for link in res['files']] if 'files' in res else None 38 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/NosvideoCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class NosvideoCom(SimpleCrypter): 7 | __name__ = "NosvideoCom" 8 | __type__ = "crypter" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Nosvideo.com decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("igel", "igelkun@myopera.com")] 22 | 23 | LINK_PATTERN = r'href="(http://(?:w{3}\.)?nosupload\.com/\?d=\w+)"' 24 | NAME_PATTERN = r'<[tT]itle>Watch (?P<N>.+?)<' 25 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/OronComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class OronComFolder(DeadCrypter): 7 | __name__ = "OronComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.17" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?oron\.com/folder/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Oron.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("DHMH", "webmaster@pcProfil.de")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/PastebinCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class PastebinCom(SimpleCrypter): 7 | __name__ = "PastebinCom" 8 | __type__ = "crypter" 9 | __version__ = "0.09" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https://(?:www\.)?pastebin\.com/(.+i=)?(?P<ID>\w{8})' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Pastebin.com decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 22 | 23 | URL_REPLACEMENTS = [ 24 | (__pattern__ + '.*', r'http://www.pastebin.com/\g<ID>')] 25 | 26 | NAME_PATTERN = r'<div class="paste_box_line1" title="(?P<N>.+?)"' 27 | LINK_PATTERN = r'<div class="de\d+">(.+?)<' 28 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/QuickshareCzFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Crypter import Crypter 6 | 7 | 8 | class QuickshareCzFolder(Crypter): 9 | __name__ = "QuickshareCzFolder" 10 | __type__ = "crypter" 11 | __version__ = "0.17" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?quickshare\.cz/slozka-\d+' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("folder_per_package", "Default;Yes;No", "Create folder for each package", "Default")] 18 | 19 | __description__ = """Quickshare.cz folder decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 22 | 23 | FOLDER_PATTERN = r'<textarea.*?>(.*?)</textarea>' 24 | LINK_PATTERN = r'(http://www\.quickshare\.cz/\S+)' 25 | 26 | def decrypt(self, pyfile): 27 | html = self.load(pyfile.url) 28 | 29 | m = re.search(self.FOLDER_PATTERN, html, re.S) 30 | if m is None: 31 | self.error(_("FOLDER_PATTERN not found")) 32 | self.links.extend(re.findall(self.LINK_PATTERN, m.group(1))) 33 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/RSLayerCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class RSLayerCom(DeadCrypter): 7 | __name__ = "RSLayerCom" 8 | __type__ = "crypter" 9 | __version__ = "0.26" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?rs-layer\.com/directory-' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """RS-Layer.com decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("hzpz", None)] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/SecuredIn.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class SecuredIn(DeadCrypter): 7 | __name__ = "SecuredIn" 8 | __type__ = "crypter" 9 | __version__ = "0.26" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+\-\w{8}\.html' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Secured.in decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("mkaay", "mkaay@mkaay.de")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/ShSt.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | import pycurl 5 | 6 | from ..internal.Crypter import Crypter 7 | 8 | 9 | class ShSt(Crypter): 10 | __name__ = "ShSt" 11 | __type__ = "crypter" 12 | __version__ = "0.09" 13 | __status__ = "testing" 14 | 15 | __pattern__ = r'http://sh\.st/\w+' 16 | __config__ = [("activated", "bool", "Activated", True)] 17 | 18 | __description__ = """Sh.St decrypter plugin""" 19 | __license__ = "GPLv3" 20 | __authors__ = [("Frederik Möllers", "fred-public@posteo.de")] 21 | 22 | NAME_PATTERN = r'<title>(?P<N>.+?) -' 23 | 24 | def decrypt(self, pyfile): 25 | #: If we use curl as a user agent, we will get a straight redirect (no waiting!) 26 | self.req.http.c.setopt(pycurl.USERAGENT, "curl/7.42.1") 27 | #: Fetch the target URL 28 | header = self.load(self.pyfile.url, just_header=True, decode=False) 29 | target_url = header.get('location') 30 | self.links.append(target_url) 31 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/SharingmatrixComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class SharingmatrixComFolder(DeadCrypter): 7 | __name__ = "SharingmatrixComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?sharingmatrix\.com/folder/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Sharingmatrix.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/SpeedLoadOrgFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class SpeedLoadOrgFolder(DeadCrypter): 7 | __name__ = "SpeedLoadOrgFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.36" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Speedload decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/StealthTo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class StealthTo(DeadCrypter): 7 | __name__ = "StealthTo" 8 | __type__ = "crypter" 9 | __version__ = "0.25" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?stealth\.to/folder/.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Stealth.to decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("spoob", "spoob@pyload.org")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/TNTVillageScambioeticoOrg.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class TNTVillageScambioeticoOrg(SimpleCrypter): 7 | __name__ = "TNTVillageScambioeticoOrg" 8 | __type__ = "crypter" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?forum\.tntvillage\.scambioetico\.org/index\.php\?.*showtopic=\d+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """TNTVillage.scambioetico.org decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 22 | 23 | LINK_PATTERNS = [ 24 | r'<th class="titlemedium"><a href=\'(.+?)\'', 25 | r"<a href='(\./index\.php\?act.+?)'"] 26 | 27 | def get_links(self): 28 | for p in self.LINK_PATTERNS: 29 | self.LINK_PATTERN = p 30 | links = SimpleCrypter.get_links(self) 31 | if links: 32 | return links 33 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/TinyurlCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class TinyurlCom(SimpleCrypter): 7 | __name__ = "TinyurlCom" 8 | __type__ = "crypter" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?(preview\.)?tinyurl\.com/[\w\-]+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", 16 | "Create folder for each package", "Default"), 17 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 18 | 19 | __description__ = """Tinyurl.com decrypter plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 22 | 23 | URL_REPLACEMENTS = [(r'preview\.', r'')] 24 | 25 | OFFLINE_PATTERN = r">Error: Unable to find site's URL to redirect to" 26 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/TnyCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.SimpleCrypter import SimpleCrypter 6 | 7 | 8 | class TnyCz(SimpleCrypter): 9 | __name__ = "TnyCz" 10 | __type__ = "crypter" 11 | __version__ = "0.09" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("folder_per_package", "Default;Yes;No", 18 | "Create folder for each package", "Default"), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """Tny.cz decrypter plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 24 | 25 | NAME_PATTERN = r'<title>(?P<N>.+?) - .+' 26 | 27 | def get_links(self): 28 | m = re.search( 29 | r'', 30 | self.data) 31 | return re.findall(".+", self.load(m.group(1))) if m else None 32 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/TrailerzoneInfo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class TrailerzoneInfo(DeadCrypter): 7 | __name__ = "TrailerzoneInfo" 8 | __type__ = "crypter" 9 | __version__ = "0.08" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?trailerzone\.info/.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """TrailerZone.info decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("godofdream", "soilfiction@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/UploadedToFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.SimpleCrypter import SimpleCrypter 5 | 6 | 7 | class UploadedToFolder(SimpleCrypter): 8 | __name__ = "UploadedToFolder" 9 | __type__ = "crypter" 10 | __version__ = "0.49" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'https?://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/\w+' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("folder_per_package", "Default;Yes;No", 17 | "Create folder for each package", "Default"), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """UploadedTo decrypter plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 23 | 24 | NAME_PATTERN = r'(?P<N>.+?)<' 25 | OFFLINE_PATTERN = r'>Page not found' 26 | TEMP_OFFLINE_PATTERN = r'<title>uploaded\.net - Maintenance' 27 | 28 | LINK_PATTERN = r'<h2><a href="(.+?)"' 29 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/WiiReloadedOrg.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class WiiReloadedOrg(DeadCrypter): 7 | __name__ = "WiiReloadedOrg" 8 | __type__ = "crypter" 9 | __version__ = "0.16" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Wii-Reloaded.org decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("hzpz", None)] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/WuploadComFolder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadCrypter import DeadCrypter 4 | 5 | 6 | class WuploadComFolder(DeadCrypter): 7 | __name__ = "WuploadComFolder" 8 | __type__ = "crypter" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?wupload\.com/folder/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Wupload.com folder decrypter plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/crypter/XupPl.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.Crypter import Crypter 4 | 5 | 6 | class XupPl(Crypter): 7 | __name__ = "XupPl" 8 | __type__ = "crypter" 9 | __version__ = "0.16" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", "Create folder for each package", "Default")] 16 | 17 | __description__ = """Xup.pl decrypter plugin""" 18 | __license__ = "GPLv3" 19 | __authors__ = [("z00nx", "z00nx0@gmail.com")] 20 | 21 | def decrypt(self, pyfile): 22 | header = self.load(pyfile.url, just_header=True) 23 | if 'location' in header: 24 | self.links = [header.get('location')] 25 | else: 26 | self.fail(_("Unable to find link")) 27 | -------------------------------------------------------------------------------- /pyload/plugins/hooks/LinkFilter.py: -------------------------------------------------------------------------------- 1 | 2 | from ..internal.Addon import Addon 3 | 4 | 5 | class LinkFilter(Addon): 6 | __name__ = "LinkFilter" 7 | __type__ = "hook" 8 | __version__ = "0.14" 9 | __status__ = "testing" 10 | 11 | __config__ = [("activated", "bool", "Activated", False), 12 | ("filter", "str", "Filter links containing (seperate by comma)", "ul.to,share-online.biz")] 13 | 14 | __description__ = "Filters all added links" 15 | __license__ = "GPLv3" 16 | __authors__ = [("segelkma", None)] 17 | 18 | def activate(self): 19 | self.manager.addEvent('linksAdded', self.filter_links) 20 | 21 | def deactivate(self): 22 | self.manager.removeEvent('linksAdded', self.filter_links) 23 | 24 | def filter_links(self, links, pid): 25 | filter_entries = self.config.get('filter').split(',') 26 | 27 | for filter in filter_entries: 28 | if filter == "": 29 | break 30 | 31 | linkcount = len(links) 32 | links[:] = [link for link in links if link.find(filter) == -1] 33 | linkcount -= len(links) 34 | 35 | if linkcount > 0: 36 | linkstring = 'links' if linkcount > 1 else 'link' 37 | self.log_info( 38 | "Removed %s %s containing %s" % 39 | (linkcount, linkstring, filter)) 40 | -------------------------------------------------------------------------------- /pyload/plugins/hooks/LinkdecrypterComHook.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Addon import Addon 6 | 7 | 8 | class LinkdecrypterComHook(Addon): 9 | __name__ = "LinkdecrypterComHook" 10 | __type__ = "hook" 11 | __version__ = "1.11" 12 | __status__ = "broken" 13 | 14 | __config__ = [("activated", "bool", "Activated", False), 15 | ("pluginmode", "all;listed;unlisted", "Use for plugins", "all"), 16 | ("pluginlist", "str", "Plugin list (comma separated)", ""), 17 | ("reload", "bool", "Reload plugin list", True), 18 | ("reloadinterval", "int", "Reload interval in hours", 12)] 19 | 20 | __description__ = """Linkdecrypter.com hook plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 23 | 24 | def get_hosters(self): 25 | list = re.search(r'>Supported\(\d+\)</b>: <i>(.[\w\-., ]+)', 26 | self.load("http://linkdecrypter.com/").replace("(g)", "")).group(1).split(', ') 27 | try: 28 | list.remove("download.serienjunkies.org") 29 | except ValueError: 30 | pass 31 | 32 | return list 33 | -------------------------------------------------------------------------------- /pyload/plugins/hooks/LogMarker.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import datetime 4 | 5 | from ..internal.Addon import Addon 6 | from ..internal.misc import seconds_to_nexthour 7 | 8 | 9 | class LogMarker(Addon): 10 | __name__ = "LogMarker" 11 | __type__ = "hook" 12 | __version__ = "0.08" 13 | __status__ = "testing" 14 | 15 | __config__ = [("activated", "bool", "Activated", False), 16 | ("mark_hour", "bool", "Mark hours", True), 17 | ("mark_day", "bool", "Mark days", True)] 18 | 19 | __description__ = """Print a mark in the log""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 22 | 23 | def activated(self): 24 | self.periodical.start( 25 | 1 * 60 * 60 - 1, 26 | delay=seconds_to_nexthour( 27 | strict=True) - 1) 28 | 29 | def periodical_task(self): 30 | if self.config.get('mark_day') and datetime.datetime.today().hour == 0: 31 | self.log_info("------------------------------------------------") 32 | self.log_info( 33 | _("------------------- DAY MARK -------------------")) 34 | self.log_info("------------------------------------------------") 35 | 36 | elif self.config.get('mark_hour'): 37 | self.log_info("------------------------------------------------") 38 | self.log_info( 39 | _("------------------- HOUR MARK ------------------")) 40 | self.log_info("------------------------------------------------") 41 | -------------------------------------------------------------------------------- /pyload/plugins/hooks/RestartFailed.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.Addon import Addon 4 | 5 | 6 | class RestartFailed(Addon): 7 | __name__ = "RestartFailed" 8 | __type__ = "hook" 9 | __version__ = "1.65" 10 | __status__ = "testing" 11 | 12 | __config__ = [("activated", "bool", "Activated", False), 13 | ("interval", "int", "Check interval in minutes", 90)] 14 | 15 | __description__ = """Restart all the failed downloads in queue""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 18 | 19 | def periodical_task(self): 20 | self.log_info(_("Restarting all failed downloads...")) 21 | self.pyload.api.restartFailed() 22 | 23 | def activate(self): 24 | self.periodical.start(self.config.get('interval') * 60) 25 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/BasePlugin.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .Http import Http 4 | 5 | 6 | class BasePlugin(Http): 7 | __name__ = "BasePlugin" 8 | __type__ = "hoster" 9 | __version__ = "0.52" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'^unmatchable$' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Default hoster plugin when any other didnt fit""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 18 | 19 | def setup(self): 20 | self.chunk_limit = -1 21 | self.resume_download = True 22 | 23 | if not self.pyfile.url.startswith("http"): 24 | self.fail(_("No plugin matched")) 25 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/BayfilesCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class BayfilesCom(DeadHoster): 7 | __name__ = "BayfilesCom" 8 | __type__ = "hoster" 9 | __version__ = "0.14" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P<ID>\w+/\w+/[^/]+)' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Bayfiles.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/BillionuploadsCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class BillionuploadsCom(DeadHoster): 7 | __name__ = "BillionuploadsCom" 8 | __type__ = "hoster" 9 | __version__ = "0.11" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?billionuploads\.com/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Billionuploads.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/BitshareCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class BitshareCom(DeadHoster): 7 | __name__ = "BitshareCom" 8 | __type__ = "hoster" 9 | __version__ = "0.62" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?bitshare\.com/(files/)?(?(1)|\?f=)(?P<ID>\w+)(?(1)/(?P<NAME>.+?)\.html)' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Bitshare.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Paul King", None), 18 | ("fragonib", "fragonib[AT]yahoo[DOT]es")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/BoltsharingCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class BoltsharingCom(DeadHoster): 7 | __name__ = "BoltsharingCom" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?boltsharing\.com/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Boltsharing.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/CloudzerNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class CloudzerNet(DeadHoster): 7 | __name__ = "CloudzerNet" 8 | __type__ = "hoster" 9 | __version__ = "0.11" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?(cloudzer\.net/file/|clz\.to/(file/)?)\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Cloudzer.net hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("gs", "I-_-I-_-I@web.de"), 18 | ("z00nx", "z00nx0@gmail.com"), 19 | ("stickell", "l.stickell@yahoo.it")] 20 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/CramitIn.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class CramitIn(XFSHoster): 7 | __name__ = "CramitIn" 8 | __type__ = "hoster" 9 | __version__ = "0.13" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?cramit\.in/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Cramit.in hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 23 | 24 | PLUGIN_DOMAIN = "cramit.in" 25 | 26 | INFO_PATTERN = r'<span class=t2>\s*(?P<N>.*?)</span>.*?<small>\s*\((?P<S>.*?)\)' 27 | LINK_PATTERN = r'href="(http://cramit\.in/file_download/.*?)"' 28 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/CyberlockerCh.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class CyberlockerCh(DeadHoster): 7 | __name__ = "CyberlockerCh" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?cyberlocker\.ch/\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Cyberlocker.ch hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/DataHu.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test links: 4 | # http://data.hu/get/6381232/random.bin 5 | 6 | 7 | from ..internal.SimpleHoster import SimpleHoster 8 | 9 | 10 | class DataHu(SimpleHoster): 11 | __name__ = "DataHu" 12 | __type__ = "hoster" 13 | __version__ = "0.08" 14 | __status__ = "testing" 15 | 16 | __pattern__ = r'http://(?:www\.)?data\.hu/get/\w+' 17 | __config__ = [("activated", "bool", "Activated", True), 18 | ("use_premium", "bool", "Use premium account if available", True), 19 | ("fallback", "bool", 20 | "Fallback to free download if premium fails", True), 21 | ("chk_filesize", "bool", "Check file size", True), 22 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 23 | 24 | __description__ = """Data.hu hoster plugin""" 25 | __license__ = "GPLv3" 26 | __authors__ = [("crash", None), 27 | ("stickell", "l.stickell@yahoo.it")] 28 | 29 | INFO_PATTERN = ur'<title>(?P<N>.*) \((?P<S>[^)]+)\) let\xf6lt\xe9se' 30 | OFFLINE_PATTERN = ur'Az adott f\xe1jl nem l\xe9tezik' 31 | LINK_FREE_PATTERN = r'
' 32 | 33 | def setup(self): 34 | self.resume_download = True 35 | self.multiDL = self.premium 36 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/DdlstorageCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class DdlstorageCom(DeadHoster): 7 | __name__ = "DdlstorageCom" 8 | __type__ = "hoster" 9 | __version__ = "1.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """DDLStorage.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), 18 | ("stickell", "l.stickell@yahoo.it")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/DevhostSt.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test links: 4 | # http://d-h.st/mM8 5 | 6 | 7 | from ..internal.SimpleHoster import SimpleHoster 8 | 9 | 10 | class DevhostSt(SimpleHoster): 11 | __name__ = "DevhostSt" 12 | __type__ = "hoster" 13 | __version__ = "0.11" 14 | __status__ = "testing" 15 | 16 | __pattern__ = r'http://(?:www\.)?d-h\.st/(?!users/)\w{3}' 17 | __config__ = [("activated", "bool", "Activated", True), 18 | ("use_premium", "bool", "Use premium account if available", True), 19 | ("fallback", "bool", 20 | "Fallback to free download if premium fails", True), 21 | ("chk_filesize", "bool", "Check file size", True), 22 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 23 | 24 | __description__ = """D-h.st hoster plugin""" 25 | __license__ = "GPLv3" 26 | __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] 27 | 28 | NAME_PATTERN = r' \((?P[\d.,]+) (?P[\w^_]+)\)(?P.*?) Sum:  (?P.*?)File Not Found' 33 | LINK_FREE_PATTERN = r'var product_download_url= \'(.+?)\'' 34 | 35 | def setup(self): 36 | self.multiDL = True 37 | self.chunk_limit = 1 38 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/DodanePl.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class DodanePl(DeadHoster): 7 | __name__ = "DodanePl" 8 | __type__ = "hoster" 9 | __version__ = "0.08" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?dodane\.pl/file/\d+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Dodane.pl hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("z00nx", "z00nx0@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/DropboxCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.SimpleHoster import SimpleHoster 5 | 6 | 7 | class DropboxCom(SimpleHoster): 8 | __name__ = "DropboxCom" 9 | __type__ = "hoster" 10 | __version__ = "0.11" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'https?://(?:www\.)?dropbox\.com/.+' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", 17 | "Fallback to free download if premium fails", True), 18 | ("chk_filesize", "bool", "Check file size", True), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """Dropbox.com hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] 24 | 25 | NAME_PATTERN = r'Dropbox - (?P<N>.+?)<' 26 | SIZE_PATTERN = r' ·  (?P<S>[\d.,]+) (?P<U>[\w^_]+)' 27 | 28 | LINK_PATTERN = r'<a href="(?P<url>[^"]+?)" id="default_content_download_button" class="freshbutton-blue">' 29 | 30 | OFFLINE_PATTERN = r'<title>Dropbox - (404|Shared link error)<' 31 | 32 | COOKIES = [("dropbox.com", "lang", "en")] 33 | 34 | def setup(self): 35 | self.multiDL = True 36 | self.chunk_limit = 1 37 | self.resume_download = True 38 | 39 | def handle_free(self, pyfile): 40 | self.download(pyfile.url, get={'dl': "1"}) 41 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/DuploadOrg.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class DuploadOrg(DeadHoster): 7 | __name__ = "DuploadOrg" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?dupload\.org/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Dupload.grg hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/EasybytezCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class EasybytezCom(XFSHoster): 7 | __name__ = "EasybytezCom" 8 | __type__ = "hoster" 9 | __version__ = "0.29" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Easybytez.com hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), 23 | ("stickell", "l.stickell@yahoo.it")] 24 | 25 | PLUGIN_DOMAIN = "easybytez.com" 26 | 27 | OFFLINE_PATTERN = r'>File not available' 28 | 29 | LINK_PATTERN = r'(http://(\w+\.(easybytez|easyload|ezbytez|zingload)\.(com|to)|\d+\.\d+\.\d+\.\d+)/files/\d+/\w+/.+?)["\'<]' 30 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/EgoFilesCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class EgoFilesCom(DeadHoster): 7 | __name__ = "EgoFilesCom" 8 | __type__ = "hoster" 9 | __version__ = "0.21" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?egofiles\.com/\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Egofiles.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/EnteruploadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class EnteruploadCom(DeadHoster): 7 | __name__ = "EnteruploadCom" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?enterupload\.com/\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """EnterUpload.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/EpicShareNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class EpicShareNet(DeadHoster): 7 | __name__ = "EpicShareNet" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?epicshare\.net/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """EpicShare.net hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/ExashareCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.XFSHoster import XFSHoster 5 | 6 | 7 | class ExashareCom(XFSHoster): 8 | __name__ = "ExashareCom" 9 | __type__ = "hoster" 10 | __version__ = "0.08" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'http://(?:www\.)?exashare\.com/\w{12}' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", 17 | "Fallback to free download if premium fails", True), 18 | ("chk_filesize", "bool", "Check file size", True), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """Exashare.com hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 24 | 25 | PLUGIN_DOMAIN = "exashare.com" 26 | 27 | INFO_PATTERN = r'>(?P<NAME>.+?)<small>\( (?P<S>[\d.,]+) (?P<U>[\w^_]+)' 28 | 29 | def setup(self): 30 | self.multiDL = True 31 | self.chunk_limit = 1 32 | self.resume_download = self.premium 33 | 34 | def handle_free(self, pyfile): 35 | return XFSHoster.handle_free(self, pyfile) 36 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FastixRu.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.misc import json 5 | from ..internal.MultiHoster import MultiHoster 6 | 7 | 8 | class FastixRu(MultiHoster): 9 | __name__ = "FastixRu" 10 | __type__ = "hoster" 11 | __version__ = "0.22" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?fastix\.(ru|it)/file/\w{24}' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("fallback", "bool", "Fallback to free download if premium fails", False), 18 | ("chk_filesize", "bool", "Check file size", True), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10), 20 | ("revert_failed", "bool", "Revert to standard download if fails", True)] 21 | 22 | __description__ = """Fastix multi-hoster plugin""" 23 | __license__ = "GPLv3" 24 | __authors__ = [("Massimo Rosamilia", "max@spiritix.eu")] 25 | 26 | def setup(self): 27 | self.chunk_limit = 3 28 | 29 | def handle_premium(self, pyfile): 30 | self.data = self.load("http://fastix.ru/api_v2/", 31 | get={'apikey': self.account.get_data('apikey'), 32 | 'sub': "getdirectlink", 33 | 'link': pyfile.url}) 34 | data = json.loads(self.data) 35 | 36 | self.log_debug("Json data", data) 37 | 38 | if "error\":true" in self.data: 39 | self.offline() 40 | else: 41 | self.link = data['downloadlink'] 42 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FileApeCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class FileApeCom(DeadHoster): 7 | __name__ = "FileApeCom" 8 | __type__ = "hoster" 9 | __version__ = "0.17" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?fileape\.com/(index\.php\?act=download\&id=|dl/)\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """FileApe.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("espes", None)] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FileStoreTo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.SimpleHoster import SimpleHoster 6 | 7 | 8 | class FileStoreTo(SimpleHoster): 9 | __name__ = "FileStoreTo" 10 | __type__ = "hoster" 11 | __version__ = "0.11" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?filestore\.to/\?d=(?P<ID>\w+)' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("fallback", "bool", 18 | "Fallback to free download if premium fails", True), 19 | ("chk_filesize", "bool", "Check file size", True), 20 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 21 | 22 | __description__ = """FileStore.to hoster plugin""" 23 | __license__ = "GPLv3" 24 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com"), 25 | ("stickell", "l.stickell@yahoo.it")] 26 | 27 | INFO_PATTERN = r'File: <span.*?>(?P<N>.+?)<.*>Size: (?P<S>[\d.,]+) (?P<U>[\w^_]+)' 28 | OFFLINE_PATTERN = r'>Download-Datei wurde nicht gefunden<' 29 | TEMP_OFFLINE_PATTERN = r'>Der Download ist nicht bereit !<' 30 | 31 | def setup(self): 32 | self.resume_download = True 33 | self.multiDL = True 34 | 35 | def handle_free(self, pyfile): 36 | self.wait(10) 37 | self.link = self.load("http://filestore.to/ajax/download.php", 38 | get={'D': re.search(r'"D=(\w+)', self.data).group(1)}) 39 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FilebeerInfo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class FilebeerInfo(DeadHoster): 7 | __name__ = "FilebeerInfo" 8 | __type__ = "hoster" 9 | __version__ = "0.08" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?filebeer\.info/(?!\d*~f)(?P<ID>\w+)' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Filebeer.info plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FilejokerNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.XFSHoster import XFSHoster 5 | 6 | 7 | class FilejokerNet(XFSHoster): 8 | __name__ = "FilejokerNet" 9 | __type__ = "hoster" 10 | __version__ = "0.03" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'https?://(?:www\.)?filejoker\.net/\w{12}' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", 17 | "Fallback to free download if premium fails", True), 18 | ("chk_filesize", "bool", "Check file size", True), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """Filejoker.net hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] 24 | 25 | PLUGIN_DOMAIN = "filejoker.net" 26 | 27 | WAIT_PATTERN = r'Please [Ww]ait (?:<span id="count" class="alert-success">)?([\w ]+?)(?:</span> seconds</p>| until the next download)' 28 | RECAPTCHA_PATTERN = r'<div id="recaptcha_image" class="pic"></div>' 29 | ERROR_PATTERN = r'Wrong Captcha' 30 | 31 | INFO_PATTERN = r'<div class="name-size">(?P<N>.+?) <small>\((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)</small></div>' 32 | SIZE_REPLACEMENTS = [('Kb', 'KB'), ('Mb', 'MB'), ('Gb', 'GB')] 33 | 34 | LINK_PATTERN = r'<div class="premium-download">\s+<a href="(.+?)"' 35 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FilejungleCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .FileserveCom import FileserveCom 4 | 5 | 6 | class FilejungleCom(FileserveCom): 7 | __name__ = "FilejungleCom" 8 | __type__ = "hoster" 9 | __version__ = "0.57" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?filejungle\.com/f/(?P<ID>[^/]+)' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Filejungle.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | 19 | URLS = ["http://www.filejungle.com/f/", "http://www.filejungle.com/check_links.php", 20 | "http://www.filejungle.com/checkReCaptcha.php"] 21 | LINKCHECK_TR = r'<li>\s*(<div class="col1">.*?)</li>' 22 | LINKCHECK_TD = r'<div class="(?:col )?col\d">(?:<.*?>| )*([^<]*)' 23 | 24 | LONG_WAIT_PATTERN = r'<h1>Please wait for (\d+) (\w+)\s*to download the next file\.</h1>' 25 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FileomCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test links: 4 | # http://fileom.com/gycaytyzdw3g/random.bin.html 5 | 6 | from ..internal.XFSHoster import XFSHoster 7 | 8 | 9 | class FileomCom(XFSHoster): 10 | __name__ = "FileomCom" 11 | __type__ = "hoster" 12 | __version__ = "0.11" 13 | __status__ = "testing" 14 | 15 | __pattern__ = r'https?://(?:www\.)?fileom\.com/\w{12}' 16 | __config__ = [("activated", "bool", "Activated", True), 17 | ("use_premium", "bool", "Use premium account if available", True), 18 | ("fallback", "bool", 19 | "Fallback to free download if premium fails", True), 20 | ("chk_filesize", "bool", "Check file size", True), 21 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 22 | 23 | __description__ = """Fileom.com hoster plugin""" 24 | __license__ = "GPLv3" 25 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 26 | 27 | PLUGIN_DOMAIN = "fileom.com" 28 | 29 | NAME_PATTERN = r'Filename: <span>(?P<N>.+?)<' 30 | SIZE_PATTERN = r'File Size: <span class="size">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' 31 | 32 | LINK_PATTERN = r'var url2 = \'(.+?)\';' 33 | 34 | def setup(self): 35 | self.multiDL = True 36 | self.chunk_limit = 1 37 | self.resume_download = self.premium 38 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FilerioCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class FilerioCom(XFSHoster): 7 | __name__ = "FilerioCom" 8 | __type__ = "hoster" 9 | __version__ = "0.13" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """FileRio.in hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 23 | 24 | PLUGIN_DOMAIN = "filerio.com" 25 | 26 | URL_REPLACEMENTS = [(r'filekeen\.com', "filerio.in")] 27 | 28 | OFFLINE_PATTERN = r'>"File Not Found|File has been removed' 29 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FileshareInUa.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class FileshareInUa(DeadHoster): 7 | __name__ = "FileshareInUa" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?fileshare\.in\.ua/\w{7}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Fileshare.in.ua hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("fwannmacher", "felipe@warhammerproject.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FilesonicCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class FilesonicCom(DeadHoster): 7 | __name__ = "FilesonicCom" 8 | __type__ = "hoster" 9 | __version__ = "0.41" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?filesonic\.com/file/\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Filesonic.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("jeix", "jeix@hasnomail.de"), 18 | ("paulking", None)] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FileuploadNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.SimpleHoster import SimpleHoster 5 | 6 | 7 | class FileuploadNet(SimpleHoster): 8 | __name__ = "FileuploadNet" 9 | __type__ = "hoster" 10 | __version__ = "0.07" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'https?://(?:www\.)?(en\.)?file-upload\.net/download-\d+/.+' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", 17 | "Fallback to free download if premium fails", True), 18 | ("chk_filesize", "bool", "Check file size", True), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """File-upload.net hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] 24 | 25 | NAME_PATTERN = r'<title>File-Upload.net - (?P<N>.+?)<' 26 | SIZE_PATTERN = r'</label><span>(?P<S>[\d.,]+) (?P<U>[\w^_]+)' 27 | OFFLINE_PATTERN = r'Datei existiert nicht' 28 | 29 | LINK_FREE_PATTERN = r"<a href='(.+?)' title='download' onclick" 30 | 31 | def setup(self): 32 | self.multiDL = True 33 | self.chunk_limit = 1 34 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FilezyNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class FilezyNet(DeadHoster): 7 | __name__ = "FilezyNet" 8 | __type__ = "hoster" 9 | __version__ = "0.25" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?filezy\.net/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Filezy.net hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FiredriveCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class FiredriveCom(DeadHoster): 7 | __name__ = "FiredriveCom" 8 | __type__ = "hoster" 9 | __version__ = "0.11" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/(mobile/)?(file|embed)/(?P<ID>\w+)' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Firedrive.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FreeWayMe.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class FreeWayMe(DeadHoster): 7 | __name__ = "FreeWayMe" 8 | __type__ = "hoster" 9 | __version__ = "0.25" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?free-way\.(bz|me)/.+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """FreeWayMe multi-hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Nicolas Giese", "james@free-way.me")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/FreevideoCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class FreevideoCz(DeadHoster): 7 | __name__ = "FreevideoCz" 8 | __type__ = "hoster" 9 | __version__ = "0.35" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?freevideo\.cz/vase-videa/.+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Freevideo.cz hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/GamefrontCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleHoster import SimpleHoster 4 | 5 | 6 | class GamefrontCom(SimpleHoster): 7 | __name__ = "GamefrontCom" 8 | __type__ = "hoster" 9 | __version__ = "0.13" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?gamefront\.com/files/(?P<ID>\d+)' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Gamefront.com hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 23 | 24 | NAME_PATTERN = r'<title>(?P<N>.+?) \| Game Front' 25 | SIZE_PATTERN = r'>File Size:\s*
(?P[\d.,]+) (?P[\w^_]+)' 26 | OFFLINE_PATTERN = r'

File not found' 27 | 28 | LINK_FREE_PATTERN = r"downloadUrl = '(.+?)'" 29 | 30 | def setup(self): 31 | self.resume_download = True 32 | self.multiDL = True 33 | 34 | def handle_free(self, pyfile): 35 | self.data = self.load("http://www.gamefront.com/files/service/thankyou", 36 | get={'id': self.info['pattern']['ID']}) 37 | return SimpleHoster.handle_free(self, pyfile) 38 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/GooIm.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test links: 4 | # https://goo.im/devs/liquidsmooth/3.x/codina/Nightly/LS-KK-v3.2-2014-08-01-codina.zip 5 | 6 | 7 | from ..internal.SimpleHoster import SimpleHoster 8 | 9 | 10 | class GooIm(SimpleHoster): 11 | __name__ = "GooIm" 12 | __type__ = "hoster" 13 | __version__ = "0.09" 14 | __status__ = "testing" 15 | 16 | __pattern__ = r'https?://(?:www\.)?goo\.im/.+' 17 | __config__ = [("activated", "bool", "Activated", True), 18 | ("use_premium", "bool", "Use premium account if available", True), 19 | ("fallback", "bool", 20 | "Fallback to free download if premium fails", True), 21 | ("chk_filesize", "bool", "Check file size", True), 22 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 23 | 24 | __description__ = """Goo.im hoster plugin""" 25 | __license__ = "GPLv3" 26 | __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] 27 | 28 | NAME_PATTERN = r'You will be redirected to .*(?P[^/ ]+) in' 29 | OFFLINE_PATTERN = r'The file you requested was not found' 30 | 31 | def setup(self): 32 | self.resume_download = True 33 | self.multiDL = True 34 | 35 | def handle_free(self, pyfile): 36 | self.wait(10) 37 | self.link = pyfile.url 38 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/HearthisAt.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Hoster import Hoster 6 | from ..internal.misc import json 7 | 8 | 9 | class HearthisAt(Hoster): 10 | __name__ = "HearthisAt" 11 | __type__ = "hoster" 12 | __version__ = "0.02" 13 | __status__ = "testing" 14 | 15 | __pattern__ = r'https?://(?:www\.)?hearthis\.at/' 16 | __config__ = [("activated", "bool", "Activated", True)] 17 | 18 | __description__ = """Hearthis.at hoster plugin""" 19 | __license__ = "GPLv3" 20 | __authors__ = [("GammaC0de", "nitzo2001{AT]yahoo{DOT]com")] 21 | 22 | def setup(self): 23 | self.multiDL = True 24 | 25 | def process(self, pyfile): 26 | html = self.load(pyfile.url) 27 | 28 | m = re.search(r'intTrackId = (\d+);', html) 29 | if m is None: 30 | self.fail(_("Track ID not found")) 31 | 32 | track_id = m.group(1) 33 | 34 | data = self.load("https://hearthis.at/playlist.php", 35 | post={'tracks[]': track_id}) 36 | json_data = json.loads(data) 37 | 38 | pyfile.name = json_data[0]['title'] + ".mp3" 39 | 40 | self.download(json_data[0]['track_url']) 41 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/HellshareCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.SimpleHoster import SimpleHoster 4 | 5 | 6 | class HellshareCz(SimpleHoster): 7 | __name__ = "HellshareCz" 8 | __type__ = "hoster" 9 | __version__ = "0.91" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?hellshare\.(?:cz|com|sk|hu|pl)/[^?]*/\d+' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Hellshare.cz hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 23 | 24 | CHECK_TRAFFIC = True 25 | LOGIN_ACCOUNT = True 26 | 27 | NAME_PATTERN = r'

]*>(?P[^<]+)

' 28 | SIZE_PATTERN = r'(?P[\d.,]+) (?P[\w^_]+)' 29 | OFFLINE_PATTERN = r'

File not found.

' 30 | 31 | LINK_FREE_PATTERN = LINK_PREMIUM_PATTERN = r'
\((?P[\d.,]+) (?P[\w^_]+)\)' 29 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/HundredEightyUploadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class HundredEightyUploadCom(XFSHoster): 7 | __name__ = "HundredEightyUploadCom" 8 | __type__ = "hoster" 9 | __version__ = "0.11" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?180upload\.com/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """180upload.com hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 23 | 24 | PLUGIN_DOMAIN = "180upload.com" 25 | 26 | OFFLINE_PATTERN = r'>File Not Found' 27 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/IFileWs.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class IFileWs(DeadHoster): 7 | __name__ = "IFileWs" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?ifile\.ws/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Ifile.ws hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("z00nx", "z00nx0@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/IcyFilesCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class IcyFilesCom(DeadHoster): 7 | __name__ = "IcyFilesCom" 8 | __type__ = "hoster" 9 | __version__ = "0.11" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?icyfiles\.com/(.+)' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """IcyFiles.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("godofdream", "soilfiction@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/IfileIt.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class IfileIt(DeadHoster): 7 | __name__ = "IfileIt" 8 | __type__ = "hoster" 9 | __version__ = "0.34" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'^unmatchable$' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Ifile.it hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/JumbofilesCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.SimpleHoster import SimpleHoster 6 | 7 | 8 | class JumbofilesCom(SimpleHoster): 9 | __name__ = "JumbofilesCom" 10 | __type__ = "hoster" 11 | __version__ = "0.08" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?jumbofiles\.com/(?P\w{12})' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("fallback", "bool", 18 | "Fallback to free download if premium fails", True), 19 | ("chk_filesize", "bool", "Check file size", True), 20 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 21 | 22 | __description__ = """JumboFiles.com hoster plugin""" 23 | __license__ = "GPLv3" 24 | __authors__ = [("godofdream", "soilfiction@gmail.com")] 25 | 26 | INFO_PATTERN = r'(?P.+?)\s*\((?P[\d.,]+)\s*(?P[\w^_]+)' 27 | OFFLINE_PATTERN = r'Not Found or Deleted / Disabled due to inactivity or DMCA' 28 | LINK_FREE_PATTERN = r'' 29 | 30 | def setup(self): 31 | self.resume_download = True 32 | self.multiDL = True 33 | 34 | def handle_free(self, pyfile): 35 | post_data = { 36 | 'id': self.info['pattern']['ID'], 37 | 'op': "download3", 38 | 'rand': ""} 39 | html = self.load(self.pyfile.url, post=post_data) 40 | self.link = re.search(self.LINK_FREE_PATTERN, html).group(1) 41 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/JunocloudMe.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class JunocloudMe(XFSHoster): 7 | __name__ = "JunocloudMe" 8 | __type__ = "hoster" 9 | __version__ = "0.11" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:\w+\.)?junocloud\.me/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Junocloud.me hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("guidobelix", "guidobelix@hotmail.it")] 23 | 24 | PLUGIN_DOMAIN = "junocloud.me" 25 | 26 | URL_REPLACEMENTS = [(r'//(www\.)?junocloud', "//dl3.junocloud")] 27 | 28 | OFFLINE_PATTERN = r'>No such file with this filename<' 29 | TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' 30 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/KickloadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class KickloadCom(DeadHoster): 7 | __name__ = "KickloadCom" 8 | __type__ = "hoster" 9 | __version__ = "0.26" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?kickload\.com/get/.+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Kickload.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("mkaay", "mkaay@mkaay.de")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/LemUploadsCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class LemUploadsCom(DeadHoster): 7 | __name__ = "LemUploadsCom" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?lemuploads\.com/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """LemUploads.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/LetitbitNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class LetitbitNet(DeadHoster): 7 | __name__ = "LetitbitNet" 8 | __type__ = "hoster" 9 | __version__ = "0.39" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?(letitbit|shareflare)\.net/download/.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Letitbit.net hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), 18 | ("z00nx", "z00nx0@gmail.com")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/LomafileCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class LomafileCom(DeadHoster): 7 | __name__ = "LomafileCom" 8 | __type__ = "hoster" 9 | __version__ = "0.57" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://lomafile\.com/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Lomafile.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"), 18 | ("guidobelix", "guidobelix@hotmail.it")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/MegaFilesSe.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class MegaFilesSe(DeadHoster): 7 | __name__ = "MegaFilesSe" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?megafiles\.se/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """MegaFiles.se hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/MegareleaseOrg.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class MegareleaseOrg(DeadHoster): 7 | __name__ = "MegareleaseOrg" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?megarelease\.org/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Megarelease.org hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("derek3x", "derek3x@vmail.me"), 18 | ("stickell", "l.stickell@yahoo.it")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/MegauploadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class MegauploadCom(DeadHoster): 7 | __name__ = "MegauploadCom" 8 | __type__ = "hoster" 9 | __version__ = "0.36" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?megaupload\.com/\?.*&?(d|v)=\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Megaupload.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("spoob", "spoob@pyload.org")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/MegavideoCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class MegavideoCom(DeadHoster): 7 | __name__ = "MegavideoCom" 8 | __type__ = "hoster" 9 | __version__ = "0.26" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?megavideo\.com/\?.*&?(d|v)=\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Megavideo.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("jeix", "jeix@hasnomail.de"), 18 | ("mkaay", "mkaay@mkaay.de")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/MovReelCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class MovReelCom(XFSHoster): 7 | __name__ = "MovReelCom" 8 | __type__ = "hoster" 9 | __version__ = "1.31" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?movreel\.com/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """MovReel.com hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("JorisV83", "jorisv83-pyload@yahoo.com")] 23 | 24 | PLUGIN_DOMAIN = "movreel.com" 25 | 26 | LINK_PATTERN = r'Download Link' 27 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/MultihostersCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .ZeveraCom import ZeveraCom 4 | 5 | 6 | class MultihostersCom(ZeveraCom): 7 | __name__ = "MultihostersCom" 8 | __type__ = "hoster" 9 | __version__ = "0.08" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)multihosters\.com/(getFiles\.ashx|Members/download\.ashx)\?.*ourl=.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Multihosters.com multi-hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("tjeh", "tjeh@gmx.net")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/MystoreTo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test link: 4 | # http://mystore.to/dl/mxcA50jKfP 5 | 6 | import re 7 | 8 | from ..internal.SimpleHoster import SimpleHoster 9 | 10 | 11 | class MystoreTo(SimpleHoster): 12 | __name__ = "MystoreTo" 13 | __type__ = "hoster" 14 | __version__ = "0.08" 15 | __status__ = "testing" 16 | 17 | __pattern__ = r'https?://(?:www\.)?mystore\.to/dl/.+' 18 | __config__ = [("activated", "bool", "Activated", True), 19 | ("use_premium", "bool", "Use premium account if available", True), 20 | ("fallback", "bool", 21 | "Fallback to free download if premium fails", True), 22 | ("chk_filesize", "bool", "Check file size", True), 23 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 24 | 25 | __description__ = """Mystore.to hoster plugin""" 26 | __license__ = "GPLv3" 27 | __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] 28 | 29 | NAME_PATTERN = r'

(?P.+?)<' 30 | SIZE_PATTERN = r'FILESIZE: (?P[\d\.,]+) (?P[\w^_]+)' 31 | OFFLINE_PATTERN = r'>file not found<' 32 | 33 | def setup(self): 34 | self.chunk_limit = 1 35 | self.resume_download = True 36 | self.multiDL = True 37 | 38 | def handle_free(self, pyfile): 39 | try: 40 | fid = re.search(r'wert="(.+?)"', self.data).group(1) 41 | 42 | except AttributeError: 43 | self.error(_("File-ID not found")) 44 | 45 | self.link = self.load("http://mystore.to/api/download", 46 | post={'FID': fid}) 47 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/NahrajCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class NahrajCz(DeadHoster): 7 | __name__ = "NahrajCz" 8 | __type__ = "hoster" 9 | __version__ = "0.26" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?nahraj\.cz/content/download/.+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Nahraj.cz hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/NetloadIn.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class NetloadIn(DeadHoster): 7 | __name__ = "NetloadIn" 8 | __type__ = "hoster" 9 | __version__ = "0.55" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?netload\.(in|me)/(?Pdatei|index\.php\?id=10&file_id=)(?P\w+)' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Netload.in hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("spoob", "spoob@pyload.org"), 18 | ("RaNaN", "ranan@pyload.org"), 19 | ("Gregy", "gregy@gregy.cz")] 20 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/NovafileCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test links: 4 | # http://novafile.com/vfun4z6o2cit 5 | # http://novafile.com/s6zrr5wemuz4 6 | 7 | from ..internal.XFSHoster import XFSHoster 8 | 9 | 10 | class NovafileCom(XFSHoster): 11 | __name__ = "NovafileCom" 12 | __type__ = "hoster" 13 | __version__ = "0.11" 14 | __status__ = "testing" 15 | 16 | __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}' 17 | __config__ = [("activated", "bool", "Activated", True), 18 | ("use_premium", "bool", "Use premium account if available", True), 19 | ("fallback", "bool", 20 | "Fallback to free download if premium fails", True), 21 | ("chk_filesize", "bool", "Check file size", True), 22 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 23 | 24 | __description__ = """Novafile.com hoster plugin""" 25 | __license__ = "GPLv3" 26 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), 27 | ("stickell", "l.stickell@yahoo.it")] 28 | 29 | PLUGIN_DOMAIN = "novafile.com" 30 | 31 | ERROR_PATTERN = r'class="alert.+?alert-separate".*?>\s*(?:

)?(.*?)\s*Please wait (\d+) seconds

' 33 | 34 | LINK_PATTERN = r'
Download File' 35 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/OnlineTvRecorder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from module.network.HTTPRequest import BadHeader 5 | 6 | from .Http import Http 7 | 8 | 9 | # Support onlinetvrecorder.com 10 | 11 | 12 | class OnlineTvRecorder(Http): 13 | __name__ = "OnlineTvRecorder" 14 | __type__ = "hoster" 15 | __version__ = "0.03" 16 | __status__ = "testing" 17 | 18 | # RIPE Database: 19 | # inetnum: 81.95.11.0 - 81.95.11.63 20 | # route: 81.95.8.0/21 21 | # additional: 93.115.84.162 22 | __pattern__ = r'http://(81\.95\.11\.\d{1,2}|93\.115\.84\.162)/download/\d+/\d+/\d*/[0-9a-f]+/.+' 23 | __config__ = [("activated", "bool", "Activated", True)] 24 | __description__ = """OnlineTvRecorder hoster plugin""" 25 | __license__ = "GPLv3" 26 | __authors__ = [("Tim Gregory", "bogeyman@valar.de")] 27 | 28 | def setup(self): 29 | # OnlineTvRecorder policy 30 | self.multiDL = False 31 | self.chunk_limit = 1 32 | self.resume_download = True 33 | 34 | def process(self, pyfile): 35 | try: 36 | return Http.process(self, pyfile) 37 | 38 | except BadHeader, e: 39 | self.log_debug("OnlineTvRecorder httpcode: %d" % e.code) 40 | if e.code == 503: 41 | # max queueing for 3 hours 42 | self.retry(360, 30, _("Waiting in download queue")) 43 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/OronCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class OronCom(DeadHoster): 7 | __name__ = "OronCom" 8 | __type__ = "hoster" 9 | __version__ = "0.19" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?oron\.com/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Oron.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("chrox", "chrox@pyload.org"), 18 | ("DHMH", "DHMH@pyload.org")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/PandaplaNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class PandaplaNet(DeadHoster): 7 | __name__ = "PandaplaNet" 8 | __type__ = "hoster" 9 | __version__ = "0.08" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?pandapla\.net/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Pandapla.net hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/PornhubCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | import re 5 | import urlparse 6 | 7 | from ..internal.Hoster import Hoster 8 | 9 | 10 | class PornhubCom(Hoster): 11 | __name__ = "PornhubCom" 12 | __type__ = "hoster" 13 | __version__ = "0.57" 14 | __status__ = "testing" 15 | 16 | __pattern__ = r'http://(?:www\.)?pornhub\.com/view_video\.php\?viewkey=\w+' 17 | __config__ = [("activated", "bool", "Activated", True)] 18 | 19 | __description__ = """Pornhub.com hoster plugin""" 20 | __license__ = "GPLv3" 21 | __authors__ = [("jeix", "jeix@hasnomail.de")] 22 | 23 | NAME_PATTERN = r'"video_title":"(.+?)"' 24 | 25 | def process(self, pyfile): 26 | html = self.load(pyfile.url) 27 | 28 | m = re.findall(r'var player_quality_(\d+)\w+? = \'(.+?)\'', html) 29 | if m is None: 30 | self.error(_("video quality pattern not found")) 31 | 32 | urls = dict(m) 33 | 34 | quality = str(max(int(q) for q in urls.keys())) 35 | 36 | m = re.search(self.NAME_PATTERN, html) 37 | if m is None: 38 | self.error("name pattern not found") 39 | 40 | link = urls[quality] 41 | 42 | ext = os.path.splitext(urlparse.urlparse(link).path)[1] 43 | pyfile.name = m.group(1) + ext 44 | 45 | self.download(link) 46 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/PornovkaCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.Hoster import Hoster 6 | 7 | 8 | class PornovkaCz(Hoster): 9 | __name__ = "PornovkaCz" 10 | __type__ = "hoster" 11 | __version__ = "0.02" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'https?://(?:www\.)?pornovka\.cz/(.+)' 15 | __config__ = [("activated", "bool", "Activated", True)] 16 | 17 | __description__ = """Pornovka.cz hoster plugin""" 18 | __license__ = "GPLv3" 19 | __authors__ = [("ondrej", "git@ondrej.it")] 20 | 21 | NAME_PATTERN = r'

([^<]+)' 22 | 23 | def setup(self): 24 | self.resume_download = True 25 | self.multiDL = True 26 | 27 | def process(self, pyfile): 28 | pornovka_resp = self.load(pyfile.url) 29 | data_url = re.findall(r'data-url="([^"]+)', pornovka_resp) 30 | if not data_url: 31 | self.error(_("Data url not found")) 32 | 33 | data_resp = self.load(data_url[0]) 34 | video_url = re.findall(r"""src=.([^'"]+).>""", data_resp) 35 | if not video_url: 36 | self.error(_("Video url not found")) 37 | 38 | # ascii codec can't encode character... 39 | self.pyfile.name = re.search(self.NAME_PATTERN, pornovka_resp).group(1) 40 | self.pyfile.name += "." + video_url[0].split(".")[-1] 41 | 42 | self.log_info(_("Downloading file...")) 43 | self.download(video_url[0]) 44 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/PotloadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class PotloadCom(DeadHoster): 7 | __name__ = "PotloadCom" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?potload\.com/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Potload.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/PrzeklejPl.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class PrzeklejPl(DeadHoster): 7 | __name__ = "PrzeklejPl" 8 | __type__ = "hoster" 9 | __version__ = "0.16" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?przeklej\.pl/plik/.+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Przeklej.pl hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/PutdriveCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .ZeveraCom import ZeveraCom 4 | 5 | 6 | class PutdriveCom(ZeveraCom): 7 | __name__ = "PutdriveCom" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)putdrive\.com/(getFiles\.ashx|Members/download\.ashx)\?.*ourl=.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Multihosters.com multi-hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/RapidfileshareNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class RapidfileshareNet(XFSHoster): 7 | __name__ = "RapidfileshareNet" 8 | __type__ = "hoster" 9 | __version__ = "0.09" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Rapidfileshare.net hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("guidobelix", "guidobelix@hotmail.it")] 23 | 24 | PLUGIN_DOMAIN = "rapidfileshare.net" 25 | 26 | NAME_PATTERN = r'' 27 | SIZE_PATTERN = r'>http://www.rapidfileshare.net/\w+? \((?P[\d.,]+) (?P[\w^_]+)\)' 28 | 29 | OFFLINE_PATTERN = r'>No such file with this filename' 30 | TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' 31 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/RarefileNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.XFSHoster import XFSHoster 5 | 6 | 7 | class RarefileNet(XFSHoster): 8 | __name__ = "RarefileNet" 9 | __type__ = "hoster" 10 | __version__ = "0.15" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'http://(?:www\.)?rarefile\.net/\w{12}' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", 17 | "Fallback to free download if premium fails", True), 18 | ("chk_filesize", "bool", "Check file size", True), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """Rarefile.net hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 24 | 25 | PLUGIN_DOMAIN = "rarefile.net" 26 | 27 | LINK_PATTERN = r'\1' 28 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/RedtubeCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import os 4 | import re 5 | import urlparse 6 | 7 | from ..internal.Hoster import Hoster 8 | from ..internal.misc import json 9 | 10 | 11 | class RedtubeCom(Hoster): 12 | __name__ = "RedtubeCom" 13 | __type__ = "hoster" 14 | __version__ = "0.27" 15 | __status__ = "testing" 16 | 17 | __pattern__ = r'http://(?:www\.)?redtube\.com/\d+' 18 | __config__ = [("activated", "bool", "Activated", True)] 19 | 20 | __description__ = """Redtube.com hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("jeix", "jeix@hasnomail.de")] 23 | 24 | NAME_PATTERN = r'videoTitle: "(?P.+?)",' 25 | 26 | def process(self, pyfile): 27 | html = self.load(pyfile.url) 28 | 29 | m = re.search(r'sources: ({.+?}),', html) 30 | if m is None: 31 | self.error(_("sources pattern not found")) 32 | 33 | sources = json.loads(m.group(1)) 34 | quality = str(max(int(q) for q in sources.keys())) 35 | 36 | link = sources[quality] 37 | 38 | m = re.search(self.NAME_PATTERN, html) 39 | if m is None: 40 | self.error(_("name pattern not found")) 41 | 42 | ext = os.path.splitext(urlparse.urlparse(link).path)[1] 43 | pyfile.name = m.group(1) + ext 44 | 45 | self.download(link) 46 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/RehostTo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.MultiHoster import MultiHoster 5 | 6 | 7 | class RehostTo(MultiHoster): 8 | __name__ = "RehostTo" 9 | __type__ = "hoster" 10 | __version__ = "0.29" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'https?://.*rehost\.to\..+' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", "Fallback to free download if premium fails", False), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10), 19 | ("revert_failed", "bool", "Revert to standard download if fails", True)] 20 | 21 | __description__ = """Rehost.com multi-hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("RaNaN", "RaNaN@pyload.org")] 24 | 25 | def handle_premium(self, pyfile): 26 | self.download("http://rehost.to/process_download.php", 27 | get={'user': "cookie", 28 | 'pass': self.account.get_data('session'), 29 | 'dl': pyfile.url}, 30 | disposition=True) 31 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/RgHostNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.SimpleHoster import SimpleHoster 5 | 6 | 7 | class RgHostNet(SimpleHoster): 8 | __name__ = "RgHostNet" 9 | __type__ = "hoster" 10 | __version__ = "0.09" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'http://(?:www\.)?rghost\.(net|ru)/[\d\-]+' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", 17 | "Fallback to free download if premium fails", True), 18 | ("chk_filesize", "bool", "Check file size", True), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """RgHost.net hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("z00nx", "z00nx0@gmail.com")] 24 | 25 | INFO_PATTERN = r'data-share42-text="(?P.+?) \((?P[\d.,]+) (?P[\w^_]+)' 26 | HASHSUM_PATTERN = r'
(?P\w+)
\s*
(?P\w+)' 27 | OFFLINE_PATTERN = r'>(File is deleted|page not found)' 28 | 29 | LINK_FREE_PATTERN = r')(.+?)(?:

)' 27 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/SecureUploadEu.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class SecureUploadEu(XFSHoster): 7 | __name__ = "SecureUploadEu" 8 | __type__ = "hoster" 9 | __version__ = "0.11" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?secureupload\.eu/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """SecureUpload.eu hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("z00nx", "z00nx0@gmail.com")] 23 | 24 | PLUGIN_DOMAIN = "secureupload.eu" 25 | 26 | INFO_PATTERN = r'

Downloading (?P.+?) \((?P.+?)\)

' 27 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/Share4WebCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .UnibytesCom import UnibytesCom 4 | 5 | 6 | class Share4WebCom(UnibytesCom): 7 | __name__ = "Share4WebCom" 8 | __type__ = "hoster" 9 | __version__ = "0.17" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?share4web\.com/get/\w+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Share4web.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | 19 | PLUGIN_DOMAIN = "share4web.com" 20 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/Share76Com.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class Share76Com(DeadHoster): 7 | __name__ = "Share76Com" 8 | __type__ = "hoster" 9 | __version__ = "0.09" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?share76\.com/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Share76.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/ShareFilesCo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class ShareFilesCo(DeadHoster): 7 | __name__ = "ShareFilesCo" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?sharefiles\.co/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Sharefiles.co hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/SharebeesCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class SharebeesCom(DeadHoster): 7 | __name__ = "SharebeesCom" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?sharebees\.com/\w{12}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """ShareBees hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/SharingmatrixCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class SharingmatrixCom(DeadHoster): 7 | __name__ = "SharingmatrixCom" 8 | __type__ = "hoster" 9 | __version__ = "0.06" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?sharingmatrix\.com/file/\w+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Sharingmatrix.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("jeix", "jeix@hasnomail.de"), 18 | ("paulking", None)] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/ShragleCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class ShragleCom(DeadHoster): 7 | __name__ = "ShragleCom" 8 | __type__ = "hoster" 9 | __version__ = "0.27" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?(cloudnator|shragle)\.com/files/(?P.+?)/' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Cloudnator.com (Shragle.com) hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("RaNaN", "RaNaN@pyload.org"), 18 | ("zoidberg", "zoidberg@mujmail.cz")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/SizedriveCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.SimpleHoster import SimpleHoster 6 | 7 | 8 | class SizedriveCom(SimpleHoster): 9 | __name__ = "SizedriveCom" 10 | __type__ = "hoster" 11 | __version__ = "0.07" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'http://(?:www\.)?sizedrive\.com/[rd]/(?P\w+)' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("fallback", "bool", 18 | "Fallback to free download if premium fails", True), 19 | ("chk_filesize", "bool", "Check file size", True), 20 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 21 | 22 | __description__ = """Sizedrive.com hoster plugin""" 23 | __license__ = "GPLv3" 24 | __authors__ = [("GammaC0de", None)] 25 | 26 | NAME_PATTERN = r'>Nome: (?P.+?)<' 27 | SIZE_PATTERN = r'>Tamanho:(?P[\d.,]+) (?P[\w^_]+)' 28 | OFFLINE_PATTERN = r'ARQUIVO DELATADO POR' 29 | 30 | def setup(self): 31 | self.resume_download = False 32 | self.multiDL = False 33 | self.chunk_limit = 1 34 | 35 | def handle_free(self, pyfile): 36 | self.wait(5) 37 | self.data = self.load("http://www.sizedrive.com/getdownload.php", 38 | post={'id': self.info['pattern']['ID']}) 39 | 40 | m = re.search(r'
\w+)' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Sockshare.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("jeix", "jeix@hasnomail.de"), 18 | ("stickell", "l.stickell@yahoo.it"), 19 | ("Walter Purcaro", "vuolter@gmail.com")] 20 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/SpeedLoadOrg.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class SpeedLoadOrg(DeadHoster): 7 | __name__ = "SpeedLoadOrg" 8 | __type__ = "hoster" 9 | __version__ = "1.07" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?speedload\.org/(?P\w+)' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Speedload.org hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/SpeedfileCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class SpeedfileCz(DeadHoster): 7 | __name__ = "SpeedFileCz" 8 | __type__ = "hoster" 9 | __version__ = "0.37" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?speedfile\.cz/.+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Speedfile.cz hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/SpeedyshareCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test links: 4 | # http://speedy.sh/ep2qY/Zapp-Brannigan.jpg 5 | 6 | import re 7 | 8 | from ..internal.SimpleHoster import SimpleHoster 9 | 10 | 11 | class SpeedyshareCom(SimpleHoster): 12 | __name__ = "SpeedyshareCom" 13 | __type__ = "hoster" 14 | __version__ = "0.11" 15 | __status__ = "testing" 16 | 17 | __pattern__ = r'https?://(?:www\.)?(speedyshare\.com|speedy\.sh)/\w+' 18 | __config__ = [("activated", "bool", "Activated", True), 19 | ("use_premium", "bool", "Use premium account if available", True), 20 | ("fallback", "bool", 21 | "Fallback to free download if premium fails", True), 22 | ("chk_filesize", "bool", "Check file size", True), 23 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 24 | 25 | __description__ = """Speedyshare.com hoster plugin""" 26 | __license__ = "GPLv3" 27 | __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] 28 | 29 | NAME_PATTERN = r'class=downloadfilename>(?P.*)' 30 | SIZE_PATTERN = r'class=sizetagtext>(?P.*) (?P[kKmM]?[iI]?[bB]?)
' 31 | 32 | OFFLINE_PATTERN = r'class=downloadfilenamenotfound>.*' 33 | 34 | LINK_FREE_PATTERN = r'\'Slow.+) - (?P[\d.,]+) (?P[\w^_]+)\[' 31 | 32 | def setup(self): 33 | self.chunk_limit = -1 34 | self.multiDL = True 35 | self.limitDL = 2 36 | self.resume_download = True 37 | 38 | def download(self, url, *args, **kwargs): 39 | try: 40 | return XFSHoster.download(self, url, *args, **kwargs) 41 | 42 | except BadHeader, e: 43 | if e.code == 503: 44 | self.multiDL = False 45 | raise Retry("503") 46 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/TwoSharedCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.SimpleHoster import SimpleHoster 5 | 6 | 7 | class TwoSharedCom(SimpleHoster): 8 | __name__ = "TwoSharedCom" 9 | __type__ = "hoster" 10 | __version__ = "0.19" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'http://(?:www\.)?2shared\.com/(account/)?(download|get|file|document|photo|video|audio)/.+' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", 17 | "Fallback to free download if premium fails", True), 18 | ("chk_filesize", "bool", "Check file size", True), 19 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 20 | 21 | __description__ = """2Shared.com hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 24 | 25 | NAME_PATTERN = r'

(?P.*)

' 26 | SIZE_PATTERN = r'File size:\s*(?P[\d.,]+) (?P[\w^_]+)' 27 | OFFLINE_PATTERN = r'The file link that you requested is not valid\.|This file was deleted\.' 28 | 29 | LINK_FREE_PATTERN = r'window.location =\'(.+?)\';' 30 | 31 | def setup(self): 32 | self.resume_download = True 33 | self.multiDL = True 34 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/UnrestrictLi.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class UnrestrictLi(DeadHoster): 7 | __name__ = "UnrestrictLi" 8 | __type__ = "hoster" 9 | __version__ = "0.28" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:www\.)?(unrestrict|unr)\.li/dl/[\w^_]+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Unrestrict.li multi-hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/UploadStationCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class UploadStationCom(DeadHoster): 7 | __name__ = "UploadStationCom" 8 | __type__ = "hoster" 9 | __version__ = "0.57" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?uploadstation\.com/file/(?P\w+)' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """UploadStation.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), 18 | ("zoidberg", "zoidberg@mujmail.cz")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/UploadboxCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class UploadboxCom(DeadHoster): 7 | __name__ = "Uploadbox" 8 | __type__ = "hoster" 9 | __version__ = "0.11" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?uploadbox\.com/files/.+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """UploadBox.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/UploadhereCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class UploadhereCom(DeadHoster): 7 | __name__ = "UploadhereCom" 8 | __type__ = "hoster" 9 | __version__ = "0.17" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?uploadhere\.com/\w{10}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Uploadhere.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/UploadingCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class UploadingCom(DeadHoster): 7 | __name__ = "UploadingCom" 8 | __type__ = "hoster" 9 | __version__ = "0.51" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'http://(?:www\.)?uploading\.com/files/(?:get/)?(?P\w+)' 13 | 14 | __description__ = """Uploading.com hoster plugin""" 15 | __license__ = "GPLv3" 16 | __authors__ = [("jeix", "jeix@hasnomail.de"), 17 | ("mkaay", "mkaay@mkaay.de"), 18 | ("zoidberg", "zoidberg@mujmail.cz")] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/UploadkingCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class UploadkingCom(DeadHoster): 7 | __name__ = "UploadkingCom" 8 | __type__ = "hoster" 9 | __version__ = "0.19" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?uploadking\.com/\w{10}' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """UploadKing.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/UptoboxCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.XFSHoster import XFSHoster 4 | 5 | 6 | class UptoboxCom(XFSHoster): 7 | __name__ = "UptoboxCom" 8 | __type__ = "hoster" 9 | __version__ = "0.31" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?(uptobox|uptostream)\.com/\w{12}' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("fallback", "bool", 16 | "Fallback to free download if premium fails", True), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 19 | 20 | __description__ = """Uptobox.com hoster plugin""" 21 | __license__ = "GPLv3" 22 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 23 | 24 | PLUGIN_DOMAIN = "uptobox.com" 25 | 26 | INFO_PATTERN = r'"para_title">(?P.+) \((?P[\d.,]+) (?P[\w^_]+)\)' 27 | OFFLINE_PATTERN = r'>(File not found|Access Denied|404 Not Found)' 28 | TEMP_OFFLINE_PATTERN = r'>Service Unavailable' 29 | 30 | LINK_PATTERN = r'"(https?://(?:obwp\d+\.uptobox\.com|\w+\.uptobox\.com/d)/.*?)"' 31 | 32 | DL_LIMIT_PATTERN = r'>or you can wait (.+) to launch a new download<' 33 | 34 | def setup(self): 35 | self.multiDL = True 36 | self.chunk_limit = 1 37 | self.resume_download = True 38 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/UserscloudCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | 5 | from ..internal.SimpleHoster import SimpleHoster 6 | 7 | 8 | class UserscloudCom(SimpleHoster): 9 | __name__ = "UserscloudCom" 10 | __type__ = "hoster" 11 | __version__ = "0.06" 12 | __status__ = "testing" 13 | 14 | __pattern__ = r'https?://(?:www\.)?userscloud\.com/\w{12}' 15 | __config__ = [("activated", "bool", "Activated", True), 16 | ("use_premium", "bool", "Use premium account if available", True), 17 | ("fallback", "bool", 18 | "Fallback to free download if premium fails", True), 19 | ("chk_filesize", "bool", "Check file size", True), 20 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 21 | 22 | __description__ = """Userscloud.com hoster plugin""" 23 | __license__ = "GPLv3" 24 | __authors__ = [("GammaC0de", None)] 25 | 26 | NAME_PATTERN = r'

(?P.+?)

' 27 | SIZE_PATTERN = r'Download \((?P[\d.,]+) (?P[\w^_]+)\)' 28 | OFFLINE_PATTERN = r'The file you are trying to download is no longer available' 29 | 30 | def setup(self): 31 | self.multiDL = True 32 | self.resume_download = False 33 | self.chunk_limit = 1 34 | 35 | def handle_free(self, pyfile): 36 | self.download(pyfile.url, 37 | post=dict(re.findall(r'', self.data))) 38 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/VidPlayNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test links: 4 | # BigBuckBunny_320x180.mp4 - 61.7 Mb - http://vidplay.net/38lkev0h3jv0 5 | 6 | from ..internal.XFSHoster import XFSHoster 7 | 8 | 9 | class VidPlayNet(XFSHoster): 10 | __name__ = "VidPlayNet" 11 | __type__ = "hoster" 12 | __version__ = "0.11" 13 | __status__ = "testing" 14 | 15 | __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}' 16 | __config__ = [("activated", "bool", "Activated", True), 17 | ("use_premium", "bool", "Use premium account if available", True), 18 | ("fallback", "bool", 19 | "Fallback to free download if premium fails", True), 20 | ("chk_filesize", "bool", "Check file size", True), 21 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 22 | 23 | __description__ = """VidPlay.net hoster plugin""" 24 | __license__ = "GPLv3" 25 | __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] 26 | 27 | PLUGIN_DOMAIN = "vidplay.net" 28 | 29 | NAME_PATTERN = r'Password:
\s*(?P.+?)' 30 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/Vipleech4UCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class Vipleech4UCom(DeadHoster): 7 | __name__ = "Vipleech4UCom" 8 | __type__ = "hoster" 9 | __version__ = "0.25" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?vipleech4u\.com/manager\.php' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Vipleech4u.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Kagenoshin", "kagenoshin@gmx.ch")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/VkCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # 3 | # Test links: 4 | # http://vk.com/video_ext.php?oid=166335015&id=162608895&hash=b55affa83774504b&hd=1 5 | 6 | import re 7 | 8 | from ..internal.SimpleHoster import SimpleHoster 9 | 10 | 11 | class VkCom(SimpleHoster): 12 | __name__ = "VkCom" 13 | __type__ = "hoster" 14 | __version__ = "0.06" 15 | __status__ = "testing" 16 | 17 | __pattern__ = r'https?://(?:www\.)?vk\.com/video_ext\.php/\?.+' 18 | __config__ = [("activated", "bool", "Activated", True), 19 | ("use_premium", "bool", "Use premium account if available", True), 20 | ("fallback", "bool", 21 | "Fallback to free download if premium fails", True), 22 | ("chk_filesize", "bool", "Check file size", True), 23 | ("max_wait", "int", "Reconnect if waiting time is greater than minutes", 10)] 24 | 25 | __description__ = """Vk.com hoster plugin""" 26 | __license__ = "GPLv3" 27 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 28 | 29 | NAME_PATTERN = r'"md_title":"(?P.+?)"' 30 | OFFLINE_PATTERN = r'
' 31 | 32 | LINK_FREE_PATTERN = r'url\d+":"(.+?)"' 33 | 34 | def handle_free(self, pyfile): 35 | self.link = re.findall(self.LINK_FREE_PATTERN, self.data)[ 36 | 0 if self.config.get('quality') == "Low" else -1] 37 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/WarserverCz.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class WarserverCz(DeadHoster): 7 | __name__ = "WarserverCz" 8 | __type__ = "hoster" 9 | __version__ = "0.18" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?warserver\.cz/stahnout/\d+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Warserver.cz hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/WuploadCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class WuploadCom(DeadHoster): 7 | __name__ = "WuploadCom" 8 | __type__ = "hoster" 9 | __version__ = "0.28" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?wupload\..+?/file/((\w+/)?\d+)(/.*)?' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """Wupload.com hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("jeix", "jeix@hasnomail.de"), 18 | ("Paul King", None)] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/X7To.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class X7To(DeadHoster): 7 | __name__ = "X7To" 8 | __type__ = "hoster" 9 | __version__ = "0.46" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'http://(?:www\.)?x7\.to/' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """X7.to hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("ernieb", "ernieb")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/XVideosCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import re 4 | import urllib 5 | 6 | from ..internal.Hoster import Hoster 7 | 8 | 9 | class XVideosCom(Hoster): 10 | __name__ = "XVideos.com" 11 | __type__ = "hoster" 12 | __version__ = "0.16" 13 | __status__ = "testing" 14 | 15 | __pattern__ = r'http://(?:www\.)?xvideos\.com/video(\d+)' 16 | __config__ = [("activated", "bool", "Activated", True)] 17 | 18 | __description__ = """XVideos.com hoster plugin""" 19 | __license__ = "GPLv3" 20 | __authors__ = [] 21 | 22 | def process(self, pyfile): 23 | site = self.load(pyfile.url) 24 | pyfile.name = "%s (%s).flv" % ( 25 | re.search(r'

(.+?)Filename:\s*
\s*(?P.*?)\n' 29 | SIZE_PATTERN = r'\s*
\s*(?P[\d.,]+)(?P[\w^_]+)' 30 | OFFLINE_PATTERN = r' Device Filter

' 31 | 32 | def setup(self): 33 | self.multiDL = True 34 | self.resume_download = True 35 | self.chunk_limit = 1 36 | 37 | def handle_free(self, pyfile): 38 | # @TODO: Revert to `get={'task': "get"}` in 0.4.10 39 | self.link = pyfile.url + "&task=get" 40 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/ZShareNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class ZShareNet(DeadHoster): 7 | __name__ = "ZShareNet" 8 | __type__ = "hoster" 9 | __version__ = "0.26" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'https?://(?:ww[2w]\.)?zshares?\.net/.+' 13 | __config__ = [] # @TODO: Remove in 0.4.10 14 | 15 | __description__ = """ZShare.net hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("espes", None), 18 | ("Cptn Sandwich", None)] 19 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/ZahikiNet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ..internal.DeadHoster import DeadHoster 4 | 5 | 6 | class ZahikiNet(DeadHoster): 7 | __name__ = "ZahikiNet" 8 | __type__ = "hoster" 9 | __version__ = "0.07" 10 | __status__ = "testing" 11 | 12 | __pattern__ = r'https?://(?:www\.)?zahiki\.net/\w+/.+' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Zahiki.net hoster plugin""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 18 | -------------------------------------------------------------------------------- /pyload/plugins/hoster/ZeveraCom.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | from ..internal.MultiHoster import MultiHoster 5 | 6 | 7 | class ZeveraCom(MultiHoster): 8 | __name__ = "ZeveraCom" 9 | __type__ = "hoster" 10 | __version__ = "0.38" 11 | __status__ = "testing" 12 | 13 | __pattern__ = r'https?://(?:www\.)zevera\.com/(getFiles\.ashx|Members/download\.ashx)\?.*ourl=.+' 14 | __config__ = [("activated", "bool", "Activated", True), 15 | ("use_premium", "bool", "Use premium account if available", True), 16 | ("fallback", "bool", "Fallback to free download if premium fails", False), 17 | ("chk_filesize", "bool", "Check file size", True), 18 | ("max_wait", "int","Reconnect if waiting time is greater than minutes", 10), 19 | ("revert_failed", "bool", "Revert to standard download if fails", True)] 20 | 21 | __description__ = """Zevera.com multi-hoster plugin""" 22 | __license__ = "GPLv3" 23 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), 24 | ("Walter Purcaro", "vuolter@gmail.com")] 25 | 26 | FILE_ERRORS = [("Error", r'action="ErrorDownload.aspx')] 27 | 28 | def handle_premium(self, pyfile): 29 | self.link = "https://zevera.com/getFiles.ashx?ourl=%s" % pyfile.url 30 | -------------------------------------------------------------------------------- /pyload/plugins/internal/CaptchaService.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .Captcha import Captcha 4 | 5 | 6 | class CaptchaService(Captcha): 7 | __name__ = "CaptchaService" 8 | __type__ = "captcha" 9 | __version__ = "0.36" 10 | __status__ = "stable" 11 | 12 | __description__ = """Base anti-captcha service plugin""" 13 | __license__ = "GPLv3" 14 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 15 | 16 | def init(self): 17 | self.key = None #: Last key detected 18 | 19 | #@TODO: Recheck in 0.4.10 20 | def retrieve_key(self, data): 21 | if self.detect_key(data): 22 | return self.key 23 | else: 24 | self.fail(_("%s key not found") % self.__name__) 25 | 26 | def retrieve_data(self): 27 | return self.pyfile.plugin.data or self.pyfile.plugin.last_html or "" 28 | 29 | def detect_key(self, data=None): 30 | raise NotImplementedError 31 | 32 | def challenge(self, key=None, data=None): 33 | raise NotImplementedError 34 | 35 | def result(self, server, challenge): 36 | raise NotImplementedError 37 | -------------------------------------------------------------------------------- /pyload/plugins/internal/DeadCrypter.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .Crypter import Crypter 4 | 5 | 6 | class DeadCrypter(Crypter): 7 | __name__ = "DeadCrypter" 8 | __type__ = "crypter" 9 | __version__ = "0.14" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'^unmatchable$' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Crypter is no longer available""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("stickell", "l.stickell@yahoo.it")] 18 | 19 | @classmethod 20 | def get_info(cls, *args, **kwargs): 21 | info = super(DeadCrypter, cls).get_info(*args, **kwargs) 22 | info['status'] = 1 23 | return info 24 | 25 | def setup(self): 26 | self.offline(_("Crypter is no longer available")) 27 | -------------------------------------------------------------------------------- /pyload/plugins/internal/DeadHoster.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .Hoster import Hoster 4 | 5 | 6 | class DeadHoster(Hoster): 7 | __name__ = "DeadHoster" 8 | __type__ = "hoster" 9 | __version__ = "0.24" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'^unmatchable$' 13 | __config__ = [("activated", "bool", "Activated", True)] 14 | 15 | __description__ = """Hoster is no longer available""" 16 | __license__ = "GPLv3" 17 | __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] 18 | 19 | @classmethod 20 | def get_info(cls, *args, **kwargs): 21 | info = super(DeadHoster, cls).get_info(*args, **kwargs) 22 | info['status'] = 1 23 | return info 24 | 25 | def setup(self): 26 | self.offline(_("Hoster is no longer available")) 27 | -------------------------------------------------------------------------------- /pyload/plugins/internal/MultiCrypter.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from .SimpleCrypter import SimpleCrypter 4 | 5 | 6 | class MultiCrypter(SimpleCrypter): 7 | __name__ = "MultiCrypter" 8 | __type__ = "hoster" 9 | __version__ = "0.10" 10 | __status__ = "stable" 11 | 12 | __pattern__ = r'^unmatchable$' 13 | __config__ = [("activated", "bool", "Activated", True), 14 | ("use_premium", "bool", "Use premium account if available", True), 15 | ("folder_per_package", "Default;Yes;No", "Create folder for each package", "Default")] 16 | 17 | __description__ = """Multi decrypter plugin""" 18 | __license__ = "GPLv3" 19 | __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] 20 | 21 | def init(self): 22 | self.PLUGIN_NAME = self.pyload.pluginManager.crypterPlugins.get(self.classname)[ 23 | 'name'] 24 | 25 | def _log(self, level, plugintype, pluginname, messages): 26 | messages = (self.PLUGIN_NAME,) + messages 27 | return SimpleCrypter._log(self, level, plugintype, pluginname, messages) 28 | --------------------------------------------------------------------------------