diff --git a/README.md b/README.md index 060435cee81746314a0e646638ee1bc76b40f01a..9ec7fbf7072cb3245e3e131dea85ae22530920ed 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,9 @@ make FLAGS=CleanAll 清理编译 ##### 编译命令 参考Linux +## 视频教程 +你也可以观看视频教程来了解我们的代码框架情况:https://www.bilibili.com/video/BV191421f7zp + #### 使用说明 1. 切换到MASTER分支 diff --git a/XEngine_APPClient/APPClient_ForwardExample/APPClient_ForwardExample.cpp b/XEngine_APPClient/APPClient_ForwardExample/APPClient_ForwardExample.cpp index 215956096b148183c294d1621a29cc476daf6579..47247ccca54783e109d03724983992a0220e3f7a 100644 --- a/XEngine_APPClient/APPClient_ForwardExample/APPClient_ForwardExample.cpp +++ b/XEngine_APPClient/APPClient_ForwardExample/APPClient_ForwardExample.cpp @@ -26,7 +26,7 @@ //需要优先配置XEngine //WINDOWS支持VS2022 x86 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_ForwardExample.cpp -o APPClient_ForwardExample.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Client -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lXClient_Socket -lRfcComponents_ProxyProtocol -ljsoncpp -Wl,-rpath=../../XEngine_Source/XEngine_ThirdPart/jsoncpp,--disable-new-dtags +//g++ -std=c++17 -Wall -g APPClient_ForwardExample.cpp -o APPClient_ForwardExample.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lXClient_Socket -lRfcComponents_ProxyProtocol -ljsoncpp int main(int argc, char** argv) { diff --git a/XEngine_APPClient/APPClient_SocksExample/APPClient_SocksExample.cpp b/XEngine_APPClient/APPClient_SocksExample/APPClient_SocksExample.cpp index 9353d167612d6109333cdc31ed7b2baea2b7faf4..c526604c32582bc252a5e28730eea2ac02e65a62 100644 --- a/XEngine_APPClient/APPClient_SocksExample/APPClient_SocksExample.cpp +++ b/XEngine_APPClient/APPClient_SocksExample/APPClient_SocksExample.cpp @@ -23,7 +23,7 @@ //需要优先配置XEngine //WINDOWS支持VS2022 x86 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_SocksExample.cpp -o APPClient_SocksExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Client -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -lXEngine_BaseLib -lXClient_Socket -lRfcComponents_ProxyProtocol +//g++ -std=c++17 -Wall -g APPClient_SocksExample.cpp -o APPClient_SocksExample.exe -lXEngine_BaseLib -lXClient_Socket -lRfcComponents_ProxyProtocol int main(int argc, char** argv) { #ifdef _MSC_BUILD diff --git a/XEngine_APPClient/APPClient_TunnelExample/APPClient_TunnelExample.cpp b/XEngine_APPClient/APPClient_TunnelExample/APPClient_TunnelExample.cpp index be75e3015d0c67f63cd4a9ff5551fa9c31dbf4b1..6fccb3a76806c62f3aa8f4a9c0362f6fef089143 100644 --- a/XEngine_APPClient/APPClient_TunnelExample/APPClient_TunnelExample.cpp +++ b/XEngine_APPClient/APPClient_TunnelExample/APPClient_TunnelExample.cpp @@ -23,7 +23,7 @@ //需要优先配置XEngine //WINDOWS支持VS2022 x86 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_TunnelExample.cpp -o APPClient_TunnelExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Client -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -lXEngine_BaseLib -lXClient_Socket -lRfcComponents_ProxyProtocol +//g++ -std=c++17 -Wall -g APPClient_TunnelExample.cpp -o APPClient_TunnelExample.exe -lXEngine_BaseLib -lXClient_Socket -lRfcComponents_ProxyProtocol int main(int argc, char** argv) { #ifdef _MSC_BUILD diff --git a/XEngine_Source/VSCopy-Debug.bat b/XEngine_Source/VSCopy-Debug.bat index 1a62942908f3ddaae3102075349c0813b1369522..29335b80eba86f45a82d12e3032047f2cbcaa5f7 100644 --- a/XEngine_Source/VSCopy-Debug.bat +++ b/XEngine_Source/VSCopy-Debug.bat @@ -3,11 +3,11 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Algorithm.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_OPenSsl.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_NetXApi.dll" "./" + +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./ copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIHelp.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIClient.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_XSocket.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Packets.dll" "./" diff --git a/XEngine_Source/VSCopy-x64.bat b/XEngine_Source/VSCopy-x64.bat index 7f1b6bc5091b0dd5850c0ff53b41d15d48e5eecb..e7a7c1b3f65535fa3529086731667ba2b6c1766e 100644 --- a/XEngine_Source/VSCopy-x64.bat +++ b/XEngine_Source/VSCopy-x64.bat @@ -3,12 +3,12 @@ copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_OPenSsl.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_NetXApi.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" + copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_ProxyProtocol.dll" "./" diff --git a/XEngine_Source/VSCopy-x86.bat b/XEngine_Source/VSCopy-x86.bat index b1d669169464c8897fc4b7eaf3b7a9b51b220514..1a32c99768d3a1ac59c55b60f7587346d6095fc4 100644 --- a/XEngine_Source/VSCopy-x86.bat +++ b/XEngine_Source/VSCopy-x86.bat @@ -3,12 +3,12 @@ copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_OPenSsl.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_NetXApi.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIHelp.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" + copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_ProxyProtocol.dll" "./" diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h index a685e9b3395e7547c89d800d0316529f634adbf6..35c3014ae20ce5bc271322ddc0abdf33c61e845d 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h @@ -42,11 +42,6 @@ typedef struct tag_XEngine_ServiceConfig int nLogLeave; //日志等级 }st_XLog; struct - { - bool bAuth; //是否启用验证 - XCHAR tszAuthUrl[MAX_PATH]; //验证地址 - }st_XAuth; - struct { list* pStl_ListVer; }st_XVer; diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h index 23a60fdb14b58b7c530b77ec2596f5c20ed36f11..cfaecdccc58e5f4a459ce50110e1e66a7ab67493 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Error.h @@ -16,5 +16,4 @@ #define ERROR_MODULE_CONFIGURE_JSON_XMAX 0xA0004 //读取XMAX配置失败 #define ERROR_MODULE_CONFIGURE_JSON_XTIME 0xA0005 //读取XTIME配置失败 #define ERROR_MODULE_CONFIGURE_JSON_XLOG 0xA0006 //读取XLOG配置失败 -#define ERROR_MODULE_CONFIGURE_JSON_XAUTH 0xA0007 //没有验证配置 #define ERROR_MODULE_CONFIGURE_JSON_XVER 0xA0008 //没有版本配置 \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index 20b3af05796ec5a2740850d4dd1d91d4df614ce2..ca3e4df733d67c01278ebb44ac275b2f0f32527e 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -123,16 +123,6 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE pSt_ServerConfig->st_XLog.nLogLeave = st_JsonXLog["LogLeave"].asInt(); _tcsxcpy(pSt_ServerConfig->st_XLog.tszLogFile, st_JsonXLog["tszLogFile"].asCString()); - if (st_JsonRoot["XAuth"].empty() || (2 != st_JsonRoot["XAuth"].size())) - { - Config_IsErrorOccur = true; - Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XAUTH; - return false; - } - Json::Value st_JsonXAuth = st_JsonRoot["XAuth"]; - pSt_ServerConfig->st_XAuth.bAuth = st_JsonXAuth["bAuth"].asBool(); - _tcsxcpy(pSt_ServerConfig->st_XAuth.tszAuthUrl, st_JsonXAuth["tszAuthUrl"].asCString()); - if (st_JsonRoot["XVer"].empty()) { Config_IsErrorOccur = true; diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index d716a14cebe7504a90a27be43e7dd1b885a8ec26..1050015047fc8871716a3946f067e0f64242cbc6 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -51,35 +51,6 @@ extern "C" XLONG ModuleProtocol_GetLastError(int* pInt_SysError = NULL); 备注: *********************************************************************/ extern "C" bool ModuleProtocol_Packet_ForwardList(XCHAR* ptszMsgBuffer, int* pInt_Len, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, SESSION_FORWARD * **pppSt_ListUser, int nCount); -/******************************************************************** -函数名称:ModuleProtocol_Packet_Auth -函数功能:验证信息打包 - 参数.一:ptszMsgBuffer - In/Out:Out - 类型:字符指针 - 可空:N - 意思:输出封装好的包 - 参数.二:pInt_Len - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:输出封装大小 - 参数.三:lpszUser - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入用户名 - 参数.四:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入密码 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -extern "C" bool ModuleProtocol_Packet_Auth(XCHAR* ptszMsgBuffer, int* pInt_Len, LPCXSTR lpszUser, LPCXSTR lpszPass); /************************************************************************/ /* 解析导出函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index fd90d5175887bf55d5ae6fce29231a812fff6a0f..42e443a85dc38a5cddce471843bf51429153edea 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -96,53 +96,4 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_ForwardList(XCHAR* ptszMsgBuf memcpy(ptszMsgBuffer, pSt_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR)); memcpy(ptszMsgBuffer + sizeof(XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString().c_str(), pSt_ProtocolHdr->unPacketSize); return true; -} -/******************************************************************** -函数名称:ModuleProtocol_Packet_Auth -函数功能:验证信息打包 - 参数.一:ptszMsgBuffer - In/Out:Out - 类型:字符指针 - 可空:N - 意思:输出封装好的包 - 参数.二:pInt_Len - In/Out:Out - 类型:整数型指针 - 可空:N - 意思:输出封装大小 - 参数.三:lpszUser - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入用户名 - 参数.四:lpszPass - In/Out:In - 类型:常量字符指针 - 可空:N - 意思:输入密码 -返回值 - 类型:逻辑型 - 意思:是否成功 -备注: -*********************************************************************/ -bool CModuleProtocol_Packet::ModuleProtocol_Packet_Auth(XCHAR* ptszMsgBuffer, int* pInt_Len, LPCXSTR lpszUser, LPCXSTR lpszPass) -{ - Protocol_IsErrorOccur = false; - - if ((NULL == ptszMsgBuffer) || (NULL == pInt_Len)) - { - Protocol_IsErrorOccur = true; - Protocol_dwErrorCode = ERROR_MODULE_PROTOCOL_PACKET_PARAMENT; - return false; - } - Json::Value st_JsonRoot; - - st_JsonRoot["code"] = 0; - st_JsonRoot["msg"] = "success"; - st_JsonRoot["lpszUser"] = lpszUser; - st_JsonRoot["lpszPass"] = lpszPass; - - *pInt_Len = st_JsonRoot.toStyledString().length(); - memcpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str(), *pInt_Len); - return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index 81a275c903cfb4317feb4889b009e946afeac061..4367f0e655a70fdbfb2fa2aa3a6d243800d10187 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -18,6 +18,5 @@ public: ~CModuleProtocol_Packet(); public: bool ModuleProtocol_Packet_ForwardList(XCHAR* ptszMsgBuffer, int* pInt_Len, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, SESSION_FORWARD*** pppSt_ListUser, int nCount); - bool ModuleProtocol_Packet_Auth(XCHAR* ptszMsgBuffer, int* pInt_Len, LPCXSTR lpszUser, LPCXSTR lpszPass); private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index 0e2159f7a2f4a424302cef51f3b92b32ee9372fb..5d5832cdda29b48119d4a928614a2ce440a21006 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -4,6 +4,5 @@ EXPORTS ModuleProtocol_GetLastError ModuleProtocol_Packet_ForwardList - ModuleProtocol_Packet_Auth ModuleProtocol_Parse_ForwardBind \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index 743ff5240c972f72d1f8d1b766a8b954d3d0198f..0a6fc70cd68809eddbda8158d40b9d861ee1d38b 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -35,10 +35,6 @@ extern "C" bool ModuleProtocol_Packet_ForwardList(XCHAR * ptszMsgBuffer, int* pI { return m_ProtocolPacket.ModuleProtocol_Packet_ForwardList(ptszMsgBuffer, pInt_Len, pSt_ProtocolHdr, pppSt_ListUser, nCount); } -extern "C" bool ModuleProtocol_Packet_Auth(XCHAR * ptszMsgBuffer, int* pInt_Len, LPCXSTR lpszUser, LPCXSTR lpszPass) -{ - return m_ProtocolPacket.ModuleProtocol_Packet_Auth(ptszMsgBuffer, pInt_Len, lpszUser, lpszPass); -} /************************************************************************/ /* 解析导出函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ModuleSession/Makefile b/XEngine_Source/XEngine_ModuleSession/Makefile index a7fbed3ef3dc5b3b56104780fb2ab9b2814c4a5d..6c661afb98805f78c3dc2df1e3061933ed5ce0bc 100644 --- a/XEngine_Source/XEngine_ModuleSession/Makefile +++ b/XEngine_Source/XEngine_ModuleSession/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib +LOADSO = LIB = -lXEngine_BaseLib LIBEX = OBJECTS = ModuleSession_Forward.o pch.o diff --git a/XEngine_Source/XEngine_ServiceApp/Makefile b/XEngine_Source/XEngine_ServiceApp/Makefile index 2d1446ce03985d47698b0da318618184d372da46..c519b1c26d7811b5f2cbc8db90b47b5d8041b401 100644 --- a/XEngine_Source/XEngine_ServiceApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/Makefile @@ -5,10 +5,9 @@ PLATDIR = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_Client -L /usr/local/lib/XEngine_Release/XEngine_NetHelp \ - -L ../XEngine_ModuleConfigure -L ../XEngine_ModuleSession -L ../XEngine_ModuleProtocol \ +LOADSO = -L ../XEngine_ModuleConfigure -L ../XEngine_ModuleSession -L ../XEngine_ModuleProtocol \ -L ../XEngine_ThirdPart/jsoncpp -LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_OPenSsl -lXEngine_ManagePool -lXEngine_NetXApi -lHelpComponents_XLog -lHelpComponents_Packets -lRfcComponents_ProxyProtocol -lXClient_Socket -lNetHelp_APIHelp -lNetHelp_APIClient \ +LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_OPenSsl -lXEngine_ManagePool -lXClient_Socket -lXClient_APIHelp -lHelpComponents_XLog -lHelpComponents_Packets -lRfcComponents_ProxyProtocol -lNetHelp_APIHelp -lNetHelp_XSocket \ -lXEngine_ModuleConfigure -lXEngine_ModuleSession -lXEngine_ModuleProtocol \ -ljsoncpp LIBEX = diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_ForwardTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_ForwardTask.cpp index 1602bcf9b1ac0dc996e3108b6e07813060ea43bc..5c81d3dd8c1adcb637c23940c0890307cccb3ada 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_ForwardTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_ForwardTask.cpp @@ -56,21 +56,6 @@ bool XEngine_Forward_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n memset(&st_UserAuth, '\0', sizeof(XENGINE_PROTOCOL_USERAUTH)); memcpy(&st_UserAuth, lpszMsgBuffer, sizeof(XENGINE_PROTOCOL_USERAUTH)); - //是否需要进行验证 - if (st_ServiceConfig.st_XAuth.bAuth) - { - int nHTTPCode = 0; - ModuleProtocol_Packet_Auth(tszSDBuffer, &nSDLen, st_UserAuth.tszUserName, st_UserAuth.tszUserPass); - if (!APIClient_Http_Request(_X("POST"), st_ServiceConfig.st_XAuth.tszAuthUrl, tszSDBuffer, &nHTTPCode)) - { - pSt_ProtocolHdr->wReserve = 401; - pSt_ProtocolHdr->unPacketSize = 0; - pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_FORWARD_LOGREP; - XEngine_Network_Send(lpszClientAddr, (LPCXSTR)pSt_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR), XENGINE_CLIENT_NETTYPE_FORWARD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Forward客户端:%s,设置的用户:%s,密码:%s,验证失败无法继续."), lpszClientAddr, st_UserAuth.tszUserName, st_UserAuth.tszUserPass); - return false; - } - } pSt_ProtocolHdr->wReserve = 0; pSt_ProtocolHdr->unPacketSize = 0; pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_FORWARD_LOGREP; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h index 935b2bf3993d11e0e5ad1f8766b62740d5e088dd..8457956a70fabb026b3e70cec424c15877159355 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_Hdr.h @@ -32,12 +32,10 @@ using namespace std; #include #include #include -#include -#include +#include +#include #include #include -#include -#include #include #include #include @@ -132,12 +130,11 @@ typedef struct #pragma comment(lib,"XEngine_Core/XEngine_Core.lib") #pragma comment(lib,"XEngine_Core/XEngine_ManagePool.lib") #pragma comment(lib,"XEngine_Core/XEngine_OPenSsl.lib") -#pragma comment(lib,"XEngine_Core/XEngine_NetXApi.lib") +#pragma comment(lib,"XEngine_Client/XClient_Socket.lib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIHelp.lib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient.lib") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_XSocket.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_XLog.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_Packets.lib") #pragma comment(lib,"XEngine_RfcComponents/RfcComponents_ProxyProtocol.lib") -#pragma comment(lib,"XEngine_Client/XClient_Socket.lib") #pragma comment(lib,"Ws2_32.lib") #endif \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp index f4cb21eed5be400b3d0f8e5d6c472f5ce48af702..a286d6cfd7b1330d9b9b6b4b4b860ad7f14c1ce3 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_ServiceApp.cpp @@ -116,14 +116,6 @@ int main(int argc, char** argv) HelpComponents_XLog_SetLogPriority(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化日志系统成功")); - if (st_ServiceConfig.st_XAuth.bAuth) - { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启用用户验证服务,用户验证地址:%s"), st_ServiceConfig.st_XAuth.tszAuthUrl); - } - else - { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,没有启用用户验证服务")); - } //启动Socks服务相关代码 if (st_ServiceConfig.nSocksPort > 0) { diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_SocksTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_SocksTask.cpp index 2e4a37bbb4482021bafe52ff383c6d1829925fa9..964d58d4b1f2b26cd27fa9028bd19fd8a191aa28 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_SocksTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_SocksTask.cpp @@ -48,7 +48,7 @@ bool XEngine_SocksTask_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int _tcsxcat(tszAuthBuffer, tszTmpBuffer); _tcsxcat(tszAuthBuffer, _X(" ")); //服务器是否支持 - if ((ENUM_RFCCOMPONENTS_PROXYSOCKS_AUTH_USERPASS == enListAuths[i]) || (ENUM_RFCCOMPONENTS_PROXYSOCKS_AUTH_ANONYMOUS == enListAuths[i])) + if (ENUM_RFCCOMPONENTS_PROXYSOCKS_AUTH_ANONYMOUS == enListAuths[i]) { bFoundAuth = true; } @@ -57,18 +57,14 @@ bool XEngine_SocksTask_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int { ProxyProtocol_SocksCore_HdrPacket(lpszClientAddr, tszMsgBuffer, &nLen, ENUM_RFCCOMPONENTS_PROXYSOCKS_AUTH_NOAUTH); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nLen, XENGINE_CLIENT_NETTYPE_SOCKS); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("SOCKS客户端:%s,解析验证协议成功,但是验证类型不支持,客户端的支持验证:%s,服务器支持的验证:%d"), lpszClientAddr, tszAuthBuffer, st_ServiceConfig.st_XAuth.bAuth); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("SOCKS客户端:%s,解析验证协议成功,但是验证类型不支持,客户端的支持验证:%s"), lpszClientAddr, tszAuthBuffer); return false; } - ProxyProtocol_SocksCore_HdrPacket(lpszClientAddr, tszMsgBuffer, &nLen, st_ServiceConfig.st_XAuth.bAuth); + ProxyProtocol_SocksCore_HdrPacket(lpszClientAddr, tszMsgBuffer, &nLen, ENUM_RFCCOMPONENTS_PROXYSOCKS_AUTH_ANONYMOUS); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nLen, XENGINE_CLIENT_NETTYPE_SOCKS); //如果是匿名,不会有ENUM_RFCCOMPONENTS_PROXY_STATUS_AUTH步骤 - if (ENUM_RFCCOMPONENTS_PROXYSOCKS_AUTH_ANONYMOUS == st_ServiceConfig.st_XAuth.bAuth) - { - //跳过 - ProxyProtocol_SocksCore_SetStatus(lpszClientAddr, ENUM_RFCCOMPONENTS_PROXY_STATUS_USER); - } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("SOCKS客户端:%s,解析验证协议成功,支持的验证类型:%s,使用的验证类型:%d"), lpszClientAddr, tszAuthBuffer, st_ServiceConfig.st_XAuth.bAuth); + ProxyProtocol_SocksCore_SetStatus(lpszClientAddr, ENUM_RFCCOMPONENTS_PROXY_STATUS_USER); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("SOCKS客户端:%s,解析验证协议成功,支持的验证类型:%s"), lpszClientAddr, tszAuthBuffer); } else if (ENUM_RFCCOMPONENTS_PROXY_STATUS_AUTH == enSocksStatus) { @@ -93,15 +89,6 @@ bool XEngine_SocksTask_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("SOCKS客户端:%s,用户登录验证失败,客户端发送的验证类型不支持"), lpszClientAddr); return false; } - int nHTTPCode = 0; - ModuleProtocol_Packet_Auth(tszMsgBuffer, &nLen, tszUserName, tszUserPass); - if (!APIClient_Http_Request(_X("POST"), st_ServiceConfig.st_XAuth.tszAuthUrl, tszMsgBuffer, &nHTTPCode)) - { - ProxyProtocol_SocksCore_HdrPacket(lpszClientAddr, tszMsgBuffer, &nLen, XENGINE_RFCCOMPONENT_PROXY_SOCKS_RESPONSE_FAILED); - XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nLen, XENGINE_CLIENT_NETTYPE_SOCKS); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("SOCKS客户端:%s,用户登录验证失败,用户名:%s,或者密码:%s 不正确"), lpszClientAddr, tszUserPass, tszUserPass); - return false; - } ProxyProtocol_SocksCore_HdrPacket(lpszClientAddr, tszMsgBuffer, &nLen, XENGINE_RFCCOMPONENT_PROXY_SOCKS_RESPONSE_SUCCESS); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nLen, XENGINE_CLIENT_NETTYPE_SOCKS); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("SOCKS客户端:%s,用户登录验证成功,使用的验证类型:%d,用户名:%s"), lpszClientAddr, enProxyAuth, tszUserName); @@ -155,7 +142,7 @@ bool XEngine_SocksTask_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int _xstprintf(tszClientAddr, _X("%s"), st_APIUrl.tszMainDomain); } - if (!NetXApi_Socket_DomainToAddr(tszClientAddr, &ppszListAddr, &nListCount)) + if (!XSocket_Api_DomainToAddr(tszClientAddr, &ppszListAddr, &nListCount)) { XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("SOCKS客户端:%s,解析域名失败,错误:%lX"), lpszClientAddr, ProxyProtocol_GetLastError()); return false; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_TunnelTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_TunnelTask.cpp index d579c5af059dcd3939c8cd61eb6812a33db6a6e5..0d0c6ad536373bf4b48d64234634ff1fb81f7edb 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_TunnelTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_TunnelTask.cpp @@ -38,28 +38,6 @@ bool XEngine_TunnelTask_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in } XCHAR tszConnectAddr[128]; memset(tszConnectAddr, '\0', sizeof(tszConnectAddr)); - if (st_ServiceConfig.st_XAuth.bAuth) - { - XCHAR tszUser[128] = {}; - XCHAR tszPass[128] = {}; - - if (!OPenSsl_Help_BasicDecoder(tszAuthInfo, tszUser, tszPass)) - { - ProxyProtocol_TunnelCore_Packet(tszMsgBuffer, &nLen, 401); - XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nLen, XENGINE_CLIENT_NETTYPE_TUNNEL); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("Tunnel客户端:%s,失败无法继续,错误:%lX"), lpszClientAddr, OPenSsl_GetLastError()); - return false; - } - int nHTTPCode = 0; - ModuleProtocol_Packet_Auth(tszMsgBuffer, &nLen, tszUser, tszPass); - if (!APIClient_Http_Request(_X("POST"), st_ServiceConfig.st_XAuth.tszAuthUrl, tszMsgBuffer, &nHTTPCode)) - { - ProxyProtocol_TunnelCore_Packet(tszMsgBuffer, &nLen, 401); - XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nLen, XENGINE_CLIENT_NETTYPE_TUNNEL); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("Tunnel客户端:%s,验证用户名:%s,密码:%s 失败,错误:%lX"), lpszClientAddr, tszUser, tszPass); - return false; - } - } //是否为IP地址 if (BaseLib_OperatorIPAddr_IsIPV4Addr(tszIPAddr)) { @@ -85,7 +63,7 @@ bool XEngine_TunnelTask_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in _xstprintf(tszIPAddr, _X("%s"), st_APIUrl.tszMainDomain); } - if (!NetXApi_Socket_DomainToAddr(tszIPAddr, &ppszListAddr, &nListCount)) + if (!XSocket_Api_DomainToAddr(tszIPAddr, &ppszListAddr, &nListCount)) { ProxyProtocol_TunnelCore_Packet(tszMsgBuffer, &nLen, 500); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nLen, XENGINE_CLIENT_NETTYPE_TUNNEL);