public JDSimpleWebserver() {
    SubConfiguration subConfig = SubConfiguration.getConfig("WEBINTERFACE");
    Boolean https = subConfig.getBooleanProperty(JDWebinterface.PROPERTY_HTTPS, false);
    AuthUser =
        "******"
            + Encoding.Base64Encode(
                subConfig.getStringProperty(JDWebinterface.PROPERTY_USER, "JD")
                    + ":"
                    + subConfig.getStringProperty(JDWebinterface.PROPERTY_PASS, "JD"));
    NeedAuth = subConfig.getBooleanProperty(JDWebinterface.PROPERTY_LOGIN, true);
    boolean localhostonly =
        subConfig.getBooleanProperty(JDWebinterface.PROPERTY_LOCALHOST_ONLY, false);
    int port = subConfig.getIntegerProperty(JDWebinterface.PROPERTY_PORT, 8765);
    try {
      if (!https) {
        if (localhostonly) {
          Server_Socket = new ServerSocket(port, -1, HttpServer.getLocalHost());
        } else {
          Server_Socket = new ServerSocket(port);
        }
      } else {
        try {
          ServerSocketFactory ssocketFactory = setupSSL();

          if (localhostonly) {
            Server_Socket = ssocketFactory.createServerSocket(port, -1, HttpServer.getLocalHost());
          } else {
            Server_Socket = ssocketFactory.createServerSocket(port);
          }
        } catch (Exception e) {
          logger.severe("WebInterface: Server failed to start (SSL Setup Failed)!");
          return;
        }
      }
      logger.info("Webinterface: Server started");
      start();
    } catch (IOException e) {
      logger.severe("WebInterface: Server failed to start!");
    }
  }
Exemplo n.º 2
0
 @Override
 public void handlePremium(DownloadLink downloadLink, Account account) throws Exception {
   setBrowserExclusive();
   workAroundTimeOut(br);
   showDialog = false;
   br.setDebug(true);
   String user = Encoding.urlEncode(account.getUser());
   String pw = Encoding.urlEncode(account.getPass());
   String link = downloadLink.getDownloadURL();
   if (link.contains("getFiles.aspx")) {
     showMessage(downloadLink, "Downloading file");
     user = account.getUser();
     pw = account.getPass();
     String basicauth = "Basic " + Encoding.Base64Encode(user + ":" + pw);
     br.getHeaders().put("Authorization", basicauth);
     br.setFollowRedirects(true);
     dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, link, true, 0);
   } else {
     showMessage(downloadLink, "Phase 1/2: Get FileID");
     String FileID = Zevera.getID(link);
     if (FileID == null) {
       throw new PluginException(
           LinkStatus.ERROR_FILE_NOT_FOUND, "Error adding file, FileID null");
     }
     while (true) {
       showMessage(downloadLink, "Phase 2/3: Check download:");
       br.getPage(
           "http://www.zevera.com/jDownloader.ashx?cmd=fileinfo&login="******"&pass="******"&FileID="
               + FileID);
       String infos[] = br.getRegex("(.*?)(,|$)").getColumn(0);
       if (infos[0].contains("FileID:0")) {
         throw new PluginException(
             LinkStatus.ERROR_FILE_NOT_FOUND, "Error adding file, FileID doesnt exist");
       }
       if (infos[6].contains("Status:Downloaded")) {
         String DownloadURL = br.getRegex("DownloadURL:(Http.*?),").getMatch(0);
         if (DownloadURL == null) {
           throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE);
         }
         showMessage(downloadLink, "Phase 3/3: OK Download starting");
         dl = jd.plugins.BrowserAdapter.openDownload(br, downloadLink, DownloadURL, true, 0);
         break;
       } else {
         this.sleep(15 * 1000l, downloadLink, "Waiting for download to finish on Zevera");
       }
     }
   }
   if (dl.getConnection().isContentDisposition()) {
     long filesize = dl.getConnection().getLongContentLength();
     if (filesize == 0) {
       throw new PluginException(
           LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE, "ServerError", 10 * 60 * 1000l);
     }
     dl.startDownload();
   } else {
     br.followConnection();
     throw new PluginException(LinkStatus.ERROR_TEMPORARILY_UNAVAILABLE);
   }
 }