From 9c96b73d287f0ec09d2221ee81199ba54c68b722 Mon Sep 17 00:00:00 2001 From: neru Date: Tue, 12 May 2026 19:13:46 -0300 Subject: [PATCH] feat: add test main --- src/test/main.cpp | 85 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/test/main.cpp diff --git a/src/test/main.cpp b/src/test/main.cpp new file mode 100644 index 0000000..df0c166 --- /dev/null +++ b/src/test/main.cpp @@ -0,0 +1,85 @@ +#include "configurator.h" + +#include "cout-sink.h" + +#include +#include + +#include + +#include +#include +#include + +bool running = true; +TinyMITMProxy* proxy; +ProxyConfigurator* conf; + +#ifdef _WIN32 + #define _AMD64_ + #include + #include + #include + + // from: WinBase.h + #define STD_OUTPUT_HANDLE ((DWORD) - 11) + +BOOL WINAPI consoleHandler(DWORD dwType) +{ + if (dwType == CTRL_C_EVENT || dwType == CTRL_CLOSE_EVENT || dwType == CTRL_LOGOFF_EVENT || + dwType == CTRL_SHUTDOWN_EVENT) + { + if (conf) conf->clearProxy(); + running = false; + exit(0); + } + return FALSE; +} + +void createAndSetupConsole() +{ + FILE* pstdout = stdout; + AllocConsole(); + + freopen_s(&pstdout, "CONOUT$", "w", stdout); + assert(pstdout != nullptr); + + DWORD conMode = 0; + GetConsoleMode(pstdout, &conMode); + conMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING; + SetConsoleMode(pstdout, conMode); + + SetConsoleCtrlHandler(consoleHandler, TRUE); +} + +#endif + +int main() +{ +#ifdef _WIN32 + createAndSetupConsole(); +#endif + + seallib::Logger mainLog("Main"); + mainLog.addSink(std::make_shared()); + + mainLog.info("init"); + + mainLog.info("creating proxy"); + TinyMITMConfig proxyConfig; + proxy = new TinyMITMProxy(proxyConfig); + + mainLog.info("creating configurator"); + conf = new ProxyConfigurator(); + + mainLog.info("setting proxy addr"); + conf->setProxy("127.0.0.1", 44444); + + mainLog.info("starting proxy"); + proxy->init(); + + while (running) + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + + return 0; +}