.tmp.
parent
37b697fd8b
commit
931d4016e7
|
@ -35,7 +35,6 @@ __pycache__
|
||||||
**/.idea/inspectionProfiles
|
**/.idea/inspectionProfiles
|
||||||
**/.idea/codeStyles
|
**/.idea/codeStyles
|
||||||
**/.idea/dataSources
|
**/.idea/dataSources
|
||||||
**/.idea/inspectionProfiles
|
|
||||||
**/.idea/vcs.xml
|
**/.idea/vcs.xml
|
||||||
**/.idea/modules.xml
|
**/.idea/modules.xml
|
||||||
**/.idea/deployment.xml
|
**/.idea/deployment.xml
|
||||||
|
@ -88,6 +87,7 @@ __pycache__
|
||||||
/server/tp_core/protocol/rdp
|
/server/tp_core/protocol/rdp
|
||||||
/client/tools/tprdp
|
/client/tools/tprdp
|
||||||
/client/build-tp-player-*
|
/client/build-tp-player-*
|
||||||
|
/server/tools/tpr2mp4
|
||||||
|
|
||||||
# for MacOS.
|
# for MacOS.
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
|
||||||
MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}")
|
MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}")
|
||||||
MESSAGE(STATUS "root source directory is ${PROJECT_SOURCE_DIR}")
|
MESSAGE(STATUS "root source directory is ${PROJECT_SOURCE_DIR}")
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
project(teleport)
|
project(teleport)
|
||||||
|
|
||||||
include(CMakeCfg.txt)
|
include(CMakeCfg.txt)
|
||||||
|
@ -15,3 +15,7 @@ add_subdirectory(server/tp_core/testssh)
|
||||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/server/tp_core/protocol/rdp")
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/server/tp_core/protocol/rdp")
|
||||||
add_subdirectory(server/tp_core/protocol/rdp)
|
add_subdirectory(server/tp_core/protocol/rdp)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/server/tools/tpr2mp4")
|
||||||
|
add_subdirectory(server/tools/tpr2mp4)
|
||||||
|
endif ()
|
||||||
|
|
13
build.bat.in
13
build.bat.in
|
@ -1,13 +0,0 @@
|
||||||
@echo off
|
|
||||||
|
|
||||||
rem ============================================
|
|
||||||
rem 请调整以下路径,以适配您自己的的系统环境。
|
|
||||||
rem 注意:必须使用Pyhont 3.7,32位版本!!
|
|
||||||
rem 可以从这里下载:
|
|
||||||
rem https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe
|
|
||||||
rem ============================================
|
|
||||||
|
|
||||||
SET PYEXEC=C:\Program Files\Python\python.exe
|
|
||||||
|
|
||||||
|
|
||||||
"%PYEXEC%" -B build/build.py %1 %2 %3 %4 %5
|
|
65
build.sh.in
65
build.sh.in
|
@ -1,65 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
PATH_ROOT=$(cd "$(dirname "$0")"; pwd)
|
|
||||||
|
|
||||||
function on_error()
|
|
||||||
{
|
|
||||||
echo -e "\033[01m\033[31m"
|
|
||||||
echo "==================[ !! ERROR !! ]=================="
|
|
||||||
echo ""
|
|
||||||
echo -e $1
|
|
||||||
echo ""
|
|
||||||
echo "==================================================="
|
|
||||||
echo -e "\033[0m"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
function build_linux
|
|
||||||
{
|
|
||||||
if [ `id -u` -eq 0 ]; then
|
|
||||||
on_error "Do not build as root."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f "/etc/centos-release" ] ; then
|
|
||||||
on_error "Sorry, build script works on CentOS 7 only."
|
|
||||||
fi
|
|
||||||
|
|
||||||
X=$(yum list installed | grep "libffi-devel")
|
|
||||||
if [ "$X-x" = "-x" ] ; then
|
|
||||||
on_error "Need libffi-devel to build Python, try:\r\n sudo yum install libffi-devel"
|
|
||||||
fi
|
|
||||||
|
|
||||||
X=$(yum list installed | grep "zlib-devel")
|
|
||||||
if [ "$X-x" = "-x" ] ; then
|
|
||||||
on_error "Need zlib-devel to build Python, try:\r\n sudo yum install zlib-devel"
|
|
||||||
fi
|
|
||||||
|
|
||||||
PYEXEC=${PATH_ROOT}/external/linux/release/bin/python3.7
|
|
||||||
PYSTATIC=${PATH_ROOT}/external/linux/release/lib/libpython3.7m.a
|
|
||||||
|
|
||||||
if [ ! -f "${PYSTATIC}" ] ; then
|
|
||||||
echo "python static not found, now build it..."
|
|
||||||
"${PATH_ROOT}/build/build-py-static.sh"
|
|
||||||
|
|
||||||
if [ ! -f "${PYSTATIC}" ] ; then
|
|
||||||
on_error "can not build python static."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
${PYEXEC} -B "${PATH_ROOT}/build/build.py" $@
|
|
||||||
}
|
|
||||||
|
|
||||||
function build_macos
|
|
||||||
{
|
|
||||||
python3 -B "${PATH_ROOT}/build/build.py" $@
|
|
||||||
}
|
|
||||||
|
|
||||||
SYSTEM=`uname -s`
|
|
||||||
if [ $SYSTEM = "Linux" ] ; then
|
|
||||||
build_linux $@
|
|
||||||
elif [ $SYSTEM = "Darwin" ] ; then
|
|
||||||
build_macos $@
|
|
||||||
else
|
|
||||||
echo "Unsupported platform."
|
|
||||||
fi
|
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
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
|
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
-----BEGIN PRIVATE KEY-----
|
||||||
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
|
||||||
UI4+yvEjUIpuQt35cyE9K/nx
|
a/PsyIEsETicUZJmFZxAiGs=
|
||||||
-----END PRIVATE KEY-----
|
-----END PRIVATE KEY-----
|
||||||
|
|
|
@ -1,25 +1,22 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
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
|
6U4OOh97yg==
|
||||||
axErEeTzNsis1JalHFAdr6mPWY0xaZsdrMeJHMx/7lvM7Qo+odEyswguoCS8Bc1Y
|
|
||||||
6ZlEYZUev7lN0amqnoh25KrrGqpyHCXtXAEEwVyTmdpYDtqsetDYv7aCrfeITPBm
|
|
||||||
GAyD
|
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
|
|
@ -103,7 +103,8 @@ bool Bar::init(MainWindow* owner) {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for(i = 0; i < res__max; ++i) {
|
for(i = 0; i < res__max; ++i) {
|
||||||
QString name;
|
QString name;
|
||||||
name.sprintf(":/tp-player/res/bar/%s.png", img_res[i].name);
|
QTextStream(&name) << ":/tp-player/res/bar/" << img_res[i].name << ".png";
|
||||||
|
// name.asprintf(":/tp-player/res/bar/%s.png", img_res[i].name);
|
||||||
if(!m_res[i].load(name))
|
if(!m_res[i].load(name))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -223,7 +224,8 @@ void Bar::_init_imgages() {
|
||||||
int h = fm.height();
|
int h = fm.height();
|
||||||
if(h < m_res[res_chkbox_normal].height())
|
if(h < m_res[res_chkbox_normal].height())
|
||||||
h = m_res[res_chkbox_normal].height();
|
h = m_res[res_chkbox_normal].height();
|
||||||
m_rc_skip = QRect(0, 0, fm.width(LOCAL8BIT("无操作则跳过")) + CHKBOX_RIGHT_PADDING + m_res[res_chkbox_normal].width(), h);
|
// m_rc_skip = QRect(0, 0, fm.width(LOCAL8BIT("无操作则跳过")) + CHKBOX_RIGHT_PADDING + m_res[res_chkbox_normal].width(), h);
|
||||||
|
m_rc_skip = QRect(0, 0, fm.horizontalAdvance(LOCAL8BIT("无操作则跳过")) + CHKBOX_RIGHT_PADDING + m_res[res_chkbox_normal].width(), h);
|
||||||
}
|
}
|
||||||
|
|
||||||
int w = m_rc_skip.width();
|
int w = m_rc_skip.width();
|
||||||
|
@ -272,7 +274,8 @@ void Bar::_init_imgages() {
|
||||||
pp.setFont(font);
|
pp.setFont(font);
|
||||||
{
|
{
|
||||||
QFontMetrics fm = pp.fontMetrics();
|
QFontMetrics fm = pp.fontMetrics();
|
||||||
m_rc_time_passed = QRect(0, 0, fm.width("00:00:00"), fm.height());
|
// m_rc_time_passed = QRect(0, 0, fm.width("00:00:00"), fm.height());
|
||||||
|
m_rc_time_passed = QRect(0, 0, fm.horizontalAdvance("00:00:00"), fm.height());
|
||||||
m_rc_time_total = m_rc_time_passed;
|
m_rc_time_total = m_rc_time_passed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,9 +333,11 @@ void Bar::_ms_to_str(uint32_t ms, QString& str) {
|
||||||
s = s % 60;
|
s = s % 60;
|
||||||
|
|
||||||
if(h > 0)
|
if(h > 0)
|
||||||
str.sprintf("%02d:%02d:%02d", h, m, s);
|
// str.sprintf("%02d:%02d:%02d", h, m, s);
|
||||||
|
str = QString("%1:%2:%3").arg(h, 2, 10, QLatin1Char('0')).arg(m, 2, 10, QLatin1Char('0')).arg(s, 2, 10, QLatin1Char('0'));
|
||||||
else
|
else
|
||||||
str.sprintf("%02d:%02d", m, s);
|
// str.sprintf("%02d:%02d", m, s);
|
||||||
|
str = QString("%1:%2").arg(m, 2, 10, QLatin1Char('0')).arg(s, 2, 10, QLatin1Char('0'));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Bar::update_passed_time(uint32_t ms) {
|
void Bar::update_passed_time(uint32_t ms) {
|
||||||
|
@ -714,5 +719,3 @@ void Bar::draw(QPainter& painter, const QRect& rc_draw){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -338,7 +338,8 @@ void MainWindow::_do_update_data(UpdateData* dat) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
QString _port;
|
QString _port;
|
||||||
_port.sprintf("%d", m_rec_hdr.basic.conn_port);
|
QTextStream(&_port) << m_rec_hdr.basic.conn_port;
|
||||||
|
// _port.sprintf("%d", m_rec_hdr.basic.conn_port);
|
||||||
title = QString(LOCAL8BIT("用户 %1 访问 %2:%3 的 %4 账号").arg(m_rec_hdr.basic.user_username, m_rec_hdr.basic.conn_ip, _port, m_rec_hdr.basic.acc_username));
|
title = QString(LOCAL8BIT("用户 %1 访问 %2:%3 的 %4 账号").arg(m_rec_hdr.basic.user_username, m_rec_hdr.basic.conn_ip, _port, m_rec_hdr.basic.acc_username));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -278,8 +278,10 @@ void ThrData::_run() {
|
||||||
|
|
||||||
// 如果数据文件尚未打开,则打开它
|
// 如果数据文件尚未打开,则打开它
|
||||||
if(fdata == nullptr) {
|
if(fdata == nullptr) {
|
||||||
str_fidx.sprintf("%d", m_file_idx+1);
|
//str_fidx.sprintf("%d", m_file_idx+1);
|
||||||
QString tpd_fname = QString("%1/tp-rdp-%2.tpd").arg(m_data_path, str_fidx);
|
//QString tpd_fname = QString("%1/tp-rdp-%2.tpd").arg(m_data_path, str_fidx);
|
||||||
|
QString tpd_fname;
|
||||||
|
QTextStream(&tpd_fname) << m_data_path << "/tp-rdp-" << (m_file_idx+1) << ".tpd";
|
||||||
tpd_fname = QDir::toNativeSeparators(tpd_fname);
|
tpd_fname = QDir::toNativeSeparators(tpd_fname);
|
||||||
|
|
||||||
QFileInfo fi_tpd(tpd_fname);
|
QFileInfo fi_tpd(tpd_fname);
|
||||||
|
|
|
@ -98,7 +98,8 @@ void ThrDownload::_run() {
|
||||||
if(m_need_stop)
|
if(m_need_stop)
|
||||||
break;
|
break;
|
||||||
QString str_fidx;
|
QString str_fidx;
|
||||||
str_fidx.sprintf("%d", file_idx+1);
|
QTextStream(&str_fidx) << (file_idx+1);
|
||||||
|
// str_fidx.asprintf("%d", file_idx+1);
|
||||||
|
|
||||||
QString tpd_fname = QString("%1/tp-rdp-%2.tpd").arg(m_data_path, str_fidx);
|
QString tpd_fname = QString("%1/tp-rdp-%2.tpd").arg(m_data_path, str_fidx);
|
||||||
tpd_fname = QDir::toNativeSeparators(tpd_fname);
|
tpd_fname = QDir::toNativeSeparators(tpd_fname);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef TP_PLAYER_UTIL_H
|
#ifndef TP_PLAYER_UTIL_H
|
||||||
#define TP_PLAYER_UTIL_H
|
#define TP_PLAYER_UTIL_H
|
||||||
|
|
||||||
#include <QTime>
|
#include <QElapsedTimer>
|
||||||
|
|
||||||
class TimeUseTest {
|
class TimeUseTest {
|
||||||
public:
|
public:
|
||||||
|
@ -23,7 +23,7 @@ public:
|
||||||
uint32_t count() const {return m_count;}
|
uint32_t count() const {return m_count;}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTime m_time;
|
QElapsedTimer m_time;
|
||||||
uint32_t m_used_ms;
|
uint32_t m_used_ms;
|
||||||
uint32_t m_count;
|
uint32_t m_count;
|
||||||
};
|
};
|
||||||
|
|
|
@ -168,12 +168,12 @@ public:
|
||||||
#else
|
#else
|
||||||
// timeval.tv_usec ==== ms
|
// timeval.tv_usec ==== ms
|
||||||
// timespec.tv_nsec === nano-second
|
// timespec.tv_nsec === nano-second
|
||||||
struct timeval now = { 0 };
|
struct timeval now = {0};
|
||||||
struct timespec out_time = { 0 };
|
struct timespec out_time = {0};
|
||||||
gettimeofday(&now, nullptr);
|
gettimeofday(&now, nullptr);
|
||||||
|
|
||||||
uint64_t abs_time_ms = now.tv_sec * 1000ll + now.tv_usec + timeout_ms;
|
uint64_t abs_time_ms = now.tv_sec * 1000ll + now.tv_usec + timeout_ms;
|
||||||
out_time.tv_sec = abs_time_ms / 1000ll;
|
out_time.tv_sec = abs_time_ms / 1000ll;
|
||||||
out_time.tv_nsec = (long)((abs_time_ms % 1000ll) * 1000ll);
|
out_time.tv_nsec = (long)((abs_time_ms % 1000ll) * 1000ll);
|
||||||
|
|
||||||
pthread_cond_timedwait(&m_cond, &m_mutex, &out_time);
|
pthread_cond_timedwait(&m_cond, &m_mutex, &out_time);
|
||||||
|
@ -192,7 +192,7 @@ private:
|
||||||
#ifdef EX_OS_WIN32
|
#ifdef EX_OS_WIN32
|
||||||
#else
|
#else
|
||||||
pthread_mutex_t m_mutex;
|
pthread_mutex_t m_mutex;
|
||||||
pthread_cond_t m_cond;
|
pthread_cond_t m_cond;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ class ExEventHelper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit ExEventHelper(ExEvent& event) :
|
explicit ExEventHelper(ExEvent& event) :
|
||||||
m_event(event)
|
m_event(event)
|
||||||
{
|
{
|
||||||
#ifdef EX_OS_WIN32
|
#ifdef EX_OS_WIN32
|
||||||
#else
|
#else
|
||||||
|
@ -222,7 +222,9 @@ private:
|
||||||
|
|
||||||
// 原子操作
|
// 原子操作
|
||||||
int ex_atomic_add(volatile int* pt, int t);
|
int ex_atomic_add(volatile int* pt, int t);
|
||||||
|
|
||||||
int ex_atomic_inc(volatile int* pt);
|
int ex_atomic_inc(volatile int* pt);
|
||||||
|
|
||||||
int ex_atomic_dec(volatile int* pt);
|
int ex_atomic_dec(volatile int* pt);
|
||||||
|
|
||||||
// 线程相关操作
|
// 线程相关操作
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
[toolchain]
|
|
||||||
#============================================
|
|
||||||
# for Windows
|
|
||||||
#============================================
|
|
||||||
|
|
||||||
# Need wget to download necessary dependency files.
|
|
||||||
wget = C:\Program Files (x86)\wget\wget.exe
|
|
||||||
|
|
||||||
# Need 7z to unzip downloaded files.
|
|
||||||
7z = C:\Program Files (x86)\7zip\7z.exe
|
|
||||||
|
|
||||||
# need perl to build openssl on Windows, if not set, default to get it from register.
|
|
||||||
# suggest install ActivePerl.
|
|
||||||
#perl = C:\Perl\bin\perl.exe
|
|
||||||
|
|
||||||
# need nasm to build openssl on Windows, if not set, default to locate it from register.
|
|
||||||
#nasm = C:\Users\username\AppData\Local\NASM\nasm.exe
|
|
||||||
|
|
||||||
# if not set nsis path, default to get it by register.
|
|
||||||
#nsis = C:\Program Files (x86)\NSIS\Unicode\makensis.exe
|
|
||||||
|
|
||||||
# if not set msbuild path, default to get it by register.
|
|
||||||
#msbuild = C:\Program Files (x86)\MSBuild\14.0\bin\MSBuild.exe
|
|
||||||
|
|
||||||
# need Qt >= 5.12 to build recorder player.
|
|
||||||
qt = C:\Qt\Qt5.12.0\5.12.0\msvc2017
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# for Linux
|
|
||||||
# ============================================
|
|
||||||
|
|
||||||
# if not set cmake path, default to '/usr/bin/cmake'
|
|
||||||
cmake = /opt/cmake/bin/cmake
|
|
||||||
|
|
||||||
# ============================================
|
|
||||||
# for MacOS
|
|
||||||
# ============================================
|
|
||||||
|
|
||||||
# need Qt >= 5.12 to build recorder player.
|
|
||||||
qt = /Users/apex/apps/qt5.13.1/5.13.1/clang_64/bin
|
|
|
@ -1,9 +1,27 @@
|
||||||
{
|
{
|
||||||
"toolchain": {
|
"#.comment": {
|
||||||
"pyexec": "C:\\Program Files(x86)\\python-3.7\\python.exe",
|
"#.0": "This is configure file for build teleport project. You should copy this file to",
|
||||||
"qt_path": "C:\\Qt\\Qt5.12.0\\5.12.0\\msvc2017",
|
"#.1": "config.PLATFORM.json and modify it to fit your development environment.",
|
||||||
"cmake": "C:\\Program Files(x86)\\CMake\\bin\\cmake.exe"
|
"#.3": "PLATFORM should be one of windows/linux/macos."
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"#.toolchain": "path of toolchain, if not set, default to find them from register(win), /usr/bin or /usr/local/bin (linux/macos).",
|
||||||
|
"#.toolchain.example.macos": {
|
||||||
|
"qt_path": "/opt/Qt/5.15.2/clang_64/bin",
|
||||||
|
"cmake": "/usr/local/bin/cmake"
|
||||||
|
},
|
||||||
|
"#.toolchain.example.linux": {
|
||||||
|
"qt_path": "",
|
||||||
|
"cmake": "/opt/cmake/bin/cmake"
|
||||||
|
},
|
||||||
|
"#.toolchain.example.windows": {
|
||||||
|
"qt_path": "C:\\Qt\\Qt5.15.2\\5.15.2\\msvc2017",
|
||||||
|
"cmake": "C:\\Program Files(x86)\\CMake\\bin\\cmake.exe",
|
||||||
|
"wget": "",
|
||||||
|
"7z": "",
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
"remote": {
|
"remote": {
|
||||||
"short-name-1": {
|
"short-name-1": {
|
||||||
"type": "linux",
|
"type": "linux",
|
||||||
|
|
|
@ -0,0 +1,160 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
PATH_ROOT=$(cd "$(dirname "$0")"; pwd)
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Please change the following 2 lines to fit your development
|
||||||
|
# environment if you want to build teleport components for such
|
||||||
|
# platforms.
|
||||||
|
# =================================================================
|
||||||
|
PY_EXEC_WINDOWS="C:\\Program Files(x86)\\python-3.7\\python.exe"
|
||||||
|
PY_EXEC_MACOS="/usr/local/bin/python3"
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
function check_cfg_file
|
||||||
|
{
|
||||||
|
if [ ! -f "./${CFG_FILE}" ] ; then
|
||||||
|
on_error_begin "\`${CFG_FILE}\` does not exists."
|
||||||
|
echo "please copy \`config.json.in\` into \`${CFG_FILE}\`"
|
||||||
|
echo "and modify it to fit your condition, then try again."
|
||||||
|
on_error_end
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function build_win
|
||||||
|
{
|
||||||
|
check_cfg_file
|
||||||
|
|
||||||
|
# find pyexec from json file
|
||||||
|
# pyexec=$(grep -P '"pyexec":' ./${CFG_FILE} | grep -Po '(?<="pyexec":)([[:space:]]*)"(.*)"')
|
||||||
|
# remove left "
|
||||||
|
#pyexec=${pyexec#*\"}
|
||||||
|
# remove right "
|
||||||
|
#pyexec=${pyexec%\"*}
|
||||||
|
|
||||||
|
pyexec=${PY_EXEC_WINDOWS}
|
||||||
|
|
||||||
|
# make sure configuration item exists.
|
||||||
|
if [ "${pyexec}-x" = "-x" ] ; then
|
||||||
|
on_error "\`pyexec\` not set, please check your \`${CFG_FILE}\`"
|
||||||
|
fi
|
||||||
|
|
||||||
|
pyexec=$(cygpath -u ${pyexec})
|
||||||
|
|
||||||
|
if [ ! -f "${pyexec}" ] ; then
|
||||||
|
pyexec=$(cygpath -m ${pyexec})
|
||||||
|
on_error "Sorry, need Python 3.7 or above (x86 version) to\nbuild Teleport on Windows Platform.\n\nPython interpreter not exists: ${pyexec}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# check version and architecture of python.
|
||||||
|
# version should >= 3.7
|
||||||
|
$("${pyexec}" -c "import platform;import sys;pyv=platform.python_version_tuple();ret=0 if int(pyv[0])>=3 and int(pyv[1])>=7 else 1;sys.exit(ret)")
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
on_error "Sorry, need x86 version of Python 3.7 or above."
|
||||||
|
fi
|
||||||
|
# and must be x86 version.
|
||||||
|
$("${pyexec}" -c "import platform;import sys;ret=0 if platform.architecture()[0]=='32bit' else 1;sys.exit(ret)")
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
on_error "Sorry, need x86 version of Python 3.7 or above."
|
||||||
|
fi
|
||||||
|
|
||||||
|
${pyexec} -B "${PATH_ROOT}/build/build.py" $@
|
||||||
|
}
|
||||||
|
|
||||||
|
function build_linux
|
||||||
|
{
|
||||||
|
check_cfg_file
|
||||||
|
|
||||||
|
if [ `id -u` -eq 0 ]; then
|
||||||
|
on_error "Do not build as root."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "/etc/centos-release" ] ; then
|
||||||
|
on_error "Sorry, build script works on CentOS 7 only."
|
||||||
|
fi
|
||||||
|
|
||||||
|
PYEXEC=${PATH_ROOT}/external/linux/release/bin/python3.7
|
||||||
|
PYSTATIC=${PATH_ROOT}/external/linux/release/lib/libpython3.7m.a
|
||||||
|
|
||||||
|
if [ ! -f "${PYSTATIC}" ] ; then
|
||||||
|
|
||||||
|
X=$(yum list installed | grep "libffi-devel")
|
||||||
|
if [ "$X-x" = "-x" ] ; then
|
||||||
|
on_error "Need libffi-devel to build Python, try:\r\n sudo yum install libffi-devel"
|
||||||
|
fi
|
||||||
|
|
||||||
|
X=$(yum list installed | grep "zlib-devel")
|
||||||
|
if [ "$X-x" = "-x" ] ; then
|
||||||
|
on_error "Need zlib-devel to build Python, try:\r\n sudo yum install zlib-devel"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "python static not found, now build it..."
|
||||||
|
"${PATH_ROOT}/build/build-py-static.sh"
|
||||||
|
|
||||||
|
if [ ! -f "${PYSTATIC}" ] ; then
|
||||||
|
on_error "can not build python static."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
${PYEXEC} -B "${PATH_ROOT}/build/build.py" $@
|
||||||
|
}
|
||||||
|
|
||||||
|
function build_macos
|
||||||
|
{
|
||||||
|
check_cfg_file
|
||||||
|
|
||||||
|
${PY_EXEC_MACOS} -B "${PATH_ROOT}/build/build.py" $@
|
||||||
|
}
|
||||||
|
|
||||||
|
function on_error()
|
||||||
|
{
|
||||||
|
echo -e "\033[01m\033[31m"
|
||||||
|
echo "==================[ !! ERROR !! ]=================="
|
||||||
|
echo ""
|
||||||
|
echo -e $1
|
||||||
|
echo ""
|
||||||
|
echo "==================================================="
|
||||||
|
echo -e "\033[0m"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function on_error_begin()
|
||||||
|
{
|
||||||
|
echo ""
|
||||||
|
echo -e "\033[01m\033[31mERROR: ${1}\033[0m"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
function on_error_end()
|
||||||
|
{
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
##############################################
|
||||||
|
# main
|
||||||
|
##############################################
|
||||||
|
|
||||||
|
export TP_BUILD_SYSTEM="start"
|
||||||
|
|
||||||
|
SYS_NAME=`uname -s`
|
||||||
|
SYS_NAME=${SYS_NAME:0:4} # cut first 4 char.
|
||||||
|
# echo ${SYS_NAME}
|
||||||
|
# SYSTEM=${SYSTEM^^} # upper case
|
||||||
|
|
||||||
|
if [ ${SYS_NAME} = "Linu" ] ; then
|
||||||
|
export CFG_FILE=config.linux.json
|
||||||
|
build_linux $@
|
||||||
|
elif [ ${SYS_NAME} = "Darw" ] ; then
|
||||||
|
export CFG_FILE=config.macos.json
|
||||||
|
build_macos $@
|
||||||
|
elif [ ${SYS_NAME} == "MSYS" ] ; then
|
||||||
|
export CFG_FILE=config.windows.json
|
||||||
|
build_win $@
|
||||||
|
else
|
||||||
|
on_error_begin "Unsupported platform."
|
||||||
|
echo "To build teleport on Windows, please read document at:"
|
||||||
|
echo " https://docs.tp4a.com/develop/windows"
|
||||||
|
on_error_end
|
||||||
|
fi
|
|
@ -1,24 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIID/TCCAuWgAwIBAgIBADANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJDTjEQ
|
|
||||||
MA4GA1UECgwHRU9NU29mdDEcMBoGA1UECwwTRU9NU29mdCBUZWxlcG9ydCBDQTEc
|
|
||||||
MBoGA1UEAwwTRU9NU29mdCBUZWxlcG9ydCBDQTAgFw0xNjA4MDEwNjE5MThaGA8y
|
|
||||||
MTE2MDcwODA2MTkxOFowWzELMAkGA1UEBhMCQ04xEDAOBgNVBAoMB0VPTVNvZnQx
|
|
||||||
HDAaBgNVBAsME0VPTVNvZnQgVGVsZXBvcnQgQ0ExHDAaBgNVBAMME0VPTVNvZnQg
|
|
||||||
VGVsZXBvcnQgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDnWxeM
|
|
||||||
jqsyXnZqs8fxXGyrcXJZh5sVYcRBrZsjmll9jzqPzKj5cIs51EXQJQeM8b+soevL
|
|
||||||
p1pbXIv+fA1ut+bwanh7eHH43K6YHJpLklqCT2KIQlDuI3UUG0oeJFAIWzmUQjoH
|
|
||||||
BFRzfBLewkE2EcQCGyOCynVW0uo0FiB8DydzCX7z4QF/iZDcp2uYzaNRIzSA9ccB
|
|
||||||
Y93lb/BVOdNUrm61fqbZCFfXb0zbGrq5I5wo16RpNvsBnrlYOdjBca6YBHKUlFbh
|
|
||||||
xP1aOSAjDAWwxDpRRbh5rFdpSN3pW3BqepUNnYGaeEJWWj41gnr5dubGsQ1cTT9P
|
|
||||||
IJPoMmwmYeuJEGs1AgMBAAGjgckwgcYwHQYDVR0OBBYEFE//VRPN8ZMito7K2fnr
|
|
||||||
1JnYgwx9MIGDBgNVHSMEfDB6gBRP/1UTzfGTIraOytn569SZ2IMMfaFfpF0wWzEL
|
|
||||||
MAkGA1UEBhMCQ04xEDAOBgNVBAoMB0VPTVNvZnQxHDAaBgNVBAsME0VPTVNvZnQg
|
|
||||||
VGVsZXBvcnQgQ0ExHDAaBgNVBAMME0VPTVNvZnQgVGVsZXBvcnQgQ0GCAQAwDwYD
|
|
||||||
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEB
|
|
||||||
ADaRgGigRpDQE7jLAVtd7iivYn1pQqWW27ZpxdFl/tUG4MJ6sV1k3hY1mD306Qd+
|
|
||||||
jfQeaPCOXDfp+kx+EEGiuUy2XC1YJqBjV+zf7oaN1umLvCrnqooFqbwU5qYvc/2N
|
|
||||||
p0r8gbRZCmHzZmUrz3wvSqvCcmVeSC0Ya/VUSjgYu3l8ZgoQNk3YgLY79oHyePRn
|
|
||||||
7RVNotpw6s3HJgq4yExmUBLsPoZqtBasFkMV+rLkccQpr5Wr+v0fMcwqwIfEMxc9
|
|
||||||
JvTnrMNlxz9+XJKeFZJUOO2JkVbL3vaTZqh46BEkx/oJUw6Oy3oP9el+ZNbf4ccF
|
|
||||||
LoLgkdBcgnboXkvkYBajD/U=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -1,24 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIEDjCCAvagAwIBAgIEASUKPDANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJD
|
|
||||||
TjEQMA4GA1UECgwHRU9NU29mdDEcMBoGA1UECwwTRU9NU29mdCBUZWxlcG9ydCBD
|
|
||||||
QTEcMBoGA1UEAwwTRU9NU29mdCBUZWxlcG9ydCBDQTAeFw0xNjA4MDEwNjE5MjJa
|
|
||||||
Fw0yNjA3MzAwNjE5MjJaMFwxCzAJBgNVBAYTAkNOMRAwDgYDVQQKDAdFT01Tb2Z0
|
|
||||||
MRwwGgYDVQQLDBNFT01Tb2Z0IFRlbGVwb3J0IENBMR0wGwYDVQQDDBR0ZWxlcG9y
|
|
||||||
dC5lb21zb2Z0Lm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMYx
|
|
||||||
I2TwQOY7rUpkKaLpqGPlwevpICucp8TrE79visx54WlMJ/dQTx8+zTfUi61W/UhX
|
|
||||||
yrZcl4FoUhkI72bNYLROU+NUQdUTQqlwknqDG/IThEoEKv5xz5DKgEXY57MFrzaR
|
|
||||||
Fn5gz8SFDlVzFQrvx8z9sSI/4P419Y6Nsyp9FuINsIZCMnPAfdOWR5BIT7b1wU2Q
|
|
||||||
7+xQC6ULDxG9uxBQveM1SbkOpAPlPmER4mHXfLvCbAMDOwSAGO3Ip0M/7VJrvV1c
|
|
||||||
GU5VHXR35lZmymDQ+TTN2aFdS1RlwEcAdd14XKNgvSYnr//Opy7Krb30UTRQDWo4
|
|
||||||
XZYUsZSgbsnsCsj67PcCAwEAAaOB2DCB1TAdBgNVHQ4EFgQUcDe6t/VElznpzqfN
|
|
||||||
kJc98FigjbQwgYMGA1UdIwR8MHqAFE//VRPN8ZMito7K2fnr1JnYgwx9oV+kXTBb
|
|
||||||
MQswCQYDVQQGEwJDTjEQMA4GA1UECgwHRU9NU29mdDEcMBoGA1UECwwTRU9NU29m
|
|
||||||
dCBUZWxlcG9ydCBDQTEcMBoGA1UEAwwTRU9NU29mdCBUZWxlcG9ydCBDQYIBADAM
|
|
||||||
BgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIF4DATBgNVHSUEDDAKBggrBgEFBQcDATAN
|
|
||||||
BgkqhkiG9w0BAQsFAAOCAQEALjjdSvb1rt4QKTh7Bnyc4eP7912Vt+aZz8+0BS4E
|
|
||||||
KF9ZOS7cjO0GAffKiFfo/OGrbS8rc3tfg3Q/2ktb9dmjAV2QNfCBX5bH0UYSBvlT
|
|
||||||
IoTHVOvo4v8TEh7OCT3OiwxYzp3jAZy0dVY4UkQ1ZB9UscVMtH5POJGeGRLnHwDv
|
|
||||||
UK+u9HXvV5B27hVYpDhZwiOroOG90CCYJEgA59JDPojSWd35OjPN2A9yMd0WoWBm
|
|
||||||
zEk7nYAoJmP1a4DNRdOYGKZHZBe+JxfDKuMRJEwWqJZy7aqcnPH0umjIIsSNnjeT
|
|
||||||
oJFJdygVAU5oalPAxr9gZuTnWytDiTs6a912RoDS0XsrIw==
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -1,28 +0,0 @@
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDGMSNk8EDmO61K
|
|
||||||
ZCmi6ahj5cHr6SArnKfE6xO/b4rMeeFpTCf3UE8fPs031IutVv1IV8q2XJeBaFIZ
|
|
||||||
CO9mzWC0TlPjVEHVE0KpcJJ6gxvyE4RKBCr+cc+QyoBF2OezBa82kRZ+YM/EhQ5V
|
|
||||||
cxUK78fM/bEiP+D+NfWOjbMqfRbiDbCGQjJzwH3TlkeQSE+29cFNkO/sUAulCw8R
|
|
||||||
vbsQUL3jNUm5DqQD5T5hEeJh13y7wmwDAzsEgBjtyKdDP+1Sa71dXBlOVR10d+ZW
|
|
||||||
Zspg0Pk0zdmhXUtUZcBHAHXdeFyjYL0mJ6//zqcuyq299FE0UA1qOF2WFLGUoG7J
|
|
||||||
7ArI+uz3AgMBAAECggEBALJKShjnuLplPQMLEBmqMP2NFuJuma4iAxq2jtFMOoSv
|
|
||||||
sAPVqq5k5IirKlnrLqwE8V0+/PEIYpLbkd9LlnHYmAIb5INArOhNp05eIqdrgpxG
|
|
||||||
yl77WOIE6EDMqpArDGST3IcuBhoyZTXYrIhaOrfX9NmH7u1soa6ORBS1jFPQq+E1
|
|
||||||
8VmJnZaCJ3n0hopUWNg6ZxvysrJSetGNAlP20VKSHwbCAcRRsZU8h7sfAleW7uN5
|
|
||||||
N9lE89kRxJPxz2SPAtLlFNzhhYcJzPTSASIuCXkjwh5+uDsr1Sx9GPcx4NqtvgCt
|
|
||||||
RMZxdtR5o6nnTVSaOTne24xCXpb1Vgowh5pz6iMtyOECgYEA8ClIEiHKi41oNMsP
|
|
||||||
veP0Z+HyFjDvuNNdQHAEek4MSfWvumiRN7p8mjlf88fBxsWxg7EVMuTSyhTjRDyh
|
|
||||||
XAhsf2+raqeztvCa6FGKl0DKSMUDBAOmhGkJ/4wKEOVaUsgOGtEwYtIkG0ygnAel
|
|
||||||
CAU1hyBcHqzcrZjBKKt3+6VRRmsCgYEA00NGjZrKIijg75p2rzFJbtxaphb99WRF
|
|
||||||
6DHLJ5pJYPCXbhzEilJ7xwz4RQkZ5z5fS9U8L9Zs5aLwGzZs7hC7c8N0v8YxUa2s
|
|
||||||
tzSKlbbnf3bJ0LFFZDXpxZwV6zGLgvoRoijSa/t8Rm1hZHU6/bc9lhA0ZdimMw48
|
|
||||||
vtZOGwYIHqUCgYBFHNwsu6S6PFt8teM11mADdTZhxHt4SPtRC+t99u/6aMXFc0o3
|
|
||||||
K2eoSlKeqSHOvh2ztEZReyBeH1y3ymr1PUdb9RrzeodxYhRyPuUPWgncnzWa9iH5
|
|
||||||
gPDrpbVP33D62a+VcBXommjhok+mF10azcT1ug5IlZ58JrWPqqjAtnaJOQKBgBh/
|
|
||||||
xL7HJImxk+Q1VW4bmRhyFVENeYXriu/SVmzRR5EmVWk/jMs9pXz/1Aqtc4ONiB+T
|
|
||||||
KtehVh+LNazyMs+owRQ7pl5W7YE7UrwsK6YQ/+eYLu80n4dveRyhbSlJJZSay1Cy
|
|
||||||
yzQahd7k8FZmAeFKTqoIVws4hI2HKSQ4VfZsTKTBAoGBAN7btCRS5BCiF9U2sT4l
|
|
||||||
9e3wHDxFbOcY62hMtSnWjiN+3SdujQVFzFvpN0eNO5PPHU71hcM27bcCq8yPHROy
|
|
||||||
zb3Esbh87HjLjdLXmxvLlBGqQ95czLEF2t69k1pXtX1zYVMka1nEu0H4a17A9JCC
|
|
||||||
I9E7p6GtflkuY/XW9pij0Akm
|
|
||||||
-----END PRIVATE KEY-----
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDhDCCAmygAwIBAgIBADANBgkqhkiG9w0BAQsFADAzMQswCQYDVQQGEwJDTjEN
|
||||||
|
MAsGA1UEChMEdHA0YTEVMBMGA1UEAxMMVFA0QSBSb290IENBMCAXDTIxMDcwMzA1
|
||||||
|
NTA0N1oYDzIxMjEwNjA5MDU1MDQ3WjAzMQswCQYDVQQGEwJDTjENMAsGA1UEChME
|
||||||
|
dHA0YTEVMBMGA1UEAxMMVFA0QSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
||||||
|
AQ8AMIIBCgKCAQEArk1q4RZGBRJwJPYjEVUskFiFadz6trJC5430DFxwLVCEvMHh
|
||||||
|
KlgTb/a1jC53DmGsbJHlNs9yd7ja08AUITsbcUnST976LFpOe+ck6E2x1rhlWrXP
|
||||||
|
rN1B+xzfFy1AMNubr97MHoCfrdErWxKzaRUX55GRXbWMsugcfsvr7t8JQh3xbo91
|
||||||
|
0Xcq0QvC7t5PoDQ6VX6Uc0Utx7lbW4OoA7wU4d2JjUcvBlQHQsu/qZLojzXyEl2Q
|
||||||
|
AwfILypiapl01iBM2XPpaPpXC58//Etx/ul3oHsLsPEUzxbiCptx8xjE9IWaKqf6
|
||||||
|
GlnjhpZzw8W24h2CvWyy9EYw3QdUI4EBQhVZtwIDAQABo4GgMIGdMB0GA1UdDgQW
|
||||||
|
BBR7wuXeCTbB+3mfLFcwm3anZ2C4UDBbBgNVHSMEVDBSgBR7wuXeCTbB+3mfLFcw
|
||||||
|
m3anZ2C4UKE3pDUwMzELMAkGA1UEBhMCQ04xDTALBgNVBAoTBHRwNGExFTATBgNV
|
||||||
|
BAMTDFRQNEEgUm9vdCBDQYIBADAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
|
||||||
|
AwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAfd12+QaYrtM/KfZnSqDLwvGksuOZ1OOX
|
||||||
|
8xApJo35GPpFLlFTdkwQ9Z3unWXIfJGFYGAiRpy83ghraOaxqGDngqJdr1hT0RTQ
|
||||||
|
KqVlBZufbB010Dhl/6TcetZTeXLa3Xjw9d9jc79Prmc/485pa6lh2QSodHJwfz7J
|
||||||
|
zzUe5g09hzLdqrurIGdsMzFRMRwo2KpXMhx4jEqk4IMTD9rQnzCxBWS8rPbsnDTm
|
||||||
|
f0/kW3R70JbUFN5Dnd669g6t1L923+ICysR6q+Ep7cGhY1b9iMCn4Ia8r4VwgYuH
|
||||||
|
PAvw0ajzvj7RRW0M9Szo2jaWXHz6XeKmK3t8TW2x4gOn+irOenItEg==
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,22 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDkzCCAnugAwIBAgIGAhNQQY0DMA0GCSqGSIb3DQEBCwUAMDMxCzAJBgNVBAYT
|
||||||
|
AkNOMQ0wCwYDVQQKEwR0cDRhMRUwEwYDVQQDEwxUUDRBIFJvb3QgQ0EwHhcNMjEw
|
||||||
|
NzAzMDU1MTE5WhcNMjIwNzAzMDU1MTE5WjAXMRUwEwYDVQQDEwxyZHAudHA0YS5j
|
||||||
|
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuEYYjr5xkYOMV4Lr8
|
||||||
|
y4iQh+twJXQpsVs6j9we/gwCe+isASIorgkeZUKuQ9b4/geeYg+o3jYIaJiW0/Q0
|
||||||
|
Gbtg98oPYBS5ck5127lYpKnWQpSHZSvqTW2QlQ33GOZCwSVXMG+nAm1yfMCi1hcX
|
||||||
|
qh/qZ6HJuJCeseIY8rX9+dGUPlfaUwUepSiU0y5FKrVRUBV4iFXVopyQWm1kSCKS
|
||||||
|
ymHpvI3pRvRGTM4bWk4XI8ucmZihPTVzecyLta+iV5TyHMvUlnss6ix9TmArFU2f
|
||||||
|
elSOwSfRkemy9ukjsTaY/MI6Z0tq9wcTzFKwqoKXQL72ThoOOYDc6+Ne570X8OmU
|
||||||
|
AngjAgMBAAGjgcgwgcUwHQYDVR0OBBYEFGs2OpTmmURVN5bUr/Emhqf6jcPfMFsG
|
||||||
|
A1UdIwRUMFKAFHvC5d4JNsH7eZ8sVzCbdqdnYLhQoTekNTAzMQswCQYDVQQGEwJD
|
||||||
|
TjENMAsGA1UEChMEdHA0YTEVMBMGA1UEAxMMVFA0QSBSb290IENBggEAMAwGA1Ud
|
||||||
|
EwEB/wQCMAAwCwYDVR0PBAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMBcGA1Ud
|
||||||
|
EQQQMA6CDHJkcC50cDRhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAOmd9QaJ3ItJo
|
||||||
|
npdK9p6sGDB9RTN/761Z6j1gcZoWrF36CeO7k/wQVxjoFbjPAJ/TK7ek8dgB/Qkr
|
||||||
|
VQLII13b1N7z0Gc5sXAmOg0HVmgE9BbDvqKYmdlcvN32TaLhUUMe08izCePEoV8K
|
||||||
|
iWegTGSLxzGUzBkSeUQy0XIAyn7r6EOnvhDwdORuwRXCx06Q9vHyanFCwb27fQb/
|
||||||
|
eI5eZCoDJND2IjOXT2m8XibBXLO/aR0opCKI/PQ/iDAMGcUyO2Fz5CbG5BSDhi9C
|
||||||
|
TpxUXll6Z1IXih1/WHsvistLnXBEMFiOrwog/f0yT3eeGSz3TZxQouhsLjxBhmda
|
||||||
|
Us6pyQt91Q==
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,28 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDuEYYjr5xkYOMV
|
||||||
|
4Lr8y4iQh+twJXQpsVs6j9we/gwCe+isASIorgkeZUKuQ9b4/geeYg+o3jYIaJiW
|
||||||
|
0/Q0Gbtg98oPYBS5ck5127lYpKnWQpSHZSvqTW2QlQ33GOZCwSVXMG+nAm1yfMCi
|
||||||
|
1hcXqh/qZ6HJuJCeseIY8rX9+dGUPlfaUwUepSiU0y5FKrVRUBV4iFXVopyQWm1k
|
||||||
|
SCKSymHpvI3pRvRGTM4bWk4XI8ucmZihPTVzecyLta+iV5TyHMvUlnss6ix9TmAr
|
||||||
|
FU2felSOwSfRkemy9ukjsTaY/MI6Z0tq9wcTzFKwqoKXQL72ThoOOYDc6+Ne570X
|
||||||
|
8OmUAngjAgMBAAECggEBAIdkv/0bqr4LvBp9LNsIhipsoqGtK1tq2o97sZyOrxXa
|
||||||
|
koEARAUOtXDr9fhV7LS/BGY3LuDDP8eYdO+Sq5fV6pNDWU9VPXQaZjTxOYAIZe7M
|
||||||
|
/tvh1g/y6RUJMGAPcSUV476qdVVuNACgoo35ZDi5MF2HgqPOq7EVSZkWsBo5MdA0
|
||||||
|
a8EPf/YktcThEjdqxmAfsM96OIxSLV4HSsnjoi12YgeGMPXjJ08o+kTcKdK66g3y
|
||||||
|
wlSzHijsd33L8ppKZVGxo9LgyMIF+mNqb+5eJaeDCZxIGO1XkOaYEHmPjybVRznF
|
||||||
|
do7/kon3eDhwzHt3C2/kOu9x/iJ71DQa8YinXb85s8ECgYEA+U2336pVtKYOWczf
|
||||||
|
CTYgFnWVB0uKEJsLeksQV/zPOvZmu7oTgpIQ2LO2vUkEI738RTInTSJdIzWdkEeP
|
||||||
|
JIai+tYta/tje7cqGL7i/NakLHYZbsQ4WaCIgM54qjSBgExt3nz0iIqeOIzTFjxx
|
||||||
|
rzmQ/39fL5Ft/hf8679SlxdgrU0CgYEA9HaMvjlt+gxku69tsyysjjXPlz6wdveH
|
||||||
|
fCEWFKW/Q1FZR4YnijHXj1PQTUhLTlq1K9IQOm961qcCFfiArjUj1zoNN52Puf7e
|
||||||
|
hxnmBVuYqaq/pOduyNhmclJ5KWNoNEET2lq1ZHrvVk7buvSHCG/CeBu0QXB1ORKA
|
||||||
|
1yVYqO3Fwy8CgYEA0oGnYzsHB3S35WeyZKrJSW2bmv9T41WnyWmcsU8NBLKOaLFk
|
||||||
|
S/peMzz8brQ6xJtlamBBA0ai8loRY4So/6SX9cnnrKgmho5RA3gbXnc3RTurmfYh
|
||||||
|
xrxgxrKQ/Nc9CkJ++0Dzkl/J3eI7UylSrSyknLjGfPoFsGo87Csu59mbjnkCgYEA
|
||||||
|
yYwz3WFb2pv9MQAhYWejnFuhGwEEXBEYEq70lXFRjx6yjNV+I+GT5wci5ZSFAcSn
|
||||||
|
Ocmmt4bRr8dhYNvQu8/0DK4/12p/5MjMjnY7vo8V/kxYVIy6ObywOfDlE8pxTyOY
|
||||||
|
Sp4ejwkL6gx5/Fk+OyZpHr04j/s3qiYnMzoHLr9aHOECgYEAxbqnw4OkmlvN+KG3
|
||||||
|
UPVZHujhVkfIwhvvXLzKm92g5ZeJfsbh5GWwlduNDeediosmEZp8ogdHzRTaL761
|
||||||
|
Uc7F9+dcyxnfxQnpS0wXllyVBYPnn6Zme0b1VZYJdz3ly/caT0IhwYTkEIp24lop
|
||||||
|
Y00jxcR5DCdCr5WJ4vhsIbK3m/g=
|
||||||
|
-----END PRIVATE KEY-----
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
|
||||||
MESSAGE(STATUS "=======================================================")
|
MESSAGE(STATUS "=======================================================")
|
||||||
MESSAGE(STATUS " tp_core")
|
MESSAGE(STATUS " tp_core")
|
||||||
|
|
|
@ -11,7 +11,7 @@ public:
|
||||||
|
|
||||||
bool init(bool load_config);
|
bool init(bool load_config);
|
||||||
|
|
||||||
ExIniFile& get_ini(void) { return m_ini; }
|
ExIniFile& get_ini() { return m_ini; }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ex_wstr m_exec_file;
|
ex_wstr m_exec_file;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
|
||||||
MESSAGE(STATUS "=======================================================")
|
MESSAGE(STATUS "=======================================================")
|
||||||
MESSAGE(STATUS " libtpssh")
|
MESSAGE(STATUS " libtpssh")
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
|
||||||
MESSAGE(STATUS "=======================================================")
|
MESSAGE(STATUS "=======================================================")
|
||||||
MESSAGE(STATUS " libtptelnet")
|
MESSAGE(STATUS " libtptelnet")
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
|
||||||
MESSAGE(STATUS "=======================================================")
|
MESSAGE(STATUS "=======================================================")
|
||||||
MESSAGE(STATUS " testssh")
|
MESSAGE(STATUS " testssh")
|
||||||
|
|
|
@ -16,24 +16,25 @@ import sys
|
||||||
|
|
||||||
__all__ = ['PATH_APP_ROOT', 'PATH_DATA']
|
__all__ = ['PATH_APP_ROOT', 'PATH_DATA']
|
||||||
|
|
||||||
PATH_DATA = ''
|
|
||||||
|
|
||||||
# 将Python安装的扩展库移除,避免开发调试与正式发布所依赖的库文件不一致导致发布的版本无法运行
|
|
||||||
x = []
|
|
||||||
for p in sys.path:
|
|
||||||
if p.find('site-packages') != -1 or p.find('dist-packages') != -1:
|
|
||||||
x.append(p)
|
|
||||||
for p in x:
|
|
||||||
sys.path.remove(p)
|
|
||||||
|
|
||||||
PATH_APP_ROOT = os.path.abspath(os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', '..'))
|
|
||||||
|
|
||||||
# 检查操作系统,目前支持Win/Linux/MacOS
|
# 检查操作系统,目前支持Win/Linux/MacOS
|
||||||
PLATFORM = platform.system().lower()
|
PLATFORM = platform.system().lower()
|
||||||
if PLATFORM not in ['windows', 'linux', 'darwin']:
|
if PLATFORM not in ['windows', 'linux', 'darwin']:
|
||||||
print('web server does not support `{}` platform yet.'.format(PLATFORM))
|
print('web server does not support `{}` platform yet.'.format(PLATFORM))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
PATH_DATA = ''
|
||||||
|
|
||||||
|
# 将Python安装的扩展库移除,避免开发调试与正式发布所依赖的库文件不一致导致发布的版本无法运行
|
||||||
|
if PLATFORM != 'darwin':
|
||||||
|
x = []
|
||||||
|
for p in sys.path:
|
||||||
|
if p.find('site-packages') != -1 or p.find('dist-packages') != -1:
|
||||||
|
x.append(p)
|
||||||
|
for p in x:
|
||||||
|
sys.path.remove(p)
|
||||||
|
|
||||||
|
PATH_APP_ROOT = os.path.abspath(os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', '..'))
|
||||||
|
|
||||||
BITS = 'x64'
|
BITS = 'x64'
|
||||||
if '32bit' == platform.architecture()[0]:
|
if '32bit' == platform.architecture()[0]:
|
||||||
BITS = 'x86'
|
BITS = 'x86'
|
||||||
|
@ -44,9 +45,12 @@ if _ext_path not in sys.path:
|
||||||
sys.path.append(_ext_path)
|
sys.path.append(_ext_path)
|
||||||
|
|
||||||
# 确定一些路径
|
# 确定一些路径
|
||||||
if os.path.exists(os.path.join(os.path.dirname(sys.executable), 'dev_mode')):
|
PATH_DATA = os.path.abspath(os.path.join(PATH_APP_ROOT, '..', '..', 'share'))
|
||||||
# 开发调试模式
|
# if os.path.exists(os.path.join(os.path.dirname(sys.executable), 'dev_mode')):
|
||||||
PATH_DATA = os.path.abspath(os.path.join(PATH_APP_ROOT, '..', '..', 'share'))
|
# # 开发调试模式
|
||||||
|
# PATH_DATA = os.path.abspath(os.path.join(PATH_APP_ROOT, '..', '..', 'share'))
|
||||||
else:
|
#
|
||||||
|
# else:
|
||||||
|
# PATH_DATA = os.path.abspath(os.path.join(PATH_APP_ROOT, '..', '..', 'data'))
|
||||||
|
if not os.path.exists(PATH_DATA):
|
||||||
PATH_DATA = os.path.abspath(os.path.join(PATH_APP_ROOT, '..', '..', 'data'))
|
PATH_DATA = os.path.abspath(os.path.join(PATH_APP_ROOT, '..', '..', 'data'))
|
||||||
|
|
|
@ -31,10 +31,12 @@ class CatchAllHandler(TPBaseHandler):
|
||||||
self.write('EXIT')
|
self.write('EXIT')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self.set_status(404)
|
||||||
log.w('catch all, GET: {}\n'.format(self.request.uri))
|
log.w('catch all, GET: {}\n'.format(self.request.uri))
|
||||||
self.show_error_page(TPE_HTTP_404_NOT_FOUND)
|
self.show_error_page(TPE_HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
def post(self):
|
def post(self):
|
||||||
|
self.set_status(404)
|
||||||
log.w('catch all, POST: {}\n'.format(self.request.uri))
|
log.w('catch all, POST: {}\n'.format(self.request.uri))
|
||||||
_ret = {'code': TPE_HTTP_404_NOT_FOUND, 'message': '错误的URI', 'data': {}}
|
_ret = {'code': TPE_HTTP_404_NOT_FOUND, 'message': '错误的URI', 'data': {}}
|
||||||
self.set_header("Content-Type", "application/json")
|
self.set_header("Content-Type", "application/json")
|
||||||
|
|
Loading…
Reference in New Issue