diff --git a/ressourcen/outdated.dat b/ressourcen/outdated.dat index 15f7360de3..180732f2a8 100644 --- a/ressourcen/outdated.dat +++ b/ressourcen/outdated.dat @@ -877,4 +877,5 @@ jd/plugins/decrypter/QckLnkM.class jd/plugins/decrypter/SurfMvsOrg.class jd/plugins/hoster/UploadBoostCom.class jd/plugins/decrypter/Frdwnldzs.class -jd/plugins/decrypter/TelonaBiz.class \ No newline at end of file +jd/plugins/decrypter/TelonaBiz.class +jd/plugins/decrypter/ShareaPicNet.class \ No newline at end of file diff --git a/src/jd/plugins/decrypter/FilesMapCom.java b/src/jd/plugins/decrypter/FilesMapCom.java index e19efdab69..de3d809aca 100644 --- a/src/jd/plugins/decrypter/FilesMapCom.java +++ b/src/jd/plugins/decrypter/FilesMapCom.java @@ -21,7 +21,6 @@ import java.util.ArrayList; import jd.PluginWrapper; import jd.controlling.ProgressController; import jd.nutils.encoding.Encoding; -import jd.parser.html.HTMLParser; import jd.plugins.CryptedLink; import jd.plugins.DecrypterPlugin; import jd.plugins.DownloadLink; @@ -55,12 +54,7 @@ public class FilesMapCom extends PluginForDecrypt { /** Handling for all others */ String fpName = br.getRegex("property=\"og:title\" content=\"(.*?) \\(\\d+\\.?.{1,6}\\)").getMatch(0); if (fpName == null) fpName = br.getRegex("(.*?) \\(\\d+\\.?.{1,6}\\)").getMatch(0); - final String pagePiece = br.getRegex("style=\"width:100%;overflow:auto;\" readonly=\"readonly\"(.*?)</textarea></td><td class=\"t1span\"").getMatch(0); - if (pagePiece == null) { - logger.warning("Decrypter broken for link: " + parameter); - return null; - } - String[] links = HTMLParser.getHttpLinks(pagePiece, ""); + final String[] links = br.getRegex("\"http://(www\\.)?((es|ar|en|pt|ru|ja|de|fr|tr|pl)?\\.)?filesmap\\.com/redirect/\\?url=(http[^<>\"]*?)\"").getColumn(3); if (links == null || links.length == 0) { logger.warning("Decrypter broken for link: " + parameter); return null; diff --git a/src/jd/plugins/decrypter/GldSlTo.java b/src/jd/plugins/decrypter/GldSlTo.java index 48e28bb23a..610799ee1f 100644 --- a/src/jd/plugins/decrypter/GldSlTo.java +++ b/src/jd/plugins/decrypter/GldSlTo.java @@ -61,17 +61,27 @@ public class GldSlTo extends PluginForDecrypt { logger.warning("Decrypter broken for link: " + parameter); return null; } - progress.setRange(decryptIDs.length); + final String[] streamIDs = br.getRegex("onClick=\"load_Stream\\(\\'(\\d+)\\'\\)").getColumn(0); br.getHeaders().put("X-Requested-With", "XMLHttpRequest"); - for (String cryptID : decryptIDs) { - br.postPage("http://goldesel.to/ajax/go2dl.php", "Download=" + cryptID); + for (final String cryptID : decryptIDs) { + br.postPage("http://goldesel.to/ajax/lddl.php", "ID=" + cryptID); String finallink = br.toString(); if (!finallink.startsWith("http") || finallink.length() > 500) { logger.warning("Decrypter broken for link: " + parameter); return null; } decryptedLinks.add(createDownloadlink(finallink)); - progress.increase(1); + } + if (streamIDs != null && streamIDs.length != 0) { + for (final String streamID : streamIDs) { + br.postPage("http://goldesel.to/ajax/streams.php", "Stream=" + streamID); + String finallink = br.getRegex("<a href=\"(http[^<>\"]*?)\"").getMatch(0); + if (finallink == null || finallink.length() > 500) { + logger.warning("Decrypter broken for link: " + parameter); + return null; + } + decryptedLinks.add(createDownloadlink(finallink)); + } } if (fpName != null) { FilePackage fp = FilePackage.getInstance(); diff --git a/src/jd/plugins/decrypter/MngStrm.java b/src/jd/plugins/decrypter/MngStrm.java index c0d85240b0..6b8ab941ee 100644 --- a/src/jd/plugins/decrypter/MngStrm.java +++ b/src/jd/plugins/decrypter/MngStrm.java @@ -17,50 +17,45 @@ import jd.plugins.PluginForDecrypt; @DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "mangastream.com" }, urls = { "http://[\\w\\.]*?mangastream\\.com/read/.*?/\\d+" }, flags = { 0 }) public class MngStrm extends PluginForDecrypt { - public MngStrm(PluginWrapper wrapper) { - super(wrapper); - } + public MngStrm(PluginWrapper wrapper) { + super(wrapper); + } - @Override - public ArrayList<DownloadLink> decryptIt(CryptedLink parameter, - ProgressController progress) throws Exception { - ArrayList<DownloadLink> decryptedLinks = new ArrayList<DownloadLink>(); - br.setFollowRedirects(false); - String url = parameter.toString(); - br.getPage(url + "/1"); - if (br.containsHTML("404: Page Not Found<")) - return null; - String title = br.getRegex("<title>(.*?)- Read").getMatch(0); - if (title == null) - return null; - String prefix = new Regex(url, "(/read.+)").getMatch(0); - String pages[] = br.getRegex("\"(" + prefix + "/\\d+)\"").getColumn(0); - if (pages == null) - return null; - ArrayList<String> done = new ArrayList<String>(); - for (String page : pages) { - if (done.contains(page)) - continue; - done.add(page); - // System.out.println("---- " + page); - } - progress.setRange(done.size()); - NumberFormat formatter = new DecimalFormat("00"); - for (String page : done) { - DownloadLink link = createDownloadlink("mangastream://" + page); - link.setAvailableStatus(AvailableStatus.TRUE); - link.setFinalFileName(title.trim() - + " – page " - + formatter.format(Double.parseDouble(new Regex(page, - ".+/(\\d+)$").getMatch(0))) + ".png"); - decryptedLinks.add(link); + @Override + public ArrayList<DownloadLink> decryptIt(CryptedLink parameter, ProgressController progress) throws Exception { + ArrayList<DownloadLink> decryptedLinks = new ArrayList<DownloadLink>(); + br.setFollowRedirects(false); + String url = parameter.toString(); + br.getPage(url + "/1"); + if (br.containsHTML(">We couldn\\'t find the page you were looking for<")) { + logger.info("Link offline: " + parameter); + return decryptedLinks; + } + String title = br.getRegex("<title>(.*?)- Read").getMatch(0); + if (title == null) return null; + String prefix = new Regex(url, "(/read.+)").getMatch(0); + String pages[] = br.getRegex("\"(" + prefix + "/\\d+)\"").getColumn(0); + if (pages == null) return null; + ArrayList<String> done = new ArrayList<String>(); + for (String page : pages) { + if (done.contains(page)) continue; + done.add(page); + // System.out.println("---- " + page); + } + progress.setRange(done.size()); + NumberFormat formatter = new DecimalFormat("00"); + for (String page : done) { + DownloadLink link = createDownloadlink("mangastream://" + page); + link.setAvailableStatus(AvailableStatus.TRUE); + link.setFinalFileName(title.trim() + " – page " + formatter.format(Double.parseDouble(new Regex(page, ".+/(\\d+)$").getMatch(0))) + ".png"); + decryptedLinks.add(link); - progress.increase(1); - } - FilePackage fp = FilePackage.getInstance(); - fp.setName(title.trim()); - fp.addLinks(decryptedLinks); + progress.increase(1); + } + FilePackage fp = FilePackage.getInstance(); + fp.setName(title.trim()); + fp.addLinks(decryptedLinks); - return decryptedLinks; - } + return decryptedLinks; + } } diff --git a/src/jd/plugins/decrypter/ShareaPicNet.java b/src/jd/plugins/decrypter/ShareaPicNet.java deleted file mode 100644 index c781d82cb0..0000000000 --- a/src/jd/plugins/decrypter/ShareaPicNet.java +++ /dev/null @@ -1,103 +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.decrypter; - -import java.util.ArrayList; - -import jd.PluginWrapper; -import jd.controlling.ProgressController; -import jd.parser.Regex; -import jd.plugins.CryptedLink; -import jd.plugins.DecrypterException; -import jd.plugins.DecrypterPlugin; -import jd.plugins.DownloadLink; -import jd.plugins.FilePackage; -import jd.plugins.PluginForDecrypt; -import jd.utils.locale.JDL; - -@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "shareapic.net" }, urls = { "http://(www\\.)?shareapic\\.net/([0-9]+|(Zoom|View)-[0-9]+|content\\.php\\?id=[0-9]+)" }, flags = { 0 }) -public class ShareaPicNet extends PluginForDecrypt { - - public ShareaPicNet(PluginWrapper wrapper) { - super(wrapper); - } - - public ArrayList<DownloadLink> decryptIt(CryptedLink param, ProgressController progress) throws Exception { - ArrayList<DownloadLink> decryptedLinks = new ArrayList<DownloadLink>(); - String parameter = param.toString(); - // content links are kinda the same as View and can be handled easily so - // i try to use them as much as i can in the plugin - if (parameter.contains("content")) { - String picid = new Regex(parameter, "shareapic\\.net/content\\.php\\?id=(\\d+)").getMatch(0); - parameter = "http://www.shareapic.net/View-" + picid; - } - br.setFollowRedirects(false); - parameter = parameter.replaceAll("(View|Zoom)", "Zoom") + ".html"; - br.getPage(parameter); - - /* Error handling */ - if (br.containsHTML("Access Denied - This is a non-public gallery") || br.containsHTML("error404") || br.containsHTML("Image has been removed from the server")) throw new DecrypterException(JDL.L("plugins.decrypt.errormsg.unavailable", "Perhaps wrong URL or the download is not available anymore.")); - - /* Single pictures handling */ - if (parameter.contains("Zoom") || parameter.contains("View")) { - String finallink = getFinallink(); - if (finallink == null) return null; - decryptedLinks.add(createDownloadlink("directhttp://" + finallink)); - return decryptedLinks; - } - - /* Gallery handling */ - String fpName = br.getRegex("<title>(.*?)\\| Shareapic\\.net").getMatch(0); - if (fpName == null) { - fpName = br.getRegex("NAME=\"Abstract\" CONTENT=\"(.*?)\">").getMatch(0); - if (fpName == null) { - fpName = br.getRegex("Description\" CONTENT=\"(.*?)\">").getMatch(0); - if (fpName == null) { - fpName = br.getRegex("font\\-stretch: normal; \\-x-system\\-font: none;\">(.*?)").getMatch(0); - } - } - } - String pagepiece = br.getRegex("").getMatch(0); - if (pagepiece == null) return null; - String[] links = new Regex(pagepiece, "\"(http://(www\\.)?shareapic\\.net/View\\-[0-9]+)").getColumn(0); - if (links == null || links.length == 0) return null; - progress.setRange(links.length); - for (String link : links) { - link = link.replace("View", "Zoom"); - br.getPage(link + ".html"); - String finallink = getFinallink(); - if (finallink == null) return null; - DownloadLink dl = createDownloadlink("directhttp://" + finallink); - dl.setAvailable(true); - decryptedLinks.add(dl); - progress.increase(1); - } - if (fpName != null) { - FilePackage fp = FilePackage.getInstance(); - fp.setName(fpName.trim()); - fp.addLinks(decryptedLinks); - } - return decryptedLinks; - } - - private String getFinallink() { - String finallink = br.getRegex("[\t\n\r ]+[\t\n\r ]+[\t\n\r ]+ decryptIt(CryptedLink param, ProgressController progress) throws Exception { ArrayList decryptedLinks = new ArrayList(); String parameter = param.toString(); - br.setFollowRedirects(false); + br.setFollowRedirects(true); br.getPage(parameter); String fpName = null; // Decrypt folders - if (parameter.contains("tgf-services.com/downloads/")) { + if (br.getURL().contains("tgf-services.com/downloads/")) { if (br.getRedirectLocation() != null) { if (br.getRedirectLocation().contains("/Warning/?err_num=15")) return decryptedLinks; return null; diff --git a/src/jd/plugins/decrypter/Tnypst.java b/src/jd/plugins/decrypter/Tnypst.java index 67838f6d80..8fcc4c0bb5 100644 --- a/src/jd/plugins/decrypter/Tnypst.java +++ b/src/jd/plugins/decrypter/Tnypst.java @@ -29,7 +29,7 @@ import jd.plugins.DecrypterPlugin; import jd.plugins.DownloadLink; import jd.plugins.PluginForDecrypt; -@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "tinypaste.com" }, urls = { "http://[\\w\\.]*?tinypaste\\.com/([0-9a-z]+|.*?id=[0-9a-z]+)" }, flags = { 0 }) +@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "tny.cz" }, urls = { "http://(www\\.)?(tinypaste\\.com|tny\\.cz)/([0-9a-z]+|.*?id=[0-9a-z]+)" }, flags = { 0 }) public class Tnypst extends PluginForDecrypt { private DownloadLink dl = null; @@ -42,7 +42,7 @@ public class Tnypst extends PluginForDecrypt { public ArrayList decryptIt(CryptedLink parameter, ProgressController progress) throws Exception { ArrayList decryptedLinks = new ArrayList(); br.setFollowRedirects(true); - String link = parameter.toString(); + String link = parameter.toString().replace("tinypaste.com/", "tny.cz/"); br.getPage(link); if (br.containsHTML("(Hello, my name is 404\\!<|The page you requested is no longer here)")) { logger.info("Link offline: " + parameter); @@ -50,8 +50,8 @@ public class Tnypst extends PluginForDecrypt { } if (br.containsHTML("(Enter the correct password|has been password protected)")) { for (int i = 0; i <= 3; i++) { - String id = new Regex(link, "tinypaste\\.com/.*?id=([0-9a-z]+)").getMatch(0); - if (id == null) id = new Regex(link, "tinypaste\\.com/([0-9a-z]+)").getMatch(0); + String id = new Regex(link, "tny\\.cz/.*?id=([0-9a-z]+)").getMatch(0); + if (id == null) id = new Regex(link, "tny\\.cz/([0-9a-z]+)").getMatch(0); Form pwform = br.getForm(0); if (pwform == null || id == null) return null; String pw = getUserInput(null, parameter); @@ -62,8 +62,8 @@ public class Tnypst extends PluginForDecrypt { } if (br.containsHTML("(Enter the correct password|has been password protected)")) throw new DecrypterException(DecrypterException.PASSWORD); } - String pasteFrame = br.getRegex("frameborder=\\'0\\' id=\\'pasteFrame\\' src=\"(http://tinypaste\\.com/.*?)\"").getMatch(0); - if (pasteFrame == null) pasteFrame = br.getRegex("\"(http://tinypaste\\.com/[a-z0-9]+/fullscreen\\.php\\?hash=[a-z0-9]+\\&linenum=(false|true))\"").getMatch(0); + String pasteFrame = br.getRegex("frameborder=\\'0\\' id=\\'pasteFrame\\' src=\"(http://tny\\.cz/.*?)\"").getMatch(0); + if (pasteFrame == null) pasteFrame = br.getRegex("\"(http://tny\\.cz/[a-z0-9]+/fullscreen\\.php\\?hash=[a-z0-9]+\\&linenum=(false|true))\"").getMatch(0); if (pasteFrame == null) { logger.warning("Decrypter broken for link: " + parameter); return null; @@ -74,7 +74,7 @@ public class Tnypst extends PluginForDecrypt { ArrayList pws = HTMLParser.findPasswords(br.toString()); for (String element : links) { /* prevent recursion */ - if (element.contains("tinypaste.com")) continue; + if (element.contains("tny.cz")) continue; decryptedLinks.add(dl = createDownloadlink(element)); if (pws != null && pws.size() > 0) dl.setSourcePluginPasswordList(pws); } diff --git a/src/jd/plugins/decrypter/TurboBitNetFolder.java b/src/jd/plugins/decrypter/TurboBitNetFolder.java index 91657a5601..49145ebb43 100644 --- a/src/jd/plugins/decrypter/TurboBitNetFolder.java +++ b/src/jd/plugins/decrypter/TurboBitNetFolder.java @@ -29,7 +29,7 @@ import jd.plugins.PluginForDecrypt; import jd.utils.locale.JDL; //When adding new domains here also add them to the hosterplugin (TurboBitNet) -@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "turbobit.net" }, urls = { "http://(www\\.)?(maxisoc\\.ru|turo\\-bit\\.net|depositfiles\\.com\\.ua|dlbit\\.net|sharephile\\.com|filesmail\\.ru|hotshare\\.biz|bluetooths\\.pp\\.ru|speed-file\\.ru|sharezoid\\.com|turbobit\\.pl|dz-files\\.ru|file\\.alexforum\\.ws|file\\.grad\\.by|file\\.krut-warez\\.ru|filebit\\.org|files\\.best-trainings\\.org\\.ua|files\\.wzor\\.ws|gdefile\\.ru|letitshare\\.ru|mnogofiles\\.com|share\\.uz|sibit\\.net|turbo-bit\\.ru|turbobit\\.net|upload\\.mskvn\\.by|vipbit\\.ru|files\\.prime-speed\\.ru|filestore\\.net\\.ru|turbobit\\.ru|upload\\.dwmedia\\.ru|upload\\.uz|xrfiles\\.ru|unextfiles\\.com|e-flash\\.com\\.ua|turbobax\\.net|zharabit\\.net|download\\.uzhgorod\\.name|trium-club\\.ru|alfa-files\\.com|turbabit\\.net|filedeluxe\\.com|turbobit\\.name|files\\.uz\\-translations\\.uz|turboblt\\.ru|fo\\.letitbook\\.ru|freefo\\.ru|bayrakweb\\.com)/download/folder/\\d+" }, flags = { 0 }) +@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "turbobit.net" }, urls = { "http://(www\\.)?(maxisoc\\.ru|turo\\-bit\\.net|depositfiles\\.com\\.ua|dlbit\\.net|sharephile\\.com|filesmail\\.ru|hotshare\\.biz|bluetooths\\.pp\\.ru|speed-file\\.ru|sharezoid\\.com|turbobit\\.pl|dz-files\\.ru|file\\.alexforum\\.ws|file\\.grad\\.by|file\\.krut-warez\\.ru|filebit\\.org|files\\.best-trainings\\.org\\.ua|files\\.wzor\\.ws|gdefile\\.ru|letitshare\\.ru|mnogofiles\\.com|share\\.uz|sibit\\.net|turbo-bit\\.ru|turbobit\\.net|upload\\.mskvn\\.by|vipbit\\.ru|files\\.prime-speed\\.ru|filestore\\.net\\.ru|turbobit\\.ru|upload\\.dwmedia\\.ru|upload\\.uz|xrfiles\\.ru|unextfiles\\.com|e-flash\\.com\\.ua|turbobax\\.net|zharabit\\.net|download\\.uzhgorod\\.name|trium-club\\.ru|alfa-files\\.com|turbabit\\.net|filedeluxe\\.com|turbobit\\.name|files\\.uz\\-translations\\.uz|turboblt\\.ru|fo\\.letitbook\\.ru|freefo\\.ru|bayrakweb\\.com|savebit\\.net)/download/folder/\\d+" }, flags = { 0 }) public class TurboBitNetFolder extends PluginForDecrypt { public TurboBitNetFolder(PluginWrapper wrapper) { diff --git a/src/jd/plugins/decrypter/VideoOneCom.java b/src/jd/plugins/decrypter/VideoOneCom.java new file mode 100644 index 0000000000..bed20f1de4 --- /dev/null +++ b/src/jd/plugins/decrypter/VideoOneCom.java @@ -0,0 +1,195 @@ +//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 . + +package jd.plugins.decrypter; + +import java.util.ArrayList; +import java.util.Random; + +import jd.PluginWrapper; +import jd.controlling.ProgressController; +import jd.nutils.encoding.Encoding; +import jd.parser.Regex; +import jd.plugins.CryptedLink; +import jd.plugins.DecrypterPlugin; +import jd.plugins.DownloadLink; +import jd.plugins.PluginForDecrypt; + +//EmbedDecrypter 0.1.1 +@DecrypterPlugin(revision = "$Revision$", interfaceVersion = 2, names = { "video-one.com" }, urls = { "http://(www\\.)?video\\-one\\.com/video/[a-z0-9]+\\.html" }, flags = { 0 }) +public class VideoOneCom extends PluginForDecrypt { + + public VideoOneCom(PluginWrapper wrapper) { + super(wrapper); + } + + public ArrayList decryptIt(CryptedLink param, ProgressController progress) throws Exception { + ArrayList decryptedLinks = new ArrayList(); + String parameter = param.toString(); + br.getPage(parameter); + String filename = new Regex(parameter, "http://(www\\.)?video\\-one\\.com/video/([a-z0-9]+)\\.html").getMatch(1); + br.getPage("http://m.8-d.com/prein"); + final Regex th = br.getRegex("\\&t=(\\d+)\\&h=([a-z0-9]+)\""); + String t = th.getMatch(0); + String h = th.getMatch(1); + if (t == null || h == null) { + logger.warning("Decrypter broken for link: " + parameter); + return null; + } + br.getPage("http://m.8-d.com/in?r=&p=http://video-one.com/video/" + filename + ".html&t=" + t + "&h=" + h); + t = br.getRegex("var t=\\'(\\d+)\\';").getMatch(0); + h = br.getRegex("var h=\\'([a-z0-9]+)\\';").getMatch(0); + if (t == null || h == null) { + logger.warning("Decrypter broken for link: " + parameter); + return null; + } + br.getPage("http://video-one.com/iframe/" + filename + "?t=" + t + "&h=" + h + "&p=video-one.com/eval/seq/2"); + String externID = br.getRegex("xvideos\\.com/embedframe/(\\d+)\"").getMatch(0); + if (externID != null) { + decryptedLinks.add(createDownloadlink("http://www.xvideos.com/video" + externID)); + return decryptedLinks; + } + externID = br.getRegex("madthumbs\\.com%2Fvideos%2Fembed_config%3Fid%3D(\\d+)").getMatch(0); + if (externID != null) { + DownloadLink dl = createDownloadlink("http://www.madthumbs.com/videos/amateur/" + new Random().nextInt(100000) + "/" + externID); + decryptedLinks.add(dl); + return decryptedLinks; + } + externID = br.getRegex("(\"|\\')(http://(www\\.)?tube8\\.com/embed/[^<>\"/]*?/[^<>\"/]*?/\\d+/?)(\"|\\')").getMatch(1); + if (externID != null) { + decryptedLinks.add(createDownloadlink(externID.replace("tube8.com/embed/", "tube8.com/"))); + return decryptedLinks; + } + externID = br.getRegex("redtube\\.com/player/\">N/A")) { + logger.info("Link offline: " + parameter); + return decryptedLinks; + } + externID = br.getRegex("(http://[^<>\"]*?)").getMatch(0); + if (externID == null) { + logger.warning("Decrypter broken for link: " + parameter); + return null; + } + decryptedLinks.add(createDownloadlink(externID)); + return decryptedLinks; + } + externID = br.getRegex("(\\'|\")(http://(www\\.)?myxvids\\.com/embed_code/\\d+/\\d+/myxvids_embed\\.js)(\\'|\")").getMatch(1); + if (externID != null) { + br.getPage(externID); + externID = br.getRegex("var urlAddress = \"(http://[^<>\"]*?)\";").getMatch(0); + if (externID != null) { + decryptedLinks.add(createDownloadlink(externID)); + return decryptedLinks; + } + } + externID = br.getRegex("player\\.empflix\\.com/video/(\\d+)\"").getMatch(0); + if (externID != null) { + decryptedLinks.add(createDownloadlink("http://www.empflix.com/videos/" + System.currentTimeMillis() + "-" + externID + ".html")); + return decryptedLinks; + } + externID = br.getRegex("