diff --git a/dist/windows/client/assist/setup.nsh b/dist/windows/client/assist/setup.nsh index 41c8489..9e8a951 100644 Binary files a/dist/windows/client/assist/setup.nsh and b/dist/windows/client/assist/setup.nsh differ diff --git a/server/tp_core/core/ts_main.cpp b/server/tp_core/core/ts_main.cpp index d622ae1..a5fe3f4 100644 --- a/server/tp_core/core/ts_main.cpp +++ b/server/tp_core/core/ts_main.cpp @@ -269,7 +269,7 @@ int ts_main(void) // } // //TS_DB_AUTH_INFO info; // //g_db.get_auth_info(17, info); - // g_db.update_reset_log(); + g_db.update_reset_log(); //mbedtls_debug_set_threshold(9999); diff --git a/server/www/teleport/app/eom_app/app/configs.py b/server/www/teleport/app/eom_app/app/configs.py index 24243bc..91f105b 100644 --- a/server/www/teleport/app/eom_app/app/configs.py +++ b/server/www/teleport/app/eom_app/app/configs.py @@ -32,7 +32,7 @@ class ConfigFile(AttrDict): # self.__save_indent = 0 # self.__loaded = False - def load(self, cfg_file): + def load_web(self, cfg_file): if not os.path.exists(cfg_file): log.e('configuration file does not exists: [{}]\n'.format(cfg_file)) return False @@ -71,6 +71,75 @@ class ConfigFile(AttrDict): return True + def load_core(self, cfg_file): + if not os.path.exists(cfg_file): + log.e('configuration file does not exists: [{}]\n'.format(cfg_file)) + return False + try: + _cfg = configparser.ConfigParser() + _cfg.read(cfg_file) + except: + log.e('can not load configuration file: [{}]\n'.format(cfg_file)) + return False + + self['core'] = AttrDict() + + self['core']['rpc'] = AttrDict() + self['core']['rpc']['ip'] = '127.0.0.1' + self['core']['rpc']['port'] = 52080 + if 'rpc' in _cfg: + self['core']['rpc']['ip'] = _cfg['rpc'].get('bind-ip', '127.0.0.1') + self['core']['rpc']['port'] = _cfg['rpc'].getint('bind-port', 52080) + + self['core']['ssh'] = AttrDict() + self['core']['ssh']['enabled'] = False + self['core']['ssh']['port'] = 52189 + if 'protocol-ssh' in _cfg: + self['core']['ssh']['enabled'] = _cfg['protocol-ssh'].getboolean('enabled', False) + self['core']['ssh']['port'] = _cfg['protocol-ssh'].getint('bind-port', 52189) + + self['core']['rdp'] = AttrDict() + self['core']['rdp']['enabled'] = False + self['core']['rdp']['port'] = 52089 + if 'protocol-rdp' in _cfg: + self['core']['rdp']['enabled'] = _cfg['protocol-rdp'].getboolean('enabled', False) + self['core']['rdp']['port'] = _cfg['protocol-rdp'].getint('bind-port', 52089) + + self['core']['telnet'] = AttrDict() + self['core']['telnet']['enabled'] = False + self['core']['telnet']['port'] = 52389 + if 'protocol-telnet' in _cfg: + self['core']['telnet']['enabled'] = _cfg['protocol-telnet'].getboolean('enabled', False) + self['core']['telnet']['port'] = _cfg['protocol-telnet'].getint('bind-port', 52389) + + + # if 'common' not in _cfg: + # log.e('invalid configuration file: [{}]\n'.format(cfg_file)) + # return False + # + # _comm = _cfg['common'] + # self['server_port'] = _comm.getint('port', 7190) + # self['log_file'] = _comm.get('log-file', None) + # if self['log_file'] is not None: + # self['log_path'] = os.path.dirname(self['log_file']) + # + # _level = _comm.getint('log-level', 2) + # if _level == 0: + # self['log_level'] = LOG_DEBUG + # elif _level == 1: + # self['log_level'] = LOG_VERBOSE + # elif _level == 2: + # self['log_level'] = LOG_INFO + # elif _level == 3: + # self['log_level'] = LOG_WARN + # elif _level == 4: + # self['log_level'] = LOG_ERROR + # else: + # self['log_level'] = LOG_VERBOSE + + return True + + _g_cfg = ConfigFile() del ConfigFile diff --git a/server/www/teleport/app/eom_app/app/core.py b/server/www/teleport/app/eom_app/app/core.py index fcab3d8..6abf273 100644 --- a/server/www/teleport/app/eom_app/app/core.py +++ b/server/www/teleport/app/eom_app/app/core.py @@ -79,15 +79,15 @@ class SwxCore: # db_path = os.path.join(cfg.data_path, 'ts_db.db') get_sqlite_pool().init(cfg.data_path) - var_js = os.path.join(cfg.static_path, 'js', 'var.js') - try: - # if not os.path.exists(var_js): - f = open(var_js, 'w') - f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(get_sqlite_pool().get_config_server_ip())) - f.close() - except Exception: - log.e('can not load config: server_ip.\n') - return False + # var_js = os.path.join(cfg.static_path, 'js', 'var.js') + # try: + # # if not os.path.exists(var_js): + # f = open(var_js, 'w') + # f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(get_sqlite_pool().get_config_server_ip())) + # f.close() + # except Exception: + # log.e('can not load config: server_ip.\n') + # return False return True @@ -98,7 +98,11 @@ class SwxCore: _cfg_path = os.path.join(options['app_path'], 'conf') _cfg_file = os.path.join(_cfg_path, 'web.ini') - if not cfg.load(_cfg_file): + if not cfg.load_web(_cfg_file): + return False + + _cfg_file = os.path.join(_cfg_path, 'core.ini') + if not cfg.load_core(_cfg_file): return False cfg.cfg_path = _cfg_path diff --git a/server/www/teleport/app/eom_app/controller/host.py b/server/www/teleport/app/eom_app/controller/host.py index afee869..7119ccb 100644 --- a/server/www/teleport/app/eom_app/controller/host.py +++ b/server/www/teleport/app/eom_app/controller/host.py @@ -7,6 +7,8 @@ import urllib import urllib.parse import urllib.request +from eom_app.app.configs import app_cfg +from eom_app.module import set from eom_app.module import host from eom_app.module.common import * from eom_common.eomcore.logger import * @@ -21,22 +23,30 @@ class IndexHandler(SwxAuthHandler): if _user is None: return self.write(-1) - static_path = cfg.static_path - var_js = os.path.join(static_path, 'js', 'var.js') + # static_path = cfg.static_path + # var_js = os.path.join(static_path, 'js', 'var.js') try: - f = open(var_js, 'w') + # f = open(var_js, 'w') _type = _user['type'] - config_list = host.get_config_list() + config_list = set.get_config_list() ts_server = dict() - ts_server['ip'] = config_list['ts_server_ip'] - ts_server['ssh_port'] = config_list['ts_server_ssh_port'] - ts_server['rdp_port'] = config_list['ts_server_rdp_port'] - ts_server['telnet_port'] = config_list['ts_server_telnet_port'] - f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(ts_server['ip'])) + # ts_server['ip'] = config_list['ts_server_ip'] + # ts_server['ip'] = cfg['ts_server_ip'] + # ts_server['ip'] = '0.0.0.0' + + # ts_server['ssh_port'] = config_list['ts_server_ssh_port'] + # ts_server['rdp_port'] = config_list['ts_server_rdp_port'] + # ts_server['telnet_port'] = config_list['ts_server_telnet_port'] + + ts_server['ssh_port'] = cfg.core.ssh.port + ts_server['rdp_port'] = cfg.core.rdp.port + ts_server['telnet_port'] = cfg.core.telnet.port + + # f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(ts_server['ip'])) except Exception as e: return self.write(-1) - finally: - f.close() + # finally: + # f.close() if _type >= 100: group_list = host.get_group_list() @@ -805,14 +815,16 @@ class GetSessionId(SwxAuthJsonHandler): return auth_id = args['auth_id'] - config_list = host.get_config_list() - ts_server_rpc_ip = '127.0.0.1' - - if 'ts_server_rpc_ip' in config_list: - ts_server_rpc_ip = config_list['ts_server_rpc_ip'] - ts_server_rpc_port = 52080 - if 'ts_server_rpc_port' in config_list: - ts_server_rpc_port = config_list['ts_server_rpc_port'] + # config_list = host.get_config_list() + # ts_server_rpc_ip = '127.0.0.1' + # + # if 'ts_server_rpc_ip' in config_list: + # ts_server_rpc_ip = config_list['ts_server_rpc_ip'] + # ts_server_rpc_port = 52080 + # if 'ts_server_rpc_port' in config_list: + # ts_server_rpc_port = config_list['ts_server_rpc_port'] + ts_server_rpc_ip = cfg.core.rpc.ip + ts_server_rpc_port = cfg.core.rpc.port url = 'http://{}:{}/request_session'.format(ts_server_rpc_ip, ts_server_rpc_port) values['auth_id'] = auth_id @@ -856,14 +868,16 @@ class AdminGetSessionId(SwxAuthJsonHandler): return values['account'] = 'admin' - config_list = host.get_config_list() - ts_server_rpc_ip = '127.0.0.1' - - if 'ts_server_rpc_ip' in config_list: - ts_server_rpc_ip = config_list['ts_server_rpc_ip'] - ts_server_rpc_port = 52080 - if 'ts_server_rpc_port' in config_list: - ts_server_rpc_port = config_list['ts_server_rpc_port'] + # config_list = host.get_config_list() + # ts_server_rpc_ip = '127.0.0.1' + # + # if 'ts_server_rpc_ip' in config_list: + # ts_server_rpc_ip = config_list['ts_server_rpc_ip'] + # ts_server_rpc_port = 52080 + # if 'ts_server_rpc_port' in config_list: + # ts_server_rpc_port = config_list['ts_server_rpc_port'] + ts_server_rpc_ip = cfg.core.rpc.ip + ts_server_rpc_port = cfg.core.rpc.port url = 'http://{}:{}/request_session'.format(ts_server_rpc_ip, ts_server_rpc_port) # values['auth_id'] = auth_id @@ -947,14 +961,16 @@ class AdminFastGetSessionId(SwxAuthJsonHandler): values['account'] = 'admin' - config_list = host.get_config_list() - ts_server_rpc_ip = '127.0.0.1' - - if 'ts_server_rpc_ip' in config_list: - ts_server_rpc_ip = config_list['ts_server_rpc_ip'] - ts_server_rpc_port = 52080 - if 'ts_server_rpc_port' in config_list: - ts_server_rpc_port = config_list['ts_server_rpc_port'] + # config_list = host.get_config_list() + # ts_server_rpc_ip = '127.0.0.1' + # + # if 'ts_server_rpc_ip' in config_list: + # ts_server_rpc_ip = config_list['ts_server_rpc_ip'] + # ts_server_rpc_port = 52080 + # if 'ts_server_rpc_port' in config_list: + # ts_server_rpc_port = config_list['ts_server_rpc_port'] + ts_server_rpc_ip = cfg.core.rpc.ip + ts_server_rpc_port = cfg.core.rpc.port url = 'http://{}:{}/request_session'.format(ts_server_rpc_ip, ts_server_rpc_port) # values['auth_id'] = auth_id diff --git a/server/www/teleport/app/eom_app/controller/record.py b/server/www/teleport/app/eom_app/controller/record.py index 50dc574..f7f7fe0 100644 --- a/server/www/teleport/app/eom_app/controller/record.py +++ b/server/www/teleport/app/eom_app/controller/record.py @@ -32,10 +32,10 @@ class LogHandler(SwxAdminHandler): user_list = user.get_user_list() total_size, free_size = get_free_space_mb(cfg.data_path) - config_list = host.get_config_list() + # config_list = host.get_config_list() ts_server = dict() - ts_server['ip'] = config_list['ts_server_ip'] - ts_server['port'] = cfg.server_port + ts_server['ip'] = cfg.core.rpc.ip #config_list['ts_server_ip'] + ts_server['port'] = cfg.core.rpc.port #cfg.server_port self.render('log/index.mako', user_list=user_list, total_size=int(total_size), free_size=int(free_size), ts_server=ts_server) diff --git a/server/www/teleport/app/eom_app/controller/set.py b/server/www/teleport/app/eom_app/controller/set.py index a581d0b..94f4013 100644 --- a/server/www/teleport/app/eom_app/controller/set.py +++ b/server/www/teleport/app/eom_app/controller/set.py @@ -47,38 +47,46 @@ class IndexHandler(SwxAdminHandler): # f = None - try: - config_list = host.get_config_list() - ts_server = dict() - ts_server['ip'] = config_list['ts_server_ip'] - ts_server['ssh_port'] = config_list['ts_server_ssh_port'] - ts_server['rdp_port'] = config_list['ts_server_rdp_port'] - ts_server['telnet_port'] = config_list['ts_server_telnet_port'] - # f = open(var_js, 'w') - # f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(ts_server['ip'])) - except Exception: - return self.write(-1) - finally: - # if f is not None: - # f.close() - pass + # try: + # config_list = host.get_config_list() + # ts_server = dict() + # ts_server['ip'] = config_list['ts_server_ip'] + # ts_server['ssh_port'] = config_list['ts_server_ssh_port'] + # ts_server['rdp_port'] = config_list['ts_server_rdp_port'] + # ts_server['telnet_port'] = config_list['ts_server_telnet_port'] + # # f = open(var_js, 'w') + # # f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(ts_server['ip'])) + # except Exception: + # return self.write(-1) + # finally: + # # if f is not None: + # # f.close() + # pass - config_list = set.get_config_list() - if 'ts_server_ip' in config_list: - ip_list = get_local_ip() - if not isinstance(ip_list, list): - ip_list = [ip_list, ] + # config_list = set.get_config_list() + # if 'ts_server_ip' in config_list: + # ip_list = get_local_ip() + # if not isinstance(ip_list, list): + # ip_list = [ip_list, ] + # + # # ip_list.append(config_list['ts_server_ip']) + # if config_list['ts_server_ip'] not in ip_list: + # ip_list.append(config_list['ts_server_ip']) + # + # # if isinstance(temp, list): + # # ip_list.extend(temp) + # + # config_list['_ip_list'] = ip_list - # ip_list.append(config_list['ts_server_ip']) - if config_list['ts_server_ip'] not in ip_list: - ip_list.append(config_list['ts_server_ip']) + cfg_list = dict() + cfg_list['ts_server_ssh_port'] = cfg.core.ssh.port + cfg_list['ts_server_ssh_enabled'] = 1 if cfg.core.ssh.enabled else 0 + cfg_list['ts_server_rdp_port'] = cfg.core.rdp.port + cfg_list['ts_server_rdp_enabled'] = 1 if cfg.core.rdp.enabled else 0 + cfg_list['ts_server_telnet_port'] = cfg.core.telnet.port + cfg_list['ts_server_telnet_enabled'] = 1 if cfg.core.telnet.enabled else 0 - # if isinstance(temp, list): - # ip_list.extend(temp) - - config_list['_ip_list'] = ip_list - - self.render('set/index.mako', config_list=config_list) + self.render('set/index.mako', config_list=cfg_list) def _restart_func(): diff --git a/server/www/teleport/app/eom_app/module/host.py b/server/www/teleport/app/eom_app/module/host.py index ae8106e..a7fd2ff 100644 --- a/server/www/teleport/app/eom_app/module/host.py +++ b/server/www/teleport/app/eom_app/module/host.py @@ -290,21 +290,21 @@ def get_group_list(): return ret -def get_config_list(): - try: - sql_exec = get_db_con() - field_a = ['name', 'value'] - string_sql = 'SELECT {} FROM ts_config as a ;'.format(','.join(['a.{}'.format(i) for i in field_a])) - db_ret = sql_exec.ExecProcQuery(string_sql) - h = dict() - for item in db_ret: - x = DbItem() - x.load(item, ['a_{}'.format(i) for i in field_a]) - h[x.a_name] = x.a_value - - return h - except: - return None +# def get_config_list(): +# try: +# sql_exec = get_db_con() +# field_a = ['name', 'value'] +# string_sql = 'SELECT {} FROM ts_config as a ;'.format(','.join(['a.{}'.format(i) for i in field_a])) +# db_ret = sql_exec.ExecProcQuery(string_sql) +# h = dict() +# for item in db_ret: +# x = DbItem() +# x.load(item, ['a_{}'.format(i) for i in field_a]) +# h[x.a_name] = x.a_value +# +# return h +# except: +# return None def update(host_id, kv): diff --git a/server/www/teleport/app/eom_app/module/set.py b/server/www/teleport/app/eom_app/module/set.py index 859487b..00bd78a 100644 --- a/server/www/teleport/app/eom_app/module/set.py +++ b/server/www/teleport/app/eom_app/module/set.py @@ -1,32 +1,39 @@ # -*- coding: utf-8 -*- +from eom_app.app.configs import app_cfg +cfg = app_cfg() + +# def get_config_list(): +# try: +# from eom_app.module.common import get_db_con +# from eom_app.module.common import DbItem +# sql_exec = get_db_con() +# field_a = ['name', 'value'] +# string_sql = 'SELECT {} FROM ts_config as a ;'.format(','.join(['a.{}'.format(i) for i in field_a])) +# db_ret = sql_exec.ExecProcQuery(string_sql) +# h = dict() +# for item in db_ret: +# x = DbItem() +# x.load(item, ['a_{}'.format(i) for i in field_a]) +# h[x.a_name] = x.a_value +# +# return h +# except Exception as e: +# return None +# +# +# def set_config(change_list): +# from eom_app.module.common import get_db_con +# sql_exec = get_db_con() +# # +# for item in change_list: +# name = item['name'] +# value = item['value'] +# str_sql = 'UPDATE ts_config SET value = \'{}\' ' \ +# ' WHERE name = \'{}\''.format(value, name) +# ret = sql_exec.ExecProcNonQuery(str_sql) +# +# return ret + def get_config_list(): - try: - from eom_app.module.common import get_db_con - from eom_app.module.common import DbItem - sql_exec = get_db_con() - field_a = ['name', 'value'] - string_sql = 'SELECT {} FROM ts_config as a ;'.format(','.join(['a.{}'.format(i) for i in field_a])) - db_ret = sql_exec.ExecProcQuery(string_sql) - h = dict() - for item in db_ret: - x = DbItem() - x.load(item, ['a_{}'.format(i) for i in field_a]) - h[x.a_name] = x.a_value - - return h - except Exception as e: - return None - - -def set_config(change_list): - from eom_app.module.common import get_db_con - sql_exec = get_db_con() - # - for item in change_list: - name = item['name'] - value = item['value'] - str_sql = 'UPDATE ts_config SET value = \'{}\' ' \ - ' WHERE name = \'{}\''.format(value, name) - ret = sql_exec.ExecProcNonQuery(str_sql) - - return ret + print(cfg.core) + return cfg.core diff --git a/server/www/teleport/static/js/ui/set.js b/server/www/teleport/static/js/ui/set.js index bc6d4b9..93b6539 100644 --- a/server/www/teleport/static/js/ui/set.js +++ b/server/www/teleport/static/js/ui/set.js @@ -13,8 +13,8 @@ ywl.on_init = function (cb_stack, cb_args) { var config_list = ywl.page_options.config_list; - var ts_server_ip = config_list['ts_server_ip']; - $("#current-ts-server-ip").val(ts_server_ip); +// var ts_server_ip = config_list['ts_server_ip']; +// $("#current-ts-server-ip").val(ts_server_ip); // var ts_server_rpc_ip = config_list['ts_server_rpc_ip']; // $("#current-rpc-ip").val(ts_server_rpc_ip); @@ -31,11 +31,11 @@ ywl.on_init = function (cb_stack, cb_args) { var ts_server_telnet_port = config_list['ts_server_telnet_port']; $("#current-telnet-port").val(ts_server_telnet_port); - var ip_html = []; - for (var i = 0; i < config_list['_ip_list'].length; i++) { - ip_html.push('
设置teleport服务器的访问地址和服务的端口。
##请正确设置服务器地址(IP或域名),否则将无法进行跳板连接!!
-设置teleport服务器的服务端口。
+##设置teleport服务器的服务端口。
- +##Teleport核心服务设置
@@ -107,15 +108,15 @@ ##