Xray with Reality protocol (#494)

* Xray with Reality for desktops
This commit is contained in:
Mykola Baibuz 2024-03-27 11:02:34 +00:00 committed by GitHub
parent f6acec53c0
commit ba4237f1dd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
64 changed files with 1933 additions and 336 deletions

View file

@ -64,3 +64,61 @@ void Router::resetIpStack()
#endif
}
bool Router::createTun(const QString &dev, const QString &subnet)
{
#ifdef Q_OS_LINUX
return RouterLinux::Instance().createTun(dev, subnet);
#endif
#ifdef Q_OS_MAC
return RouterMac::Instance().createTun(dev, subnet);
#endif
return true;
};
bool Router::deleteTun(const QString &dev)
{
#ifdef Q_OS_LINUX
return RouterLinux::Instance().deleteTun(dev);
#endif
#ifdef Q_OS_MAC
return RouterMac::Instance().deleteTun(dev);
#endif
return true;
};
bool Router::updateResolvers(const QString& ifname, const QList<QHostAddress>& resolvers)
{
#ifdef Q_OS_LINUX
return RouterLinux::Instance().updateResolvers(ifname, resolvers);
#endif
#ifdef Q_OS_MACOS
return RouterMac::Instance().updateResolvers(ifname, resolvers);
#endif
#ifdef Q_OS_WIN
return RouterWin::Instance().updateResolvers(ifname, resolvers);
#endif
}
void Router::StopRoutingIpv6()
{
#ifdef Q_OS_WIN
RouterWin::Instance().StopRoutingIpv6();
#elif defined (Q_OS_MAC)
// todo fixme
#elif defined Q_OS_LINUX
RouterLinux::Instance().StopRoutingIpv6();
#endif
}
void Router::StartRoutingIpv6()
{
#ifdef Q_OS_WIN
RouterWin::Instance().StartRoutingIpv6();
#elif defined (Q_OS_MAC)
// todo fixme
#elif defined Q_OS_LINUX
RouterLinux::Instance().StartRoutingIpv6();
#endif
}