Example #1
0
	def get(self):
		opt = self.get_argument("opt",default="")
		if opt:
			opt = opt.encode("utf8")
			
		if opt == "remoteProxy":
			status = "connected"
			try:
				test = proxyServerHandler(conn=None, addr=["",""], threadid=None)
				test.connRemoteProxyServer()
				test.close()
			except:
				printError()
				status = "can not connect"
			self.write({"status":status})
		elif opt == "pac_setting_test_local":
			self.write({"status":"fail"})
		elif opt == "testProxy":
			status = "ok"
			try:
				conn = httplib.HTTPConnection(host='127.0.0.1',port=DDDProxyConfig.localServerProxyListenPort,timeout=50)
				conn.connect()
				conn.request("GET", "http://www.baidu.com/",headers={})
				response = conn.getresponse()
				conn.close()
			except:
				status = "fail"
			self.write({"status":status})
		else:
			currentThread = threading.enumerate()
			threadList = []
			for t in currentThread:
				threadList.append({"name":t.name})
			data={"threading:":threadList}
			self.write(data)
		self.finish()
Example #2
0
	def getInThread(self):
		opt = self.get_argument("opt", default="status")
		if opt:
			opt = opt.encode("utf8")
		
# 		threading.currentThread().name = "statusPage-%s"%(opt)
		if opt == "remoteProxy":
			status = "connected"
			try:
				port = self.get_argument("port", default=0)
				port = port if port else 8083
				test = proxyServerHandler(conn=None, addr=["", ""], threadid=None)
				test.connRemoteProxyServer(host=self.get_argument("host", default=""),
										port=int(port),
										auth=self.get_argument("auth", default=""))
				DDDProxySocketMessage.sendOne(test.remoteSocket, "[%s,%s]" % ("0.0.0.0", "test"))
				DDDProxySocketMessage.sendOne(test.remoteSocket,
															"CONNECT www.google.com:443 HTTP/1.1\r\n\r\n");
				status = "connected,auth no pass"
				for d in  DDDProxySocketMessage.recv(test.remoteSocket):
					if d == "HTTP/1.1 200 OK\r\n\r\n":
						status = "connected"
				test.close()
			except:
				printError()
				status = "can not connect"
			self.write({"status":status})
		elif opt == "pac_setting_test_local":
			self.write({"status":"fail"})
		else:
			working = []
			working.extend(t.name for t in mainThreadPool.working)
			idle = []
			idle.extend(t.name for t in mainThreadPool.waiters)
			
			connectList = {}
			for handler in localProxyServer.theadList:
				try:
					addrList = None
					addr = self.gethostbyaddr(handler.addr)
					if addr in connectList:
						addrList = connectList[addr]
					else:
						connectList[addr] = addrList = []
					addrList.append([handler.httpMessage[1] if (type(handler.httpMessage) == tuple and len(handler.httpMessage) > 2) else handler.httpMessage,
									handler.remoteServer,
									handler.dataCountSend,
									handler.dataCountRecv])
				except:
					printError()
			data = {
				"count":{
						"worker":len(mainThreadPool.working),
						"idle":len(mainThreadPool.waiters)
						},
				"thread":{
# 						"worker":working,
# 						"idle":idle
						"connect":connectList
						}
				}
			self.write(data)
		self.finish()