def req_init_module_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' try: module = reqs['module'][0] config.load() if reqs['cmd'] == ['start']: result = module_init.start(module) data = '{ "module": "%s", "cmd": "start", "result": "%s" }' % ( module, result) elif reqs['cmd'] == ['stop']: result = module_init.stop(module) data = '{ "module": "%s", "cmd": "stop", "result": "%s" }' % ( module, result) elif reqs['cmd'] == ['restart']: result_stop = module_init.stop(module) result_start = module_init.start(module) data = '{ "module": "%s", "cmd": "restart", "stop_result": "%s", "start_result": "%s" }' % ( module, result_stop, result_start) except Exception as e: xlog.exception("init_module except:%s", e) self.send_response("text/html", data)
def req_init_module_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' try: module = reqs['module'][0] config.load() modules_versoin = config.get( ['modules', module, 'current_version'], None) if reqs['cmd'] == ['start']: result = module_init.start(module) data = '{ "module": "%s", "cmd": "start", "result": "%s" }' % ( module, result) elif reqs['cmd'] == ['stop']: result = module_init.stop(module) data = '{ "module": "%s", "cmd": "stop", "result": "%s" }' % ( module, result) elif reqs['cmd'] == ['restart']: result_stop = module_init.stop(module) result_start = module_init.start(module) data = '{ "module": "%s", "cmd": "restart", "stop_result": "%s", "start_result": "%s" }' % ( module, result_stop, result_start) except Exception as e: logging.exception("init_module except:%s", e) self.send_response("application/json", data)
def req_goagent_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' if reqs['cmd'] == ['get_config']: user_config.load() data = '{ "appid": "%s", "passwd": "%s" }' % (user_config.appid, user_config.password) elif reqs['cmd'] == ['set_config']: if reqs['appid'] and reqs['passwd']: appid = reqs['appid'][0] if appid == '': user_config.clean() else: user_config.save(appid=appid, password=reqs['passwd'][0]) module_init.stop("goagent") module_init.start("goagent") data = '{"res":"success"}' else: data = '{"res":"fail"}' mimetype = 'text/plain' self.wfile.write( ('HTTP/1.1 200\r\nContent-Type: %s\r\nContent-Length: %s\r\n\r\n' % (mimetype, len(data))).encode()) self.wfile.write(data)
def req_init_module_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = "" try: module = reqs["module"][0] config.load() if reqs["cmd"] == ["start"]: result = module_init.start(module) data = '{ "module": "%s", "cmd": "start", "result": "%s" }' % (module, result) elif reqs["cmd"] == ["stop"]: result = module_init.stop(module) data = '{ "module": "%s", "cmd": "stop", "result": "%s" }' % (module, result) elif reqs["cmd"] == ["restart"]: result_stop = module_init.stop(module) result_start = module_init.start(module) data = '{ "module": "%s", "cmd": "restart", "stop_result": "%s", "start_result": "%s" }' % ( module, result_stop, result_start, ) except Exception as e: logging.exception("init_module except:%s", e) self.send_response("text/html", data)
def install_module(module, new_version): import module_init import os, subprocess, sys current_path = os.path.dirname(os.path.abspath(__file__)) new_module_version_path = os.path.abspath( os.path.join(current_path, os.pardir, os.pardir, module, new_version)) #check path exist if not os.path.isdir(new_module_version_path): logging.error("install module %s dir %s not exist", module, new_module_version_path) return #call setup.py setup_script = os.path.join(new_module_version_path, "setup.py") if not os.path.isfile(setup_script): logging.warn("update %s fail. setup script %s not exist", module, setup_script) return config.set(["modules", module, "current_version"], str(new_version)) config.save() if module == "launcher": module_init.stop_all() import web_control web_control.stop() subprocess.Popen([sys.executable, setup_script], shell=False) os._exit(0) else: logging.info("Setup %s version %s ...", module, new_version) try: module_init.stop(module) subprocess.call([sys.executable, setup_script], shell=False) logging.info("Finished new version setup.") logging.info("Restarting new version ...") module_init.start(module) except Exception as e: logging.error("install module %s %s fail:%s", module, new_version, e)
def req_init_module_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' try: module = reqs['module'][0] config.load() modules_versoin = config.get(['modules', module, 'current_version'], None) if reqs['cmd'] == ['start']: result = module_init.start(module) data = '{ "module": "%s", "cmd": "start", "result": "%s" }' % (module, result) elif reqs['cmd'] == ['stop']: result = module_init.stop(module) data = '{ "module": "%s", "cmd": "stop", "result": "%s" }' % (module, result) elif reqs['cmd'] == ['restart']: result_stop = module_init.stop(module) result_start = module_init.start(module) data = '{ "module": "%s", "cmd": "restart", "stop_result": "%s", "start_result": "%s" }' % (module, result_stop, result_start) except Exception as e: logging.exception("init_module except:%s", e) self.send_response("text/html", data)
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' current_version = update_from_github.current_version() if reqs['cmd'] == ['get_config']: config.load() check_update = config.get(["update", "check_update"], 1) if check_update == 0: check_update = "dont-check" elif check_update == 1: check_update = "long-term-stable" data = '{ "check_update": "%s", "popup_webui": %d, "auto_start": %d, "php_enable": %d, "goagent_enable": %d }' %\ (check_update , config.get(["modules", "launcher", "popup_webui"], 1) , config.get(["modules", "launcher", "auto_start"], 0) , config.get(["modules", "php_proxy", "auto_start"], 0) , config.get(["modules", "goagent", "auto_start"], 0)) elif reqs['cmd'] == ['set_config']: if 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in ["dont-check", "long-term-stable", "stable", "test"]: data = '{"res":"fail, check_update:%s"}' % check_update else: config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif 'popup_webui' in reqs : popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs : auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'goagent_enable' in reqs : goagent_enable = int(reqs['goagent_enable'][0]) if goagent_enable != 0 and goagent_enable != 1: data = '{"res":"fail, goagent_enable:%s"}' % goagent_enable else: config.set(["modules", "goagent", "auto_start"], goagent_enable) config.save() if goagent_enable: module_init.start("goagent") else: module_init.stop("goagent") self.load_module_menus() data = '{"res":"success"}' elif 'php_enable' in reqs : php_enable = int(reqs['php_enable'][0]) if php_enable != 0 and php_enable != 1: data = '{"res":"fail, php_enable:%s"}' % php_enable else: config.set(["modules", "php_proxy", "auto_start"], php_enable) config.save() if php_enable: module_init.start("php_proxy") else: module_init.stop("php_proxy") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' elif reqs['cmd'] == ['get_new_version']: versions = update_from_github.get_github_versions() data = '{"res":"success", "test_version":"%s", "stable_version":"%s", "current_version":"%s"}' % (versions[0][1], versions[1][1], current_version) logging.info("%s", data) elif reqs['cmd'] == ['update_version']: version = reqs['version'][0] try: update_from_github.update_version(version) data = '{"res":"success"}' except Exception as e: logging.info("update_test_version fail:%r", e) data = '{"res":"fail", "error":"%s"}' % e self.send_response('text/html', data)
def resetGoagent_(self, _): module_init.stop("gae_proxy") module_init.start("gae_proxy")
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' if reqs['cmd'] == ['get_config']: config.load() check_update = config.get(["update", "check_update"], 1) if check_update == 0: check_update = "dont-check" elif check_update == 1: check_update = "stable" data = '{ "check_update": "%s", "language": "%s", "popup_webui": %d, "allow_remote_connect": %d, \ "show_systray": %d, "auto_start": %d, "show_detail": %d, "php_enable": %d, "gae_proxy_enable": %d, \ "x_tunnel_enable": %d}' %\ (check_update , config.get(["language"], i18n_translator.lang) , config.get(["modules", "launcher", "popup_webui"], 1) , config.get(["modules", "launcher", "allow_remote_connect"], 0) , config.get(["modules", "launcher", "show_systray"], 1) , config.get(["modules", "launcher", "auto_start"], 0) , config.get(["modules", "gae_proxy", "show_detail"], 0) , config.get(["modules", "php_proxy", "auto_start"], 0) , config.get(["modules", "gae_proxy", "auto_start"], 0) , config.get(["modules", "x_tunnel", "auto_start"], 0) ) elif reqs['cmd'] == ['set_config']: if 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in ["dont-check", "stable", "test"]: data = '{"res":"fail, check_update:%s"}' % check_update else: config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif 'language' in reqs: language = reqs['language'][0] if language not in i18n_translator.get_valid_languages(): data = '{"res":"fail, language:%s"}' % language else: config.set(["language"], language) config.save() i18n_translator.lang = language self.load_module_menus() data = '{"res":"success"}' elif 'popup_webui' in reqs: popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'allow_remote_connect' in reqs: allow_remote_connect = int(reqs['allow_remote_connect'][0]) if allow_remote_connect != 0 and allow_remote_connect != 1: data = '{"res":"fail, allow_remote_connect:%s"}' % allow_remote_connect else: config.set(["modules", "launcher", "allow_remote_connect"], allow_remote_connect) config.save() data = '{"res":"success"}' xlog.debug("restart web control.") stop() time.sleep(1) start() xlog.debug("launcher web control restarted.") elif 'show_systray' in reqs: show_systray = int(reqs['show_systray'][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.set(["modules", "launcher", "show_systray"], show_systray) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs: auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'show_detail' in reqs: show_detail = int(reqs['show_detail'][0]) if show_detail != 0 and show_detail != 1: data = '{"res":"fail, show_detail:%s"}' % show_detail else: config.set(["modules", "gae_proxy", "show_detail"], show_detail) config.save() data = '{"res":"success"}' elif 'gae_proxy_enable' in reqs : gae_proxy_enable = int(reqs['gae_proxy_enable'][0]) if gae_proxy_enable != 0 and gae_proxy_enable != 1: data = '{"res":"fail, gae_proxy_enable:%s"}' % gae_proxy_enable else: config.set(["modules", "gae_proxy", "auto_start"], gae_proxy_enable) config.save() if gae_proxy_enable: module_init.start("gae_proxy") else: module_init.stop("gae_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'php_enable' in reqs : php_enable = int(reqs['php_enable'][0]) if php_enable != 0 and php_enable != 1: data = '{"res":"fail, php_enable:%s"}' % php_enable else: config.set(["modules", "php_proxy", "auto_start"], php_enable) config.save() if php_enable: module_init.start("php_proxy") else: module_init.stop("php_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'x_tunnel_enable' in reqs : x_tunnel_enable = int(reqs['x_tunnel_enable'][0]) if x_tunnel_enable != 0 and x_tunnel_enable != 1: data = '{"res":"fail, x_tunnel_enable:%s"}' % x_tunnel_enable else: config.set(["modules", "x_tunnel", "auto_start"], x_tunnel_enable) config.save() if x_tunnel_enable: module_init.start("x_tunnel") else: module_init.stop("x_tunnel") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' self.send_response('text/html', data)
def restartOssFtp_(self, _): module_init.stop('ossftp') module_init.start('ossftp')
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = "" current_version = update_from_github.current_version() if reqs["cmd"] == ["get_config"]: config.load() check_update = config.get(["update", "check_update"], 1) if check_update == 0: check_update = "dont-check" elif check_update == 1: check_update = "long-term-stable" data = ( '{ "check_update": "%s", "popup_webui": %d, "show_systray": %d, "auto_start": %d, "php_enable": %d, "goagent_enable": %d }' % ( check_update, config.get(["modules", "launcher", "popup_webui"], 1), config.get(["modules", "launcher", "show_systray"], 1), config.get(["modules", "launcher", "auto_start"], 0), config.get(["modules", "php_proxy", "auto_start"], 0), config.get(["modules", "goagent", "auto_start"], 0), ) ) elif reqs["cmd"] == ["set_config"]: if "check_update" in reqs: check_update = reqs["check_update"][0] if check_update not in ["dont-check", "long-term-stable", "stable", "test"]: data = '{"res":"fail, check_update:%s"}' % check_update else: config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif "popup_webui" in reqs: popup_webui = int(reqs["popup_webui"][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif "show_systray" in reqs: show_systray = int(reqs["show_systray"][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.set(["modules", "launcher", "show_systray"], show_systray) config.save() data = '{"res":"success"}' elif "auto_start" in reqs: auto_start = int(reqs["auto_start"][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif "goagent_enable" in reqs: goagent_enable = int(reqs["goagent_enable"][0]) if goagent_enable != 0 and goagent_enable != 1: data = '{"res":"fail, goagent_enable:%s"}' % goagent_enable else: config.set(["modules", "goagent", "auto_start"], goagent_enable) config.save() if goagent_enable: module_init.start("goagent") else: module_init.stop("goagent") self.load_module_menus() data = '{"res":"success"}' elif "php_enable" in reqs: php_enable = int(reqs["php_enable"][0]) if php_enable != 0 and php_enable != 1: data = '{"res":"fail, php_enable:%s"}' % php_enable else: config.set(["modules", "php_proxy", "auto_start"], php_enable) config.save() if php_enable: module_init.start("php_proxy") else: module_init.stop("php_proxy") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' elif reqs["cmd"] == ["get_new_version"]: versions = update_from_github.get_github_versions() data = '{"res":"success", "test_version":"%s", "stable_version":"%s", "current_version":"%s"}' % ( versions[0][1], versions[1][1], current_version, ) logging.info("%s", data) elif reqs["cmd"] == ["update_version"]: version = reqs["version"][0] try: update_from_github.update_version(version) data = '{"res":"success"}' except Exception as e: logging.info("update_test_version fail:%r", e) data = '{"res":"fail", "error":"%s"}' % e self.send_response("text/html", data)
def on_restart_gae_proxy(self, widget=None, data=None): module_init.stop("gae_proxy") module_init.start("gae_proxy")
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' if reqs['cmd'] == ['get_config']: config.load() data = '{ "check_update": "%d", "popup_webui": %d, "auto_start": %d, "php_enable": %d, "goagent_enable": %d }' %\ (config.get(["update", "check_update"], 1) , config.get(["modules", "launcher", "popup_webui"], 1) , config.get(["modules", "launcher", "auto_start"], 0) , config.get(["modules", "php_proxy", "auto_start"], 0) , config.get(["modules", "goagent", "auto_start"], 0)) elif reqs['cmd'] == ['set_config']: if 'check_update' in reqs: check_update = int(reqs['check_update'][0]) if check_update != 0 and check_update != 1: data = '{"res":"fail, check_update:%s"}' % check_update else: config.set(["update", "check_update"], int(check_update)) config.save() data = '{"res":"success"}' elif 'popup_webui' in reqs : popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs : auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'goagent_enable' in reqs : goagent_enable = int(reqs['goagent_enable'][0]) if goagent_enable != 0 and goagent_enable != 1: data = '{"res":"fail, goagent_enable:%s"}' % goagent_enable else: config.set(["modules", "goagent", "auto_start"], goagent_enable) config.save() if goagent_enable: module_init.start("goagent") else: module_init.stop("goagent") self.load_module_menus() data = '{"res":"success"}' elif 'php_enable' in reqs : php_enable = int(reqs['php_enable'][0]) if php_enable != 0 and php_enable != 1: data = '{"res":"fail, php_enable:%s"}' % php_enable else: config.set(["modules", "php_proxy", "auto_start"], php_enable) config.save() if php_enable: module_init.start("php_proxy") else: module_init.stop("php_proxy") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' self.send_response('text/html', data)
def resetGoagent_(self, _): module_init.stop("goagent") module_init.start("goagent")
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' if reqs['cmd'] == ['get_config']: config.load() if module_init.xargs.get("allow_remote", 0): allow_remote_connect = 1 else: allow_remote_connect = config.get(["modules", "launcher", "allow_remote_connect"], 0) dat = { "check_update": config.get(["update", "check_update"], "notice-stable"), "language": config.get(["language"], i18n_translator.lang), "popup_webui": config.get(["modules", "launcher", "popup_webui"], 1), "allow_remote_connect": allow_remote_connect, "allow_remote_switch": config.get(["modules", "launcher", "allow_remote_connect"], 0), "show_systray": config.get(["modules", "launcher", "show_systray"], 1), "auto_start": config.get(["modules", "launcher", "auto_start"], 0), "show_detail": config.get(["modules", "gae_proxy", "show_detail"], 0), "gae_proxy_enable": config.get(["modules", "gae_proxy", "auto_start"], 0), "x_tunnel_enable": config.get(["modules", "x_tunnel", "auto_start"], 0), "smart_router_enable": config.get(["modules", "smart_router", "auto_start"], 0), "system-proxy": config.get(["modules", "launcher", "proxy"], "smart_router"), "show-compat-suggest": config.get(["show_compat_suggest"], 1), "no_mess_system": config.get(["no_mess_system"], 0), "keep_old_ver_num": config.get(["modules", "launcher", "keep_old_ver_num"], -1), # -1 means not set yet "postUpdateStat": config.get(["update", "postUpdateStat"], "noChange"), } data = json.dumps(dat) elif reqs['cmd'] == ['set_config']: if 'skip_version' in reqs: skip_version = reqs['skip_version'][0] skip_version_type = reqs['skip_version_type'][0] if skip_version_type not in ["stable", "test"]: data = '{"res":"fail"}' else: config.set(["update", "skip_%s_version" % skip_version_type], skip_version) config.save() if skip_version in update_from_github.update_info: update_from_github.update_info = '' data = '{"res":"success"}' elif 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in ["dont-check", "stable", "notice-stable", "test", "notice-test"]: data = '{"res":"fail, check_update:%s"}' % check_update else: if config.get(["update", "check_update"]) != check_update: update_from_github.init_update_info(check_update) config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif 'language' in reqs: language = reqs['language'][0] if language not in i18n_translator.get_valid_languages(): data = '{"res":"fail, language:%s"}' % language else: config.set(["language"], language) config.save() i18n_translator.lang = language self.load_module_menus() data = '{"res":"success"}' elif 'popup_webui' in reqs: popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'allow_remote_switch' in reqs: allow_remote_switch = int(reqs['allow_remote_switch'][0]) if allow_remote_switch != 0 and allow_remote_switch != 1: data = '{"res":"fail, allow_remote_connect:%s"}' % allow_remote_switch else: config.set(["modules", "launcher", "allow_remote_connect"], allow_remote_switch) config.save() try: del module_init.xargs["allow_remote"] except: pass if allow_remote_switch: module_init.call_each_module("set_bind_ip", { "ip": "0.0.0.0" }) else: module_init.call_each_module("set_bind_ip", { "ip": "127.0.0.1" }) data = '{"res":"success"}' xlog.debug("restart web control.") stop() module_init.stop_all() time.sleep(1) start() module_init.start_all_auto() xlog.debug("launcher web control restarted.") elif 'show_systray' in reqs: show_systray = int(reqs['show_systray'][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.set(["modules", "launcher", "show_systray"], show_systray) config.save() data = '{"res":"success"}' elif 'show_compat_suggest' in reqs: show_compat_suggest = int(reqs['show_compat_suggest'][0]) if show_compat_suggest != 0 and show_compat_suggest != 1: data = '{"res":"fail, show_compat_suggest:%s"}' % show_compat_suggest else: config.set(["show_compat_suggest"], show_compat_suggest) config.save() data = '{"res":"success"}' elif 'no_mess_system' in reqs: no_mess_system = int(reqs['no_mess_system'][0]) if no_mess_system != 0 and no_mess_system != 1: data = '{"res":"fail, no_mess_system:%s"}' % no_mess_system else: config.set(["no_mess_system"], no_mess_system) config.save() data = '{"res":"success"}' elif 'keep_old_ver_num' in reqs: keep_old_ver_num = int(reqs['keep_old_ver_num'][0]) if keep_old_ver_num < 0 or keep_old_ver_num > 99: data = '{"res":"fail, keep_old_ver_num:%s not in range 0 to 99"}' % keep_old_ver_num else: config.set(["modules", "launcher", "keep_old_ver_num"], keep_old_ver_num) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs: auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'show_detail' in reqs: show_detail = int(reqs['show_detail'][0]) if show_detail != 0 and show_detail != 1: data = '{"res":"fail, show_detail:%s"}' % show_detail else: config.set(["modules", "gae_proxy", "show_detail"], show_detail) config.save() data = '{"res":"success"}' elif 'gae_proxy_enable' in reqs: gae_proxy_enable = int(reqs['gae_proxy_enable'][0]) if gae_proxy_enable != 0 and gae_proxy_enable != 1: data = '{"res":"fail, gae_proxy_enable:%s"}' % gae_proxy_enable else: config.set(["modules", "gae_proxy", "auto_start"], gae_proxy_enable) config.save() if gae_proxy_enable: module_init.start("gae_proxy") else: module_init.stop("gae_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'x_tunnel_enable' in reqs: x_tunnel_enable = int(reqs['x_tunnel_enable'][0]) if x_tunnel_enable != 0 and x_tunnel_enable != 1: data = '{"res":"fail, x_tunnel_enable:%s"}' % x_tunnel_enable else: config.set(["modules", "x_tunnel", "auto_start"], x_tunnel_enable) config.save() if x_tunnel_enable: module_init.start("x_tunnel") else: module_init.stop("x_tunnel") self.load_module_menus() data = '{"res":"success"}' elif 'smart_router_enable' in reqs: smart_router_enable = int(reqs['smart_router_enable'][0]) if smart_router_enable != 0 and smart_router_enable != 1: data = '{"res":"fail, smart_router_enable:%s"}' % smart_router_enable else: config.set(["modules", "smart_router", "auto_start"], smart_router_enable) config.save() if smart_router_enable: module_init.start("smart_router") else: module_init.stop("smart_router") self.load_module_menus() data = '{"res":"success"}' elif 'postUpdateStat' in reqs: postUpdateStat = reqs['postUpdateStat'][0] if postUpdateStat not in ["noChange", "isNew", "isPostUpdate"]: data = '{"res":"fail, postUpdateStat:%s"}' % postUpdateStat else: config.set(["update", "postUpdateStat"], postUpdateStat) config.save() data = '{"res":"success"}' else: data = '{"res":"fail"}' elif reqs['cmd'] == ['get_version']: current_version = update_from_github.current_version() data = '{"current_version":"%s"}' % current_version self.send_response('text/html', data)
def req_config_handler(self): req = urlparse(self.path).query reqs = parse_qs(req, keep_blank_values=True) data = '' if reqs['cmd'] == ['get_config']: if module_init.xargs.get("allow_remote", 0): allow_remote_connect = 1 else: allow_remote_connect = config.allow_remote_connect dat = { "check_update": config.check_update, "language": config.language or i18n_translator.lang, "popup_webui": config.popup_webui, "allow_remote_connect": allow_remote_connect, "allow_remote_switch": config.allow_remote_connect, "show_systray": config.show_systray, "auto_start": config.auto_start, "show_detail": config.gae_show_detail, "gae_proxy_enable": config.enable_gae_proxy, "x_tunnel_enable": config.enable_x_tunnel, "smart_router_enable": config.enable_smart_router, "system-proxy": config.os_proxy_mode, "show-compat-suggest": config.show_compat_suggest, "no_mess_system": config.no_mess_system, "keep_old_ver_num": config.keep_old_ver_num, "postUpdateStat": config.postUpdateStat, } data = json.dumps(dat) elif reqs['cmd'] == ['set_config']: if 'skip_version' in reqs: skip_version = reqs['skip_version'][0] skip_version_type = reqs['skip_version_type'][0] if skip_version_type not in ["stable", "test"]: data = '{"res":"fail"}' else: setattr(config, "skip_%s_version" % skip_version_type, skip_version) config.save() if skip_version in update_from_github.update_info: update_from_github.update_info = '' data = '{"res":"success"}' elif 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in [ "dont-check", "stable", "notice-stable", "test", "notice-test" ]: data = '{"res":"fail, check_update:%s"}' % check_update else: if config.check_update != check_update: update_from_github.init_update_info(check_update) config.check_update = check_update config.save() data = '{"res":"success"}' elif 'language' in reqs: language = reqs['language'][0] if language not in valid_language: data = '{"res":"fail, language:%s"}' % language else: config.language = language config.save() i18n_translator.lang = language self.load_module_menus() data = '{"res":"success"}' elif 'popup_webui' in reqs: popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.popup_webui = popup_webui config.save() data = '{"res":"success"}' elif 'allow_remote_switch' in reqs: allow_remote_switch = int(reqs['allow_remote_switch'][0]) if allow_remote_switch != 0 and allow_remote_switch != 1: data = '{"res":"fail, allow_remote_connect:%s"}' % allow_remote_switch else: try: del module_init.xargs["allow_remote"] except: pass if allow_remote_switch: module_init.call_each_module("set_bind_ip", {"ip": "0.0.0.0"}) else: module_init.call_each_module("set_bind_ip", {"ip": "127.0.0.1"}) config.allow_remote_connect = allow_remote_switch config.save() xlog.debug("restart web control.") stop() module_init.stop_all() time.sleep(1) start(allow_remote_switch) module_init.start_all_auto() xlog.debug("launcher web control restarted.") data = '{"res":"success"}' elif 'show_systray' in reqs: show_systray = int(reqs['show_systray'][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.show_systray = show_systray config.save() data = '{"res":"success"}' elif 'show_compat_suggest' in reqs: show_compat_suggest = int(reqs['show_compat_suggest'][0]) if show_compat_suggest != 0 and show_compat_suggest != 1: data = '{"res":"fail, show_compat_suggest:%s"}' % show_compat_suggest else: config.show_compat_suggest = show_compat_suggest config.save() data = '{"res":"success"}' elif 'no_mess_system' in reqs: no_mess_system = int(reqs['no_mess_system'][0]) if no_mess_system != 0 and no_mess_system != 1: data = '{"res":"fail, no_mess_system:%s"}' % no_mess_system else: config.no_mess_system = no_mess_system config.save() data = '{"res":"success"}' elif 'keep_old_ver_num' in reqs: keep_old_ver_num = int(reqs['keep_old_ver_num'][0]) if keep_old_ver_num < 0 or keep_old_ver_num > 99: data = '{"res":"fail, keep_old_ver_num:%s not in range 0 to 99"}' % keep_old_ver_num else: config.keep_old_ver_num = keep_old_ver_num config.save() data = '{"res":"success"}' elif 'auto_start' in reqs: auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.auto_start = auto_start config.save() data = '{"res":"success"}' elif 'show_detail' in reqs: show_detail = int(reqs['show_detail'][0]) if show_detail != 0 and show_detail != 1: data = '{"res":"fail, show_detail:%s"}' % show_detail else: config.gae_show_detail = show_detail config.save() data = '{"res":"success"}' elif 'gae_proxy_enable' in reqs: gae_proxy_enable = int(reqs['gae_proxy_enable'][0]) if gae_proxy_enable != 0 and gae_proxy_enable != 1: data = '{"res":"fail, gae_proxy_enable:%s"}' % gae_proxy_enable else: config.enable_gae_proxy = gae_proxy_enable config.save() if gae_proxy_enable: module_init.start("gae_proxy") else: module_init.stop("gae_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'x_tunnel_enable' in reqs: x_tunnel_enable = int(reqs['x_tunnel_enable'][0]) if x_tunnel_enable != 0 and x_tunnel_enable != 1: data = '{"res":"fail, x_tunnel_enable:%s"}' % x_tunnel_enable else: config.enable_x_tunnel = x_tunnel_enable config.save() if x_tunnel_enable: module_init.start("x_tunnel") else: module_init.stop("x_tunnel") self.load_module_menus() data = '{"res":"success"}' elif 'smart_router_enable' in reqs: smart_router_enable = int(reqs['smart_router_enable'][0]) if smart_router_enable != 0 and smart_router_enable != 1: data = '{"res":"fail, smart_router_enable:%s"}' % smart_router_enable else: config.enable_smart_router = smart_router_enable config.save() if smart_router_enable: module_init.start("smart_router") else: module_init.stop("smart_router") self.load_module_menus() data = '{"res":"success"}' elif 'postUpdateStat' in reqs: postUpdateStat = reqs['postUpdateStat'][0] if postUpdateStat not in ["noChange", "isNew", "isPostUpdate"]: data = '{"res":"fail, postUpdateStat:%s"}' % postUpdateStat else: config.postUpdateStat = postUpdateStat config.save() data = '{"res":"success"}' else: data = '{"res":"fail"}' elif reqs['cmd'] == ['get_version']: current_version = update_from_github.current_version() data = '{"current_version":"%s"}' % current_version self.send_response('text/html', data)
def on_restart_goagent(self, widget=None, data=None): module_init.stop("goagent") module_init.start("goagent")
if pktLength > length: #if __name__ == "__main__": #print 'receive one more msg' #print 'Subscribe msg length {0}, packets length {1}', length, pktLength lines = lines[length:] continue else : lines = None break subscriber = cdbSubscriber() subscriber.connect() libnsa.oem_init() module_init.start(agent, subscriber) def snmpAgentSubscriberMain(): subscriber.read() #subscribe thread Thread1 = threading.Thread(target = snmpAgentSubscriberMain, name = "snmpAgentSubscriberMain") Thread1.daemon = True Thread1.start() SYSTEM_OBJID = 2 sysObjId = (c_oid * MAX_OID_LEN)() sysObjId[0] = 0 # hex value
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' if reqs['cmd'] == ['get_config']: config.load() check_update = config.get(["update", "check_update"], "notice-stable") if module_init.xargs.get("allow_remote", 0): allow_remote_connect = 1 else: allow_remote_connect = config.get( ["modules", "launcher", "allow_remote_connect"], 0) dat = { "check_update": check_update, "language": config.get(["language"], i18n_translator.lang), "popup_webui": config.get(["modules", "launcher", "popup_webui"], 1), "allow_remote_connect": allow_remote_connect, "allow_remote_switch": config.get(["modules", "launcher", "allow_remote_connect"], 0), "show_systray": config.get(["modules", "launcher", "show_systray"], 1), "auto_start": config.get(["modules", "launcher", "auto_start"], 0), "show_detail": config.get(["modules", "gae_proxy", "show_detail"], 0), "gae_proxy_enable": config.get(["modules", "gae_proxy", "show_detail"], 0), "x_tunnel_enable": config.get(["modules", "x_tunnel", "auto_start"], 0), "smart_router_enable": config.get(["modules", "smart_router", "auto_start"], 0), "no_mess_system": config.get(["no_mess_system"], 0) } data = json.dumps(dat) if reqs['cmd'] == ['get_version']: current_version = update_from_github.current_version() data = '{"current_version":"%s"}' % (current_version) elif reqs['cmd'] == ['set_config']: if 'skip_version' in reqs: skip_version = reqs['skip_version'][0] skip_version_type = reqs['skip_version_type'][0] if skip_version_type not in ["stable", "test"]: data = '{"res":"fail"}' else: config.set( ["update", "skip_%s_version" % skip_version_type], skip_version) config.save() if skip_version in update_from_github.update_info: update_from_github.update_info = '' data = '{"res":"success"}' elif 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in [ "dont-check", "stable", "notice-stable", "test", "notice-test" ]: data = '{"res":"fail, check_update:%s"}' % check_update else: if config.get(["update", "check_update"]) != check_update: update_from_github.init_update_info(check_update) config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif 'language' in reqs: language = reqs['language'][0] if language not in i18n_translator.get_valid_languages(): data = '{"res":"fail, language:%s"}' % language else: config.set(["language"], language) config.save() i18n_translator.lang = language self.load_module_menus() data = '{"res":"success"}' elif 'popup_webui' in reqs: popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'allow_remote_switch' in reqs: allow_remote_switch = int(reqs['allow_remote_switch'][0]) if allow_remote_switch != 0 and allow_remote_switch != 1: data = '{"res":"fail, allow_remote_connect:%s"}' % allow_remote_switch else: config.set(["modules", "launcher", "allow_remote_connect"], allow_remote_switch) config.save() try: del module_init.xargs["allow_remote"] except: pass if allow_remote_switch: module_init.call_each_module("set_bind_ip", {"ip": "0.0.0.0"}) else: module_init.call_each_module("set_bind_ip", {"ip": "127.0.0.1"}) data = '{"res":"success"}' xlog.debug("restart web control.") stop() module_init.stop_all() time.sleep(1) start() module_init.start_all_auto() xlog.debug("launcher web control restarted.") elif 'show_systray' in reqs: show_systray = int(reqs['show_systray'][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.set(["modules", "launcher", "show_systray"], show_systray) config.save() data = '{"res":"success"}' elif 'no_mess_system' in reqs: no_mess_system = int(reqs['no_mess_system'][0]) if no_mess_system != 0 and no_mess_system != 1: data = '{"res":"fail, show_systray:%s"}' % no_mess_system else: config.set(["no_mess_system"], no_mess_system) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs: auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'show_detail' in reqs: show_detail = int(reqs['show_detail'][0]) if show_detail != 0 and show_detail != 1: data = '{"res":"fail, show_detail:%s"}' % show_detail else: config.set(["modules", "gae_proxy", "show_detail"], show_detail) config.save() data = '{"res":"success"}' elif 'gae_proxy_enable' in reqs: gae_proxy_enable = int(reqs['gae_proxy_enable'][0]) if gae_proxy_enable != 0 and gae_proxy_enable != 1: data = '{"res":"fail, gae_proxy_enable:%s"}' % gae_proxy_enable else: config.set(["modules", "gae_proxy", "auto_start"], gae_proxy_enable) config.save() if gae_proxy_enable: module_init.start("gae_proxy") else: module_init.stop("gae_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'x_tunnel_enable' in reqs: x_tunnel_enable = int(reqs['x_tunnel_enable'][0]) if x_tunnel_enable != 0 and x_tunnel_enable != 1: data = '{"res":"fail, x_tunnel_enable:%s"}' % x_tunnel_enable else: config.set(["modules", "x_tunnel", "auto_start"], x_tunnel_enable) config.save() if x_tunnel_enable: module_init.start("x_tunnel") else: module_init.stop("x_tunnel") self.load_module_menus() data = '{"res":"success"}' elif 'smart_router_enable' in reqs: smart_router_enable = int(reqs['smart_router_enable'][0]) if smart_router_enable != 0 and smart_router_enable != 1: data = '{"res":"fail, smart_router_enable:%s"}' % smart_router_enable else: config.set(["modules", "smart_router", "auto_start"], smart_router_enable) config.save() if smart_router_enable: module_init.start("smart_router") else: module_init.stop("smart_router") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' self.send_response('text/html', data)
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' current_version = update_from_github.current_version() if reqs['cmd'] == ['get_config']: config.load() check_update = config.get(["update", "check_update"], 1) if check_update == 0: check_update = "dont-check" elif check_update == 1: check_update = "stable" data = '{ "check_update": "%s", "popup_webui": %d, "allow_remote_connect": %d, "show_systray": %d, "auto_start": %d, "php_enable": %d, "gae_proxy_enable": %d }' %\ (check_update , config.get(["modules", "launcher", "popup_webui"], 1) , config.get(["modules", "launcher", "allow_remote_connect"], 0) , config.get(["modules", "launcher", "show_systray"], 1) , config.get(["modules", "launcher", "auto_start"], 0) , config.get(["modules", "php_proxy", "auto_start"], 0) , config.get(["modules", "gae_proxy", "auto_start"], 0)) elif reqs['cmd'] == ['set_config']: if 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in ["dont-check", "stable", "test"]: data = '{"res":"fail, check_update:%s"}' % check_update else: config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif 'popup_webui' in reqs: popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'allow_remote_connect' in reqs: allow_remote_connect = int(reqs['allow_remote_connect'][0]) if allow_remote_connect != 0 and allow_remote_connect != 1: data = '{"res":"fail, allow_remote_connect:%s"}' % allow_remote_connect else: config.set(["modules", "launcher", "allow_remote_connect"], allow_remote_connect) config.save() data = '{"res":"success"}' xlog.debug("restart web control.") stop() time.sleep(1) start() xlog.debug("launcher web control restarted.") elif 'show_systray' in reqs: show_systray = int(reqs['show_systray'][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.set(["modules", "launcher", "show_systray"], show_systray) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs: auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'gae_proxy_enable' in reqs : gae_proxy_enable = int(reqs['gae_proxy_enable'][0]) if gae_proxy_enable != 0 and gae_proxy_enable != 1: data = '{"res":"fail, gae_proxy_enable:%s"}' % gae_proxy_enable else: config.set(["modules", "gae_proxy", "auto_start"], gae_proxy_enable) config.save() if gae_proxy_enable: module_init.start("gae_proxy") else: module_init.stop("gae_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'php_enable' in reqs : php_enable = int(reqs['php_enable'][0]) if php_enable != 0 and php_enable != 1: data = '{"res":"fail, php_enable:%s"}' % php_enable else: config.set(["modules", "php_proxy", "auto_start"], php_enable) config.save() if php_enable: module_init.start("php_proxy") else: module_init.stop("php_proxy") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' elif reqs['cmd'] == ['get_new_version']: versions = update_from_github.get_github_versions() data = '{"res":"success", "test_version":"%s", "stable_version":"%s", "current_version":"%s"}' % (versions[0][1], versions[1][1], current_version) xlog.info("%s", data) elif reqs['cmd'] == ['update_version']: version = reqs['version'][0] try: update_from_github.update_version(version) data = '{"res":"success"}' except Exception as e: xlog.info("update_test_version fail:%r", e) data = '{"res":"fail", "error":"%s"}' % e self.send_response('text/html', data)
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' current_version = update_from_github.current_version() if reqs['cmd'] == ['get_config']: config.load() check_update = config.get(["update", "check_update"], 1) if check_update == 0: check_update = "dont-check" elif check_update == 1: check_update = "long-term-stable" data = '{ "check_update": "%s", "popup_webui": %d, "allow_remote_connect": %d, "show_systray": %d, "auto_start": %d, "php_enable": %d, "gae_proxy_enable": %d }' %\ (check_update , config.get(["modules", "launcher", "popup_webui"], 1) , config.get(["modules", "launcher", "allow_remote_connect"], 0) , config.get(["modules", "launcher", "show_systray"], 1) , config.get(["modules", "launcher", "auto_start"], 0) , config.get(["modules", "php_proxy", "auto_start"], 0) , config.get(["modules", "gae_proxy", "auto_start"], 0)) elif reqs['cmd'] == ['set_config']: if 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in ["dont-check", "long-term-stable", "stable", "test"]: data = '{"res":"fail, check_update:%s"}' % check_update else: config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif 'popup_webui' in reqs: popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'allow_remote_connect' in reqs: allow_remote_connect = int(reqs['allow_remote_connect'][0]) if allow_remote_connect != 0 and allow_remote_connect != 1: data = '{"res":"fail, allow_remote_connect:%s"}' % allow_remote_connect else: config.set(["modules", "launcher", "allow_remote_connect"], allow_remote_connect) config.save() data = '{"res":"success"}' launcher_log.debug("restart web control.") stop() time.sleep(1) start() launcher_log.debug("launcher web control restarted.") elif 'show_systray' in reqs: show_systray = int(reqs['show_systray'][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.set(["modules", "launcher", "show_systray"], show_systray) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs: auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'gae_proxy_enable' in reqs : gae_proxy_enable = int(reqs['gae_proxy_enable'][0]) if gae_proxy_enable != 0 and gae_proxy_enable != 1: data = '{"res":"fail, gae_proxy_enable:%s"}' % gae_proxy_enable else: config.set(["modules", "gae_proxy", "auto_start"], gae_proxy_enable) config.save() if gae_proxy_enable: module_init.start("gae_proxy") else: module_init.stop("gae_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'php_enable' in reqs : php_enable = int(reqs['php_enable'][0]) if php_enable != 0 and php_enable != 1: data = '{"res":"fail, php_enable:%s"}' % php_enable else: config.set(["modules", "php_proxy", "auto_start"], php_enable) config.save() if php_enable: module_init.start("php_proxy") else: module_init.stop("php_proxy") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' elif reqs['cmd'] == ['get_new_version']: versions = update_from_github.get_github_versions() data = '{"res":"success", "test_version":"%s", "stable_version":"%s", "current_version":"%s"}' % (versions[0][1], versions[1][1], current_version) launcher_log.info("%s", data) elif reqs['cmd'] == ['update_version']: version = reqs['version'][0] try: update_from_github.update_version(version) data = '{"res":"success"}' except Exception as e: launcher_log.info("update_test_version fail:%r", e) data = '{"res":"fail", "error":"%s"}' % e self.send_response('text/html', data)
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' if reqs['cmd'] == ['get_config']: config.load() check_update = config.get(["update", "check_update"], 1) if check_update == 0: check_update = "dont-check" elif check_update == 1: check_update = "stable" data = '{ "check_update": "%s", "language": "%s", "popup_webui": %d, "allow_remote_connect": %d, \ "show_systray": %d, "auto_start": %d, "show_detail": %d, "php_enable": %d, "gae_proxy_enable": %d, \ "x_tunnel_enable": %d}' %\ (check_update , config.get(["language"], i18n_translator.lang) , config.get(["modules", "launcher", "popup_webui"], 1) , config.get(["modules", "launcher", "allow_remote_connect"], 0) , config.get(["modules", "launcher", "show_systray"], 1) , config.get(["modules", "launcher", "auto_start"], 0) , config.get(["modules", "gae_proxy", "show_detail"], 0) , config.get(["modules", "php_proxy", "auto_start"], 0) , config.get(["modules", "gae_proxy", "auto_start"], 0) , config.get(["modules", "x_tunnel", "auto_start"], 0) ) elif reqs['cmd'] == ['set_config']: if 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in ["dont-check", "stable", "test"]: data = '{"res":"fail, check_update:%s"}' % check_update else: config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif 'language' in reqs: language = reqs['language'][0] if language not in i18n_translator.get_valid_languages(): data = '{"res":"fail, language:%s"}' % language else: config.set(["language"], language) config.save() i18n_translator.lang = language self.load_module_menus() data = '{"res":"success"}' elif 'popup_webui' in reqs: popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'allow_remote_connect' in reqs: allow_remote_connect = int(reqs['allow_remote_connect'][0]) if allow_remote_connect != 0 and allow_remote_connect != 1: data = '{"res":"fail, allow_remote_connect:%s"}' % allow_remote_connect else: config.set(["modules", "launcher", "allow_remote_connect"], allow_remote_connect) config.save() data = '{"res":"success"}' xlog.debug("restart web control.") stop() time.sleep(1) start() xlog.debug("launcher web control restarted.") elif 'show_systray' in reqs: show_systray = int(reqs['show_systray'][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.set(["modules", "launcher", "show_systray"], show_systray) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs: auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'show_detail' in reqs: show_detail = int(reqs['show_detail'][0]) if show_detail != 0 and show_detail != 1: data = '{"res":"fail, show_detail:%s"}' % show_detail else: config.set(["modules", "gae_proxy", "show_detail"], show_detail) config.save() data = '{"res":"success"}' elif 'gae_proxy_enable' in reqs: gae_proxy_enable = int(reqs['gae_proxy_enable'][0]) if gae_proxy_enable != 0 and gae_proxy_enable != 1: data = '{"res":"fail, gae_proxy_enable:%s"}' % gae_proxy_enable else: config.set(["modules", "gae_proxy", "auto_start"], gae_proxy_enable) config.save() if gae_proxy_enable: module_init.start("gae_proxy") else: module_init.stop("gae_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'php_enable' in reqs: php_enable = int(reqs['php_enable'][0]) if php_enable != 0 and php_enable != 1: data = '{"res":"fail, php_enable:%s"}' % php_enable else: config.set(["modules", "php_proxy", "auto_start"], php_enable) config.save() if php_enable: module_init.start("php_proxy") else: module_init.stop("php_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'x_tunnel_enable' in reqs: x_tunnel_enable = int(reqs['x_tunnel_enable'][0]) if x_tunnel_enable != 0 and x_tunnel_enable != 1: data = '{"res":"fail, x_tunnel_enable:%s"}' % x_tunnel_enable else: config.set(["modules", "x_tunnel", "auto_start"], x_tunnel_enable) config.save() if x_tunnel_enable: module_init.start("x_tunnel") else: module_init.stop("x_tunnel") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' self.send_response('text/html', data)
def req_config_handler(self): req = urlparse.urlparse(self.path).query reqs = urlparse.parse_qs(req, keep_blank_values=True) data = '' if reqs['cmd'] == ['get_config']: config.load() check_update = config.get(["update", "check_update"], "notice-stable") data = '{ "check_update": "%s", "language": "%s", "popup_webui": %d, "allow_remote_connect": %d, \ "show_systray": %d, "auto_start": %d, "show_detail": %d, "gae_proxy_enable": %d, "x_tunnel_enable": %d, \ "smart_router_enable": %d, "no_mess_system": %d }' %\ (check_update , config.get(["language"], i18n_translator.lang) , config.get(["modules", "launcher", "popup_webui"], 1) , config.get(["modules", "launcher", "allow_remote_connect"], 0) , config.get(["modules", "launcher", "show_systray"], 1) , config.get(["modules", "launcher", "auto_start"], 0) , config.get(["modules", "gae_proxy", "show_detail"], 0) , config.get(["modules", "gae_proxy", "auto_start"], 0) , config.get(["modules", "x_tunnel", "auto_start"], 0) , config.get(["modules", "smart_router", "auto_start"], 0) , config.get(["no_mess_system"], 0) ) if reqs['cmd'] == ['get_version']: current_version = update_from_github.current_version() data = '{"current_version":"%s"}' % (current_version) elif reqs['cmd'] == ['set_config']: if 'skip_version' in reqs: skip_version = reqs['skip_version'][0] skip_version_type = reqs['skip_version_type'][0] if skip_version_type not in ["stable", "test"]: data = '{"res":"fail"}' else: config.set(["update", "skip_%s_version" % skip_version_type], skip_version) config.save() if skip_version in update_from_github.update_info: update_from_github.update_info = '' data = '{"res":"success"}' elif 'check_update' in reqs: check_update = reqs['check_update'][0] if check_update not in ["dont-check", "stable", "notice-stable", "test", "notice-test"]: data = '{"res":"fail, check_update:%s"}' % check_update else: if config.get(["update", "check_update"]) != check_update: update_from_github.init_update_info(check_update) config.set(["update", "check_update"], check_update) config.save() data = '{"res":"success"}' elif 'language' in reqs: language = reqs['language'][0] if language not in i18n_translator.get_valid_languages(): data = '{"res":"fail, language:%s"}' % language else: config.set(["language"], language) config.save() i18n_translator.lang = language self.load_module_menus() data = '{"res":"success"}' elif 'popup_webui' in reqs: popup_webui = int(reqs['popup_webui'][0]) if popup_webui != 0 and popup_webui != 1: data = '{"res":"fail, popup_webui:%s"}' % popup_webui else: config.set(["modules", "launcher", "popup_webui"], popup_webui) config.save() data = '{"res":"success"}' elif 'allow_remote_connect' in reqs: allow_remote_connect = int(reqs['allow_remote_connect'][0]) if allow_remote_connect != 0 and allow_remote_connect != 1: data = '{"res":"fail, allow_remote_connect:%s"}' % allow_remote_connect else: config.set(["modules", "launcher", "allow_remote_connect"], allow_remote_connect) config.save() data = '{"res":"success"}' xlog.debug("restart web control.") stop() time.sleep(1) start() xlog.debug("launcher web control restarted.") elif 'show_systray' in reqs: show_systray = int(reqs['show_systray'][0]) if show_systray != 0 and show_systray != 1: data = '{"res":"fail, show_systray:%s"}' % show_systray else: config.set(["modules", "launcher", "show_systray"], show_systray) config.save() data = '{"res":"success"}' elif 'no_mess_system' in reqs: no_mess_system = int(reqs['no_mess_system'][0]) if no_mess_system != 0 and no_mess_system != 1: data = '{"res":"fail, show_systray:%s"}' % no_mess_system else: config.set(["no_mess_system"], no_mess_system) config.save() data = '{"res":"success"}' elif 'auto_start' in reqs: auto_start = int(reqs['auto_start'][0]) if auto_start != 0 and auto_start != 1: data = '{"res":"fail, auto_start:%s"}' % auto_start else: if auto_start: autorun.enable() else: autorun.disable() config.set(["modules", "launcher", "auto_start"], auto_start) config.save() data = '{"res":"success"}' elif 'show_detail' in reqs: show_detail = int(reqs['show_detail'][0]) if show_detail != 0 and show_detail != 1: data = '{"res":"fail, show_detail:%s"}' % show_detail else: config.set(["modules", "gae_proxy", "show_detail"], show_detail) config.save() data = '{"res":"success"}' elif 'gae_proxy_enable' in reqs : gae_proxy_enable = int(reqs['gae_proxy_enable'][0]) if gae_proxy_enable != 0 and gae_proxy_enable != 1: data = '{"res":"fail, gae_proxy_enable:%s"}' % gae_proxy_enable else: config.set(["modules", "gae_proxy", "auto_start"], gae_proxy_enable) config.save() if gae_proxy_enable: module_init.start("gae_proxy") else: module_init.stop("gae_proxy") self.load_module_menus() data = '{"res":"success"}' elif 'x_tunnel_enable' in reqs : x_tunnel_enable = int(reqs['x_tunnel_enable'][0]) if x_tunnel_enable != 0 and x_tunnel_enable != 1: data = '{"res":"fail, x_tunnel_enable:%s"}' % x_tunnel_enable else: config.set(["modules", "x_tunnel", "auto_start"], x_tunnel_enable) config.save() if x_tunnel_enable: module_init.start("x_tunnel") else: module_init.stop("x_tunnel") self.load_module_menus() data = '{"res":"success"}' elif 'smart_router_enable' in reqs : smart_router_enable = int(reqs['smart_router_enable'][0]) if smart_router_enable != 0 and smart_router_enable != 1: data = '{"res":"fail, smart_router_enable:%s"}' % smart_router_enable else: config.set(["modules", "smart_router", "auto_start"], smart_router_enable) config.save() if smart_router_enable: module_init.start("smart_router") else: module_init.stop("smart_router") self.load_module_menus() data = '{"res":"success"}' else: data = '{"res":"fail"}' self.send_response('text/html', data)