Merge branch 'dev' of github.com:amnezia-vpn/desktop-client into feature/download-native-wireguard-config-on-connect

This commit is contained in:
vladimir.kuznetsov 2023-03-19 14:42:59 +03:00
commit b154a2204c
11 changed files with 26 additions and 29 deletions

View file

@ -301,13 +301,14 @@ if(IOS)
find_library(FW_AUTHENTICATIONSERVICES AuthenticationServices) find_library(FW_AUTHENTICATIONSERVICES AuthenticationServices)
find_library(FW_UIKIT UIKit) find_library(FW_UIKIT UIKit)
find_library(FW_AVFOUNDATION AVFoundation)
find_library(FW_FOUNDATION Foundation) find_library(FW_FOUNDATION Foundation)
find_library(FW_STOREKIT StoreKit) find_library(FW_STOREKIT StoreKit)
find_library(FW_USERNOTIFICATIONS UserNotifications) find_library(FW_USERNOTIFICATIONS UserNotifications)
set(LIBS ${LIBS} set(LIBS ${LIBS}
${FW_AUTHENTICATIONSERVICES} ${FW_UIKIT} ${FW_AUTHENTICATIONSERVICES} ${FW_UIKIT}
${FW_FOUNDATION} ${FW_STOREKIT} ${FW_AVFOUNDATION} ${FW_FOUNDATION} ${FW_STOREKIT}
${FW_USERNOTIFICATIONS} ${FW_USERNOTIFICATIONS}
) )
@ -461,14 +462,13 @@ if(IOS)
PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" PROPERTIES MACOSX_PACKAGE_LOCATION "Resources"
) )
target_sources(${PROJECT} PRIVATE target_sources(${PROJECT} PRIVATE
${CMAKE_CURRENT_LIST_DIR}/ios/Media.xcassets ${CMAKE_CURRENT_LIST_DIR}/ios/Media.xcassets
)
) set_source_files_properties(
set_source_files_properties(
${CMAKE_CURRENT_LIST_DIR}/ios/Media.xcassets ${CMAKE_CURRENT_LIST_DIR}/ios/Media.xcassets
PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" PROPERTIES MACOSX_PACKAGE_LOCATION "Resources"
) )
add_subdirectory(ios/networkextension) add_subdirectory(ios/networkextension)
add_dependencies(${PROJECT} networkextension) add_dependencies(${PROJECT} networkextension)
@ -496,19 +496,13 @@ set_source_files_properties(
) )
set_target_properties (${PROJECT} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual) set_target_properties (${PROJECT} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual)
set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "match AppStore org.amnezia.AmneziaVPN") set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "match AppStore org.amnezia.AmneziaVPN")
set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER[variant=Debug] "match Development org.amnezia.AmneziaVPN") set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER[variant=Debug] "match Development org.amnezia.AmneziaVPN")
set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual)
set_target_properties ("networkextension" PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_STYLE Manual)
set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "match AppStore org.amnezia.AmneziaVPN.network-extension") set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER "match AppStore org.amnezia.AmneziaVPN.network-extension")
set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER[variant=Debug] "match Development org.amnezia.AmneziaVPN.network-extension") set_target_properties("networkextension" PROPERTIES XCODE_ATTRIBUTE_PROVISIONING_PROFILE_SPECIFIER[variant=Debug] "match Development org.amnezia.AmneziaVPN.network-extension")
endif() endif()
if(ANDROID) if(ANDROID)

View file

@ -135,7 +135,7 @@ android {
defaultConfig { defaultConfig {
resConfig "en" resConfig "en"
minSdkVersion = 24 minSdkVersion = 24
targetSdkVersion = 30 targetSdkVersion = 31
versionCode 10 // Change to a higher number versionCode 10 // Change to a higher number
versionName "2.0.10" // Change to a higher number versionName "2.0.10" // Change to a higher number

View file

@ -53,7 +53,7 @@ dependencies {
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
implementation "androidx.room:room-runtime:2.2.5" // runtime implementation "androidx.room:room-runtime:2.2.5" // runtime
implementation "androidx.preference:preference:1.1.0" implementation "androidx.preference:preference:1.1.0"
implementation "androidx.work:work-runtime-ktx:2.3.4" implementation "androidx.work:work-runtime-ktx:2.7.1"
implementation "androidx.browser:browser:1.3.0-alpha01" implementation "androidx.browser:browser:1.3.0-alpha01"
implementation "androidx.constraintlayout:constraintlayout:1.1.3" implementation "androidx.constraintlayout:constraintlayout:1.1.3"
implementation "com.google.android.material:material:1.2.0-alpha05" implementation "com.google.android.material:material:1.2.0-alpha05"

View file

@ -68,7 +68,8 @@
android:name="org.amnezia.vpn.shadowsocks.core.BootReceiver" android:name="org.amnezia.vpn.shadowsocks.core.BootReceiver"
android:directBootAware="true" android:directBootAware="true"
android:enabled="false" android:enabled="false"
android:process=":QtOnlyProcess"> android:process=":QtOnlyProcess"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" /> <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />

View file

@ -84,8 +84,9 @@ object Core {
fun init(app: Application, configureClass: KClass<out Any>) { fun init(app: Application, configureClass: KClass<out Any>) {
Core.app = app Core.app = app
configureIntent = { configureIntent = {
PendingIntent.getActivity(it, 0, Intent(it, configureClass.java) PendingIntent.getActivity(it, 0,
.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT), 0) Intent(it, configureClass.java).setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT),
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
} }
if (Build.VERSION.SDK_INT >= 24) { // migrate old files if (Build.VERSION.SDK_INT >= 24) { // migrate old files
@ -99,7 +100,6 @@ object Core {
// overhead of debug mode is minimal: https://github.com/Kotlin/kotlinx.coroutines/blob/f528898/docs/debugging.md#debug-mode // overhead of debug mode is minimal: https://github.com/Kotlin/kotlinx.coroutines/blob/f528898/docs/debugging.md#debug-mode
System.setProperty(DEBUG_PROPERTY_NAME, DEBUG_PROPERTY_VALUE_ON) System.setProperty(DEBUG_PROPERTY_NAME, DEBUG_PROPERTY_VALUE_ON)
WorkManager.initialize(deviceStorage, Configuration.Builder().build())
// handle data restored/crash // handle data restored/crash
if (Build.VERSION.SDK_INT >= 24 && DataStore.directBootAware && if (Build.VERSION.SDK_INT >= 24 && DataStore.directBootAware &&

View file

@ -99,7 +99,7 @@ object NotificationUtil {
val mainActivityName = "org.amnezia.vpn.qt.VPNActivity" val mainActivityName = "org.amnezia.vpn.qt.VPNActivity"
val activity = Class.forName(mainActivityName) val activity = Class.forName(mainActivityName)
val intent = Intent(service, activity) val intent = Intent(service, activity)
val pendingIntent = PendingIntent.getActivity(service, 0, intent, 0) val pendingIntent = PendingIntent.getActivity(service, 0, intent, PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT)
// Build our notification // Build our notification
sNotificationBuilder?.let { sNotificationBuilder?.let {
it.setSmallIcon(org.amnezia.vpn.R.drawable.ic_amnezia_round) it.setSmallIcon(org.amnezia.vpn.R.drawable.ic_amnezia_round)

View file

@ -914,7 +914,7 @@ ErrorCode ServerController::getAlreadyInstalledContainers(const ServerCredential
if (containerInfo.isEmpty()) { if (containerInfo.isEmpty()) {
continue; continue;
} }
const static QRegularExpression containerAndPortRegExp("(amnezia[-a-z]*).*?>([0-9]*)/(udp|tcp).*"); const static QRegularExpression containerAndPortRegExp("(amnezia[-a-z]*).*?:([0-9]*)->[0-9]*/(udp|tcp).*");
QRegularExpressionMatch containerAndPortMatch = containerAndPortRegExp.match(containerInfo); QRegularExpressionMatch containerAndPortMatch = containerAndPortRegExp.match(containerInfo);
if (containerAndPortMatch.hasMatch()) { if (containerAndPortMatch.hasMatch()) {
QString name = containerAndPortMatch.captured(1); QString name = containerAndPortMatch.captured(1);

View file

@ -6,4 +6,5 @@ if [[ -f "$pm_apt" ]]; then export DEBIAN_FRONTEND=noninteractive; fi;\
if [[ -z "$docker_service" ]]; then sudo $pm update -y -q; sudo $pm install -y -q curl $docker_pkg; fi;\ if [[ -z "$docker_service" ]]; then sudo $pm update -y -q; sudo $pm install -y -q curl $docker_pkg; fi;\
docker_service=$(systemctl list-units --full -all | grep docker.service | grep -v inactive | grep -v dead | grep -v failed);\ docker_service=$(systemctl list-units --full -all | grep docker.service | grep -v inactive | grep -v dead | grep -v failed);\
if [[ -z "$docker_service" ]]; then sleep 5 && sudo systemctl start docker && sleep 5; fi;\ if [[ -z "$docker_service" ]]; then sleep 5 && sudo systemctl start docker && sleep 5; fi;\
if [[ -f "$pm_yum" ]]; then sudo systemctl enable docker && sudo systemctl start docker; fi;\
docker --version docker --version

View file

@ -21,6 +21,7 @@ void ServerListLogic::onServerListPushbuttonDefaultClicked(int index)
void ServerListLogic::onServerListPushbuttonSettingsClicked(int index) void ServerListLogic::onServerListPushbuttonSettingsClicked(int index)
{ {
uiLogic()->m_selectedServerIndex = index; uiLogic()->m_selectedServerIndex = index;
uiLogic()->m_installCredentials = m_settings->serverCredentials(index);
uiLogic()->goToPage(Page::ServerSettings); uiLogic()->goToPage(Page::ServerSettings);
} }

View file

@ -54,12 +54,12 @@ You SHOULD set this website address to some foreign website which is not blocked
text: WizardLogic.lineEditHighWebsiteMaskingText text: WizardLogic.lineEditHighWebsiteMaskingText
onEditingFinished: { onEditingFinished: {
let _text = website_masking.text let _text = website_masking.text
_text.replace("http://", ""); _text = _text.replace("http://", "");
_text.replace("https://", ""); _text = _text.replace("https://", "");
if (!_text) { if (!_text) {
return return
} }
_text = _text.split("/").first(); _text = _text.split("/")[0];
WizardLogic.lineEditHighWebsiteMaskingText = _text WizardLogic.lineEditHighWebsiteMaskingText = _text
} }
onAccepted: { onAccepted: {

View file

@ -105,8 +105,8 @@ void VpnConnection::onConnectionStateChanged(VpnProtocol::VpnConnectionState sta
} }
else { else {
m_isIOSConnected = false; m_isIOSConnected = false;
m_receivedBytes = 0; // m_receivedBytes = 0;
m_sentBytes = 0; // m_sentBytes = 0;
} }
#endif #endif
emit connectionStateChanged(state); emit connectionStateChanged(state);