Merge pull request #244 from amnezia-vpn/bugfix/ios_import_configs

Import configs for iOS
This commit is contained in:
pokamest 2023-05-23 08:10:46 -07:00 committed by GitHub
commit 7f02fe4157
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 92 additions and 8 deletions

View file

@ -80,6 +80,92 @@
</array> </array>
</dict> </dict>
</dict> </dict>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>WireGuard config</string>
<key>UTTypeIconFiles</key>
<array/>
<key>UTTypeIdentifier</key>
<string>org.amnezia.AmneziaVPN.wireguard-config</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>conf</string>
<string>cfg</string>
</array>
<key>public.mime-type</key>
<array>
<string>text/plain</string>
</array>
</dict>
</dict>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>OpenVPN config</string>
<key>UTTypeIconFiles</key>
<array/>
<key>UTTypeIdentifier</key>
<string>org.amnezia.AmneziaVPN.openvpn-config</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>ovpn</string>
</array>
<key>public.mime-type</key>
<array>
<string>text/plain</string>
</array>
</dict>
</dict>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>AmneziaVPN backup file</string>
<key>UTTypeIconFiles</key>
<array/>
<key>UTTypeIdentifier</key>
<string>org.amnezia.AmneziaVPN.backup-config</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>backup</string>
</array>
<key>public.mime-type</key>
<array>
<string>text/plain</string>
</array>
</dict>
</dict>
</array> </array>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>Amnezia VPN config</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>org.amnezia.AmneziaVPN.amnezia-config</string>
<string>org.amnezia.AmneziaVPN.wireguard-config</string>
<string>org.amnezia.AmneziaVPN.openvpn-config</string>
<string>org.amnezia.AmneziaVPN.backup-config</string>
</array>
</dict>
</array>
</dict> </dict>
</plist> </plist>

View file

@ -249,7 +249,7 @@ void AndroidController::cleanupBackendLogs() {
} }
void AndroidController::importConfig(const QString& data){ void AndroidController::importConfig(const QString& data){
m_startPageLogic->selectConfigFormat(data); m_startPageLogic->importAnyFile(data);
} }
const QJsonObject &AndroidController::vpnConfig() const const QJsonObject &AndroidController::vpnConfig() const

View file

@ -73,15 +73,13 @@
NSLog(@"Application openURL: %@", url); NSLog(@"Application openURL: %@", url);
if (url.fileURL) { if (url.fileURL) {
QString filePath(url.path.UTF8String); QString filePath(url.path.UTF8String);
qDebug() << "filePath:" << filePath;
if (filePath.isEmpty()) return NO; if (filePath.isEmpty()) return NO;
QFile file(filePath); QFile file(filePath);
bool isOpenFile = file.open(QIODevice::ReadOnly); bool isOpenFile = file.open(QIODevice::ReadOnly);
qDebug() << "isOpenFile:" << isOpenFile;
QByteArray data = file.readAll(); QByteArray data = file.readAll();
[QtAppDelegate sharedQtAppDelegate].startPageLogic->importConnectionFromCode(QString(data)); [QtAppDelegate sharedQtAppDelegate].startPageLogic->importAnyFile(QString(data));
return YES; return YES;
} }
return NO; return NO;

View file

@ -192,7 +192,7 @@ void StartPageLogic::onPushButtonImportOpenFile()
file.open(QIODevice::ReadOnly); file.open(QIODevice::ReadOnly);
QByteArray data = file.readAll(); QByteArray data = file.readAll();
selectConfigFormat(QString(data)); importAnyFile(QString(data));
} }
#ifdef Q_OS_ANDROID #ifdef Q_OS_ANDROID
@ -202,7 +202,7 @@ void StartPageLogic::startQrDecoder()
} }
#endif #endif
void StartPageLogic::selectConfigFormat(QString configData) void StartPageLogic::importAnyFile(const QString &configData)
{ {
auto configFormat = checkConfigFormat(configData); auto configFormat = checkConfigFormat(configData);
if (configFormat == ConfigTypes::OpenVpn) { if (configFormat == ConfigTypes::OpenVpn) {

View file

@ -37,7 +37,7 @@ public:
Q_INVOKABLE void startQrDecoder(); Q_INVOKABLE void startQrDecoder();
#endif #endif
void selectConfigFormat(QString configData); void importAnyFile(const QString &configData);
bool importConnection(const QJsonObject &profile); bool importConnection(const QJsonObject &profile);
bool importConnectionFromCode(QString code); bool importConnectionFromCode(QString code);