Merge branch 'dev' of github.com:amnezia-vpn/desktop-client into feature/linux-wireguard-implementation
This commit is contained in:
commit
ec8eeef428
12 changed files with 27 additions and 30 deletions
|
|
@ -303,13 +303,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}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -465,7 +466,6 @@ if(IOS)
|
||||||
|
|
||||||
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
|
||||||
|
|
@ -498,19 +498,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)
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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" />
|
||||||
|
|
|
||||||
|
|
@ -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 &&
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -917,7 +917,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);
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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: {
|
||||||
|
|
|
||||||
|
|
@ -241,7 +241,7 @@ QString Utils::certUtilPath()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
QString winPath = QString::fromUtf8(qgetenv("windir"));
|
QString winPath = QString::fromUtf8(qgetenv("windir"));
|
||||||
return winPath + "system32\\certutil.exe";
|
return winPath + "\\system32\\certutil.exe";
|
||||||
#else
|
#else
|
||||||
return "";
|
return "";
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue