update convension
This commit is contained in:
parent
bc21d68e5a
commit
8078e59a83
2 changed files with 7 additions and 34 deletions
|
|
@ -181,10 +181,8 @@ extension PacketTunnelProvider: OpenVPNAdapterDelegate {
|
||||||
ipv6Settings.includedRoutes = [ipv6DefaultRoute]
|
ipv6Settings.includedRoutes = [ipv6DefaultRoute]
|
||||||
NSLog("[Route] Added default IPv6 route (::/0)")
|
NSLog("[Route] Added default IPv6 route (::/0)")
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the network settings for the current tunneling session.
|
// Set the network settings for the current tunneling session.
|
||||||
setTunnelNetworkSettings(networkSettings, completionHandler: completionHandler)
|
setTunnelNetworkSettings(networkSettings, completionHandler: completionHandler)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,16 +122,13 @@ bool IosController::initialize()
|
||||||
|
|
||||||
bool IosController::connectVpn(amnezia::Proto proto, const QJsonObject& configuration)
|
bool IosController::connectVpn(amnezia::Proto proto, const QJsonObject& configuration)
|
||||||
{
|
{
|
||||||
|
|
||||||
m_proto = proto;
|
m_proto = proto;
|
||||||
m_rawConfig = configuration;
|
m_rawConfig = configuration;
|
||||||
m_serverAddress = configuration.value(config_key::hostName).toString().toNSString();
|
m_serverAddress = configuration.value(config_key::hostName).toString().toNSString();
|
||||||
|
|
||||||
if (proto == amnezia::Proto::OpenVpn) {
|
if (proto == amnezia::Proto::OpenVpn) {
|
||||||
QJsonObject ovpn = configuration["openvpn_config_data"].toObject();
|
QJsonObject ovpn = configuration["openvpn_config_data"].toObject();
|
||||||
QString ovpnConfig = ovpn["config"].toString();
|
QString ovpnConfig = ovpn["config"].toString();
|
||||||
|
|
||||||
// Danh sách directive không hỗ trợ từng dòng
|
|
||||||
QStringList unsupportedDirectives = {
|
QStringList unsupportedDirectives = {
|
||||||
"resolv-retry",
|
"resolv-retry",
|
||||||
"persist-key",
|
"persist-key",
|
||||||
|
|
@ -142,9 +139,6 @@ bool IosController::connectVpn(amnezia::Proto proto, const QJsonObject& configur
|
||||||
|
|
||||||
QStringList lines = ovpnConfig.split('\n');
|
QStringList lines = ovpnConfig.split('\n');
|
||||||
QStringList filteredLines;
|
QStringList filteredLines;
|
||||||
|
|
||||||
bool insideTlsAuthBlock = false;
|
|
||||||
|
|
||||||
for (const QString &line : lines) {
|
for (const QString &line : lines) {
|
||||||
QString trimmedLine = line.trimmed();
|
QString trimmedLine = line.trimmed();
|
||||||
|
|
||||||
|
|
@ -160,16 +154,11 @@ bool IosController::connectVpn(amnezia::Proto proto, const QJsonObject& configur
|
||||||
filteredLines.append(line);
|
filteredLines.append(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nối lại cấu hình đã lọc
|
|
||||||
ovpnConfig = filteredLines.join("\n");
|
ovpnConfig = filteredLines.join("\n");
|
||||||
|
|
||||||
// Gán lại vào config JSON
|
|
||||||
ovpn["config"] = ovpnConfig;
|
ovpn["config"] = ovpnConfig;
|
||||||
m_rawConfig["openvpn_config_data"] = ovpn;
|
m_rawConfig["openvpn_config_data"] = ovpn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QString tunnelName;
|
QString tunnelName;
|
||||||
if (configuration.value(config_key::description).toString().isEmpty()) {
|
if (configuration.value(config_key::description).toString().isEmpty()) {
|
||||||
tunnelName = QString("%1 %2")
|
tunnelName = QString("%1 %2")
|
||||||
|
|
@ -302,10 +291,8 @@ void IosController::checkStatus()
|
||||||
void IosController::vpnStatusDidChange(void *pNotification)
|
void IosController::vpnStatusDidChange(void *pNotification)
|
||||||
{
|
{
|
||||||
NETunnelProviderSession *session = (NETunnelProviderSession *)pNotification;
|
NETunnelProviderSession *session = (NETunnelProviderSession *)pNotification;
|
||||||
|
|
||||||
qDebug() << "IosController::vpnStatusDidChange - Session pointer:" << session;
|
if (session /* && session == TunnelManager.session */ ) {
|
||||||
|
|
||||||
if (session /* && session == TunnelManager.session*/ ) {
|
|
||||||
qDebug() << "IosController::vpnStatusDidChange" << iosStatusToState(session.status) << session;
|
qDebug() << "IosController::vpnStatusDidChange" << iosStatusToState(session.status) << session;
|
||||||
|
|
||||||
if (session.status == NEVPNStatusDisconnected) {
|
if (session.status == NEVPNStatusDisconnected) {
|
||||||
|
|
@ -313,16 +300,7 @@ void IosController::vpnStatusDidChange(void *pNotification)
|
||||||
[session fetchLastDisconnectErrorWithCompletionHandler:^(NSError * _Nullable error) {
|
[session fetchLastDisconnectErrorWithCompletionHandler:^(NSError * _Nullable error) {
|
||||||
if (error != nil) {
|
if (error != nil) {
|
||||||
qDebug() << "Disconnect error" << error.domain << error.code << error.localizedDescription;
|
qDebug() << "Disconnect error" << error.domain << error.code << error.localizedDescription;
|
||||||
|
|
||||||
//MARK: Debug error
|
|
||||||
if (error.userInfo) {
|
|
||||||
qDebug() << " UserInfo:";
|
|
||||||
for (NSString *key in error.userInfo.allKeys) {
|
|
||||||
id value = error.userInfo[key];
|
|
||||||
qDebug() << " " << key << ":" << value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/////
|
|
||||||
if ([error.domain isEqualToString:NEVPNConnectionErrorDomain]) {
|
if ([error.domain isEqualToString:NEVPNConnectionErrorDomain]) {
|
||||||
switch (error.code) {
|
switch (error.code) {
|
||||||
case NEVPNConnectionErrorOverslept:
|
case NEVPNConnectionErrorOverslept:
|
||||||
|
|
@ -426,7 +404,7 @@ bool IosController::setupOpenVPN()
|
||||||
{
|
{
|
||||||
QJsonObject ovpn = m_rawConfig[ProtocolProps::key_proto_config_data(amnezia::Proto::OpenVpn)].toObject();
|
QJsonObject ovpn = m_rawConfig[ProtocolProps::key_proto_config_data(amnezia::Proto::OpenVpn)].toObject();
|
||||||
QString ovpnConfig = ovpn[config_key::config].toString();
|
QString ovpnConfig = ovpn[config_key::config].toString();
|
||||||
|
|
||||||
QJsonObject openVPNConfig {};
|
QJsonObject openVPNConfig {};
|
||||||
openVPNConfig.insert(config_key::config, ovpnConfig);
|
openVPNConfig.insert(config_key::config, ovpnConfig);
|
||||||
|
|
||||||
|
|
@ -435,10 +413,7 @@ bool IosController::setupOpenVPN()
|
||||||
} else {
|
} else {
|
||||||
openVPNConfig.insert(config_key::mtu, protocols::openvpn::defaultMtu);
|
openVPNConfig.insert(config_key::mtu, protocols::openvpn::defaultMtu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
openVPNConfig.insert(config_key::splitTunnelType, m_rawConfig[config_key::splitTunnelType]);
|
openVPNConfig.insert(config_key::splitTunnelType, m_rawConfig[config_key::splitTunnelType]);
|
||||||
|
|
||||||
QJsonArray splitTunnelSites = m_rawConfig[config_key::splitTunnelSites].toArray();
|
QJsonArray splitTunnelSites = m_rawConfig[config_key::splitTunnelSites].toArray();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue