mirror of
https://github.com/mirror/jdownloader.git
synced 2024-11-27 05:50:51 +00:00
-deleted plugins for dead services: fixes #5457 fixes #5458 fixes #5419 fixes #5529 fixes #5472 fixes #5481 fixes #5474 fixes #5488
-urlgalleries should work fine fixes #5456 -fixed electretv regex, bismarck the rest is for you refs #5469 -fixed fastshare errorhandling fixes #5471 -improved laraslevelbase errorhandling fixes #5473 -fixed hardwareclips fixes #5487 -improved imagevenue regex fixes #5489 -improved isharemybitchgallery regex fixes #5491 -applied letitbit.tv domainchange fixes #5492 -fixed a dailymotion bug which was related to the mysteretv problem fixes #5494 -fixed tutv fixes #5495 -fixed ecostream fixes #5502 -fixed partagefacileerrorhandling fixes #5503 -fixed freeporn errorhandling fixes #5504 -added support for decrypting tube8 videos via amateurgalore fixes #5506 -implemented some new embed ids for voayeurs fixes #5505 -fixes #5507 -fixed stileproject fixes #5525 -fixed keezmovies filename regex refs #5526 rest is for .bismarck -fixed hardsextube fixes #5527 -improved xtube errorhandling fixes #5528 git-svn-id: svn://svn.jdownloader.org/jdownloader/trunk@17837 ebf7c1c2-ba36-0410-9fe8-c592906822b4
This commit is contained in:
parent
ed0914e847
commit
5755e1ad93
@ -828,4 +828,12 @@ jd/plugins/hoster/TuDouCom.class
|
||||
jd/plugins/hoster/TunaBoxNet.class
|
||||
jd/plugins/hoster/TubeLoadTo.class
|
||||
jd/plugins/hoster/Dataupde.class
|
||||
jd/plugins/hoster/WiseVidCom.class
|
||||
jd/plugins/hoster/WiseVidCom.class
|
||||
jd/plugins/hoster/DynYooCom.class
|
||||
jd/plugins/hoster/FourUsTo.class
|
||||
jd/plugins/hoster/DigloCom.class
|
||||
jd/plugins/hoster/YabaDabaRu.class
|
||||
jd/plugins/hoster/Hundred63PanCom.class
|
||||
jd/plugins/decrypter/XXXBlg.class
|
||||
jd/plugins/hoster/MadShareCom.class
|
||||
jd/plugins/hoster/ImageHostOrg.class
|
@ -74,9 +74,9 @@ public class AmateurGaloreNet extends PluginForDecrypt {
|
||||
decryptedLinks.add(createDownloadlink("http://www.xvideos.com/video" + tempID));
|
||||
return decryptedLinks;
|
||||
}
|
||||
tempID = br.getRegex("(megaporn|cum)\\.com/e/([A-Z0-9]{8})").getMatch(1);
|
||||
tempID = br.getRegex("\"(http://(www\\.)?tube8\\.com/embed/[^<>\"/]*?/[^<>\"/]*?/\\d+/?)\"").getMatch(0);
|
||||
if (tempID != null) {
|
||||
decryptedLinks.add(createDownloadlink("http://www.cum.com/video/?v=" + tempID));
|
||||
decryptedLinks.add(createDownloadlink(tempID.replace("tube8.com/embed", "tube8.com/")));
|
||||
return decryptedLinks;
|
||||
}
|
||||
if (tempID == null) {
|
||||
|
@ -48,7 +48,7 @@ public class IShareMyBitchComGallery extends PluginForDecrypt {
|
||||
}
|
||||
fpName = Encoding.htmlDecode(fpName.trim());
|
||||
br.getPage("http://www.isharemybitch.com/gallery-widget/widget.php?id=" + galleryID);
|
||||
final String[] links = br.getRegex("\"(http://media\\.isharemybitch\\.com:\\d+/galleries/[a-z0-9]+/\\d+\\.jpg)\"").getColumn(0);
|
||||
final String[] links = br.getRegex("\"(http://media\\.isharemybitch\\.com:\\d+/galleries/[a-z0-9]+/[a-z0-9\\-_]+\\.jpg)\"").getColumn(0);
|
||||
if (links == null || links.length == 0) {
|
||||
logger.warning("Decrypter broken for link: " + parameter);
|
||||
return null;
|
||||
|
@ -22,11 +22,9 @@ import jd.PluginWrapper;
|
||||
import jd.controlling.ProgressController;
|
||||
import jd.nutils.encoding.Encoding;
|
||||
import jd.plugins.CryptedLink;
|
||||
import jd.plugins.DecrypterException;
|
||||
import jd.plugins.DecrypterPlugin;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.PluginForDecrypt;
|
||||
import jd.utils.locale.JDL;
|
||||
|
||||
@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "mystere-tv.com" }, urls = { "http://(www\\.)?mystere\\-tv\\.com/.*?\\-v\\d+\\.html" }, flags = { 0 })
|
||||
public class MystereTvComDecrypter extends PluginForDecrypt {
|
||||
@ -42,7 +40,10 @@ public class MystereTvComDecrypter extends PluginForDecrypt {
|
||||
String parameter = param.toString();
|
||||
br.setFollowRedirects(true);
|
||||
br.getPage(parameter);
|
||||
if (br.getURL().equals("http://www.mystere-tv.com/") || br.containsHTML("<title>Paranormal \\- Ovni \\- Mystere TV </title>")) throw new DecrypterException(JDL.L("plugins.decrypt.errormsg.unavailable", "Perhaps wrong URL or the download is not available anymore."));
|
||||
if (br.getURL().equals("http://www.mystere-tv.com/") || br.containsHTML("<title>Paranormal \\- Ovni \\- Mystere TV </title>")) {
|
||||
logger.info("Link offline: " + parameter);
|
||||
return decryptedLinks;
|
||||
}
|
||||
// Same as in hosterplugin
|
||||
String filename = br.getRegex("<h1 class=\"videoTitle\">(.*?)</h1>").getMatch(0);
|
||||
if (filename == null) {
|
||||
|
@ -65,6 +65,7 @@ public class VoaYeursCom extends PluginForDecrypt {
|
||||
return decryptedLinks;
|
||||
}
|
||||
externID = br.getRegex("xvideos\\.com/embedframe/(\\d+)\"").getMatch(0);
|
||||
if (externID == null) externID = br.getRegex("xvideos\\.com/swf/flv_player_site_v\\d+\\.swf\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"flashvars\" value=\"id_video=(\\d+)\"").getMatch(0);
|
||||
if (externID != null) {
|
||||
decryptedLinks.add(createDownloadlink("http://www.xvideos.com/video" + externID));
|
||||
return decryptedLinks;
|
||||
@ -74,9 +75,9 @@ public class VoaYeursCom extends PluginForDecrypt {
|
||||
decryptedLinks.add(createDownloadlink(externID.replace("tube8.com/embed", "tube8.com/")));
|
||||
return decryptedLinks;
|
||||
}
|
||||
externID = br.getRegex("drtuber\\.com/embed/(\\d+)\"").getMatch(0);
|
||||
externID = br.getRegex("(http://(www\\.)?drtuber\\.com/player/config_embed3\\.php\\?vkey=[a-z0-9]+)").getMatch(0);
|
||||
if (externID != null) {
|
||||
decryptedLinks.add(createDownloadlink("http://www.drtuber.com/video/" + externID + "/" + System.currentTimeMillis()));
|
||||
decryptedLinks.add(createDownloadlink(externID));
|
||||
return decryptedLinks;
|
||||
}
|
||||
externID = br.getRegex("emb\\.slutload\\.com/([A-Za-z0-9]+)\"").getMatch(0);
|
||||
@ -124,6 +125,13 @@ public class VoaYeursCom extends PluginForDecrypt {
|
||||
decryptedLinks.add(createDownloadlink("http://www.tnaflix.com/cum-videos/" + System.currentTimeMillis() + "/video" + externID));
|
||||
return decryptedLinks;
|
||||
}
|
||||
externID = br.getRegex("pornhub\\.com/embed/(\\d+)").getMatch(0);
|
||||
if (externID == null) externID = br.getRegex("pornhub\\.com/view_video\\.php\\?viewkey=(\\d+)").getMatch(0);
|
||||
if (externID != null) {
|
||||
DownloadLink dl = createDownloadlink("http://www.pornhub.com/view_video.php?viewkey=" + externID);
|
||||
decryptedLinks.add(dl);
|
||||
return decryptedLinks;
|
||||
}
|
||||
// For all following ids, a filename is needed
|
||||
if (filename == null) {
|
||||
logger.warning("Decrypter broken for link: " + parameter);
|
||||
@ -143,6 +151,13 @@ public class VoaYeursCom extends PluginForDecrypt {
|
||||
decryptedLinks.add(dl);
|
||||
return decryptedLinks;
|
||||
}
|
||||
externID = br.getRegex("shufuni\\.com/Flash/.*?flashvars=\"VideoCode=(.*?)\"").getMatch(0);
|
||||
if (externID != null) {
|
||||
DownloadLink dl = createDownloadlink("http://www.shufuni.com/handlers/FLVStreamingv2.ashx?videoCode=" + externID);
|
||||
dl.setFinalFileName(Encoding.htmlDecode(filename.trim()));
|
||||
decryptedLinks.add(dl);
|
||||
return decryptedLinks;
|
||||
}
|
||||
if (externID == null) {
|
||||
logger.warning("Couldn't decrypt link: " + parameter);
|
||||
return null;
|
||||
|
@ -1,91 +0,0 @@
|
||||
// jDownloader - Downloadmanager
|
||||
// Copyright (C) 2008 JD-Team support@jdownloader.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package jd.plugins.decrypter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.controlling.ProgressController;
|
||||
import jd.parser.html.Form;
|
||||
import jd.parser.html.HTMLParser;
|
||||
import jd.plugins.CryptedLink;
|
||||
import jd.plugins.DecrypterException;
|
||||
import jd.plugins.DecrypterPlugin;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.FilePackage;
|
||||
import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForDecrypt;
|
||||
import jd.utils.locale.JDL;
|
||||
|
||||
@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "xxx-blog.org" }, urls = { "http://(www\\.)?xxx-blog\\.(org|to)/((share|sto|com-|u|filefactory/|relink/)[\\w\\./-]+|.*?\\.html|(blog|typ)/(dvd-rips|scenes|amateur-clips|hd-(scenes|movies)|site-rips|image-sets|games)/.+/)" }, flags = { 0 })
|
||||
public class XXXBlg extends PluginForDecrypt {
|
||||
|
||||
private static ArrayList<String> pwList = new ArrayList<String>();
|
||||
static {
|
||||
pwList.add("xxx-blog.dl.am");
|
||||
pwList.add("xxx-blog.org");
|
||||
}
|
||||
|
||||
public XXXBlg(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<DownloadLink> decryptIt(CryptedLink param, ProgressController progress) throws Exception {
|
||||
ArrayList<DownloadLink> decryptedLinks = new ArrayList<DownloadLink>();
|
||||
String parameter = param.toString();
|
||||
|
||||
parameter = parameter.substring(parameter.lastIndexOf("http://"));
|
||||
br.getPage(parameter);
|
||||
if (br.containsHTML("Fehler 404 - Seite nicht gefunden")) throw new DecrypterException(JDL.L("plugins.decrypt.errormsg.unavailable", "Perhaps wrong URL or the download is not available anymore."));
|
||||
if (parameter.contains("/blog/") || parameter.contains("/typ/")) {
|
||||
String fpname = br.getRegex("<title>(.*?)\\| XXX-Blog").getMatch(0);
|
||||
if (fpname == null) fpname = br.getRegex("rel=\"bookmark\" title=\"(.*?)\"").getMatch(0);
|
||||
String pagepiece = br.getRegex("<strong>(.*?)</a></strong></p>").getMatch(0);
|
||||
if (pagepiece == null) pagepiece = br.getRegex("table class=\"dltable\">.*?Download:</strong(.*?)</table").getMatch(0);
|
||||
if (pagepiece == null) return null;
|
||||
String[] links = HTMLParser.getHttpLinks(pagepiece, "");
|
||||
if (links == null || links.length == 0) return null;
|
||||
for (String link : links) {
|
||||
DownloadLink dlink = createDownloadlink(link);
|
||||
dlink.setSourcePluginPasswordList(pwList);
|
||||
decryptedLinks.add(dlink);
|
||||
}
|
||||
if (fpname != null) {
|
||||
FilePackage fp = FilePackage.getInstance();
|
||||
fp.setName(fpname.trim());
|
||||
fp.addLinks(decryptedLinks);
|
||||
}
|
||||
} else {
|
||||
DownloadLink dLink;
|
||||
if (br.getRedirectLocation() != null) {
|
||||
dLink = createDownloadlink(br.getRedirectLocation());
|
||||
} else {
|
||||
Form form = br.getForm(0);
|
||||
if (form == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
dLink = createDownloadlink(form.getAction(null));
|
||||
if (!parameter.matches("http://(www\\.)?xxx-blog\\.(org|to)/((share|sto|com-|u|filefactory/|relink/)[\\w\\./-]+|.*?\\.html|(blog|typ)/(dvd-rips|scenes|amateur-clips|hd-(scenes|movies)|site-rips|image-sets|games)/.+/)")) decryptedLinks.add(createDownloadlink(parameter));
|
||||
}
|
||||
dLink.setSourcePluginPasswordList(pwList);
|
||||
decryptedLinks.add(dLink);
|
||||
}
|
||||
|
||||
return decryptedLinks;
|
||||
}
|
||||
|
||||
}
|
@ -58,7 +58,8 @@ public class DailyMotionCom extends PluginForHost {
|
||||
setupRTMPConnection(stream, dl);
|
||||
((RTMPDownload) dl).startDownload();
|
||||
} else {
|
||||
// They do allow resume and unlimited chunks but resuming or using more
|
||||
// They do allow resume and unlimited chunks but resuming or using
|
||||
// more
|
||||
// than 1 chunk causes problems, the file will then b corrupted!
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, dllink, false, 1);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
@ -187,7 +188,12 @@ public class DailyMotionCom extends PluginForHost {
|
||||
getQuality("hd720URL", allLinks);
|
||||
if (dllink == null) {
|
||||
getQuality("hqURL", allLinks);
|
||||
if (dllink == null) getQuality("sdURL", allLinks);
|
||||
if (dllink == null) {
|
||||
getQuality("sdURL", allLinks);
|
||||
if (dllink == null) {
|
||||
getQuality("ldURL", allLinks);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -222,7 +228,7 @@ public class DailyMotionCom extends PluginForHost {
|
||||
}
|
||||
|
||||
private void getQuality(String quality, String allLinks) {
|
||||
dllink = new Regex(allLinks, "\"" + quality + "\":\"(http:[^<>\"\\']+)\"").getMatch(0);
|
||||
dllink = new Regex(allLinks, "\"" + quality + "\":\"(http[^<>\"\\']+)\"").getMatch(0);
|
||||
}
|
||||
|
||||
private boolean isRtmp() throws IOException {
|
||||
|
@ -1,110 +0,0 @@
|
||||
//jDownloader - Downloadmanager
|
||||
//Copyright (C) 2010 JD-Team support@jdownloader.org
|
||||
//
|
||||
//This program is free software: you can redistribute it and/or modify
|
||||
//it under the terms of the GNU General Public License as published by
|
||||
//the Free Software Foundation, either version 3 of the License, or
|
||||
//(at your option) any later version.
|
||||
//
|
||||
//This program is distributed in the hope that it will be useful,
|
||||
//but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
//GNU General Public License for more details.
|
||||
//
|
||||
//You should have received a copy of the GNU General Public License
|
||||
//along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package jd.plugins.hoster;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.parser.Regex;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.DownloadLink.AvailableStatus;
|
||||
import jd.plugins.HostPlugin;
|
||||
import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForHost;
|
||||
|
||||
import org.appwork.utils.formatter.SizeFormatter;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "diglo.com" }, urls = { "http://(www\\.)?diglo\\.com/download/[a-z0-9]+" }, flags = { 0 })
|
||||
public class DigloCom extends PluginForHost {
|
||||
|
||||
public DigloCom(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAGBLink() {
|
||||
return "http://www.diglo.com/terms_of_use.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxSimultanFreeDownloadNum() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception, PluginException {
|
||||
requestFileInformation(downloadLink);
|
||||
br.getPage(downloadLink.getDownloadURL().replace("download/", "download/free/"));
|
||||
br.setFollowRedirects(false);
|
||||
String dllink = br.getRegex("id=\"link_activator\" style=\"display:none\"><a href=\"(http://.*?)\"").getMatch(0);
|
||||
if (dllink == null) dllink = br.getRegex("\"(http://x\\d+\\.diglo\\.com/download/[a-z0-9]+)\"").getMatch(0);
|
||||
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
int wait = 45;
|
||||
String waittime = br.getRegex("var wait_time = (\\d+)").getMatch(0);
|
||||
if (waittime != null) wait = Integer.parseInt(waittime);
|
||||
sleep(wait * 1001l, downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, dllink, false, 1);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
if (br.containsHTML("(You are already downloading a file|Please wait until your download is complete or)")) throw new PluginException(LinkStatus.ERROR_IP_BLOCKED, "Too many simultan downloads", 10 * 60 * 1000l);
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink link) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.getPage(link.getDownloadURL());
|
||||
if (br.containsHTML("(<title>diglo\\.com</title>|/images/404\\.gif\\'\\))")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
Regex fileInfo = br.getRegex("<h2><span>Download:</span>(.*?)\\ \\ \\ (.*?)</h2>");
|
||||
String filename = br.getRegex("var fullname = \"(.*?)\";").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("<div class=\"dl_info\">[\t\n\r ]+<span title=\"(.*?)\"").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("<title>(.*?) free download</title>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = fileInfo.getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("class=\"row odd\"><span>Filename:</span>(.*?)</div>").getMatch(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
String filesize = fileInfo.getMatch(1);
|
||||
if (filesize == null) {
|
||||
filesize = br.getRegex("<span class=\"fileSize\">(.*?)</span>").getMatch(0);
|
||||
if (filesize == null) {
|
||||
filesize = br.getRegex("class=\"row\"><span>Filesize:</span>(.*?)</div>").getMatch(0);
|
||||
}
|
||||
}
|
||||
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
link.setName(filename.trim());
|
||||
link.setDownloadSize(SizeFormatter.getSize(filesize));
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetDownloadlink(DownloadLink link) {
|
||||
}
|
||||
|
||||
}
|
@ -1,89 +0,0 @@
|
||||
//jDownloader - Downloadmanager
|
||||
//Copyright (C) 2010 JD-Team support@jdownloader.org
|
||||
//
|
||||
//This program is free software: you can redistribute it and/or modify
|
||||
//it under the terms of the GNU General Public License as published by
|
||||
//the Free Software Foundation, either version 3 of the License, or
|
||||
//(at your option) any later version.
|
||||
//
|
||||
//This program is distributed in the hope that it will be useful,
|
||||
//but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
//GNU General Public License for more details.
|
||||
//
|
||||
//You should have received a copy of the GNU General Public License
|
||||
//along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package jd.plugins.hoster;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.parser.Regex;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.DownloadLink.AvailableStatus;
|
||||
import jd.plugins.HostPlugin;
|
||||
import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForHost;
|
||||
|
||||
import org.appwork.utils.formatter.SizeFormatter;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "dynyoo.com" }, urls = { "http://(www\\.)?dynyoo\\.com/\\?goto=dl\\&id=[a-z0-9]{32}" }, flags = { 0 })
|
||||
public class DynYooCom extends PluginForHost {
|
||||
|
||||
private static final String FILEIDREGEX = "dynyoo\\.com/\\?goto=dl\\&id=(.+)";
|
||||
|
||||
public DynYooCom(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAGBLink() {
|
||||
return "http://dynyoo.com/?goto=faq";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxSimultanFreeDownloadNum() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception, PluginException {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, "http://dynyoo.com/downloadnow.php?id=" + new Regex(downloadLink.getDownloadURL(), FILEIDREGEX).getMatch(0), true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
logger.warning("The finallink doesn't seem to be a file...");
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink link) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
// We use an API
|
||||
// Problems with the API ? Contact info@dynyoo.com
|
||||
br.getPage("http://dynyoo.com/api/status.php?id=" + new Regex(link.getDownloadURL(), FILEIDREGEX).getMatch(0));
|
||||
Regex info = br.getRegex("(.*?);(.*?);(.*?)");
|
||||
if (br.containsHTML("invalid")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
if (info.getMatch(0) == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
if (!info.getMatch(0).equals("online")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = info.getMatch(1);
|
||||
String filesize = info.getMatch(2);
|
||||
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
link.setName(filename.trim());
|
||||
link.setDownloadSize(SizeFormatter.getSize(filesize));
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetDownloadlink(DownloadLink link) {
|
||||
}
|
||||
|
||||
}
|
@ -53,22 +53,11 @@ public class EcoStreamTv extends PluginForHost {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, DLLINK, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.setFollowRedirects(true);
|
||||
br.postPage(downloadLink.getDownloadURL() + "?ss=1", "ss=1");
|
||||
br.postPage(downloadLink.getDownloadURL() + "?ss=1", "ss=1&sss=1");
|
||||
// No way to directly find out of it's online or not so let's just try
|
||||
Regex importantVars = br.getRegex("\\(\"lc\\(\\'([^<>\"]*?)\\',\\'([^<>\"]*?)\\',\\'([^<>\"]*?)\\',\\'([^<>\"]*?)\\'\\)");
|
||||
String var1 = importantVars.getMatch(0);
|
||||
@ -77,7 +66,7 @@ public class EcoStreamTv extends PluginForHost {
|
||||
String var4 = importantVars.getMatch(3);
|
||||
if (var1 == null || var2 == null || var3 == null || var4 == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
br.getHeaders().put("X-Requested-With", "XMLHttpRequest");
|
||||
br.postPage("http://www.ecostream.tv/objec.php?s=" + var1 + "&k=" + var2 + "&t=" + var3 + "&key=" + var4, "");
|
||||
br.postPage("http://www.ecostream.tv/lc/m.php?s=" + var1 + "&k=" + var2 + "&t=" + var3 + "&key=" + var4, "");
|
||||
DLLINK = br.getRegex("flashvars=\"file=(http://[^\"\\']+)\\&image=").getMatch(0);
|
||||
if (DLLINK == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
DLLINK = Encoding.htmlDecode(DLLINK);
|
||||
@ -102,6 +91,17 @@ public class EcoStreamTv extends PluginForHost {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, DLLINK, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ import jd.plugins.PluginForHost;
|
||||
|
||||
import org.appwork.utils.Regex;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "eltrecetv.com.ar" }, urls = { "http://(www\\.)?eltrecetv\\.com\\.ar/[\\w-]+/nota/\\d+/.+" }, flags = { PluginWrapper.DEBUG_ONLY })
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "eltrecetv.com.ar" }, urls = { "http://(www\\.)?eltrecetv\\.com\\.ar/[^<>\"/]+/[^<>\"/]+/\\d+/.+" }, flags = { 0 })
|
||||
public class EltrecetvComAr extends PluginForHost {
|
||||
|
||||
private String clipUrl = null;
|
||||
@ -46,6 +46,24 @@ public class EltrecetvComAr extends PluginForHost {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(final DownloadLink downloadLink) throws Exception {
|
||||
setBrowserExclusive();
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
String filename = br.getRegex("<title>(.*?) \\|.*?</title>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("\\s+<h1>(.*?)</h1>").getMatch(0);
|
||||
}
|
||||
swfUrl = br.getRegex("<param name=\"movie\" value=\"(.*?)\"").getMatch(0);
|
||||
final String id = new Regex(downloadLink.getDownloadURL(), ".*?/(\\d+)/.*?").getMatch(0);
|
||||
br.getPage("http://www.eltrecetv.com.ar/feed/videowowza/" + id);
|
||||
clipUrl = br.getRegex("<media:content url=\"(.*?)\"").getMatch(0);
|
||||
if (filename == null || clipUrl == null || swfUrl == null) { throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND); }
|
||||
swfUrl = "http://www.eltrecetv.com.ar" + swfUrl;
|
||||
downloadLink.setFinalFileName(filename + ".flv");
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(final DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
@ -75,24 +93,6 @@ public class EltrecetvComAr extends PluginForHost {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(final DownloadLink downloadLink) throws Exception {
|
||||
setBrowserExclusive();
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
String filename = br.getRegex("<title>(.*?) \\|.*?</title>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("\\s+<h1>(.*?)</h1>").getMatch(0);
|
||||
}
|
||||
swfUrl = br.getRegex("<param name=\"movie\" value=\"(.*?)\"").getMatch(0);
|
||||
final String id = new Regex(downloadLink.getDownloadURL(), ".*?/(\\d+)/.*?").getMatch(0);
|
||||
br.getPage("http://www.eltrecetv.com.ar/feed/videowowza/" + id);
|
||||
clipUrl = br.getRegex("<media:content url=\"(.*?)\"").getMatch(0);
|
||||
if (filename == null || clipUrl == null || swfUrl == null) { throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND); }
|
||||
swfUrl = "http://www.eltrecetv.com.ar" + swfUrl;
|
||||
downloadLink.setFinalFileName(filename + ".flv");
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public class FastShareorg extends PluginForHost {
|
||||
br.setFollowRedirects(false);
|
||||
String url = downloadLink.getDownloadURL();
|
||||
br.getPage(url);
|
||||
if (!br.containsHTML("No filename specified or the file has been deleted")) {
|
||||
if (!br.containsHTML("(No filename specified or the file has been deleted|This file has been deleted because of complaints)")) {
|
||||
downloadLink.setName(Encoding.htmlDecode(br.getRegex("Wenn sie die Datei \"<b>(.*?)<\\/b>\"").getMatch(0)));
|
||||
String filesize = null;
|
||||
if ((filesize = br.getRegex("<i>\\((.*)MB\\)</i>").getMatch(0)) != null) {
|
||||
|
@ -340,17 +340,15 @@ public class FileRioCom extends PluginForHost {
|
||||
String tmpmin = new Regex(correctedBR, "\\s+(\\d+)\\s+minutes?").getMatch(0);
|
||||
if (tmpmin == null) tmpmin = new Regex(correctedBR, "You have to wait.*?\\s+(\\d+)\\s+minutes?").getMatch(0);
|
||||
String tmpsec = new Regex(correctedBR, "\\s+(\\d+)\\s+seconds?").getMatch(0);
|
||||
String tmpdays = new Regex(correctedBR, "\\s+(\\d+)\\s+days?").getMatch(0);
|
||||
if (tmphrs == null && tmpmin == null && tmpsec == null && tmpdays == null) {
|
||||
if (tmphrs == null && tmpmin == null && tmpsec == null) {
|
||||
logger.info("Waittime regexes seem to be broken");
|
||||
throw new PluginException(LinkStatus.ERROR_IP_BLOCKED, null, 60 * 60 * 1000l);
|
||||
} else {
|
||||
int minutes = 0, seconds = 0, hours = 0, days = 0;
|
||||
int minutes = 0, seconds = 0, hours = 0;
|
||||
if (tmphrs != null) hours = Integer.parseInt(tmphrs);
|
||||
if (tmpmin != null) minutes = Integer.parseInt(tmpmin);
|
||||
if (tmpsec != null) seconds = Integer.parseInt(tmpsec);
|
||||
if (tmpdays != null) days = Integer.parseInt(tmpdays);
|
||||
int waittime = ((days * 24 * 3600) + (3600 * hours) + (60 * minutes) + seconds + 1) * 1000;
|
||||
int waittime = (3600 * hours + (60 * minutes) + seconds + 1) * 1000;
|
||||
logger.info("Detected waittime #2, waiting " + waittime + "milliseconds");
|
||||
/** Not enough wait time to reconnect->Wait and try again */
|
||||
if (waittime < 180000) { throw new PluginException(LinkStatus.ERROR_HOSTER_TEMPORARILY_UNAVAILABLE, JDL.L("plugins.hoster.xfilesharingprobasic.allwait", ALLWAIT_SHORT), waittime); }
|
||||
|
@ -1,176 +0,0 @@
|
||||
// jDownloader - Downloadmanager
|
||||
// Copyright (C) 2009 JD-Team support@jdownloader.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package jd.plugins.hoster;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.nutils.encoding.Encoding;
|
||||
import jd.parser.html.Form;
|
||||
import jd.parser.html.HTMLParser;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.DownloadLink.AvailableStatus;
|
||||
import jd.plugins.HostPlugin;
|
||||
import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForHost;
|
||||
|
||||
import org.appwork.utils.formatter.SizeFormatter;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "4us.to" }, urls = { "http://[\\w\\.]*?4us\\.to/download\\.php\\?id=[A-Z0-9]+" }, flags = { 0 })
|
||||
public class FourUsTo extends PluginForHost {
|
||||
|
||||
private static final String COOKIE_HOST = "http://4us.to";
|
||||
|
||||
public FourUsTo(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
}
|
||||
|
||||
public void correctDownloadLink(DownloadLink link) {
|
||||
link.setUrlDownload(link.getDownloadURL() + "&setlang=en");
|
||||
}
|
||||
|
||||
public String findLink() throws Exception {
|
||||
String finalLink = null;
|
||||
String[] sitelinks = HTMLParser.getHttpLinks(br.toString(), null);
|
||||
if (sitelinks == null || sitelinks.length == 0) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
for (String alink : sitelinks) {
|
||||
alink = Encoding.htmlDecode(alink);
|
||||
if (alink.contains("access_key=") || alink.contains("getfile.php?")) {
|
||||
finalLink = alink;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return finalLink;
|
||||
}
|
||||
|
||||
// MhfScriptBasic 1.0
|
||||
@Override
|
||||
public String getAGBLink() {
|
||||
return "http://4us.to/contact.php";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxSimultanFreeDownloadNum() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink link) throws Exception {
|
||||
this.setBrowserExclusive();
|
||||
requestFileInformation(link);
|
||||
if (br.containsHTML("value=\"Free Users\"")) br.postPage(link.getDownloadURL(), "Free=Free+Users");
|
||||
String passCode = null;
|
||||
Form captchaform = br.getFormbyProperty("name", "myform");
|
||||
if (captchaform == null) {
|
||||
captchaform = br.getFormbyProperty("name", "validateform");
|
||||
if (captchaform == null) {
|
||||
captchaform = br.getFormbyProperty("name", "valideform");
|
||||
}
|
||||
}
|
||||
if (br.containsHTML("(captcha.php|class=textinput name=downloadpw)")) {
|
||||
if (captchaform == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
for (int i = 0; i <= 3; i++) {
|
||||
if (br.containsHTML("captcha.php")) {
|
||||
String captchaurl = COOKIE_HOST + "/captcha.php";
|
||||
String code = getCaptchaCode(captchaurl, link);
|
||||
captchaform.put("captchacode", code);
|
||||
}
|
||||
if (br.containsHTML("class=textinput name=downloadpw")) {
|
||||
if (link.getStringProperty("pass", null) == null) {
|
||||
passCode = getUserInput(null, link);
|
||||
} else {
|
||||
/* gespeicherten PassCode holen */
|
||||
passCode = link.getStringProperty("pass", null);
|
||||
}
|
||||
captchaform.put("downloadpw", passCode);
|
||||
}
|
||||
br.submitForm(captchaform);
|
||||
if (br.containsHTML("Password Error")) {
|
||||
logger.warning("Wrong password!");
|
||||
link.setProperty("pass", null);
|
||||
continue;
|
||||
}
|
||||
if (br.containsHTML("Captcha number error") || br.containsHTML("captcha.php") && !br.containsHTML("You have got max allowed bandwidth size per hour")) {
|
||||
logger.warning("Wrong captcha or wrong password!");
|
||||
link.setProperty("pass", null);
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (br.containsHTML("Password Error")) {
|
||||
logger.warning("Wrong password!");
|
||||
link.setProperty("pass", null);
|
||||
throw new PluginException(LinkStatus.ERROR_RETRY);
|
||||
}
|
||||
if (br.containsHTML("Captcha number error") || br.containsHTML("captcha.php") && !br.containsHTML("You have got max allowed bandwidth size per hour")) {
|
||||
logger.warning("Wrong captcha or wrong password!");
|
||||
link.setProperty("pass", null);
|
||||
throw new PluginException(LinkStatus.ERROR_CAPTCHA);
|
||||
}
|
||||
if (passCode != null) {
|
||||
link.setProperty("pass", passCode);
|
||||
}
|
||||
if (br.containsHTML("You have got max allowed bandwidth size per hour")) throw new PluginException(LinkStatus.ERROR_IP_BLOCKED, null, 10 * 60 * 1001l);
|
||||
String finalLink = findLink();
|
||||
if (finalLink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, link, finalLink, true, 1);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
// do not add @Override here to keep 0.* compatibility
|
||||
public boolean hasCaptcha() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink parameter) throws Exception {
|
||||
this.setBrowserExclusive();
|
||||
br.setFollowRedirects(true);
|
||||
br.setCookie(COOKIE_HOST, "mfh_mylang", "en");
|
||||
br.setCookie(COOKIE_HOST, "yab_mylang", "en");
|
||||
br.getPage(parameter.getDownloadURL());
|
||||
if (br.containsHTML("Your requested file is not found")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("<b>File name:</b></td>.*?<td align=.*?width=.*?>(.*?)</td>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("\"Click this to report for(.*?)\"").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("content=\"(.*?), The best file hosting service").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("<title>(.*?)</title>").getMatch(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
String filesize = br.getRegex("<b>File size:</b></td>.*?<td align=.*?>(.*?)</td>").getMatch(0);
|
||||
if (filename == null || filename.matches("")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
parameter.setFinalFileName(filename.trim());
|
||||
if (filesize != null) parameter.setDownloadSize(SizeFormatter.getSize(filesize));
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetDownloadlink(DownloadLink link) {
|
||||
}
|
||||
|
||||
}
|
@ -64,16 +64,12 @@ public class FreePornCom extends PluginForHost {
|
||||
this.setBrowserExclusive();
|
||||
br.setFollowRedirects(false);
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
|
||||
if (br.containsHTML("(<h1>Oooops\\.\\.\\. We can\\'t find this video or it doesn\\'t exist</h1>|\">Here is a list of recommended videos for you|<title>Free Porn, Porn Tube, Free Porn Videos, Sex Movie, Porn - FreePorn\\.com</title>)")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
if (br.containsHTML("(unavailablevideo\\.jpg\"|<h1>Oooops\\.\\.\\. We can\\'t find this video or it doesn\\'t exist</h1>|\">Here is a list of recommended videos for you|<title>Free Porn, Porn Tube, Free Porn Videos, Sex Movie, Porn - FreePorn\\.com</title>)")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("<span class=\"fleft\">(.*?)</span>").getMatch(0);
|
||||
if (filename == null) filename = br.getRegex("<title>(.*?) \\- FreePorn\\.com</title>").getMatch(0);
|
||||
|
||||
String path = br.getRegex("value=\\'file=(.*?)\\&").getMatch(0);
|
||||
if (path == null || filename == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
|
||||
br.postPage("http://www.freeporn.com/getcdnurl/", "cacheBuster=" + String.valueOf(System.currentTimeMillis()) + "&jsonRequest={\"returnType\":\"json\",\"request\":\"getAllData\",\"path\":\"" + path + "\"}");
|
||||
|
||||
DLLINK = br.getRegex("file\":\"(.*?)\"").getMatch(0).replace("\\", "");
|
||||
if (DLLINK == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
downloadLink.setFinalFileName(Encoding.htmlDecode(filename.trim()) + ".flv");
|
||||
|
@ -19,7 +19,6 @@ package jd.plugins.hoster;
|
||||
import java.io.IOException;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.http.Browser;
|
||||
import jd.http.URLConnectionAdapter;
|
||||
import jd.parser.Regex;
|
||||
import jd.plugins.DownloadLink;
|
||||
@ -48,17 +47,6 @@ public class HardSexTubeCom extends PluginForHost {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, dllink, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
@ -71,10 +59,7 @@ public class HardSexTubeCom extends PluginForHost {
|
||||
filename = br.getRegex("<div id='tabdetails' style=\" \">.*?<h1>(.*?)</h1>").getMatch(0);
|
||||
}
|
||||
}
|
||||
String videoID = new Regex(downloadLink.getDownloadURL(), "hardsextube\\.com/video/(\\d+)/").getMatch(0);
|
||||
Browser br2 = br.cloneBrowser();
|
||||
br2.getPage("http://vidii.hardsextube.com/video/" + videoID + "/configuj.xml");
|
||||
dllink = br2.getRegex("\"(http://vs[0-9]+\\.hardsextube\\.com/content/.*?\\.(flv|mp4))\"").getMatch(0);
|
||||
dllink = br.getRegex("flvpathValue: \"(http://[^<>\"]*?)\"").getMatch(0);
|
||||
if (filename == null || dllink == null) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
filename = filename.trim();
|
||||
String ext = new Regex(dllink, ".+(\\..*?)$").getMatch(0);
|
||||
@ -96,6 +81,17 @@ public class HardSexTubeCom extends PluginForHost {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, dllink, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ import jd.PluginWrapper;
|
||||
import jd.http.Browser;
|
||||
import jd.http.URLConnectionAdapter;
|
||||
import jd.nutils.encoding.Encoding;
|
||||
import jd.parser.Regex;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.DownloadLink.AvailableStatus;
|
||||
import jd.plugins.HostPlugin;
|
||||
@ -64,15 +63,17 @@ public class HardwareClipsCom extends PluginForHost {
|
||||
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.setFollowRedirects(true);
|
||||
br.setCookie("http://www.hardwareclips.com/", "hideBrowserLanguage", "1");
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
if (br.containsHTML("(Dieses Video existiert nicht\\.|Es wurde entweder gelöscht, als ungeeignet markiert oder einfach noch nicht freigeschaltet\\.)") || br.getURL().contains("type=video_missing")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("<title>(.*?) \\| HardwareClips - Dein Hardware Video-Portal</title>").getMatch(0);
|
||||
String filename = br.getRegex("<title>(.*?) \\| HardwareClips \\- Dein Hardware Video\\-Portal</title>").getMatch(0);
|
||||
if (filename == null) filename = br.getRegex("<meta name=\"title\" content=\"(.*?)\"").getMatch(0);
|
||||
DLLINK = br.getRegex("http://(www\\.)?hardwareclips\\.com:8080/([a-z0-9]+)/\\d+").getMatch(1);
|
||||
DLLINK = br.getRegex("\"(http://([a-z0-9]+\\.)?hardwareclips\\.com:8080/[a-z0-9]+/[a-z0-9\\-_]+\\.(flv|mp4))\"").getMatch(0);
|
||||
if (filename == null || DLLINK == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
DLLINK = "http://www.hardwareclips.com:8080/" + DLLINK + "/" + new Regex(downloadLink.getDownloadURL(), "hardwareclips\\.com/video/(\\d+)").getMatch(0) + ".flv";
|
||||
filename = filename.trim();
|
||||
downloadLink.setFinalFileName(Encoding.htmlDecode(filename) + ".flv");
|
||||
String ext = DLLINK.substring(DLLINK.lastIndexOf("."));
|
||||
if (ext == null || ext.length() > 5) ext = ".flv";
|
||||
downloadLink.setFinalFileName(Encoding.htmlDecode(filename) + ext);
|
||||
Browser br2 = br.cloneBrowser();
|
||||
// In case the link redirects to the finallink
|
||||
br2.setFollowRedirects(true);
|
||||
|
@ -1,91 +0,0 @@
|
||||
// jDownloader - Downloadmanager
|
||||
// Copyright (C) 2009 JD-Team support@jdownloader.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package jd.plugins.hoster;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.DownloadLink.AvailableStatus;
|
||||
import jd.plugins.HostPlugin;
|
||||
import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForHost;
|
||||
|
||||
import org.appwork.utils.formatter.SizeFormatter;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "163pan.com" }, urls = { "http://[\\w\\.]*?163pan\\.com/files/[a-z0-9]+\\.html" }, flags = { 0 })
|
||||
public class Hundred63PanCom extends PluginForHost {
|
||||
|
||||
public Hundred63PanCom(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAGBLink() {
|
||||
return "http://www.163pan.com/help/service.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxSimultanFreeDownloadNum() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception, PluginException {
|
||||
requestFileInformation(downloadLink);
|
||||
br.getPage(downloadLink.getDownloadURL().replace("/files/", "/download/"));
|
||||
String dllink = br.getRegex("class=\"btn_pt\" onclick=\"location\\.href='(http://.*?)'\"").getMatch(0);
|
||||
if (dllink == null) dllink = br.getRegex("('|\")(http://www\\.163pan\\.com/download/index/[a-z0-9]+/.*?\\?hash=[a-z0-9]+\\&tt=\\d+)('|\")").getMatch(1);
|
||||
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, dllink, true, 1);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink link) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.getPage(link.getDownloadURL());
|
||||
if (br.containsHTML("您访问的地址不正确\\!")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("class=\"font_w\">(.*?)<img").getMatch(0);
|
||||
if (filename == null) filename = br.getRegex("id=\"FileName\" value=\"(.*?)\"").getMatch(0);
|
||||
String filesize = br.getRegex("span>文件大小:</span>(.*?)\\(").getMatch(0);
|
||||
if (filesize == null) filesize = br.getRegex("\\(([0-9,]+ 字节)\\)").getMatch(0);
|
||||
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
link.setName(filename.trim());
|
||||
filesize = filesize.replace("字节", "bytes").replace(",", "");
|
||||
link.setDownloadSize(SizeFormatter.getSize(filesize));
|
||||
String md5 = br.getRegex("<span>MD5值:</span>(.*?)</li>").getMatch(0);
|
||||
String sh1 = br.getRegex("<span>SHA1值:</span>(.*?)</li>").getMatch(0);
|
||||
if (md5 != null) link.setMD5Hash(md5);
|
||||
if (sh1 != null) link.setMD5Hash(sh1);
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetDownloadlink(DownloadLink link) {
|
||||
}
|
||||
|
||||
}
|
@ -1,115 +0,0 @@
|
||||
// jDownloader - Downloadmanager
|
||||
// Copyright (C) 2009 JD-Team support@jdownloader.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package jd.plugins.hoster;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.http.URLConnectionAdapter;
|
||||
import jd.nutils.encoding.Encoding;
|
||||
import jd.parser.Regex;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.DownloadLink.AvailableStatus;
|
||||
import jd.plugins.HostPlugin;
|
||||
import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForHost;
|
||||
|
||||
import org.appwork.utils.formatter.SizeFormatter;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "imagehost.org" }, urls = { "http://[\\w\\.]*?imagehost\\.org/(download/[0-9]+/.+|[0-9]+/.+)" }, flags = { 0 })
|
||||
public class ImageHostOrg extends PluginForHost {
|
||||
|
||||
public ImageHostOrg(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAGBLink() {
|
||||
return "http://www.imagehost.org/?p=tos";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxSimultanFreeDownloadNum() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception, PluginException {
|
||||
requestFileInformation(downloadLink);
|
||||
String dllink = null;
|
||||
if (downloadLink.getDownloadURL().contains("/download/")) {
|
||||
// Handling for normal (file) links
|
||||
String postlink = downloadLink.getDownloadURL().replace("/download/", "/ajax/");
|
||||
String poststuff = "a=ajax&rand=" + new Regex(Math.random() * 100000, "(\\d+)").getMatch(0);
|
||||
br.postPage(postlink, poststuff);
|
||||
dllink = br.getRegex("<json>(.*?)</json>").getMatch(0);
|
||||
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
dllink = Encoding.htmlDecode(dllink.trim());
|
||||
dllink = dllink.replaceAll("(\\\\|\")", "");
|
||||
} else {
|
||||
// Handling for direct (picture) links
|
||||
dllink = downloadLink.getDownloadURL();
|
||||
}
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, dllink, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink link) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
if (link.getDownloadURL().contains("/download/")) {
|
||||
// Handling for normal (file) links
|
||||
br.getPage(link.getDownloadURL());
|
||||
if (br.containsHTML("</i> not found")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("<title>(.*?)- ImageHost.org</title>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("ajax_request\\.open\\(\"POST\",\"http://b\\.imagehost\\.org/ajax/\\d+/(.*?)\",true\\)").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("<tr><th colspan=\"2\">(.*?)</th></tr>").getMatch(0);
|
||||
}
|
||||
}
|
||||
String filesize = br.getRegex("\"Download <a href=.*?</a> \\((.*?)\\)\"").getMatch(0);
|
||||
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
link.setDownloadSize(SizeFormatter.getSize(filesize));
|
||||
link.setName(filename.trim());
|
||||
} else {
|
||||
// Handling for direct (picture) links
|
||||
URLConnectionAdapter con = br.openGetConnection(link.getDownloadURL());
|
||||
if (con.getContentType().contains("html")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
long filesize = con.getLongContentLength();
|
||||
if (filesize == 0) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = getFileNameFromHeader(con);
|
||||
link.setDownloadSize(filesize);
|
||||
link.setName(Encoding.htmlDecode(filename).trim());
|
||||
}
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetDownloadlink(DownloadLink link) {
|
||||
}
|
||||
|
||||
}
|
@ -28,7 +28,7 @@ import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForHost;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "imagevenue.com" }, urls = { "http://[\\w\\.]*?img[0-9]+\\.imagevenue\\.com/img\\.php.*?image=.+" }, flags = { 0 })
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "imagevenue.com" }, urls = { "http://[\\w\\.]*?img[0-9]+\\.imagevenue\\.com/img\\.php.*?image={1,300}" }, flags = { 0 })
|
||||
public class ImageVenueCom extends PluginForHost {
|
||||
|
||||
public ImageVenueCom(PluginWrapper wrapper) {
|
||||
|
@ -140,7 +140,7 @@ public class KeezMoviesCom extends PluginForHost {
|
||||
br.setCookie("http://www.keezmovies.com/", "age_verified", "1");
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
if (br.getRedirectLocation() != null) { throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND); }
|
||||
String filename = br.getRegex("<h1 class=\"title\">(.*?)</h1>").getMatch(0);
|
||||
String filename = br.getRegex("<span class=\"fn\" style=\"display:none\">([^<>\"]*?)</span>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("<title>(.*?) - KeezMovies\\.com</title>").getMatch(0);
|
||||
}
|
||||
|
@ -40,6 +40,28 @@ public class LarasLevelBaseOrg extends PluginForHost {
|
||||
this.enablePremium("http://laraslevelbase.org/box_mem_eintrag.asp");
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink link) throws Exception {
|
||||
this.setBrowserExclusive();
|
||||
// We need to log in to get the file status
|
||||
synchronized (LOCK) {
|
||||
Account aa = AccountController.getInstance().getValidAccount(this);
|
||||
if (aa == null) {
|
||||
link.getLinkStatus().setStatusText("Links are only checkable if a registered account is entered!");
|
||||
return AvailableStatus.UNCHECKABLE;
|
||||
}
|
||||
login(aa);
|
||||
}
|
||||
br.getPage(link.getDownloadURL());
|
||||
if (br.containsHTML("<p>Level wurde auf Wunsch des Autos von der Levelbase entfernt")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("onMouseOver=\"status=\\'© Lara´s Levelbase Community\\';return true;\">(.*?)</a></b></font>").getMatch(0);
|
||||
String filesize = br.getRegex("<dt><font face=\"Verdana\" size=\"1\">\\( (.*?) \\)</font>").getMatch(0);
|
||||
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
link.setName(filename.trim());
|
||||
link.setDownloadSize(SizeFormatter.getSize(filesize.replace(",", ".")));
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccountInfo fetchAccountInfo(Account account) throws Exception {
|
||||
AccountInfo ai = new AccountInfo();
|
||||
@ -100,25 +122,6 @@ public class LarasLevelBaseOrg extends PluginForHost {
|
||||
if (br.getCookie("http://laraslevelbase.org/", "SavedLogin") == null) throw new PluginException(LinkStatus.ERROR_PREMIUM, PluginException.VALUE_ID_PREMIUM_DISABLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink link) throws Exception {
|
||||
this.setBrowserExclusive();
|
||||
// We need to log in to get the file status
|
||||
synchronized (LOCK) {
|
||||
Account aa = AccountController.getInstance().getValidAccount(this);
|
||||
if (aa == null) throw new PluginException(LinkStatus.ERROR_FATAL, "Links are only checkable if a registered account is entered!");
|
||||
login(aa);
|
||||
}
|
||||
br.getPage(link.getDownloadURL());
|
||||
if (br.containsHTML("<p>Level wurde auf Wunsch des Autos von der Levelbase entfernt")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("onMouseOver=\"status=\\'© Lara´s Levelbase Community\\';return true;\">(.*?)</a></b></font>").getMatch(0);
|
||||
String filesize = br.getRegex("<dt><font face=\"Verdana\" size=\"1\">\\( (.*?) \\)</font>").getMatch(0);
|
||||
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
link.setName(filename.trim());
|
||||
link.setDownloadSize(SizeFormatter.getSize(filesize.replace(",", ".")));
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ import jd.plugins.PluginForHost;
|
||||
|
||||
import org.appwork.utils.formatter.SizeFormatter;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "letitbit.tv" }, urls = { "http://[\\w\\.]*?letitbit\\.tv/files/\\d+/.+" }, flags = { 0 })
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "getzilla.net", "letitbit.tv" }, urls = { "http://(www\\.)?(letitbit\\.tv|getzilla\\.net)/files/\\d+/.+", "dgbt4746iDELETEMEenth4p93vthjqd34z77brm8ounusedREGEX" }, flags = { 0, 0 })
|
||||
public class LetitbitTv extends PluginForHost {
|
||||
|
||||
public LetitbitTv(PluginWrapper wrapper) {
|
||||
@ -46,6 +46,39 @@ public class LetitbitTv extends PluginForHost {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public void correctDownloadLink(DownloadLink link) {
|
||||
link.setUrlDownload(link.getDownloadURL().replace("letitbit.tv/", "getzilla.net/"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink link) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.getPage(link.getDownloadURL());
|
||||
if (br.containsHTML(">Файл не найден<")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("<title>[\t\n\r ]+Getzilla\\.net ([^<>\"]*?) скачать бесплатно</title>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("<h1>Скачать файл\\ <span>\\«([^<>\"]*?)\\»</span>").getMatch(0);
|
||||
}
|
||||
String filesize = br.getRegex("class=\"filesize archives\">([^<>\"]*?)<div").getMatch(0);
|
||||
if (filename == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
filename = Encoding.htmlDecode(filename);
|
||||
link.setFinalFileName(filename.trim());
|
||||
if (filesize != null) {
|
||||
filesize = filesize.replace(" ", "");
|
||||
filesize = filesize.replace(",", ".");
|
||||
filesize = filesize.replace("Г", "G");
|
||||
filesize = filesize.replace("М", "M");
|
||||
filesize = filesize.replace("к", "k");
|
||||
filesize = filesize.replaceAll("(Б|б)", "");
|
||||
filesize = filesize.replace("байт", "byte");
|
||||
filesize = filesize + "b";
|
||||
link.setDownloadSize(SizeFormatter.getSize(filesize));
|
||||
} else {
|
||||
logger.warning("Filesize regex could be broken!");
|
||||
}
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception, PluginException {
|
||||
requestFileInformation(downloadLink);
|
||||
@ -71,39 +104,6 @@ public class LetitbitTv extends PluginForHost {
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink link) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.getPage(link.getDownloadURL());
|
||||
if (br.containsHTML(">Файл не найден<")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("class=\"orange\">\\«(.*?)\\»</span>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("class=\"\">(.*?)</span>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("class=\"file-property\">Файл</td><td>(.*?)</td>").getMatch(0);
|
||||
}
|
||||
}
|
||||
String filesize = br.getRegex("</sub></div></div><div class=\".*?\"><div class=\".*?\"><div class=\".*?\"></div><span>(.*?)</span></div><table").getMatch(0);
|
||||
if (filesize == null) filesize = br.getRegex("\\»</span></div><div class=\"caption2 grey\"><span class=\"\">.*?</span>\\ [\n\r\t ]+<sub>(.*?)</sub></div>").getMatch(0);
|
||||
if (filename == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
filename = Encoding.htmlDecode(filename);
|
||||
link.setFinalFileName(filename.trim());
|
||||
if (filesize != null) {
|
||||
filesize = filesize.replace(" ", "");
|
||||
filesize = filesize.replace(",", ".");
|
||||
filesize = filesize.replace("Г", "G");
|
||||
filesize = filesize.replace("М", "M");
|
||||
filesize = filesize.replace("к", "k");
|
||||
filesize = filesize.replaceAll("(Б|б)", "");
|
||||
filesize = filesize.replace("байт", "byte");
|
||||
filesize = filesize + "b";
|
||||
link.setDownloadSize(SizeFormatter.getSize(filesize));
|
||||
} else {
|
||||
logger.warning("Filesize regex could be broken!");
|
||||
}
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
@ -1,105 +0,0 @@
|
||||
// jDownloader - Downloadmanager
|
||||
// Copyright (C) 2009 JD-Team support@jdownloader.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package jd.plugins.hoster;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.DownloadLink.AvailableStatus;
|
||||
import jd.plugins.HostPlugin;
|
||||
import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForHost;
|
||||
import jd.utils.locale.JDL;
|
||||
|
||||
import org.appwork.utils.formatter.SizeFormatter;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "madshare.com" }, urls = { "http://(www\\.)?madshare\\.com/(en/)?download/[a-zA-Z0-9]+/" }, flags = { 0 })
|
||||
public class MadShareCom extends PluginForHost {
|
||||
|
||||
public MadShareCom(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAGBLink() {
|
||||
return "http://www.madshare.com/en/tos.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxSimultanFreeDownloadNum() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink link) throws Exception {
|
||||
this.setBrowserExclusive();
|
||||
requestFileInformation(link);
|
||||
String freelink = br.getRegex("\"(free-download/.*?/.*?)\"").getMatch(0);
|
||||
if (freelink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
br.getPage("http://www.madshare.com/" + freelink);
|
||||
String id = br.getRegex("id:'(.*?)'").getMatch(0);
|
||||
if (id == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
String ttt = br.getRegex("class=\"counter\" style='font-size:48px;color:#f15a22;'>(\\d+)</span><br />seconds left</b>").getMatch(0);
|
||||
br.getPage("http://www.madshare.com/api/get-download-id?id=" + id);
|
||||
// Usually happens when you try to start more than 1 dl at the same time
|
||||
if (br.containsHTML("dailyLimitExceeded")) throw new PluginException(LinkStatus.ERROR_IP_BLOCKED, 30 * 60 * 1000l);
|
||||
String server = br.getRegex("server.*?'(.*?)'").getMatch(0);
|
||||
String key = br.getRegex("key.*?'(.*?)'").getMatch(0);
|
||||
if (server == null || key == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
String dllink = "http://" + server + "/download/" + key;
|
||||
int tt = 60;
|
||||
if (ttt != null) {
|
||||
logger.info("Waittime detected, waiting " + ttt.trim() + " seconds from now on...");
|
||||
tt = Integer.parseInt(ttt);
|
||||
}
|
||||
tt = tt + 1;
|
||||
sleep(tt * 1001, link);
|
||||
br.setDebug(true);
|
||||
jd.plugins.BrowserAdapter.openDownload(br, link, dllink, false, 1);
|
||||
if ((dl.getConnection().getContentType().contains("html"))) {
|
||||
String check = br.getURL();
|
||||
if (check.contains("freeWait") || check.contains("freeStarted")) throw new PluginException(LinkStatus.ERROR_IP_BLOCKED, 60 * 60 * 1000l);
|
||||
if (check.contains("freeSlotsOver")) throw new PluginException(LinkStatus.ERROR_HOSTER_TEMPORARILY_UNAVAILABLE, JDL.L("plugins.hoster.MadShareCom.NoFreeSlotsAvailable", "No free slots available"), 10 * 60 * 1000l);
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink parameter) throws Exception {
|
||||
this.setBrowserExclusive();
|
||||
br.setFollowRedirects(false);
|
||||
br.getPage(parameter.getDownloadURL());
|
||||
if (br.getRedirectLocation() != null) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("<title>MadShare.com.*?Download(.*?)</title>").getMatch(0);
|
||||
if (filename == null) filename = br.getRegex("<h2>(.*?)\\(<span").getMatch(0);
|
||||
String filesize = br.getRegex("class=\"size\">(.*?)</span>").getMatch(0);
|
||||
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
parameter.setName(filename.trim());
|
||||
parameter.setDownloadSize(SizeFormatter.getSize(filesize + "Bytes"));
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetDownloadlink(DownloadLink link) {
|
||||
}
|
||||
|
||||
}
|
@ -71,8 +71,9 @@ public class PartageFacileCom extends PluginForHost {
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, InterruptedException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.setFollowRedirects(true);
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
if (br.containsHTML("(>Envoyez vos fichiers maintenant<|Partage\\-Facile : H\\ébergement de fichiers, Facile, Rapide et Securis\\é\\!)")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
if (br.containsHTML("http\\-equiv=\"refresh\" content=\"\\d+;url=http://(www\\.)?partage\\-facile\\.com\"")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filesize = br.getRegex("<th>Taille :</th>[\t\n\r ]+<td>([^<>\"\\']+)</td>").getMatch(0);
|
||||
String filename = br.getRegex("<th class=\"span4\">Nom :</th>[\t\n\r ]+<td>([^<>\"\\']+)</td>").getMatch(0);
|
||||
if (filename == null) {
|
||||
|
@ -72,7 +72,7 @@ public class PornHubCom extends PluginForHost {
|
||||
br.setCookie("http://pornhub.com/", "age_verified", "1");
|
||||
br.setFollowRedirects(true);
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
if (br.getURL().equals("http://www.pornhub.com/") || br.containsHTML("(Video has been reported as copyrighted material|<title>Free Porn Videos \\& Sex Movies \\- Porno, XXX, Porn Tube and Pussy Porn</title>)")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
if (br.getURL().equals("http://www.pornhub.com/") || !br.containsHTML("\\.swf\"")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
dlUrl = null;
|
||||
String file_name = br.getRegex("class=\"section_bar\"><h1 class=\"section_title\">([^<>/]*?)</h1>").getMatch(0);
|
||||
if (file_name == null) file_name = br.getRegex("<title([^<>/]*?) \\- Pornhub\\.com</title>").getMatch(0);
|
||||
|
@ -77,6 +77,7 @@ public class ShufuniCom extends PluginForHost {
|
||||
String filename = null;
|
||||
if (downloadLink.getDownloadURL().matches("http://(www\\.)?shufuni\\.com/handlers/FLVStreamingv2\\.ashx\\?videoCode=[A-Z0-9\\-]+")) {
|
||||
filename = downloadLink.getFinalFileName();
|
||||
if (filename == null) filename = downloadLink.getName();
|
||||
dllink = br.getRegex("CDNUrl=(http://[^<>\"]*?)\\&SeekType=").getMatch(0);
|
||||
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
String ext = null;
|
||||
|
@ -94,7 +94,7 @@ public class StileProjectCom extends PluginForHost {
|
||||
}
|
||||
|
||||
private void getdllink() throws PluginException, IOException {
|
||||
final Regex videoMETA = br.getRegex("(VideoFile|VideoMeta)_(\\d+)\\&");
|
||||
final Regex videoMETA = br.getRegex("(VideoFile|VideoMeta)_(\\d+)");
|
||||
final String type = videoMETA.getMatch(0);
|
||||
final String id = videoMETA.getMatch(1);
|
||||
final String cb = br.getRegex("\\?cb=(\\d+)\\'").getMatch(0);
|
||||
|
@ -49,33 +49,25 @@ public class TuTv extends PluginForHost {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, DLLINK, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.setFollowRedirects(true);
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
if (br.containsHTML("(>El vídeo que intentas ver no existe o ha sido borrado de TU|>Afortunadamente, el sistema ha encontrado vídeos relacionados con tu petición)") || br.getURL().contains("/noExisteVideo/")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("<title>Tu\\.tv - .*? - Video: (.*?)</title>").getMatch(0);
|
||||
String filename = br.getRegex("<title>([^<>\"]*?) \\- Tu\\.tv</title>").getMatch(0);
|
||||
if (filename == null) {
|
||||
//
|
||||
filename = br.getRegex("class=\"title_comentario\">Comentarios de <strong>(.*?)</strong>").getMatch(0);
|
||||
if (filename == null) {
|
||||
filename = br.getRegex("<h2>(.*?)</h2>").getMatch(0);
|
||||
}
|
||||
}
|
||||
DLLINK = br.getRegex("RunPlayer\\(\\'.*?\\',\\'(.*?)\\'").getMatch(0);
|
||||
if (filename == null || DLLINK == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
String vid = br.getRegex(">var codVideo=(\\d+);").getMatch(0);
|
||||
if (vid == null) vid = br.getRegex("\\&xtp=(\\d+)\"").getMatch(0);
|
||||
if (filename == null || vid == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
br.getPage("http://tu.tv/flvurl.php?codVideo=" + vid + "&v=WIN%2010,3,181,34&fm=1");
|
||||
DLLINK = br.getRegex("\\&kpt=([^<>\"]*?)\\&").getMatch(0);
|
||||
if (DLLINK == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
DLLINK = Encoding.Base64Decode(DLLINK);
|
||||
filename = filename.trim();
|
||||
downloadLink.setFinalFileName(filename + ".flv");
|
||||
@ -98,6 +90,17 @@ public class TuTv extends PluginForHost {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, DLLINK, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
@ -41,11 +41,9 @@ public class XHamsterCom extends PluginForHost {
|
||||
}
|
||||
|
||||
public String getDllink() throws IOException, PluginException {
|
||||
String server = br.getRegex("\\'srv\\': \\'(.*?)\\'").getMatch(0);
|
||||
String file = br.getRegex("\\'file\\': \\'(.*?)\\'").getMatch(0);
|
||||
if (server == null || file == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
String dllink = server + "/key=" + file;
|
||||
return dllink;
|
||||
final String dllink = br.getRegex("\\'file\\': \\'(.*?)\\'").getMatch(0);
|
||||
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
return Encoding.htmlDecode(dllink);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -74,14 +72,10 @@ public class XHamsterCom extends PluginForHost {
|
||||
}
|
||||
if (filename == null) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String dllink = getDllink();
|
||||
String ending = br.getRegex("\\'type\\':\\'(.*?)\\'").getMatch(0);
|
||||
if (ending == null) ending = dllink.substring(dllink.length() - 3, dllink.length());
|
||||
filename = Encoding.htmlDecode(filename.trim());
|
||||
if (ending != null) {
|
||||
downloadLink.setFinalFileName(filename + "." + ending);
|
||||
} else {
|
||||
downloadLink.setName(filename);
|
||||
}
|
||||
String ext = dllink.substring(dllink.lastIndexOf("."));
|
||||
if (ext == null || ext.length() > 5) ext = ".flv";
|
||||
filename = Encoding.htmlDecode(filename.trim() + ext);
|
||||
downloadLink.setFinalFileName(filename);
|
||||
URLConnectionAdapter con = null;
|
||||
try {
|
||||
con = br.openGetConnection(dllink);
|
||||
|
@ -55,17 +55,6 @@ public class XTubeCom extends PluginForHost {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, DLLINK, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
@ -73,7 +62,7 @@ public class XTubeCom extends PluginForHost {
|
||||
br.setCookie(MAINPAGE, "cookie_warning", "S");
|
||||
br.setFollowRedirects(true);
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
if (br.getURL().contains("xtube.com/?msg=Invalid+Video+ID")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
if (br.getURL().contains("xtube.com/?msg=Invalid+Video+ID") || br.containsHTML(">This video has been removed from XTube")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filename = br.getRegex("<div class=\"p_5px font_b_12px f_left\">(.*?)</div>").getMatch(0);
|
||||
if (filename == null) filename = br.getRegex("<div class=\"font_b_12px\">(.*?)</div><div").getMatch(0);
|
||||
String fileID = new Regex(downloadLink.getDownloadURL(), "xtube\\.com/watch\\.php\\?v=(.+)").getMatch(0);
|
||||
@ -105,6 +94,17 @@ public class XTubeCom extends PluginForHost {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, DLLINK, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
@ -1,96 +0,0 @@
|
||||
// jDownloader - Downloadmanager
|
||||
// Copyright (C) 2009 JD-Team support@jdownloader.org
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
package jd.plugins.hoster;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import jd.PluginWrapper;
|
||||
import jd.plugins.DownloadLink;
|
||||
import jd.plugins.DownloadLink.AvailableStatus;
|
||||
import jd.plugins.HostPlugin;
|
||||
import jd.plugins.LinkStatus;
|
||||
import jd.plugins.PluginException;
|
||||
import jd.plugins.PluginForHost;
|
||||
|
||||
import org.appwork.utils.formatter.SizeFormatter;
|
||||
|
||||
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "yabadaba.ru" }, urls = { "http://[\\w\\.]*?yabadaba\\.ru/files/[0-9]+" }, flags = { 0 })
|
||||
public class YabaDabaRu extends PluginForHost {
|
||||
|
||||
public YabaDabaRu(PluginWrapper wrapper) {
|
||||
super(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAGBLink() {
|
||||
return "http://yabadaba.ru/pages/agreement";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxSimultanFreeDownloadNum() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleFree(DownloadLink downloadLink) throws Exception {
|
||||
requestFileInformation(downloadLink);
|
||||
String continuelink = br.getRegex("<h1><a href=\"(http.*?)\"").getMatch(0);
|
||||
if (continuelink == null) {
|
||||
continuelink = br.getRegex("\"(http://yaba[0-9]+\\.yabadaba\\.ru/download/.*?/[0-9]+)\"").getMatch(0);
|
||||
}
|
||||
if (continuelink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
br.getPage(continuelink);
|
||||
if (br.containsHTML("All free download slots are busy")) { throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE, "No free slots available at this moment!"); }
|
||||
String dllink = br.getRegex("\"(\\?did=\\d+)\"").getMatch(0);
|
||||
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
dllink = br.getURL() + dllink;
|
||||
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, dllink, true, 0);
|
||||
if (dl.getConnection().getContentType().contains("html")) {
|
||||
br.followConnection();
|
||||
if (br.containsHTML("(<title>404 Not Found</title>|<h1>404 Not Found</h1>)")) throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE, "Server error");
|
||||
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
|
||||
}
|
||||
dl.startDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws IOException, PluginException {
|
||||
this.setBrowserExclusive();
|
||||
br.setFollowRedirects(true);
|
||||
br.getPage(downloadLink.getDownloadURL());
|
||||
if (br.containsHTML("Этот файл не найден")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
String filesize = br.getRegex("Размер файла:(.*?)<br").getMatch(0);
|
||||
String filename = br.getRegex("<title>(.*?)&bul.*?Yabadaba").getMatch(0);
|
||||
if (filename == null) filename = br.getRegex("Скачать файл</div>.*?<h1>(.*?)</h1>").getMatch(0);
|
||||
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
|
||||
downloadLink.setName(filename.trim());
|
||||
downloadLink.setDownloadSize(SizeFormatter.getSize(filesize));
|
||||
return AvailableStatus.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetDownloadlink(DownloadLink link) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetPluginGlobals() {
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user