diff --git a/server/www/teleport/static/js/audit/record-list.js b/server/www/teleport/static/js/audit/record-list.js
index 46eabca..c39e60a 100644
--- a/server/www/teleport/static/js/audit/record-list.js
+++ b/server/www/teleport/static/js/audit/record-list.js
@@ -252,7 +252,7 @@ $app.on_table_host_render_created = function (render) {
};
render.time_begin = function (row_id, fields) {
- return tp_format_datetime(tp_utc2local(fields.time_begin), 'MM-dd HH:mm:ss');
+ return tp_format_datetime(fields.time_begin, 'MM-dd HH:mm:ss');
};
render.time_cost = function (row_id, fields) {
@@ -262,7 +262,7 @@ $app.on_table_host_render_created = function (render) {
_style = 'warning';
else if (fields.state === TP_SESS_STAT_STARTED)
_style = 'primary';
- return ' ' + tp_second2str(tp_local2utc() - fields.time_begin) + '';
+ return ' ' + tp_second2str(tp_timestamp_sec() - fields.time_begin) + '';
} else {
if (fields.time_end === 0) {
return ' 未知';
@@ -282,7 +282,7 @@ $app.on_table_host_render_created = function (render) {
// _style = 'warning';
// else if (fields.state === TP_SESS_STAT_STARTED)
// _style = 'primary';
- // return ' ' + tp_second2str(tp_local2utc() - fields.time_begin) + '';
+ // return ' ' + tp_second2str(tp_timestamp_sec() - fields.time_begin) + '';
// } else {
// return tp_second2str(fields.time_end - fields.time_begin);
// }
@@ -371,7 +371,7 @@ $app.do_replay_rdp = function (record_id, user_username, acc_username, host_ip,
, user: user_username
, acc: acc_username
, host: host_ip
- , start: time_begin//tp_format_datetime(tp_utc2local(time_begin), 'yyyyMMdd-HHmmss')
+ , start: time_begin//tp_format_datetime(time_begin, 'yyyyMMdd-HHmmss')
}
, function () {
// func_success
diff --git a/server/www/teleport/static/js/dashboard/dashboard.js b/server/www/teleport/static/js/dashboard/dashboard.js
index 761bbc3..5ef4094 100644
--- a/server/www/teleport/static/js/dashboard/dashboard.js
+++ b/server/www/teleport/static/js/dashboard/dashboard.js
@@ -48,7 +48,7 @@ $app.init_sys_status_info = function (data) {
fontSize: 11,
fontFamily: 'Monaco, Lucida Console, Consolas, Courier',
formatter: function (value, index) {
- return tp_format_datetime_ms(tp_utc2local_ms(value), 'HH:mm');
+ return tp_format_datetime(value, 'HH:mm');
}
}
};
@@ -95,8 +95,8 @@ $app.init_sys_status_info = function (data) {
$app.bar_cpu_user = [];
$app.bar_cpu_sys = [];
for (i = 0; i < data.length; i++) {
- $app.bar_cpu_user.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].cpu.u]});
- $app.bar_cpu_sys.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].cpu.s]});
+ $app.bar_cpu_user.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].cpu.u]});
+ $app.bar_cpu_sys.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].cpu.s]});
}
var clr_cpu_user = '#e2524c';
@@ -191,7 +191,7 @@ $app.init_sys_status_info = function (data) {
$app.bar_mem_used = [];
for (i = 0; i < data.length; i++) {
- $app.bar_mem_used.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, tp_digital_precision(data[i].mem.u * 100 / data[i].mem.t, 1)]});
+ $app.bar_mem_used.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, tp_digital_precision(data[i].mem.u * 100 / data[i].mem.t, 1)]});
}
var clr_mem = '#5671e2';
@@ -269,8 +269,8 @@ $app.init_sys_status_info = function (data) {
$app.bar_net_recv = [];
$app.bar_net_sent = [];
for (i = 0; i < data.length; i++) {
- $app.bar_net_recv.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].net.r]});
- $app.bar_net_sent.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].net.s]});
+ $app.bar_net_recv.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].net.r]});
+ $app.bar_net_sent.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].net.s]});
}
var clr_net_sent = '#558c5a';
@@ -342,8 +342,8 @@ $app.init_sys_status_info = function (data) {
$app.bar_disk_read = [];
$app.bar_disk_write = [];
for (i = 0; i < data.length; i++) {
- $app.bar_disk_read.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].disk.r]});
- $app.bar_disk_write.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].disk.w]});
+ $app.bar_disk_read.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].disk.r]});
+ $app.bar_disk_write.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].disk.w]});
}
var clr_disk_read = '#558c5a';
@@ -489,31 +489,31 @@ $app.init_ws = function () {
if (t.method === 'subscribe' && t.param === 'sys_status') {
$app.bar_cpu_user.shift();
- $app.bar_cpu_user.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.cpu.u]});
+ $app.bar_cpu_user.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.cpu.u]});
$app.bar_cpu_sys.shift();
- $app.bar_cpu_sys.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.cpu.s]});
+ $app.bar_cpu_sys.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.cpu.s]});
$app.bar_cpu.setOption(
{series: [{data: $app.bar_cpu_sys}, {data: $app.bar_cpu_user}]}
);
$app.bar_mem_used.shift();
- $app.bar_mem_used.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, Math.round(t.data.mem.u / t.data.mem.t * 100, 2)]});
+ $app.bar_mem_used.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, Math.round(t.data.mem.u / t.data.mem.t * 100, 2)]});
$app.bar_mem.setOption(
{series: [{data: $app.bar_mem_used}]}
);
$app.bar_net_recv.shift();
- $app.bar_net_recv.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.net.r]});
+ $app.bar_net_recv.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.net.r]});
$app.bar_net_sent.shift();
- $app.bar_net_sent.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.net.s]});
+ $app.bar_net_sent.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.net.s]});
$app.bar_net.setOption(
{series: [{data: $app.bar_net_sent}, {data: $app.bar_net_recv}]}
);
$app.bar_disk_read.shift();
- $app.bar_disk_read.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.disk.r]});
+ $app.bar_disk_read.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.disk.r]});
$app.bar_disk_write.shift();
- $app.bar_disk_write.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.disk.w]});
+ $app.bar_disk_write.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.disk.w]});
$app.bar_disk.setOption(
{series: [{data: $app.bar_disk_read}, {data: $app.bar_disk_write}]}
);
diff --git a/server/www/teleport/static/js/ops/session-list.js b/server/www/teleport/static/js/ops/session-list.js
index 9157bce..098e6be 100644
--- a/server/www/teleport/static/js/ops/session-list.js
+++ b/server/www/teleport/static/js/ops/session-list.js
@@ -283,7 +283,7 @@ $app.on_table_session_render_created = function (render) {
};
render.time_begin = function (row_id, fields) {
- return tp_format_datetime(tp_utc2local(fields.time_begin), 'MM-dd HH:mm:ss');
+ return tp_format_datetime(fields.time_begin, 'MM-dd HH:mm:ss');
};
render.time_cost = function (row_id, fields) {
@@ -293,7 +293,7 @@ $app.on_table_session_render_created = function (render) {
_style = 'warning';
else if (fields.state === TP_SESS_STAT_STARTED)
_style = 'primary';
- return ' ' + tp_second2str(tp_local2utc() - fields.time_begin) + '';
+ return ' ' + tp_second2str(tp_timestamp_sec() - fields.time_begin) + '';
} else {
return tp_second2str(fields.time_end - fields.time_begin);
}
diff --git a/server/www/teleport/static/js/system/syslog.js b/server/www/teleport/static/js/system/syslog.js
index 90efb48..a624617 100644
--- a/server/www/teleport/static/js/system/syslog.js
+++ b/server/www/teleport/static/js/system/syslog.js
@@ -184,7 +184,7 @@ $app.on_table_host_render_created = function (render) {
// };
render.log_time = function (row_id, fields) {
- return tp_format_datetime(tp_utc2local(fields.log_time));
+ return tp_format_datetime(fields.log_time);
};
render.user = function (row, fields) {
diff --git a/server/www/teleport/static/js/teleport/controls.js b/server/www/teleport/static/js/teleport/controls.js
index c673404..dd67f9a 100644
--- a/server/www/teleport/static/js/teleport/controls.js
+++ b/server/www/teleport/static/js/teleport/controls.js
@@ -28,7 +28,7 @@ $tp.create_table = function (options) {
// clear
// reset_filter
- var _tbl = {};
+ let _tbl = {};
// 此表格绑定的DOM对象的ID,用于JQuery的选择器
_tbl.dom_id = options.dom_id;
@@ -223,7 +223,6 @@ $tp.create_table = function (options) {
_tbl.load_data = function (cb_stack, cb_args) {
cb_stack = cb_stack || CALLBACK_STACK.create();
- //log.v('load table data.', cb_args);
if (_tbl.paging_ctrl)
_tbl.per_page = _tbl.paging_ctrl.get_per_page();
else
@@ -238,7 +237,6 @@ $tp.create_table = function (options) {
console.error('filter', name, 'has have no get_filter() interface.');
}
var _f = ctrl.get_filter();
- // console.log('filter from', name, _f);
$.each(_f, function (k, v) {
_filter[k] = v;
});
@@ -949,7 +947,7 @@ $tp.create_table_render = function (tbl, on_created) {
_tbl_render.date_time = function (row_id, fields) {
if (0 === fields.timestamp)
return '';
- return '' + tp_format_datetime(tp_utc2local(fields.timestamp)) + '';
+ return '' + tp_format_datetime(fields.timestamp) + '';
};
_tbl_render.date_time_local = function (row_id, fields) {
diff --git a/server/www/teleport/static/js/tp-assist.js b/server/www/teleport/static/js/tp-assist.js
index cc983db..65fb055 100644
--- a/server/www/teleport/static/js/tp-assist.js
+++ b/server/www/teleport/static/js/tp-assist.js
@@ -239,7 +239,7 @@ $assist.do_rdp_replay = function (args, func_success, func_error) {
// now fix the args.
args.web = $tp.web_server; // (string) - teleport server base address, like "http://127.0.0.1:7190", without end-slash.
args.sid = Cookies.get('_sid'); // (string) - current login user's session-id.
- args.start = tp_format_datetime(tp_utc2local(args.start), 'yyyyMMdd-HHmmss'); // (string) - convert UTC timestamp to local human-readable string.
+ args.start = tp_format_datetime(args.start, 'yyyyMMdd-HHmmss'); // (string) - convert UTC timestamp to local human-readable string.
console.log('do-rdp-replay:', args);
diff --git a/server/www/teleport/static/js/tp-utils.js b/server/www/teleport/static/js/tp-utils.js
index 18f2212..a4614b5 100644
--- a/server/www/teleport/static/js/tp-utils.js
+++ b/server/www/teleport/static/js/tp-utils.js
@@ -7,15 +7,15 @@
//===================================================
// constants.
//===================================================
-var KB = 1024;
-var MB = 1048576;
-var GB = 1073741824;
-var TB = 1099511627776;
-var PB = 1125899906842624;
+const KB = 1024;
+const MB = 1048576;
+const GB = 1073741824;
+const TB = 1099511627776;
+const PB = 1125899906842624;
-var SECONDS_PER_DAY = 86400;
-var SECONDS_PER_HOUR = 3600;
-var SECONDS_PER_MINUTE = 60;
+const SECONDS_PER_DAY = 86400;
+const SECONDS_PER_HOUR = 3600;
+const SECONDS_PER_MINUTE = 60;
//===================================================
// extend prototype functions.
@@ -43,17 +43,17 @@ if (!String.prototype.realLength) {
// http://jsfiddle.net/ghvj4gy9/embedded/result,js/
function tp_is_email(email) {
//var re = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
- var re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
+ let re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
return re.test(email);
}
function tp_is_ip(ip) {
- var re = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
+ let re = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
return re.test(ip);
}
function tp_is_domain(domain) {
- var re = /^[a-zA-Z0-9\-]+\.[a-zA-Z]+$/
+ let re = /^[a-zA-Z0-9\-]+\.[a-zA-Z]+$/
return re.test(domain);
}
@@ -64,11 +64,9 @@ function tp_is_host(host) {
function tp_is_empty_str(str) {
if (_.isEmpty(str))
return true;
- var regu = "^[ \t]+$";
- var re = new RegExp(regu);
+ let regu = "^[ \t]+$";
+ let re = new RegExp(regu);
return re.test(str);
-
-// return (str.replace(/(^\s*)|(\s*$)/g, "").length !== 0);
}
//===================================================
@@ -85,29 +83,23 @@ function tp_digital_precision(num, keep) {
function tp_size2str(size, precision) {
precision = precision || 0;
- var s = 0;
- var k = '';
+ let s = 0, k = '';
if (size < KB) {
s = size;
k = 'B';
- }
- else if (size < MB) {
+ } else if (size < MB) {
s = tp_digital_precision(size / KB, precision);
k = 'KB'
- }
- else if (size < GB) {
+ } else if (size < GB) {
s = tp_digital_precision(size / MB, precision);
k = 'MB'
- }
- else if (size < TB) {
+ } else if (size < TB) {
s = tp_digital_precision(size / GB, precision);
k = 'GB'
- }
- else if (size < PB) {
+ } else if (size < PB) {
s = tp_digital_precision(size / TB, precision);
k = 'TB'
- }
- else {
+ } else {
s = tp_digital_precision(size / PB, precision);
k = 'PB'
}
@@ -116,15 +108,15 @@ function tp_size2str(size, precision) {
}
function tp_second2str(sec) {
- var _ret = '';
+ let _ret = '';
if (sec >= SECONDS_PER_DAY) {
- var _d = Math.floor(sec / SECONDS_PER_DAY);
+ let _d = Math.floor(sec / SECONDS_PER_DAY);
_ret = '' + _d + '天';
sec = sec % SECONDS_PER_DAY;
}
if (sec >= SECONDS_PER_HOUR) {
- var _h = Math.floor(sec / SECONDS_PER_HOUR);
+ let _h = Math.floor(sec / SECONDS_PER_HOUR);
_ret += '' + _h + '小时';
sec = sec % SECONDS_PER_HOUR;
} else if (_ret.length > 0) {
@@ -132,7 +124,7 @@ function tp_second2str(sec) {
}
if (sec >= SECONDS_PER_MINUTE) {
- var _m = Math.floor(sec / SECONDS_PER_MINUTE);
+ let _m = Math.floor(sec / SECONDS_PER_MINUTE);
_ret += '' + _m + '分';
sec = sec % SECONDS_PER_MINUTE;
} else if (_ret.length > 0) {
@@ -144,35 +136,22 @@ function tp_second2str(sec) {
}
function tp_get_cookie(name) {
- var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
+ let r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
return r ? r[1] : undefined;
}
-function tp_utc2local(timestamp) {
- var d = new Date(timestamp * 1000);
- var _local = d.getTime() - (d.getTimezoneOffset() * 60000);
- return Math.round(_local / 1000);
+function tp_timestamp_ms() {
+ return (new Date()).getTime();
}
-function tp_utc2local_ms(timestamp) {
- var d = new Date(timestamp);
- var _local = d.getTime() - (d.getTimezoneOffset() * 60000);
- return Math.round(_local);
-}
-
-function tp_local2utc(timestamp) {
- var ts = timestamp || Math.floor(Date.now() / 1000);
- var d = new Date(ts * 1000);
- var _utc = d.getTime() + (d.getTimezoneOffset() * 60000);
- return Math.round(_utc / 1000);
+function tp_timestamp_sec() {
+ return Math.floor((new Date()).getTime() / 1000);
}
function tp_format_datetime_ms(timestamp, format) {
- var d = new Date(timestamp);
- //return '' + d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
-
- var fmt = format || 'yyyy-MM-dd HH:mm:ss';
- var o = {
+ let d = new Date(timestamp);
+ let fmt = format || 'yyyy-MM-dd HH:mm:ss';
+ let o = {
"M+": d.getMonth() + 1, //月份
"d+": d.getDate(), //日
"H+": d.getHours(), //小时
@@ -185,10 +164,10 @@ function tp_format_datetime_ms(timestamp, format) {
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
}
- for (var k in o) {
+ for (let k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
if (o.hasOwnProperty(k))
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return fmt;
@@ -198,13 +177,13 @@ function tp_format_datetime(timestamp, format) {
return tp_format_datetime_ms(timestamp * 1000, format);
}
-var base64KeyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
+const base64KeyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function tp_base64_encode(input) {
- var output = "";
- var chr1, chr2, chr3 = "";
- var enc1, enc2, enc3, enc4 = "";
- var i = 0;
+ let output = "";
+ let chr1, chr2, chr3 = "";
+ let enc1, enc2, enc3, enc4 = "";
+ let i = 0;
do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
@@ -226,7 +205,7 @@ function tp_base64_encode(input) {
}
function tp_base64_to_binarray(data) {
- var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
+ let o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
ac = 0,
tmp_arr = [];
@@ -234,7 +213,7 @@ function tp_base64_to_binarray(data) {
return tmp_arr;
}
- do { // unpack four hexets into three octets using index points in b64
+ do {
h1 = base64KeyStr.indexOf(data.charAt(i++));
h2 = base64KeyStr.indexOf(data.charAt(i++));
h3 = base64KeyStr.indexOf(data.charAt(i++));
@@ -262,7 +241,7 @@ function tp_base64_to_binarray(data) {
}
function tp_base64_decode(data) {
- var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
+ let o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
ac = 0,
tmp_arr = [];
@@ -271,7 +250,7 @@ function tp_base64_decode(data) {
}
data += '';
- do { // unpack four hexets into three octets using index points in b64
+ do {
h1 = base64KeyStr.indexOf(data.charAt(i++));
h2 = base64KeyStr.indexOf(data.charAt(i++));
h3 = base64KeyStr.indexOf(data.charAt(i++));
@@ -296,22 +275,16 @@ function tp_base64_decode(data) {
}
function tp_get_file_name(path) {
- var reg = /(\\+)/g;
+ let reg = /(\\+)/g;
path = path.replace(reg, "/");
- var _path = path.split('/');
+ let _path = path.split('/');
return _path[_path.length - 1]
}
-var g_unique_id = (new Date()).valueOf();
-
-function tp_generate_id() {
- return g_unique_id++;
-}
-
-
function htmlEncode(_s) {
- if (_s.length === 0) return "";
- var s = _s.replace(/&/g, "&");
+ if (_s.length === 0)
+ return "";
+ let s = _s.replace(/&/g, "&");
s = s.replace(//g, ">");
//s = s.replace(/ /g, " ");
@@ -333,43 +306,24 @@ function htmlEncode(_s) {
// return s;
//}
-
-function tp_sleep4debug(duration) {
- var now = new Date().getTime();
- while (new Date().getTime() < now + duration) { /* do nothing */
- }
-}
-
-// 获取长度为len的随机字符串
-function tp_gen_random_string(len) {
- len = len || 32;
- var _chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; // 默认去掉了容易混淆的字符oO,Ll,9gq,Vv,Uu,I1
- var max_pos = _chars.length;
- var ret = '';
- for (var i = 0; i < len; i++) {
- ret += _chars.charAt(Math.floor(Math.random() * max_pos));
- }
- return ret;
-}
-
// 生成一个随机密码
function tp_gen_password(len) {
len = len || 8;
- var _chars = ['ABCDEFGHJKMNPQRSTWXYZ', 'abcdefhijkmnprstwxyz', '2345678']; // 默认去掉了容易混淆的字符oO,Ll,9gq,Vv,Uu,I1
- var _chars_len = [];
- var i = 0;
+ const _chars = ['ABCDEFGHJKMNPQRSTWXYZ', 'abcdefhijkmnprstwxyz', '2345678']; // 默认去掉了容易混淆的字符oO,Ll,9gq,Vv,Uu,I1
+ let _chars_len = [];
+ let i = 0;
for (i = 0; i < _chars.length; ++i) {
_chars_len[i] = _chars[i].length;
}
- var ret = '';
+ let ret = '';
- var have_CHAR = false;
- var have_char = false;
- var have_num = false;
+ let have_CHAR = false;
+ let have_char = false;
+ let have_num = false;
for (; ;) {
ret = '';
for (i = 0; i < len; i++) {
- var idx = Math.floor(Math.random() * _chars.length);
+ let idx = Math.floor(Math.random() * _chars.length);
if (idx === 0)
have_CHAR = true;
else if (idx === 1)
@@ -388,12 +342,12 @@ function tp_gen_password(len) {
// 弱密码检测
function tp_check_strong_password(p) {
- var s = 0;
if (p.length < 8)
return false;
- for (var i = 0; i < p.length; ++i) {
- var c = p.charCodeAt(i);
+ let i, s = 0;
+ for (i = 0; i < p.length; ++i) {
+ let c = p.charCodeAt(i);
if (c >= 48 && c <= 57) // 数字
s |= 1;
else if (c >= 65 && c <= 90) // 大写字母
diff --git a/server/www/teleport/static/js/user/bind-oath.js b/server/www/teleport/static/js/user/bind-oath.js
index 738ed9e..4d38b58 100755
--- a/server/www/teleport/static/js/user/bind-oath.js
+++ b/server/www/teleport/static/js/user/bind-oath.js
@@ -129,7 +129,7 @@ $app.on_init = function (cb_stack) {
$tp.ajax_post_json('/system/get-time', {},
function (ret) {
if (ret.code === TPE_OK) {
- $app.tp_time = tp_utc2local(ret.data);
+ $app.tp_time = ret.data;
$app.show_tp_time();
}
},
diff --git a/server/www/teleport/static/js/user/me.js b/server/www/teleport/static/js/user/me.js
index 0734025..e9ffdd6 100644
--- a/server/www/teleport/static/js/user/me.js
+++ b/server/www/teleport/static/js/user/me.js
@@ -15,7 +15,7 @@ $app.on_init = function (cb_stack, cb_args) {
if (val === 0)
obj.text('-');
else
- obj.text(tp_format_datetime(tp_utc2local(val)));
+ obj.text(tp_format_datetime(val));
};
$app.fix_time_display('create-time');
diff --git a/server/www/teleport/webroot/app/base/database/create.py b/server/www/teleport/webroot/app/base/database/create.py
index d24212f..3b84bdd 100644
--- a/server/www/teleport/webroot/app/base/database/create.py
+++ b/server/www/teleport/webroot/app/base/database/create.py
@@ -2,7 +2,7 @@
from app.const import *
from app.logic.auth.password import tp_password_generate_secret
-from app.base.utils import tp_timestamp_utc_now
+from app.base.utils import tp_timestamp_sec
from app.base.logger import log
@@ -826,7 +826,7 @@ class DatabaseInit:
)
def _make_builtin_data(self, sysadmin, email, password):
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
self._db_exec(
'设定数据库版本',
diff --git a/server/www/teleport/webroot/app/base/database/upgrade.py b/server/www/teleport/webroot/app/base/database/upgrade.py
index 6a8a886..78ff07b 100644
--- a/server/www/teleport/webroot/app/base/database/upgrade.py
+++ b/server/www/teleport/webroot/app/base/database/upgrade.py
@@ -2,7 +2,7 @@
# from app.const import *
# from app.logic.auth.password import tp_password_generate_secret
-# from app.base.utils import tp_timestamp_utc_now
+# from app.base.utils import tp_timestamp_sec
from app.base.logger import log
# import shutil
diff --git a/server/www/teleport/webroot/app/base/stats.py b/server/www/teleport/webroot/app/base/stats.py
index a36eb40..c3574ce 100644
--- a/server/www/teleport/webroot/app/base/stats.py
+++ b/server/www/teleport/webroot/app/base/stats.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import psutil
-from app.base.utils import tp_utc_timestamp_ms
+from app.base.utils import tp_timestamp_ms
from app.const import *
from app.base.wss import tp_wss
from app.base.cron import tp_cron
@@ -35,7 +35,7 @@ class TPStats(object):
}
def init(self):
- t = tp_utc_timestamp_ms() - 10 * 60 * 1000
+ t = tp_timestamp_ms() - 10 * 60 * 1000
cnt = int((10 * 60 + self._INTERVAL - 1) / self._INTERVAL)
for i in range(cnt):
val = {
@@ -73,7 +73,7 @@ class TPStats(object):
return True
def _check_sys_stats(self):
- val = {'t': tp_utc_timestamp_ms()}
+ val = {'t': tp_timestamp_ms()}
cpu = psutil.cpu_times_percent()
val['cpu'] = {'u': cpu.user, 's': cpu.system}
diff --git a/server/www/teleport/webroot/app/base/utils.py b/server/www/teleport/webroot/app/base/utils.py
index 426cebd..c21621a 100644
--- a/server/www/teleport/webroot/app/base/utils.py
+++ b/server/www/teleport/webroot/app/base/utils.py
@@ -160,16 +160,12 @@ def tp_second2human(n):
return ret
-def tp_timestamp_local_to_utc(t):
- return int(datetime.datetime.utcfromtimestamp(time.mktime(time.localtime(t))).timestamp())
+def tp_timestamp_sec():
+ return int(datetime.datetime.now().timestamp())
-def tp_timestamp_utc_now():
- return int(datetime.datetime.utcnow().timestamp())
-
-
-def tp_utc_timestamp_ms():
- return int(datetime.datetime.utcnow().timestamp() * 1000)
+def tp_timestamp_ms():
+ return int(datetime.datetime.now().timestamp() * 1000)
def tp_bytes2string(b, encode='utf8'):
@@ -253,7 +249,7 @@ class UniqueId:
if '__tp_unique_id__' in builtins.__dict__:
raise RuntimeError('UniqueId object exists, can not create more than one instance.')
- self._id = tp_timestamp_utc_now()
+ self._id = tp_timestamp_sec()
self._locker = threading.RLock()
def generate(self):
diff --git a/server/www/teleport/webroot/app/model/account.py b/server/www/teleport/webroot/app/model/account.py
index 3cb22b5..9e2240b 100644
--- a/server/www/teleport/webroot/app/model/account.py
+++ b/server/www/teleport/webroot/app/model/account.py
@@ -4,7 +4,7 @@ from app.const import *
from app.base.logger import log
from app.base.db import get_db, SQL
from . import syslog
-from app.base.utils import tp_timestamp_utc_now
+from app.base.utils import tp_timestamp_sec
from app.base.stats import tp_stats
@@ -246,7 +246,7 @@ def add_account(handler, host_id, args):
添加一个远程账号
"""
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
operator = handler.get_current_user()
# 1. 判断是否已经存在了
diff --git a/server/www/teleport/webroot/app/model/audit.py b/server/www/teleport/webroot/app/model/audit.py
index b0527e2..0ce5aaa 100644
--- a/server/www/teleport/webroot/app/model/audit.py
+++ b/server/www/teleport/webroot/app/model/audit.py
@@ -5,7 +5,7 @@ from app.base.logger import log
from app.base.db import get_db, SQL
from app.model import syslog
from app.model import policy
-from app.base.utils import AttrDict, tp_timestamp_utc_now
+from app.base.utils import AttrDict, tp_timestamp_sec
def get_by_id(pid):
@@ -59,7 +59,7 @@ def create_policy(handler, args):
创建一个授权策略
"""
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
# 1. 判断此账号是否已经存在了
s = SQL(db)
@@ -176,7 +176,7 @@ def add_members(handler, policy_id, policy_type, ref_type, members):
operator = handler.get_current_user()
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
sql = []
# for uid in members:
diff --git a/server/www/teleport/webroot/app/model/group.py b/server/www/teleport/webroot/app/model/group.py
index 9afdd4f..59c13db 100644
--- a/server/www/teleport/webroot/app/model/group.py
+++ b/server/www/teleport/webroot/app/model/group.py
@@ -3,7 +3,7 @@
from app.const import *
from app.base.logger import log
from app.base.db import get_db, SQL
-from app.base.utils import tp_timestamp_utc_now
+from app.base.utils import tp_timestamp_sec
from app.model import syslog
from app.model import policy
@@ -13,7 +13,7 @@ def create(handler, gtype, name, desc):
return TPE_PARAM, 0
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
# 1. 判断是否已经存在了
sql = 'SELECT id FROM {dbtp}group WHERE type={gtype} AND name="{gname}";'.format(dbtp=db.table_prefix, gtype=gtype, gname=name)
@@ -251,7 +251,7 @@ def make_groups(handler, gtype, glist, failed):
根据传入的组列表,查询每个组的名称对应的id,如果没有,则创建之
"""
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
operator = handler.get_current_user()
name_list = list()
diff --git a/server/www/teleport/webroot/app/model/host.py b/server/www/teleport/webroot/app/model/host.py
index 4390a80..84ec4fe 100644
--- a/server/www/teleport/webroot/app/model/host.py
+++ b/server/www/teleport/webroot/app/model/host.py
@@ -8,7 +8,7 @@ from app.base.logger import log
from app.base.db import get_db, SQL
from . import syslog
from app.base.stats import tp_stats
-from app.base.utils import tp_timestamp_utc_now
+from app.base.utils import tp_timestamp_sec
def get_host_info(host_id):
@@ -100,7 +100,7 @@ def add_host(handler, args):
添加一个远程主机
"""
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
# 1. 判断此主机是否已经存在了
if len(args['router_ip']) > 0:
diff --git a/server/www/teleport/webroot/app/model/ops.py b/server/www/teleport/webroot/app/model/ops.py
index 63d58b7..8904b97 100644
--- a/server/www/teleport/webroot/app/model/ops.py
+++ b/server/www/teleport/webroot/app/model/ops.py
@@ -7,7 +7,7 @@ from app.base.logger import log
from app.base.db import get_db, SQL
from app.model import syslog
from app.model import policy
-from app.base.utils import AttrDict, tp_timestamp_utc_now
+from app.base.utils import AttrDict, tp_timestamp_sec
def get_by_id(pid):
@@ -72,7 +72,7 @@ def create_policy(handler, args):
创建一个授权策略
"""
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
# 1. 判断此账号是否已经存在了
s = SQL(db)
@@ -189,7 +189,7 @@ def add_members(handler, policy_id, policy_type, ref_type, members):
operator = handler.get_current_user()
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
sql = []
for m in members:
diff --git a/server/www/teleport/webroot/app/model/policy.py b/server/www/teleport/webroot/app/model/policy.py
index 8b0efe8..4a1e2f7 100644
--- a/server/www/teleport/webroot/app/model/policy.py
+++ b/server/www/teleport/webroot/app/model/policy.py
@@ -4,7 +4,7 @@ from app.const import *
from app.base.logger import log
from app.base.db import get_db, SQL
from app.model import syslog
-from app.base.utils import AttrDict, tp_timestamp_utc_now
+from app.base.utils import AttrDict, tp_timestamp_sec
def rebuild_ops_auz_map():
diff --git a/server/www/teleport/webroot/app/model/record.py b/server/www/teleport/webroot/app/model/record.py
index 2fdeb52..87a6fa0 100644
--- a/server/www/teleport/webroot/app/model/record.py
+++ b/server/www/teleport/webroot/app/model/record.py
@@ -10,7 +10,7 @@ from app.const import *
from app.base.configs import tp_cfg
from app.base.db import get_db, SQL
from app.base.logger import log
-from app.base.utils import tp_timestamp_utc_now
+from app.base.utils import tp_timestamp_sec
import tornado.gen
@@ -483,11 +483,11 @@ def session_fix():
sql_list = []
sql = 'UPDATE `{dbtp}record` SET state={new_state}, time_end={time_end} WHERE state={old_state};' \
- ''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_RESET, old_state=TP_SESS_STAT_RUNNING, time_end=tp_timestamp_utc_now())
+ ''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_RESET, old_state=TP_SESS_STAT_RUNNING, time_end=tp_timestamp_sec())
sql_list.append(sql)
sql = 'UPDATE `{dbtp}record` SET state={new_state},time_end={time_end} WHERE state={old_state};' \
- ''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_START_RESET, old_state=TP_SESS_STAT_STARTED, time_end=tp_timestamp_utc_now())
+ ''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_START_RESET, old_state=TP_SESS_STAT_STARTED, time_end=tp_timestamp_sec())
sql_list.append(sql)
return db.transaction(sql_list)
@@ -499,7 +499,7 @@ def session_begin(sid, user_id, host_id, acc_id, user_username, acc_username, ho
';'.format(db.table_prefix,
sid=sid, user_id=user_id, host_id=host_id, acc_id=acc_id, user_username=user_username, host_ip=host_ip, conn_ip=conn_ip, conn_port=conn_port,
client_ip=client_ip, acc_username=acc_username, auth_type=auth_type, protocol_type=protocol_type, protocol_sub_type=protocol_sub_type,
- time_begin=tp_timestamp_utc_now())
+ time_begin=tp_timestamp_sec())
ret = db.exec(sql)
if not ret:
@@ -520,7 +520,7 @@ def session_update(record_id, protocol_sub_type, state):
def session_end(record_id, ret_code):
db = get_db()
- sql = 'UPDATE `{}record` SET state={}, time_end={} WHERE id={};'.format(db.table_prefix, int(ret_code), tp_timestamp_utc_now(), int(record_id))
+ sql = 'UPDATE `{}record` SET state={}, time_end={} WHERE id={};'.format(db.table_prefix, int(ret_code), tp_timestamp_sec(), int(record_id))
return db.exec(sql)
@@ -530,7 +530,7 @@ def cleanup_storage(handler):
sto = tp_cfg().sys.storage
db = get_db()
- _now = tp_timestamp_utc_now()
+ _now = tp_timestamp_sec()
msg = []
have_error = False
diff --git a/server/www/teleport/webroot/app/model/stats.py b/server/www/teleport/webroot/app/model/stats.py
index da03baf..d53ab91 100644
--- a/server/www/teleport/webroot/app/model/stats.py
+++ b/server/www/teleport/webroot/app/model/stats.py
@@ -3,7 +3,7 @@
from app.const import *
from app.base.db import get_db
from app.base.configs import tp_cfg
-from app.base.utils import tp_timestamp_utc_now
+from app.base.utils import tp_timestamp_sec
def get_basic_stats():
@@ -53,7 +53,7 @@ def update_temp_locked_user_state():
if sys_cfg.login.lock_timeout == 0:
return
- _lock_time = tp_timestamp_utc_now() - (sys_cfg.login.lock_timeout * 60)
+ _lock_time = tp_timestamp_sec() - (sys_cfg.login.lock_timeout * 60)
db = get_db()
if db.need_create or db.need_upgrade:
return
diff --git a/server/www/teleport/webroot/app/model/syslog.py b/server/www/teleport/webroot/app/model/syslog.py
index 333e584..77ab6b4 100644
--- a/server/www/teleport/webroot/app/model/syslog.py
+++ b/server/www/teleport/webroot/app/model/syslog.py
@@ -3,7 +3,7 @@
from app.const import *
from app.base.db import get_db, SQL
from app.base.logger import log
-from app.base.utils import tp_timestamp_utc_now
+from app.base.utils import tp_timestamp_sec
def sys_log(operator, client_ip, code, message=""):
@@ -13,7 +13,7 @@ def sys_log(operator, client_ip, code, message=""):
'VALUES ("{user_name}","{user_surname}","{client_ip}",{code},{log_time},"{message}")' \
';'.format(db.table_prefix,
user_name=operator['username'], user_surname=operator['surname'], client_ip=client_ip, code=code,
- log_time=tp_timestamp_utc_now(), message=message
+ log_time=tp_timestamp_sec(), message=message
)
ret = db.exec(sql)
diff --git a/server/www/teleport/webroot/app/model/system.py b/server/www/teleport/webroot/app/model/system.py
index c87e983..b96a27a 100644
--- a/server/www/teleport/webroot/app/model/system.py
+++ b/server/www/teleport/webroot/app/model/system.py
@@ -4,7 +4,7 @@ import json
from app.const import *
from app.base.db import get_db, SQL
from app.base.logger import log
-from app.base.utils import tp_timestamp_utc_now
+from app.base.utils import tp_timestamp_sec
from . import syslog
@@ -33,7 +33,7 @@ def save_config(handler, msg, name, value):
def add_role(handler, role_name, privilege):
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
operator = handler.get_current_user()
# 1. 判断是否已经存在了
diff --git a/server/www/teleport/webroot/app/model/user.py b/server/www/teleport/webroot/app/model/user.py
index b3688ce..3581c85 100755
--- a/server/www/teleport/webroot/app/model/user.py
+++ b/server/www/teleport/webroot/app/model/user.py
@@ -3,7 +3,7 @@
from app.base.configs import tp_cfg
from app.base.db import get_db, SQL
from app.base.logger import log
-from app.base.utils import tp_timestamp_utc_now, tp_generate_random
+from app.base.utils import tp_timestamp_sec, tp_generate_random
from app.const import *
from app.model import syslog
from app.base.stats import tp_stats
@@ -73,7 +73,7 @@ def login(handler, username, password=None, oath_code=None, check_bind_oath=Fals
if user_info['state'] == TP_STATE_LOCKED:
# 用户已经被锁定,如果系统配置为一定时间后自动解锁,则更新一下用户信息
if sys_cfg.login.lock_timeout != 0:
- if tp_timestamp_utc_now() - user_info.lock_time > sys_cfg.login.lock_timeout * 60:
+ if tp_timestamp_sec() - user_info.lock_time > sys_cfg.login.lock_timeout * 60:
user_info.fail_count = 0
user_info.state = TP_STATE_NORMAL
if user_info['state'] == TP_STATE_LOCKED:
@@ -94,7 +94,7 @@ def login(handler, username, password=None, oath_code=None, check_bind_oath=Fals
if user_info['type'] == TP_USER_TYPE_LOCAL:
# 如果系统配置了密码有效期,则检查用户的密码是否失效
if sys_cfg.password.timeout != 0:
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
if user_info['last_chpass'] + (sys_cfg.password.timeout * 60 * 60 * 24) < _time_now:
msg = '登录失败,用户密码已过期'
syslog.sys_log(user_info, handler.request.remote_ip, TPE_USER_AUTH, msg)
@@ -269,7 +269,7 @@ def create_users(handler, user_list, success, failed):
批量创建用户
"""
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
operator = handler.get_current_user()
name_list = list()
@@ -329,7 +329,7 @@ def create_user(handler, user):
创建一个用户账号
"""
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
operator = handler.get_current_user()
if 'type' not in user:
@@ -476,7 +476,7 @@ def set_password(handler, mode, user_id, password):
if len(surname) == 0:
surname = name
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
sql = 'UPDATE `{}user` SET `password`="{password}", `last_chpass`={last_chpass} WHERE `id`={user_id};' \
''.format(db.table_prefix, password=password, last_chpass=_time_now, user_id=user_id)
@@ -499,7 +499,7 @@ def generate_reset_password_token(handler, user_id):
db = get_db()
operator = handler.get_current_user()
s = SQL(db)
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
# 0. query user's email by user_id
err = s.select_from('user', ['email'], alt_name='u').where('u.id={user_id}'.format(user_id=user_id)).query()
@@ -542,7 +542,7 @@ def generate_reset_password_token(handler, user_id):
def check_reset_token(token):
db = get_db()
# s = SQL(db)
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
# 0. remove expired token (after 3 days)
sql = 'DELETE FROM `{dbtp}user_rpt` WHERE create_time<{dbph};'.format(dbtp=db.table_prefix, dbph=db.place_holder)
@@ -573,7 +573,7 @@ def remove_reset_token(token):
def update_login_info(handler, user_id):
db = get_db()
- _time_now = tp_timestamp_utc_now()
+ _time_now = tp_timestamp_sec()
sql = 'UPDATE `{}user` SET ' \
'fail_count=0, last_login=login_time, last_ip=login_ip, login_time={login_time},' \
@@ -663,7 +663,7 @@ def update_fail_count(handler, user_info):
if sys_cfg.login.retry != 0 and fail_count >= sys_cfg.login.retry:
is_locked = True
sql = 'UPDATE `{}user` SET state={state}, lock_time={lock_time} WHERE id={uid};' \
- ''.format(db.table_prefix, state=TP_STATE_LOCKED, lock_time=tp_timestamp_utc_now(), uid=user_info.id)
+ ''.format(db.table_prefix, state=TP_STATE_LOCKED, lock_time=tp_timestamp_sec(), uid=user_info.id)
sql_list.append(sql)
if db.transaction(sql_list):