mirror of https://github.com/tp4a/teleport
调整配置管理页面,目前暂时使用直接编辑配置文件的方式进行设置。
parent
c5d1baea86
commit
9d23ba299b
Binary file not shown.
|
@ -269,7 +269,7 @@ int ts_main(void)
|
||||||
// }
|
// }
|
||||||
// //TS_DB_AUTH_INFO info;
|
// //TS_DB_AUTH_INFO info;
|
||||||
// //g_db.get_auth_info(17, info);
|
// //g_db.get_auth_info(17, info);
|
||||||
// g_db.update_reset_log();
|
g_db.update_reset_log();
|
||||||
|
|
||||||
//mbedtls_debug_set_threshold(9999);
|
//mbedtls_debug_set_threshold(9999);
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ class ConfigFile(AttrDict):
|
||||||
# self.__save_indent = 0
|
# self.__save_indent = 0
|
||||||
# self.__loaded = False
|
# self.__loaded = False
|
||||||
|
|
||||||
def load(self, cfg_file):
|
def load_web(self, cfg_file):
|
||||||
if not os.path.exists(cfg_file):
|
if not os.path.exists(cfg_file):
|
||||||
log.e('configuration file does not exists: [{}]\n'.format(cfg_file))
|
log.e('configuration file does not exists: [{}]\n'.format(cfg_file))
|
||||||
return False
|
return False
|
||||||
|
@ -71,6 +71,75 @@ class ConfigFile(AttrDict):
|
||||||
|
|
||||||
return True
|
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()
|
_g_cfg = ConfigFile()
|
||||||
del ConfigFile
|
del ConfigFile
|
||||||
|
|
||||||
|
|
|
@ -79,15 +79,15 @@ class SwxCore:
|
||||||
# db_path = os.path.join(cfg.data_path, 'ts_db.db')
|
# db_path = os.path.join(cfg.data_path, 'ts_db.db')
|
||||||
get_sqlite_pool().init(cfg.data_path)
|
get_sqlite_pool().init(cfg.data_path)
|
||||||
|
|
||||||
var_js = os.path.join(cfg.static_path, 'js', 'var.js')
|
# var_js = os.path.join(cfg.static_path, 'js', 'var.js')
|
||||||
try:
|
# try:
|
||||||
# if not os.path.exists(var_js):
|
# # if not os.path.exists(var_js):
|
||||||
f = open(var_js, 'w')
|
# f = open(var_js, 'w')
|
||||||
f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(get_sqlite_pool().get_config_server_ip()))
|
# f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(get_sqlite_pool().get_config_server_ip()))
|
||||||
f.close()
|
# f.close()
|
||||||
except Exception:
|
# except Exception:
|
||||||
log.e('can not load config: server_ip.\n')
|
# log.e('can not load config: server_ip.\n')
|
||||||
return False
|
# return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -98,7 +98,11 @@ class SwxCore:
|
||||||
_cfg_path = os.path.join(options['app_path'], 'conf')
|
_cfg_path = os.path.join(options['app_path'], 'conf')
|
||||||
|
|
||||||
_cfg_file = os.path.join(_cfg_path, 'web.ini')
|
_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
|
return False
|
||||||
|
|
||||||
cfg.cfg_path = _cfg_path
|
cfg.cfg_path = _cfg_path
|
||||||
|
|
|
@ -7,6 +7,8 @@ import urllib
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
import urllib.request
|
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 import host
|
||||||
from eom_app.module.common import *
|
from eom_app.module.common import *
|
||||||
from eom_common.eomcore.logger import *
|
from eom_common.eomcore.logger import *
|
||||||
|
@ -21,22 +23,30 @@ class IndexHandler(SwxAuthHandler):
|
||||||
if _user is None:
|
if _user is None:
|
||||||
return self.write(-1)
|
return self.write(-1)
|
||||||
|
|
||||||
static_path = cfg.static_path
|
# static_path = cfg.static_path
|
||||||
var_js = os.path.join(static_path, 'js', 'var.js')
|
# var_js = os.path.join(static_path, 'js', 'var.js')
|
||||||
try:
|
try:
|
||||||
f = open(var_js, 'w')
|
# f = open(var_js, 'w')
|
||||||
_type = _user['type']
|
_type = _user['type']
|
||||||
config_list = host.get_config_list()
|
config_list = set.get_config_list()
|
||||||
ts_server = dict()
|
ts_server = dict()
|
||||||
ts_server['ip'] = config_list['ts_server_ip']
|
# ts_server['ip'] = config_list['ts_server_ip']
|
||||||
ts_server['ssh_port'] = config_list['ts_server_ssh_port']
|
# ts_server['ip'] = cfg['ts_server_ip']
|
||||||
ts_server['rdp_port'] = config_list['ts_server_rdp_port']
|
# ts_server['ip'] = '0.0.0.0'
|
||||||
ts_server['telnet_port'] = config_list['ts_server_telnet_port']
|
|
||||||
f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(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']
|
||||||
|
|
||||||
|
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:
|
except Exception as e:
|
||||||
return self.write(-1)
|
return self.write(-1)
|
||||||
finally:
|
# finally:
|
||||||
f.close()
|
# f.close()
|
||||||
|
|
||||||
if _type >= 100:
|
if _type >= 100:
|
||||||
group_list = host.get_group_list()
|
group_list = host.get_group_list()
|
||||||
|
@ -805,14 +815,16 @@ class GetSessionId(SwxAuthJsonHandler):
|
||||||
return
|
return
|
||||||
auth_id = args['auth_id']
|
auth_id = args['auth_id']
|
||||||
|
|
||||||
config_list = host.get_config_list()
|
# config_list = host.get_config_list()
|
||||||
ts_server_rpc_ip = '127.0.0.1'
|
# ts_server_rpc_ip = '127.0.0.1'
|
||||||
|
#
|
||||||
if 'ts_server_rpc_ip' in config_list:
|
# if 'ts_server_rpc_ip' in config_list:
|
||||||
ts_server_rpc_ip = config_list['ts_server_rpc_ip']
|
# ts_server_rpc_ip = config_list['ts_server_rpc_ip']
|
||||||
ts_server_rpc_port = 52080
|
# ts_server_rpc_port = 52080
|
||||||
if 'ts_server_rpc_port' in config_list:
|
# if 'ts_server_rpc_port' in config_list:
|
||||||
ts_server_rpc_port = config_list['ts_server_rpc_port']
|
# 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)
|
url = 'http://{}:{}/request_session'.format(ts_server_rpc_ip, ts_server_rpc_port)
|
||||||
values['auth_id'] = auth_id
|
values['auth_id'] = auth_id
|
||||||
|
@ -856,14 +868,16 @@ class AdminGetSessionId(SwxAuthJsonHandler):
|
||||||
return
|
return
|
||||||
values['account'] = 'admin'
|
values['account'] = 'admin'
|
||||||
|
|
||||||
config_list = host.get_config_list()
|
# config_list = host.get_config_list()
|
||||||
ts_server_rpc_ip = '127.0.0.1'
|
# ts_server_rpc_ip = '127.0.0.1'
|
||||||
|
#
|
||||||
if 'ts_server_rpc_ip' in config_list:
|
# if 'ts_server_rpc_ip' in config_list:
|
||||||
ts_server_rpc_ip = config_list['ts_server_rpc_ip']
|
# ts_server_rpc_ip = config_list['ts_server_rpc_ip']
|
||||||
ts_server_rpc_port = 52080
|
# ts_server_rpc_port = 52080
|
||||||
if 'ts_server_rpc_port' in config_list:
|
# if 'ts_server_rpc_port' in config_list:
|
||||||
ts_server_rpc_port = config_list['ts_server_rpc_port']
|
# 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)
|
url = 'http://{}:{}/request_session'.format(ts_server_rpc_ip, ts_server_rpc_port)
|
||||||
# values['auth_id'] = auth_id
|
# values['auth_id'] = auth_id
|
||||||
|
@ -947,14 +961,16 @@ class AdminFastGetSessionId(SwxAuthJsonHandler):
|
||||||
|
|
||||||
values['account'] = 'admin'
|
values['account'] = 'admin'
|
||||||
|
|
||||||
config_list = host.get_config_list()
|
# config_list = host.get_config_list()
|
||||||
ts_server_rpc_ip = '127.0.0.1'
|
# ts_server_rpc_ip = '127.0.0.1'
|
||||||
|
#
|
||||||
if 'ts_server_rpc_ip' in config_list:
|
# if 'ts_server_rpc_ip' in config_list:
|
||||||
ts_server_rpc_ip = config_list['ts_server_rpc_ip']
|
# ts_server_rpc_ip = config_list['ts_server_rpc_ip']
|
||||||
ts_server_rpc_port = 52080
|
# ts_server_rpc_port = 52080
|
||||||
if 'ts_server_rpc_port' in config_list:
|
# if 'ts_server_rpc_port' in config_list:
|
||||||
ts_server_rpc_port = config_list['ts_server_rpc_port']
|
# 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)
|
url = 'http://{}:{}/request_session'.format(ts_server_rpc_ip, ts_server_rpc_port)
|
||||||
# values['auth_id'] = auth_id
|
# values['auth_id'] = auth_id
|
||||||
|
|
|
@ -32,10 +32,10 @@ class LogHandler(SwxAdminHandler):
|
||||||
user_list = user.get_user_list()
|
user_list = user.get_user_list()
|
||||||
total_size, free_size = get_free_space_mb(cfg.data_path)
|
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 = dict()
|
||||||
ts_server['ip'] = config_list['ts_server_ip']
|
ts_server['ip'] = cfg.core.rpc.ip #config_list['ts_server_ip']
|
||||||
ts_server['port'] = cfg.server_port
|
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)
|
self.render('log/index.mako', user_list=user_list, total_size=int(total_size), free_size=int(free_size), ts_server=ts_server)
|
||||||
|
|
||||||
|
|
|
@ -47,38 +47,46 @@ class IndexHandler(SwxAdminHandler):
|
||||||
|
|
||||||
# f = None
|
# f = None
|
||||||
|
|
||||||
try:
|
# try:
|
||||||
config_list = host.get_config_list()
|
# config_list = host.get_config_list()
|
||||||
ts_server = dict()
|
# ts_server = dict()
|
||||||
ts_server['ip'] = config_list['ts_server_ip']
|
# ts_server['ip'] = config_list['ts_server_ip']
|
||||||
ts_server['ssh_port'] = config_list['ts_server_ssh_port']
|
# ts_server['ssh_port'] = config_list['ts_server_ssh_port']
|
||||||
ts_server['rdp_port'] = config_list['ts_server_rdp_port']
|
# ts_server['rdp_port'] = config_list['ts_server_rdp_port']
|
||||||
ts_server['telnet_port'] = config_list['ts_server_telnet_port']
|
# ts_server['telnet_port'] = config_list['ts_server_telnet_port']
|
||||||
# f = open(var_js, 'w')
|
# # f = open(var_js, 'w')
|
||||||
# f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(ts_server['ip']))
|
# # f.write("\"use strict\";\nvar teleport_ip = \"{}\";\n".format(ts_server['ip']))
|
||||||
except Exception:
|
# except Exception:
|
||||||
return self.write(-1)
|
# return self.write(-1)
|
||||||
finally:
|
# finally:
|
||||||
# if f is not None:
|
# # if f is not None:
|
||||||
# f.close()
|
# # f.close()
|
||||||
pass
|
# pass
|
||||||
|
|
||||||
config_list = set.get_config_list()
|
# config_list = set.get_config_list()
|
||||||
if 'ts_server_ip' in config_list:
|
# if 'ts_server_ip' in config_list:
|
||||||
ip_list = get_local_ip()
|
# ip_list = get_local_ip()
|
||||||
if not isinstance(ip_list, list):
|
# if not isinstance(ip_list, list):
|
||||||
ip_list = [ip_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'])
|
cfg_list = dict()
|
||||||
if config_list['ts_server_ip'] not in ip_list:
|
cfg_list['ts_server_ssh_port'] = cfg.core.ssh.port
|
||||||
ip_list.append(config_list['ts_server_ip'])
|
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):
|
self.render('set/index.mako', config_list=cfg_list)
|
||||||
# ip_list.extend(temp)
|
|
||||||
|
|
||||||
config_list['_ip_list'] = ip_list
|
|
||||||
|
|
||||||
self.render('set/index.mako', config_list=config_list)
|
|
||||||
|
|
||||||
|
|
||||||
def _restart_func():
|
def _restart_func():
|
||||||
|
|
|
@ -290,21 +290,21 @@ def get_group_list():
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def get_config_list():
|
# def get_config_list():
|
||||||
try:
|
# try:
|
||||||
sql_exec = get_db_con()
|
# sql_exec = get_db_con()
|
||||||
field_a = ['name', 'value']
|
# field_a = ['name', 'value']
|
||||||
string_sql = 'SELECT {} FROM ts_config as a ;'.format(','.join(['a.{}'.format(i) for i in field_a]))
|
# 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)
|
# db_ret = sql_exec.ExecProcQuery(string_sql)
|
||||||
h = dict()
|
# h = dict()
|
||||||
for item in db_ret:
|
# for item in db_ret:
|
||||||
x = DbItem()
|
# x = DbItem()
|
||||||
x.load(item, ['a_{}'.format(i) for i in field_a])
|
# x.load(item, ['a_{}'.format(i) for i in field_a])
|
||||||
h[x.a_name] = x.a_value
|
# h[x.a_name] = x.a_value
|
||||||
|
#
|
||||||
return h
|
# return h
|
||||||
except:
|
# except:
|
||||||
return None
|
# return None
|
||||||
|
|
||||||
|
|
||||||
def update(host_id, kv):
|
def update(host_id, kv):
|
||||||
|
|
|
@ -1,32 +1,39 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- 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():
|
def get_config_list():
|
||||||
try:
|
print(cfg.core)
|
||||||
from eom_app.module.common import get_db_con
|
return cfg.core
|
||||||
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
|
|
||||||
|
|
|
@ -13,8 +13,8 @@ ywl.on_init = function (cb_stack, cb_args) {
|
||||||
|
|
||||||
var config_list = ywl.page_options.config_list;
|
var config_list = ywl.page_options.config_list;
|
||||||
|
|
||||||
var ts_server_ip = config_list['ts_server_ip'];
|
// var ts_server_ip = config_list['ts_server_ip'];
|
||||||
$("#current-ts-server-ip").val(ts_server_ip);
|
// $("#current-ts-server-ip").val(ts_server_ip);
|
||||||
|
|
||||||
// var ts_server_rpc_ip = config_list['ts_server_rpc_ip'];
|
// var ts_server_rpc_ip = config_list['ts_server_rpc_ip'];
|
||||||
// $("#current-rpc-ip").val(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'];
|
var ts_server_telnet_port = config_list['ts_server_telnet_port'];
|
||||||
$("#current-telnet-port").val(ts_server_telnet_port);
|
$("#current-telnet-port").val(ts_server_telnet_port);
|
||||||
|
|
||||||
var ip_html = [];
|
// var ip_html = [];
|
||||||
for (var i = 0; i < config_list['_ip_list'].length; i++) {
|
// for (var i = 0; i < config_list['_ip_list'].length; i++) {
|
||||||
ip_html.push('<li><a href="javascript:;">' + config_list['_ip_list'][i] + '</a></li>');
|
// ip_html.push('<li><a href="javascript:;">' + config_list['_ip_list'][i] + '</a></li>');
|
||||||
}
|
// }
|
||||||
$('#select-ip').html(ip_html.join(''));
|
// $('#select-ip').html(ip_html.join(''));
|
||||||
|
|
||||||
$('#select-ip li a').click(function () {
|
$('#select-ip li a').click(function () {
|
||||||
$("#current-ts-server-ip").val($(this).text());
|
$("#current-ts-server-ip").val($(this).text());
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%block name="extend_content" />
|
<%block name="extend_content" />
|
||||||
<script type="text/javascript" src="${ static_url('js/var.js') }"></script>
|
## <script type="text/javascript" src="${ static_url('js/var.js') }"></script>
|
||||||
<script type="text/javascript" src="${ static_url('plugins/underscore/underscore.js') }"></script>
|
<script type="text/javascript" src="${ static_url('plugins/underscore/underscore.js') }"></script>
|
||||||
<script type="text/javascript" src="${ static_url('plugins/jquery/jquery.min.js') }"></script>
|
<script type="text/javascript" src="${ static_url('plugins/jquery/jquery.min.js') }"></script>
|
||||||
<script type="text/javascript" src="${ static_url('plugins/jquery/ajaxfileupload.js') }"></script>
|
<script type="text/javascript" src="${ static_url('plugins/jquery/ajaxfileupload.js') }"></script>
|
||||||
|
|
|
@ -32,31 +32,31 @@
|
||||||
|
|
||||||
<div class="form-horizontal">
|
<div class="form-horizontal">
|
||||||
|
|
||||||
<h4><strong>Teleport服务器设置</strong></h4>
|
<h4><strong>Teleport服务器配置信息</strong></h4>
|
||||||
## <p>设置teleport服务器的访问地址和服务的端口。</p>
|
## <p>设置teleport服务器的访问地址和服务的端口。</p>
|
||||||
## <p style="font-weight:bold;color:#ff3333;">请正确设置服务器地址(IP或域名),否则将无法进行跳板连接!!</p>
|
## <p style="font-weight:bold;color:#ff3333;">请正确设置服务器地址(IP或域名),否则将无法进行跳板连接!!</p>
|
||||||
<p>设置teleport服务器的服务端口。</p>
|
## <p>设置teleport服务器的服务端口。</p>
|
||||||
|
|
||||||
<div class="form-group form-group-sm" style="display:none;">
|
## <div class="form-group form-group-sm" style="display:none;">
|
||||||
<label for="current-ts-server-ip" class="col-sm-2 control-label"><strong>堡垒机地址:</strong></label>
|
## <label for="current-ts-server-ip" class="col-sm-2 control-label"><strong>堡垒机地址:</strong></label>
|
||||||
|
##
|
||||||
<div class="col-sm-6">
|
## <div class="col-sm-6">
|
||||||
<div class="input-group">
|
## <div class="input-group">
|
||||||
<input type="text" class="form-control" id="current-ts-server-ip">
|
## <input type="text" class="form-control" id="current-ts-server-ip">
|
||||||
<div class="input-group-btn">
|
## <div class="input-group-btn">
|
||||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 选择IP <span class="caret"></span></button>
|
## <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 选择IP <span class="caret"></span></button>
|
||||||
<ul id='select-ip' class="dropdown-menu dropdown-menu-right">
|
## <ul id='select-ip' class="dropdown-menu dropdown-menu-right">
|
||||||
</ul>
|
## </ul>
|
||||||
</div>
|
## </div>
|
||||||
</div>
|
## </div>
|
||||||
</div>
|
## </div>
|
||||||
<label for="current-ts-server-ip" class="col-sm-4 control-label" style="text-align:left;color:red;"><strong>首次安装必须修改</strong></label>
|
## <label for="current-ts-server-ip" class="col-sm-4 control-label" style="text-align:left;color:red;"><strong>首次安装必须修改</strong></label>
|
||||||
</div>
|
## </div>
|
||||||
|
|
||||||
<div class="form-group form-group-sm">
|
<div class="form-group form-group-sm">
|
||||||
<label for="current-rdp-port" class="col-sm-2 control-label"><strong>RDP 端口:</strong></label>
|
<label for="current-rdp-port" class="col-sm-2 control-label"><strong>RDP 端口:</strong></label>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<input id="current-rdp-port" type="text" class="form-control" placeholder="默认值 52089"/>
|
<input id="current-rdp-port" type="text" class="form-control" placeholder="默认值 52089" disabled/>
|
||||||
</div>
|
</div>
|
||||||
## <div class="col-sm-4 control-label" style="text-align: left;">可以用默认值</div>
|
## <div class="col-sm-4 control-label" style="text-align: left;">可以用默认值</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
<div class="form-group form-group-sm">
|
<div class="form-group form-group-sm">
|
||||||
<label for="current-ssh-port" class="col-sm-2 control-label"><strong>SSH 端口:</strong></label>
|
<label for="current-ssh-port" class="col-sm-2 control-label"><strong>SSH 端口:</strong></label>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<input id="current-ssh-port" type="text" class="form-control" placeholder="默认值 52189"/>
|
<input id="current-ssh-port" type="text" class="form-control" placeholder="默认值 52189" disabled/>
|
||||||
</div>
|
</div>
|
||||||
## <div class="col-sm-4 control-label" style="text-align: left;">可以用默认值</div>
|
## <div class="col-sm-4 control-label" style="text-align: left;">可以用默认值</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -73,7 +73,7 @@
|
||||||
<div class="form-group form-group-sm">
|
<div class="form-group form-group-sm">
|
||||||
<label for="current-telnet-port" class="col-sm-2 control-label"><strong>TELENT 端口:</strong></label>
|
<label for="current-telnet-port" class="col-sm-2 control-label"><strong>TELENT 端口:</strong></label>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<input id="current-telnet-port" type="text" class="form-control" placeholder="默认值 52389"/>
|
<input id="current-telnet-port" type="text" class="form-control" placeholder="默认值 52389" disabled/>
|
||||||
</div>
|
</div>
|
||||||
## <div class="col-sm-4 control-label" style="text-align: left;">可以用默认值</div>
|
## <div class="col-sm-4 control-label" style="text-align: left;">可以用默认值</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -82,10 +82,11 @@
|
||||||
<div class="form-group form-group-sm">
|
<div class="form-group form-group-sm">
|
||||||
<div class="col-sm-2"></div>
|
<div class="col-sm-2"></div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
注意:修改端口号,需要重启服务方能生效!
|
注意:要修改端口号,请直接修改配置文件。修改后需要重启服务方能生效!
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
## <hr/>
|
## <hr/>
|
||||||
##
|
##
|
||||||
## <p><strong>Teleport核心服务设置</strong></p>
|
## <p><strong>Teleport核心服务设置</strong></p>
|
||||||
|
@ -107,15 +108,15 @@
|
||||||
## </div>
|
## </div>
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="form-group form-group-sm">
|
## <div class="form-group form-group-sm">
|
||||||
<div class="col-sm-2"></div>
|
## <div class="col-sm-2"></div>
|
||||||
<div class="col-sm-2">
|
## <div class="col-sm-2">
|
||||||
<a href="javascript:" id="btn-check" class="btn btn-success"><i class="fa fa-cog fa-fw"></i> 一键测试</a>
|
## <a href="javascript:" id="btn-check" class="btn btn-success"><i class="fa fa-cog fa-fw"></i> 一键测试</a>
|
||||||
</div>
|
## </div>
|
||||||
<div class="col-sm-4" style="text-align: right;">
|
## <div class="col-sm-4" style="text-align: right;">
|
||||||
<a href="javascript:" id="btn-save-config" class="btn btn-primary"><i class="fa fa-check fa-fw"></i> 保存配置</a>
|
## <a href="javascript:" id="btn-save-config" class="btn btn-primary"><i class="fa fa-check fa-fw"></i> 保存配置</a>
|
||||||
</div>
|
## </div>
|
||||||
</div>
|
## </div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -128,23 +129,23 @@
|
||||||
|
|
||||||
<%block name="extend_content">
|
<%block name="extend_content">
|
||||||
|
|
||||||
<div class="modal fade" id="dlg_restart_service" tabindex="-1" role="dialog">
|
## <div class="modal fade" id="dlg_restart_service" tabindex="-1" role="dialog">
|
||||||
<div class="modal-dialog" role="document">
|
## <div class="modal-dialog" role="document">
|
||||||
<div class="modal-content">
|
## <div class="modal-content">
|
||||||
<div class="modal-header">
|
## <div class="modal-header">
|
||||||
<h3 class="modal-title" style="text-align: center;">服务重启中...</h3>
|
## <h3 class="modal-title" style="text-align: center;">服务重启中...</h3>
|
||||||
</div>
|
## </div>
|
||||||
<div class="modal-body">
|
## <div class="modal-body">
|
||||||
<p style="text-align: center; font-size:36px;"><i class="fa fa-cog fa-spin"></i></p>
|
## <p style="text-align: center; font-size:36px;"><i class="fa fa-cog fa-spin"></i></p>
|
||||||
<p style="text-align: center;">配置已保存,正在重启teleport服务,请稍候...</p>
|
## <p style="text-align: center;">配置已保存,正在重启teleport服务,请稍候...</p>
|
||||||
<p style="text-align: center;"><span id="reboot_time"></span></p>
|
## <p style="text-align: center;"><span id="reboot_time"></span></p>
|
||||||
</div>
|
## </div>
|
||||||
|
##
|
||||||
<div class="modal-footer">
|
## <div class="modal-footer">
|
||||||
</div>
|
## </div>
|
||||||
</div>
|
## </div>
|
||||||
</div>
|
## </div>
|
||||||
</div>
|
## </div>
|
||||||
|
|
||||||
|
|
||||||
</%block>
|
</%block>
|
||||||
|
|
Loading…
Reference in New Issue