package generell; import java.net.*; import java.io.*; import java.util.logging.FileHandler; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; public class BuzzerStarProxy { private static Logger searchLog; private static String conf = Constant.ConnectionConf; private static String logfile = Constant.SearchLog; private static int[] ports = {###########, 3382}; private static String searchurl = ""; private static String lauftext; private static String linktext; private static String httpauthpassword; private static String httpauthlogin; private static int maxfreerequests; private static int premiumsms; private static String paymentscreen; public static void main(String[] args) throws IOException { ServerSocket serverSocket = null; Socket socket = null; boolean listening = true; int port = ###########; String privatekey = null; int maxresults = (Integer) 50; try { serverSocket = new ServerSocket(port); } catch (IOException e) { System.err.println("Could not listen on port: "+port); System.exit(-1); } searchLog = Logger.getLogger(logfile); FileHandler fh; try { // This block configure the logger with handler and formatter fh = new FileHandler(logfile); searchLog.addHandler(fh); //logger.setLevel(Level.ALL); SimpleFormatter formatter = new SimpleFormatter(); fh.setFormatter(formatter); // the following statement is used to log any messages } catch (SecurityException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } while (listening){ //System.out.println("Listen on port: "+ port); System.out.println("Listen on port: "+ port); socket = serverSocket.accept(); //System.out.println(socket.getInetAddress()); //System.out.println(serverSocket.getInetAddress()); //if(socket.getInetAddress().toString().endsWith("127.0.0.1")){ try { BufferedReader in = new BufferedReader(new FileReader(conf)); String zeile = null; while ((zeile = in.readLine()) != null) { //System.out.println(zeile); if(zeile.startsWith("httpauthlogin")){ try{ httpauthlogin=zeile.substring(zeile.indexOf("=")+1,zeile.length()).trim(); }catch(NumberFormatException nfe){ System.out.println("httpauthlogin: "+ httpauthlogin); } //System.out.println(sourceLimit); } if(zeile.startsWith("httpauthpassword")){ try{ httpauthpassword=zeile.substring(zeile.indexOf("=")+1,zeile.length()).trim(); }catch(NumberFormatException nfe){ System.out.println("httpauthpassword: "+ httpauthpassword); } //System.out.println(sourceLimit); } if(zeile.startsWith("linktext")){ try{ linktext=zeile.substring(zeile.indexOf("=")+1,zeile.length()).trim(); }catch(NumberFormatException nfe){ System.out.println("linktext: "+ linktext); } //System.out.println(sourceLimit); } if(zeile.startsWith("lauftext")){ try{ lauftext=zeile.substring(zeile.indexOf("=")+1,zeile.length()).trim(); }catch(NumberFormatException nfe){ System.out.println("lauftext: "+ lauftext); } //System.out.println(sourceLimit); } if(zeile.startsWith("ports")){ zeile=zeile.substring(zeile.indexOf("=")+1,zeile.length()).trim(); String tmp[]=zeile.split(" "); ports = stArraytoIntArray(tmp); //for(int i = 0; i < ports.length; i++){ //System.out.println(ports[i]); //} } if(zeile.startsWith("searchurl")){ try{ searchurl=zeile.substring(zeile.indexOf("=")+1,zeile.length()).trim(); }catch(NumberFormatException nfe){ System.out.println("search url: "+ searchurl); } //System.out.println(sourceLimit); } if(zeile.startsWith("privatekey")){ try{ privatekey=zeile.substring(zeile.indexOf("=")+1,zeile.length()).trim(); }catch(NumberFormatException nfe){ // System.out.println("search url: "+ searchurl); } //System.out.println(sourceLimit); } if(zeile.startsWith("maxresults")){ try{ maxresults=Integer.parseInt((zeile.substring(zeile.indexOf("=")+1,zeile.length())).trim()); }catch(NumberFormatException nfe){ System.out.println("maxresults set to standart value: "+ maxresults); } //System.out.println(sourceLimit); } if(zeile.startsWith("maxfreerequests")){ try{ maxfreerequests=Integer.parseInt((zeile.substring(zeile.indexOf("=")+1,zeile.length())).trim()); }catch(NumberFormatException nfe){ System.out.println("maxfreerequests set to standart value: "+ maxfreerequests); } //System.out.println(sourceLimit); } if(zeile.startsWith("premiumsms")){ try{ premiumsms=Integer.parseInt((zeile.substring(zeile.indexOf("=")+1,zeile.length())).trim()); }catch(NumberFormatException nfe){ System.out.println("premiumsms set to standart value: "+ premiumsms); } //System.out.println(sourceLimit); } if(zeile.startsWith("paymentscreen")){ try{ paymentscreen=zeile.substring(zeile.indexOf("=")+1,zeile.length()).trim(); }catch(NumberFormatException nfe){ // System.out.println("search url: "+ paymentscreen); } //System.out.println(sourceLimit); } } // while ((zeile = in.readLine()) != null) { in.close(); } catch (IOException e) { System.out.println("File not found take standart values!!"); } new BuzzerProxyThread(socket, ports, searchurl, privatekey, maxresults, linktext, httpauthpassword, httpauthlogin, lauftext, maxfreerequests, premiumsms, paymentscreen, searchLog).start(); } serverSocket.close(); } public static int[] stArraytoIntArray(String[] sarray){ if (sarray != null) { int intarray[] = new int[sarray.length]; for (int i = 0; i < sarray.length; i++) { try{ intarray[i] = Integer.parseInt(sarray[i]); }catch(NumberFormatException nfe){ return ports; } } //System.out.println("Convert success!!"); return intarray; } return ports; } }