mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-15 12:13:24 +00:00
871c3e3281
* wintun vpn platform for windows * bundle config snippets into nsis installer for exit node, keyfile persisting, reduced hops mode. * use wintun for vpn platform * isolate all windows platform specific code into their own compilation units and libraries * split up internal libraries into more specific components * rename liblokinet.a target to liblokinet-amalgum.a to elimiate ambiguity with liblokinet.so * DNS platform for win32 * rename llarp/ev/ev_libuv.{c,h}pp to llarp/ev/libuv.{c,h}pp as the old name was idiotic * split up net platform into win32 and posix specific compilation units * rename lokinet_init.c to easter_eggs.cpp as that is what they are for and it does not need to be a c compilation target * add cmake option STRIP_SYMBOLS for seperating out debug symbols for windows builds * intercept dns traffic on all interfaces on windows using windivert and feed it into lokinet
40 lines
905 B
C++
40 lines
905 B
C++
#include "lokinet_init.h"
|
|
|
|
#if defined(_WIN32)
|
|
#include <windows.h>
|
|
#include <winuser.h>
|
|
#include <stdio.h>
|
|
|
|
#define WineKiller \
|
|
DieInCaseSomehowThisGetsRunInWineButLikeWTFThatShouldNotHappenButJustInCaseHandleItWithAPopupOrSomeShit
|
|
|
|
struct WineKiller
|
|
{
|
|
WineKiller()
|
|
{
|
|
if (auto hntdll = GetModuleHandle("ntdll.dll"))
|
|
{
|
|
if (GetProcAddress(hntdll, "wine_get_version"))
|
|
{
|
|
static const char* text =
|
|
"dont run lokinet in wine like wtf man we support linux and pretty "
|
|
"much every flavour of BSD, and even some flavours of unix system "
|
|
"5.x.\nThis Program Will now crash lmao.";
|
|
static const char* title = "srsly fam wtf";
|
|
MessageBoxA(NULL, text, title, MB_ICONHAND);
|
|
abort();
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
// i heckin love static initalization
|
|
WineKiller lmao{};
|
|
#endif
|
|
|
|
extern "C" int
|
|
Lokinet_INIT(void)
|
|
{
|
|
return 0;
|
|
}
|