def req_ipv6_tunnel_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' log_path = os.path.join(data_path, "ipv6_tunnel.log") time_now = datetime.datetime.today().strftime('%H:%M:%S-%a/%d/%b/%Y') client_ip = self.client_address[0] is_local = client_ip.endswith("127.0.0.1") or client_ip == "::1" if reqs['cmd'] in [['enable'], ['disable'], ['test_teredo'], ['test_teredo_usability'], ['test_teredo_server'], ['set_best_server']]: cmd = reqs['cmd'][0] xlog.info("ipv6_tunnel switch %s", cmd) # Don't remove log file at here. if cmd == "enable": result = ipv6_tunnel.enable(is_local) elif cmd == "disable": result = ipv6_tunnel.disable(is_local) elif cmd == "test_teredo": result = ipv6_tunnel.test_teredo() elif cmd == "test_teredo_usability": result = ipv6_tunnel.test_teredo(probe_server=False) elif cmd == "test_teredo_server": result = ipv6_tunnel.test_teredo(probe_nat=False) elif cmd == "set_best_server": result = ipv6_tunnel.set_best_server(is_local) else: xlog.warn("unknown cmd:%s", cmd) xlog.info("ipv6_tunnel switch %s, result: %s", cmd, result) data = json.dumps({'res': result, 'time': time_now}) elif reqs['cmd'] == ['get_log']: if os.path.isfile(log_path): with open(log_path, "r") as f: content = f.read() else: content = "" status = ipv6_tunnel.state() data = json.dumps({'status': status, 'log': content.decode("GBK"), 'time': time_now}) elif reqs['cmd'] == ['get_priority']: data = json.dumps({'res': ipv6_tunnel.state_pp(), 'time': time_now}) elif reqs['cmd'] == ['switch_pp']: data = json.dumps({'res': ipv6_tunnel.switch_pp(), 'time': time_now}) self.send_response_nc('text/html', data)
def req_ipv6_tunnel_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' log_path = os.path.join(data_path, "ipv6_tunnel.log") time_now = datetime.datetime.today().strftime('%H:%M:%S-%a/%d/%b/%Y') client_ip = self.client_address[0] is_local = client_ip.endswith("127.0.0.1") or client_ip == "::1" if reqs['cmd'] in [['enable'], ['disable'], ['test_teredo'], ['test_teredo_usability'], ['test_teredo_server'], ['set_best_server']]: cmd = reqs['cmd'][0] xlog.info("ipv6_tunnel switch %s", cmd) # Don't remove log file at here. if cmd == "enable": result = ipv6_tunnel.enable(is_local) elif cmd == "disable": result = ipv6_tunnel.disable(is_local) elif cmd == "test_teredo": result = ipv6_tunnel.test_teredo() elif cmd == "test_teredo_usability": result = ipv6_tunnel.test_teredo(probe_server=False) elif cmd == "test_teredo_server": result = ipv6_tunnel.test_teredo(probe_nat=False) elif cmd == "set_best_server": result = ipv6_tunnel.set_best_server(is_local) else: xlog.warn("unknown cmd:%s", cmd) xlog.info("ipv6_tunnel switch %s, result: %s", cmd, result) data = json.dumps({'res': result, 'time': time_now}) elif reqs['cmd'] == ['get_log']: if os.path.isfile(log_path): with open(log_path, "r") as f: content = f.read() else: content = "" status = ipv6_tunnel.state() data = json.dumps({'status': status, 'log': content.decode("GBK"), 'time': time_now}) elif reqs['cmd'] == ['get_priority']: data = json.dumps({'res': ipv6_tunnel.state_pp(), 'time': time_now}) elif reqs['cmd'] == ['switch_pp']: data = json.dumps({'res': ipv6_tunnel.switch_pp(), 'time': time_now}) self.send_response_nc('text/html', data)
def req_status_handler(self): if "user-agent" in self.headers.dict: user_agent = self.headers.dict["user-agent"] else: user_agent = "" res_arr = { "sys_platform": "%s, %s" % (platform.machine(), platform.platform()), "os_system": platform.system(), "os_version": platform.version(), "os_release": platform.release(), "architecture": platform.architecture(), "os_detail": env_info.os_detail(), "language": self.get_os_language(), "browser": user_agent, "xxnet_version": self.xxnet_version(), "python_version": platform.python_version(), "openssl_version": get_openssl_version(), "proxy_listen": config.LISTEN_IP + ":" + str(config.LISTEN_PORT), "pac_url": config.pac_url, "use_ipv6": config.USE_IPV6, "gae_appid": "|".join(config.GAE_APPIDS), "working_appid": "|".join(appid_manager.working_appid_list), "out_of_quota_appids": "|".join(appid_manager.out_of_quota_appids), "not_exist_appids": "|".join(appid_manager.not_exist_appids), "ipv4_state": check_local_network.IPv4.get_stat(), "ipv6_state": check_local_network.IPv6.get_stat(), "ipv6_tunnel": ipv6_tunnel.state(), "ip_num": len(google_ip.gws_ip_list), "good_ipv4_num": google_ip.good_ipv4_num, "good_ipv6_num": google_ip.good_ipv6_num, "connected_link_new": len(https_manager.new_conn_pool.pool), "connected_link_used": len(https_manager.gae_conn_pool.pool), "worker_h1": http_dispatch.h1_num, "worker_h2": http_dispatch.h2_num, "is_idle": int(http_dispatch.is_idle()), "scan_ip_thread_num": google_ip.scan_thread_count, "ip_quality": google_ip.ip_quality(), "block_stat": connect_control.block_stat(), "high_prior_connecting_num": connect_control.high_prior_connecting_num, "low_prior_connecting_num": connect_control.low_prior_connecting_num, "high_prior_lock": len(connect_control.high_prior_lock), "low_prior_lock": len(connect_control.low_prior_lock), } data = json.dumps(res_arr, indent=0, sort_keys=True) self.send_response_nc('text/html', data)
def req_status_handler(self): if "user-agent" in self.headers.dict: user_agent = self.headers.dict["user-agent"] else: user_agent = "" res_arr = { "sys_platform": "%s, %s" % (platform.machine(), platform.platform()), "os_system": platform.system(), "os_version": platform.version(), "os_release": platform.release(), "architecture": platform.architecture(), "os_detail": env_info.os_detail(), "language": self.get_os_language(), "browser": user_agent, "xxnet_version": self.xxnet_version(), "python_version": platform.python_version(), "openssl_version": get_openssl_version(), "proxy_listen": config.LISTEN_IP + ":" + str(config.LISTEN_PORT), "pac_url": config.pac_url, "use_ipv6": config.USE_IPV6, "gae_appid": "|".join(config.GAE_APPIDS), "working_appid": "|".join(appid_manager.working_appid_list), "out_of_quota_appids": "|".join(appid_manager.out_of_quota_appids), "not_exist_appids": "|".join(appid_manager.not_exist_appids), "ipv4_state": check_local_network.IPv4.get_stat(), "ipv6_state": check_local_network.IPv6.get_stat(), "ipv6_tunnel": ipv6_tunnel.state(), "ip_num": len(google_ip.gws_ip_list), "good_ipv4_num": google_ip.good_ipv4_num, "good_ipv6_num": google_ip.good_ipv6_num, "connected_link_new": len(https_manager.new_conn_pool.pool), "connected_link_used": len(https_manager.gae_conn_pool.pool), "worker_h1": http_dispatch.h1_num, "worker_h2": http_dispatch.h2_num, "is_idle": int(http_dispatch.is_idle()), "scan_ip_thread_num": google_ip.scan_thread_count, "ip_quality": google_ip.ip_quality(), "block_stat": connect_control.block_stat(), "high_prior_connecting_num": connect_control.high_prior_connecting_num, "low_prior_connecting_num": connect_control.low_prior_connecting_num, "high_prior_lock": len(connect_control.high_prior_lock), "low_prior_lock": len(connect_control.low_prior_lock), } data = json.dumps(res_arr, indent=0, sort_keys=True) self.send_response_nc('text/html', data)
def req_ipv6_tunnel_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' log_path = os.path.join(data_path, "ipv6_tunnel.log") time_now = datetime.datetime.today().strftime('%H:%M:%S-%a/%d/%b/%Y') if reqs['cmd'] in [['enable'], ['disable']]: cmd = reqs['cmd'][0] xlog.info("ipv6_tunnel switch %s", cmd) if os.path.isfile(log_path): try: os.remove(log_path) except Exception as e: xlog.warn("remove %s fail:%r", log_path, e) if cmd == "enable": ipv6_tunnel.enable() elif cmd == "disable": ipv6_tunnel.disable() else: xlog.warn("unknown cmd:%s", cmd) data = '{"res":"success", "time":"%s"}' % time_now elif reqs['cmd'] == ['get_log']: if os.path.isfile(log_path): with open(log_path, "r") as f: content = f.read() else: content = "" status = ipv6_tunnel.state() data = json.dumps({ 'status': status, 'log': content.decode("GBK"), 'time': time_now }) self.send_response_nc('text/html', data)
def req_ipv6_tunnel_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' log_path = os.path.join(data_path, "ipv6_tunnel.log") time_now = datetime.datetime.today().strftime('%H:%M:%S-%a/%d/%b/%Y') if reqs['cmd'] in [['enable'], ['disable']]: cmd = reqs['cmd'][0] xlog.info("ipv6_tunnel switch %s", cmd) if os.path.isfile(log_path): try: os.remove(log_path) except Exception as e: xlog.warn("remove %s fail:%r", log_path, e) if cmd == "enable": ipv6_tunnel.enable() elif cmd == "disable": ipv6_tunnel.disable() else: xlog.warn("unknown cmd:%s", cmd) data = '{"res":"success", "time":"%s"}' % time_now elif reqs['cmd'] == ['get_log']: if os.path.isfile(log_path): with open(log_path, "r") as f: content = f.read() else: content = "" status = ipv6_tunnel.state() data = json.dumps({'status': status, 'log': content.decode("GBK"), 'time': time_now}) self.send_response_nc('text/html', data)