-fixed diskyandex errorhandling fixes #5711

-added a decrypter to decrypt embedded diziport videos, also improved errorhandling fixes #5712
-fixed voayeurs for tube8 and tnaflix fixes #5716
-added support for shareupload closes #5700
-fixed flyfiles fixes #5703
-fixed oneclickmvz fixes #5704
-improved sourceforge fixes #5705
-fixed naughtyblog for older links fixes #5718
-re-added sharex fixes #5638

git-svn-id: svn://svn.jdownloader.org/jdownloader/trunk@18037 ebf7c1c2-ba36-0410-9fe8-c592906822b4
This commit is contained in:
psp 2012-07-24 18:32:16 +00:00
parent 6ddc080cd5
commit 9604744b85
11 changed files with 341 additions and 30 deletions

View File

@ -838,7 +838,6 @@ jd/plugins/decrypter/XXXBlg.class
jd/plugins/hoster/MadShareCom.class
jd/plugins/hoster/ImageHostOrg.class
jd/captcha/methods/lttbt
jd/plugins/hoster/ShareXXpgComBr.class
jd/plugins/hoster/FileKeeperOrg.class
jd/plugins/hoster/AnnonHostNet.class
jd/plugins/hoster/JSharerCom.class

View File

@ -47,7 +47,7 @@ import jd.utils.locale.JDL;
"http://(www\\.)?protetorbr\\.com/d\\?id=\\d+", "http://(www\\.)?adv\\.li/[A-Za-z0-9]+", "http://(www\\.)?lezlezlez\\.com/mediaswf\\.php\\?type=vid\\&name=[^<>\"/]+\\.flv", "http://(www\\.)?dwz\\.cn/[A-Za-z0-9]+", "http://(www\\.)?online\\.nolife\\-tv\\.com/index\\.php\\?id=\\d+", "http://(www\\.)?digitaldripped\\.com/[^<>\"\\']+", "http://(www\\.)?guardlink\\.org/[A-Za-z0-9]+", "http://url\\.cn/[0-9a-zA-Z]+", "http://q32\\.ru/\\d+/c/[A-Za-z0-9\\-_]+", "http://(de\\.)?shrk\\.biz/\\w+", "http://(www\\.)?icefilms\\.info/ip\\.php\\?v=\\d+\\&?", "http://(www\\.)?gabber\\.od\\.ua/g/\\?[^/<>\"]+", "http://(www\\.)?vimeo\\.com/(?!(\\d+/|tag|search)).*?/.+", "http://(www\\.)?unlimfiles\\.com/sourceframe/.+", "http://(www\\.)?adfoc\\.us/(serve/\\?id=[a-z0-9]+|[a-z0-9]+)", "http://(www\\.)?mrbrownee70\\.com/\\?id=[A-Za-z0-9]+", "http://[\\w\\.]*?alturl\\.com/[a-z0-9]+",
"http://(www\\.)?trancearoundtheworld\\.com/tatw/\\d+", "http://(www\\.)?egfire\\.net/\\d+", "http://(www\\.)?damasgate\\.com/redirector\\.php\\?url=.+", "http://(www\\.)?freeonsmash\\.com/redir/[A-Za-z0-9\\=\\+\\/\\.\\-]+", "http://(www\\.)?lnk\\.co/[A-Za-z0-9]+", "http://(www\\.)?trackstash\\.com/tracks/[a-z0-9\\-]+", "http://(www\\.)?fburls\\.com/\\d+\\-[A-Za-z0-9]+", "http://(www\\.)?protect\\.myurl\\.in/[A-Za-z0-9]+", "http://(www\\.)?h\\-url\\.in/[A-Za-z0-9]+", "https://(www\\.)?dropbox\\.com/s/[a-z0-9]+/.+", "http://(www\\.)?(1lien\\.com/(download/)?\\d+/|1\\-star\\.net/\\d+/\\d+/|stardima\\.com(/anime)?/download/\\d+/)", "http://(www\\.)?protect-ddl\\.com/[a-fA-F0-oneclickmoviez9]+", "http://(www\\.)?filep\\.info/(\\?url=|/)\\d+", "http://(www\\.)?grou\\.ps/[a-z0-9]+/videos/\\d+", "http://(www\\.)?linkexterno\\.com/[A-Za-z0-9]+",
"http://(www\\.)?eskimotube\\.com/\\d+\\-.*?\\.html", "http://(www\\.)?m4u\\.in/[a-z0-9]+", "http://(www\\.)?4p5\\.com/[a-z0-9]+", "http://t\\.co/[a-zA-Z0-9]+", "http://[\\w\\.]*?telona\\.biz/protec?tor.*?\\?.*?//:ptth", "http://go\\.madmimi\\.com/redirects/[a-zA-Z0-9]+\\?pa=\\d+", "http://href\\.hu/x/[a-zA-Z0-9\\.]+", "http://hide\\.linkleak\\.org/[a-zA-Z0-9\\.]+", "http://[\\w\\.]*?migre\\.me/[a-z0-9A-Z]+", "http://[\\w\\.]*?degracaemaisgostoso\\.(biz|info)/download/\\?url=.*?:ptth", "http://[\\w\\.]*?altervista\\.org/\\?i=[0-9a-zA-Z]+", "http://[\\w\\.]*?agaleradodownload\\.com/download.*?\\?.*?//:ptth", "http://[\\w\\.]*?musicloud\\.fm/dl/[A-Za-z0-9]+", "http://[\\w\\.]*?wowebook\\.com/(e-|non-e-)book/.*?/.*?\\.html", "http://[\\w\\.]*?(link\\.songs\\.pk/(popsong|song1|bhangra)\\.php\\?songid=|songspk\\.info/ghazals/download/ghazals\\.php\\?id=)[0-9]+",
"http://[\\w\\.]*?imageto\\.net/(\\?v=|images/)[0-9a-z]+\\..{2,4}", "http://[\\w\\.]*?clubteam\\.eu/dl\\.php\\?id=\\d\\&c=[a-zA-z0-9=]+", "http://[\\w\\.]*?jforum\\.uni\\.cc/protect/\\?r=[a-z0-9]+", "http://[\\w\\.]*?linksole\\.com/[0-9a-z]+", "http://[\\w\\.]*?deurl\\.me/[0-9A-Z]+", "http://(www\\.)?(yourfileplace|megafilegarden)\\.com/d/\\d+/.+", "http://[\\w\\.]*?muzgruz\\.ru/music/download/\\d+", "http://[\\w\\.]*?zero10\\.net/\\d+", "http://[\\w\\.]*?aiotool\\.net/\\d+", "http://[\\w\\.]*?chip\\.de/c1_videos/.*?-Video_\\d+\\.html", "http://(www\\.)?multiprotect\\.info/\\d+", "http://[\\w\\.]*?nbanews\\.us/\\d+", "http://[\\w\\.]*?top2tech\\.com/\\d+", "http://(www\\.)?umquetenha\\.org/protecao/resolve\\.php\\?link=.+", "http://(www\\.)?oneclickmoviez\\.com/dwnls/[A-Za-z0-9]+/\\d+/\\d+", "http://[\\w\\.]*?1tool\\.biz/\\d+",
"http://[\\w\\.]*?imageto\\.net/(\\?v=|images/)[0-9a-z]+\\..{2,4}", "http://[\\w\\.]*?clubteam\\.eu/dl\\.php\\?id=\\d\\&c=[a-zA-z0-9=]+", "http://[\\w\\.]*?jforum\\.uni\\.cc/protect/\\?r=[a-z0-9]+", "http://[\\w\\.]*?linksole\\.com/[0-9a-z]+", "http://[\\w\\.]*?deurl\\.me/[0-9A-Z]+", "http://(www\\.)?(yourfileplace|megafilegarden)\\.com/d/\\d+/.+", "http://[\\w\\.]*?muzgruz\\.ru/music/download/\\d+", "http://[\\w\\.]*?zero10\\.net/\\d+", "http://[\\w\\.]*?aiotool\\.net/\\d+", "http://[\\w\\.]*?chip\\.de/c1_videos/.*?-Video_\\d+\\.html", "http://(www\\.)?multiprotect\\.info/\\d+", "http://[\\w\\.]*?nbanews\\.us/\\d+", "http://[\\w\\.]*?top2tech\\.com/\\d+", "http://(www\\.)?umquetenha\\.org/protecao/resolve\\.php\\?link=.+", "http://(www\\.)?oneclickmoviez\\.com/[a-z]{1,8}/[A-Z0-9\\-_]+/\\d+/\\d+", "http://[\\w\\.]*?1tool\\.biz/\\d+",
"http://(www\\.)?trailerzone\\.info/(protect|wait(2)?)\\.(php\\?|html)(key=|u=|#:{1,})[a-zA-Z0-9=+/]+", "http://[\\w\\.]*?imagetwist\\.com/[a-z0-9]{12}", "http://[\\w\\.]*?(file4ever\\.us|catchfile\\.net)/\\d+", "http://[\\w\\.]*?(zero10\\.net/|gamz\\.us/\\?id=)\\d+", "http://(www\\.)?official\\.fm/track(s)?/\\d+", "http://(www\\.)?hypem\\.com/(track/\\d+/|item/[a-z0-9]+)", "http://[\\w\\.]*?academicearth\\.org/lectures/.+", "http://[\\w\\.]*?skreemr\\.org/link\\.jsp\\?id=[A-Z0-9]+", "http://[\\w\\.]*?tm-exchange\\.com/(get\\.aspx\\?action=trackgbx|\\?action=trackshow)\\&id=\\d+", "http://[\\w\\.]*?adiarimore\\.com/miralink/[a-z0-9]+", "http://[\\w\\.]*?mafia\\.to/download-[a-z0-9]+\\.cfm", "http://[\\w\\.]*?bogatube\\.com/tube/\\d+/\\d+/.*?\\.php", "http://[\\w\\.]*?newgrounds\\.com/(portal/view/|audio/listen/)\\d+", "http://(www\\.)?accuratefiles\\.com/fileinfo/[a-z0-9]+",
"http://(www\\.)?slutdrive\\.com/video-\\d+\\.html", "http://(www\\.)?view\\.stern\\.de/de/(picture|original)/.*?-\\d+\\.html", "http://(www\\.)?fileblip\\.com/[a-z0-9]+", "http://(www\\.)?warcraft\\.ingame\\.de/downloads/\\?file=\\d+", "http://(www\\.)?mixconnect\\.com/listen/.*?-mid\\d+", "http://(www\\.)?twiturm\\.com/[a-z0-9]+", "http://(www\\.)?ebooksdownloadfree\\.com/.*?/.*?\\.html", "http://(www\\.)?freebooksearcher\\.info/downloadbook\\.php\\?id=\\d+", "http://(www\\.)?ubuntuone\\.com/p/[A-Za-z0-9]+", "http://[\\w\\.]*?mp3\\.wp\\.pl/(?!ftp)(p/strefa/artysta/\\d+,utwor,\\d+\\.html|\\?tg=[A-Za-z0-9=]+)", "http://(www\\.)?gantrack\\.com/t/l/\\d+/[A-Za-z0-9]+", "http://(www\\.)?mediaboom\\.org/engine/go\\.php\\?url=.+" }, flags = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 })
@ -154,8 +154,8 @@ public class DecrypterForRedirectServicesWithoutDirectRedirects extends PluginFo
finallink = br.getRegex("onclick=\"NewWindow\\('(.*?)','").getMatch(0);
} else if (parameter.contains("umquetenha.org/protecao/resolve.php?link=")) {
finallink = br.getRegex("http\\-equiv=\"refresh\" content=\"\\d+; url=(http.*?)\"").getMatch(0);
} else if (parameter.contains("oneclickmoviez.com/dwnls/")) {
final Regex allMatches = new Regex(parameter, "oneclickmoviez\\.com/dwnls/([A-Za-z0-9]+)/(\\d+)/(\\d+)");
} else if (parameter.contains("oneclickmoviez.com/")) {
final Regex allMatches = new Regex(parameter, "oneclickmoviez\\.com/[a-z]+/([A-Z0-9\\-_]+)/(\\d+)/(\\d+)");
final String host = allMatches.getMatch(0);
final String id1 = allMatches.getMatch(1);
final String id2 = allMatches.getMatch(2);

View File

@ -0,0 +1,54 @@
//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.decrypter;
import java.util.ArrayList;
import jd.PluginWrapper;
import jd.controlling.ProgressController;
import jd.plugins.CryptedLink;
import jd.plugins.DecrypterPlugin;
import jd.plugins.DownloadLink;
import jd.plugins.PluginForDecrypt;
//Decrypts embedded videos from diziport.com
@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "diziport.com" }, urls = { "http://(www\\.)?diziport\\.com/.*?/.*?/(\\d+)?" }, flags = { 0 })
public class DiziPortComDecrypter extends PluginForDecrypt {
public DiziPortComDecrypter(PluginWrapper wrapper) {
super(wrapper);
}
public ArrayList<DownloadLink> decryptIt(CryptedLink param, ProgressController progress) throws Exception {
ArrayList<DownloadLink> decryptedLinks = new ArrayList<DownloadLink>();
String parameter = param.toString();
br.getPage(parameter);
final String sid = br.getRegex("\\&sid=(.*?)\"").getMatch(0);
if (sid != null) {
br.getHeaders().put("X-Requested-With", "XMLHttpRequest");
br.getPage("http://diziport.com/nesne-uye.php?olay=sayac&sid=" + sid);
String externID = br.getRegex("file:\\'((www\\.)?youtube\\.com/watch\\?v=[^<>\"]*?)\\',").getMatch(0);
if (externID != null) {
decryptedLinks.add(createDownloadlink("http://" + externID));
return decryptedLinks;
}
}
decryptedLinks.add(createDownloadlink(parameter.replace("diziport.com/", "diziportdecrypted.com/")));
return decryptedLinks;
}
}

View File

@ -39,23 +39,23 @@ public class NaughtyBlgOrg extends PluginForDecrypt {
// check if DL is from the 'clips' section
Regex categoryCheck = null;
categoryCheck = br.getRegex("<div id=\"post-\\d+\" class=\".*category-clips.*\">");
categoryCheck = br.getRegex("<div id=\"post-\\d+\" class=\".*category\\-clips.*\">");
if (categoryCheck.matches()) {
category = Category.CLIP;
}
// check if DL is from the 'movies' section
categoryCheck = br.getRegex("<div id=\"post-\\d+\" class=\".*category-movies.*\">");
categoryCheck = br.getRegex("<div id=\"post-\\d+\" class=\".*category\\-movies.*\">");
if (categoryCheck.matches()) {
category = Category.MOVIE;
}
// check if DL is from the 'siterips' section
categoryCheck = br.getRegex("<div id=\"post-\\d+\" class=\".*category-siterips.*\">");
categoryCheck = br.getRegex("<div id=\"post-\\d+\" class=\".*category\\-siterips.*\">");
if (categoryCheck.matches()) {
category = Category.SITERIP;
}
String contentReleaseLinks = null;
if (category != Category.SITERIP) {
contentReleaseLinks = br.getRegex(">Download:</(.*?)</div>").getMatch(0);
contentReleaseLinks = br.getRegex(">Download:?</(.*?)</div>").getMatch(0);
if (contentReleaseLinks == null) {
logger.warning("contentReleaseLinks == null");
return null;

View File

@ -40,6 +40,8 @@ public class SourceForgeNet extends PluginForDecrypt {
public ArrayList<DownloadLink> decryptIt(CryptedLink param, ProgressController progress) throws Exception {
ArrayList<DownloadLink> decryptedLinks = new ArrayList<DownloadLink>();
String parameter = param.toString();
// We get downloadlinks depending on our useragent
br.getHeaders().put("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1");
br.setFollowRedirects(true);
// Test if we already have a direct link here
URLConnectionAdapter con = br.openGetConnection(parameter);

View File

@ -72,7 +72,7 @@ public class VoaYeursCom extends PluginForDecrypt {
}
externID = br.getRegex("\"(http://(www\\.)?tube8\\.com/embed/[^<>\"/]*?/[^<>\"/]*?/\\d+/?)\"").getMatch(0);
if (externID != null) {
decryptedLinks.add(createDownloadlink(externID.replace("tube8.com/embed", "tube8.com/")));
decryptedLinks.add(createDownloadlink(externID.replace("tube8.com/embed/", "tube8.com/")));
return decryptedLinks;
}
externID = br.getRegex("(http://(www\\.)?drtuber\\.com/player/config_embed3\\.php\\?vkey=[a-z0-9]+)").getMatch(0);
@ -120,11 +120,6 @@ public class VoaYeursCom extends PluginForDecrypt {
decryptedLinks.add(createDownloadlink("http://xhamster.com/movies/" + externID + "/" + System.currentTimeMillis() + ".html"));
return decryptedLinks;
}
externID = br.getRegex("player\\.tnaflix\\.com/video/(\\d+)\"").getMatch(0);
if (externID != null) {
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) {
@ -158,6 +153,19 @@ public class VoaYeursCom extends PluginForDecrypt {
decryptedLinks.add(dl);
return decryptedLinks;
}
externID = br.getRegex("tnaflix\\.com//embedding_player/player[^<>\"/]*?\" /><param name=\"FlashVars\" value=\"config=(embedding_feed\\.php\\?viewkey=[a-z0-9]+)\"").getMatch(0);
if (externID != null) {
br.getPage("http://www.tnaflix.com/embedding_player/" + externID);
externID = br.getRegex("<file>(http://[^<>\"]*?)</file>").getMatch(0);
if (externID == null) {
logger.warning("Decrypter broken for link: " + parameter);
return null;
}
final DownloadLink dl = createDownloadlink("directhttp://" + externID);
dl.setFinalFileName(Encoding.htmlDecode(filename.trim()) + ".flv");
decryptedLinks.add(dl);
return decryptedLinks;
}
if (externID == null) {
logger.warning("Couldn't decrypt link: " + parameter);
return null;

View File

@ -60,7 +60,7 @@ public class DiskYandexNet extends PluginForHost {
br.setFollowRedirects(true);
br.getHeaders().put("X-Requested-With", "XMLHttpRequest");
br.postPage("https://disk.yandex.net/neo2/handlers/handlers.jsx", "_handlers=disk-file-info&_locale=en&_page=disk-share&_service=disk&hash=" + Encoding.urlEncode(getHashID(link)));
if (br.containsHTML(">Decryption error<")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
if (br.containsHTML(">resource not found<")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
String filename = parse("name");
String filesize = parse("size");
if (filename == null || filesize == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);

View File

@ -30,7 +30,7 @@ import jd.plugins.LinkStatus;
import jd.plugins.PluginException;
import jd.plugins.PluginForHost;
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "diziport.com" }, urls = { "http://(www\\.)?diziport\\.com/.*?/.*?/(\\d+)?" }, flags = { 0 })
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "diziport.com" }, urls = { "http://(www\\.)?diziportdecrypted\\.com/.*?/.*?/(\\d+)?" }, flags = { 0 })
public class DiziPortCom extends PluginForHost {
private String DLLINK = null;
@ -49,15 +49,8 @@ public class DiziPortCom 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();
public void correctDownloadLink(DownloadLink link) {
link.setUrlDownload(link.getDownloadURL().replace("diziportdecrypted.com/", "diziport.com/"));
}
@Override
@ -65,13 +58,13 @@ public class DiziPortCom extends PluginForHost {
this.setBrowserExclusive();
br.setFollowRedirects(true);
br.getPage(downloadLink.getDownloadURL());
if (br.containsHTML(">sayfa bulunamadý")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
if (br.containsHTML(">sayfa bulunamadý") || !br.containsHTML("\\'/js/swfobject\\.js\\'")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
String filename = br.getRegex("<meta property=\"og:title\" content=\"(.*?) izle \\- Diziport\"").getMatch(0);
if (filename == null) filename = br.getRegex("<title>(.*?) izle - Diziport</title>").getMatch(0);
DLLINK = br.getRegex("\\&sid=(.*?)\"").getMatch(0);
if (filename == null || DLLINK == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
br.getHeaders().put("X-Requested-With", "XMLHttpRequest");
br.getPage("http://diziport.com/nesne.php?olay=sayac&sid=" + DLLINK);
br.getPage("http://diziport.com/nesne-uye.php?olay=sayac&sid=" + DLLINK);
DLLINK = br.getRegex("\\&strSource=(http.*?)(\\&publisherLogo=|\\')").getMatch(0);
if (DLLINK == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
DLLINK = Encoding.htmlDecode(DLLINK);
@ -104,6 +97,17 @@ public class DiziPortCom 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() {
}

View File

@ -19,6 +19,7 @@ package jd.plugins.hoster;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
import jd.PluginWrapper;
import jd.config.Property;
@ -92,7 +93,7 @@ public class FileFilesNet extends PluginForHost {
this.setBrowserExclusive();
br.getPage(link.getDownloadURL());
if (br.containsHTML(">[\r\n\t ]+File not found\\![\r\n\t ]+<")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
String[][] fileInfo = br.getRegex("(?i)<div id=\"file_det\">[\r\n\t ]+(.+) \\- ([\\d\\.]+ (KB|MB|GB|TB))").getMatches();
String[][] fileInfo = br.getRegex(Pattern.compile("<div id=\"file_det\" style=\"top:\\d+%;\">[\r\n\t ]+(.+) \\- ([\\d\\.]+ (KB|MB|GB|TB))", Pattern.CASE_INSENSITIVE)).getMatches();
if (fileInfo == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
link.setName(Encoding.htmlDecode(fileInfo[0][0].trim()));
link.setDownloadSize(SizeFormatter.getSize(fileInfo[0][1]));
@ -105,7 +106,8 @@ public class FileFilesNet extends PluginForHost {
if (dllink == null) {
requestFileInformation(downloadLink);
br.postPage(HOST + "/", "getDownLink=" + new Regex(downloadLink.getDownloadURL(), "net/(.*)").getMatch(0));
// they don't show any info about limits or waits. You seem to just get '#' instead of link.
// they don't show any info about limits or waits. You seem to just
// get '#' instead of link.
if (br.containsHTML("#downlink\\|#")) throw new PluginException(LinkStatus.ERROR_IP_BLOCKED, "Hoster connection limit reached.", 10 * 60 * 1000l);
dllink = getDllink();
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
@ -228,7 +230,8 @@ public class FileFilesNet extends PluginForHost {
if (dllink == null) {
br.postPage(HOST + "/", "getDownLink=" + new Regex(link.getDownloadURL(), "net/(.*)").getMatch(0));
dllink = getDllink();
// they don't show any info about limits or waits. You seem to just get '#' instead of link.
// they don't show any info about limits or waits. You seem to just
// get '#' instead of link.
if (br.containsHTML("#downlink\\|#")) throw new PluginException(LinkStatus.ERROR_IP_BLOCKED, "Hoster connection limit reached.", 10 * 60 * 1000l);
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
}

View File

@ -0,0 +1,145 @@
//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.File;
import jd.PluginWrapper;
import jd.nutils.encoding.Encoding;
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 jd.utils.JDUtilities;
import org.appwork.utils.formatter.SizeFormatter;
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "shareupload.net" }, urls = { "http://(www\\.)?shareupload\\.net/((\\?d|download\\.php\\?id)=[A-Z0-9]+|((en|ru|fr|es|de)/)?file/[0-9]+/)" }, flags = { 2 })
public class ShareUploadNet extends PluginForHost {
public ShareUploadNet(PluginWrapper wrapper) {
super(wrapper);
this.enablePremium(COOKIE_HOST + "/register.php?g=3");
}
// MhfScriptBasic 1.6
@Override
public String getAGBLink() {
return COOKIE_HOST + "/rules.php";
}
private static final String COOKIE_HOST = "http://shareupload.net";
public void correctDownloadLink(DownloadLink link) {
link.setUrlDownload(link.getDownloadURL().replaceAll("(en|ru|fr|es|de)/file/", "file/"));
}
@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.getURL().contains("&code=DL_FileNotFound") || br.containsHTML("(Your requested file is not found|No file found)")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
String filename = br.getRegex("<h2 class=\"float\\-left\">([^<>\"]*?)</h2>").getMatch(0);
String filesize = getData("File size");
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 handleFree(DownloadLink downloadLink) throws Exception {
this.setBrowserExclusive();
requestFileInformation(downloadLink);
if (br.containsHTML("value=\"Free Users\""))
br.postPage(downloadLink.getDownloadURL(), "Free=Free+Users");
else if (br.getFormbyProperty("name", "entryform1") != null) br.submitForm(br.getFormbyProperty("name", "entryform1"));
final String rcID = br.getRegex("challenge\\?k=([^<>\"]*?)\"").getMatch(0);
if (rcID == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
PluginForHost recplug = JDUtilities.getPluginForHost("DirectHTTP");
jd.plugins.hoster.DirectHTTP.Recaptcha rc = ((DirectHTTP) recplug).getReCaptcha(br);
rc.setId(rcID);
rc.load();
File cf = rc.downloadCaptcha(getLocalCaptchaFile());
String c = getCaptchaCode(cf, downloadLink);
br.getHeaders().put("X-Requested-With", "XMLHttpRequest");
br.postPage(downloadLink.getDownloadURL(), "downloadverify=1&d=1&recaptcha_response_field=" + c + "&recaptcha_challenge_field=" + rc.getChallenge());
if (br.containsHTML("incorrect\\-captcha\\-sol")) throw new PluginException(LinkStatus.ERROR_CAPTCHA);
final String reconnectWaittime = br.getRegex("You must wait (\\d+) mins\\. for next download.").getMatch(0);
if (reconnectWaittime != null) throw new PluginException(LinkStatus.ERROR_IP_BLOCKED, Integer.parseInt(reconnectWaittime) * 60 * 1001l);
// Note that there are links which always show this error, must be a
// bug!
if (br.containsHTML("The allowed bandwidth assigned to your IP is used up")) throw new PluginException(LinkStatus.ERROR_IP_BLOCKED);
final String finalLink = findLink();
if (finalLink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
int wait = 60;
final String waittime = br.getRegex("countdown\\((\\d+)\\);").getMatch(0);
if (waittime != null) wait = Integer.parseInt(waittime);
sleep(wait * 1001l, downloadLink);
dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, finalLink, true, 1);
if (dl.getConnection().getContentType().contains("html")) {
br.followConnection();
if (br.containsHTML(">AccessKey is expired, please request")) throw new PluginException(LinkStatus.ERROR_FATAL, "FATAL server error, waittime skipped?");
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
}
dl.startDownload();
}
private String findLink() throws Exception {
String finalLink = br.getRegex("(http://.{5,30}getfile\\.php\\?id=\\d+[^<>\"\\']*?)(\"|\\')").getMatch(0);
if (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;
}
private String getData(final String data) {
return br.getRegex(">" + data + "</strong></li>[\t\n\r ]+<li class=\"col\\-w50\">([^<>\"]*?)</li>").getMatch(0);
}
@Override
public void reset() {
}
@Override
public void resetDownloadlink(DownloadLink link) {
}
@Override
public int getMaxSimultanFreeDownloadNum() {
return 1;
}
}

View File

@ -0,0 +1,96 @@
// 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 org.appwork.utils.formatter.SizeFormatter;
@HostPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "sharex.xpg.com.br" }, urls = { "http://(www\\.)?sharex\\.xpg\\.com\\.br/files/[0-9]+" }, flags = { 0 })
public class ShareXXpgComBr extends PluginForHost {
public ShareXXpgComBr(PluginWrapper wrapper) {
super(wrapper);
}
@Override
public String getAGBLink() {
return "http://sharex.xpg.com.br/contact.php";
}
/**
* Important: brazil proxy is needed, else you are redirected to another
* site!!!
*/
@Override
public AvailableStatus requestFileInformation(DownloadLink downloadLink) throws Exception {
this.setBrowserExclusive();
br.setFollowRedirects(true);
br.getPage(downloadLink.getDownloadURL());
if (br.getURL().contains("/?NOT_FOUND")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
String filename = br.getRegex("<div class=\"downinfo\">([^<>\"]*?)<").getMatch(0);
if (filename == null) {
filename = br.getRegex("/download/.*?/(.*?)\"").getMatch(0);
}
String filesize = br.getRegex(">([0-9]+ bytes)<").getMatch(0);
if (filename == null) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
downloadLink.setName(filename.trim());
if (filesize != null) downloadLink.setDownloadSize(SizeFormatter.getSize(filesize));
return AvailableStatus.TRUE;
}
@Override
public void handleFree(DownloadLink link) throws Exception {
this.setBrowserExclusive();
requestFileInformation(link);
String dllink = br.getRegex("<div class=\"downbut\"><a href=\"(http://[^<>\"]*?)\"").getMatch(0);
if (dllink == null) dllink = br.getRegex("\"(http://sharex\\.xpg\\.com\\.br/download/[0-9]+/.*?)\"").getMatch(0);
if (dllink == null) throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
dllink = dllink.replaceAll("\\{", "%7B");
dllink = dllink.replaceAll("\\[", "%5B");
dllink = dllink.replaceAll("\\]", "%5D");
dllink = dllink.replaceAll("\\}", "%7D");
dl = jd.plugins.BrowserAdapter.openDownload(br, link, dllink, true, 0);
if ((dl.getConnection().getContentType().contains("html"))) {
if (dl.getConnection().getResponseCode() == 503) throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE, "Server error", 60 * 60 * 1000l);
br.followConnection();
if (br.containsHTML(">404 Not Found<")) throw new PluginException(LinkStatus.ERROR_FILE_NOT_FOUND);
throw new PluginException(LinkStatus.ERROR_PLUGIN_DEFECT);
}
dl.startDownload();
}
@Override
public int getMaxSimultanFreeDownloadNum() {
return -1;
}
@Override
public void reset() {
}
@Override
public void resetDownloadlink(DownloadLink link) {
}
}