diff --git a/.travis.yml b/.travis.yml index 7f789f84..c5022b12 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,3 @@ -language: cpp - branches: only: - master @@ -10,135 +8,328 @@ jobs: include: - name: MacOS os: osx - osx_image: xcode12.5 - + osx_image: xcode13.4 + language: cpp + env: + - PATH=/usr/local/opt/ccache/libexec:$PATH - QT_VERSION=5.15.2 - - QIF_VERSION=4.1 + - QIF_VERSION=4.4 - QT_BIN_DIR=$HOME/Qt/$QT_VERSION/clang_64/bin - QIF_BIN_DIR=$QT_BIN_DIR/../../../Tools/QtInstallerFramework/$QIF_VERSION/bin + install: + - | + if [ ! -f $QT_BIN_DIR/qmake ]; then \ + brew install p7zip ccache && \ + python3 -m pip install --upgrade pip && \ + pip install -U aqtinstall requests py7zr && \ + pip show aqtinstall && \ + aqt install-qt mac desktop $QT_VERSION clang_64 -m all -O $HOME/Qt && \ + aqt install-tool mac desktop tools_ifw -O $HOME/Qt ; \ + fi + script: - - | - if [ ! -f $HOME/Qt/$QT_VERSION/clang_64/bin/qmake ]; then \ - brew install p7zip && \ - python3 -m pip install --upgrade pip && \ - pip install -U aqtinstall requests py7zr && \ - pip show aqtinstall && \ - python3 -m aqt install --outputdir $HOME/Qt $QT_VERSION mac desktop clang_64 -m qtbase && \ - python3 -m aqt tool --outputdir $HOME/Qt mac tools_ifw $QIF_VERSION qt.tools.ifw.${QIF_VERSION/./}; - fi - bash deploy/build_macos.sh + after_script: + - ccache --show-stats + deploy: provider: releases token: $GH_TOKEN - skip_cleanup: true + cleanup: false file: - - "AmneziaVPN_unsigned.dmg" + - "AmneziaVPN.dmg" on: tags: true branch: master + cache: + - ccache + - directories: + - $HOME/Qt + - $HOME/Library/Caches/Homebrew + + # ------------------------------------------------------ - name: Windows_x64 os: windows - + language: cpp + env: - PATH=/c/Python39:/c/Python39/Scripts:$PATH - - QT_VERSION=5.14.2 - - QIF_VERSION=4.1 - - QT_BIN_DIR="c:\\Qt\\$QT_VERSION\\msvc2017_64\\bin" + - QT_VERSION=5.15.2 + - QIF_VERSION=4.4 + - QT_BIN_DIR="c:\\Qt\\$QT_VERSION\\msvc2019_64\\bin" - QIF_BIN_DIR="c:\\Qt\\Tools\\QtInstallerFramework\\${QIF_VERSION}\\bin" - BUILD_ARCH=64 - - before_install: - - if [ ! -f /C/Qt/$QT_VERSION/msvc2017_64/bin/qmake ]; then choco install python --version 3.9.1; fi - - script: - - dir "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build" - - dir "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\Tools" + - MSVC_PATH_WIN="C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community" + - MSVC_PATH="/C/Program Files (x86)/Microsoft Visual Studio/2019/Community" + + install: + - if [ ! -f "$MSVC_PATH/VC/Auxiliary/Build/vcvars64.bat" ]; then choco install --ignorepackagecodes --no-progress -y visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended --nocache --installPath $MSVC_PATH_WIN"; fi + - if [ ! -f /C/Qt/$QT_VERSION/msvc2019_64/bin/qmake ]; then choco install python --version 3.9.1; fi - | - if [ ! -f /C/Qt/$QT_VERSION/msvc2017_64/bin/qmake ]; then \ + if [ ! -f /C/Qt/$QT_VERSION/msvc2019_64/bin/qmake ]; then \ python -m pip install --upgrade pip && \ pip3 install -U aqtinstall requests py7zr && \ pip3 show aqtinstall && \ - python -m aqt install --outputdir /C/Qt $QT_VERSION windows desktop win64_msvc2017_64 -m qtbase && \ - python -m aqt tool --outputdir /C/Qt windows tools_ifw $QIF_VERSION qt.tools.ifw.${QIF_VERSION/./}; \ + aqt install-qt windows desktop $QT_VERSION win64_msvc2019_64 -m all -O /C/Qt && \ + aqt install-tool windows desktop tools_ifw -O /C/Qt ; \ fi + + script: - echo set BUILD_ARCH=$BUILD_ARCH > winbuild.bat - echo set QT_BIN_DIR="$QT_BIN_DIR" >> winbuild.bat - echo set QIF_BIN_DIR="$QIF_BIN_DIR" >> winbuild.bat - - echo call \""C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Auxiliary\\Build\\vcvars${BUILD_ARCH}.bat\"" >> winbuild.bat - - echo call \""C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\Common7\\Tools\\VsDevCmd.bat\" -arch=amd64" >> winbuild.bat - - echo set WIN_CERT_PW=$WIN_CERT_PW >> winbuild.bat + - echo call \""%MSVC_PATH_WIN%\\VC\\Auxiliary\\Build\\vcvars${BUILD_ARCH}.bat\"" >> winbuild.bat + - echo call \""%MSVC_PATH_WIN%\\Common7\\Tools\\VsDevCmd.bat\" -arch=amd64" >> winbuild.bat - echo call deploy\\build_windows.bat >> winbuild.bat - cmd //c winbuild.bat - deploy: provider: releases token: $GH_TOKEN - skip_cleanup: true + cleanup: false file: - "AmneziaVPN_x64.exe" on: tags: true branch: master + cache: + directories: + - /C/Qt + - $MSVC_PATH + +# ------------------------------------------------------ - name: Windows_x32 os: windows + language: cpp env: - PATH=/c/Python39:/c/Python39/Scripts:$PATH - - QT_VERSION=5.14.2 - - QIF_VERSION=4.1 - - QT_BIN_DIR="c:\\Qt\\${QT_VERSION}\\msvc2017\\bin" + - QT_VERSION=5.15.2 + - QIF_VERSION=4.4 + - QT_BIN_DIR="c:\\Qt\\${QT_VERSION}\\msvc2019\\bin" - QIF_BIN_DIR="c:\\Qt\\Tools\\QtInstallerFramework\\${QIF_VERSION}\\bin" - BUILD_ARCH=32 + - MSVC_PATH_WIN="C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community" + - MSVC_PATH="/C/Program Files (x86)/Microsoft Visual Studio/2019/Community" - before_install: - - if [ ! -f /C/Qt/$QT_VERSION/msvc2017/bin/qmake ]; then choco install python --version 3.9.1; fi - - script: - - dir "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build" - - dir "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\Tools" + install: + - if [ ! -f "$MSVC_PATH/VC/Auxiliary/Build/vcvars64.bat" ]; then choco install --ignorepackagecodes --no-progress -y visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended --nocache --installPath $MSVC_PATH_WIN"; fi + - if [ ! -f /C/Qt/$QT_VERSION/msvc2019/bin/qmake ]; then choco install python --version 3.9.1; fi - | - if [ ! -f /C/Qt/$QT_VERSION/msvc2017/bin/qmake ]; then \ + if [ ! -f /C/Qt/$QT_VERSION/msvc2019/bin/qmake ]; then \ python -m pip install --upgrade pip && \ pip3 install -U aqtinstall requests py7zr && \ pip3 show aqtinstall && \ - python -m aqt install --outputdir /C/Qt $QT_VERSION windows desktop win32_msvc2017 -m qtbase && \ - python -m aqt tool --outputdir /C/Qt windows tools_ifw $QIF_VERSION qt.tools.ifw.${QIF_VERSION/./}; \ + aqt install-qt windows desktop $QT_VERSION win32_msvc2019 -m all -O /C/Qt && \ + aqt install-tool windows desktop tools_ifw -O /C/Qt ; \ fi - - echo call \""C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\Common7\\Tools\\VsDevCmd.bat\"" > winbuild.bat - - echo set BUILD_ARCH=$BUILD_ARCH >> winbuild.bat + + script: + - echo set BUILD_ARCH=$BUILD_ARCH > winbuild.bat - echo set QT_BIN_DIR="$QT_BIN_DIR" >> winbuild.bat - echo set QIF_BIN_DIR="$QIF_BIN_DIR" >> winbuild.bat - - echo call \""C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Auxiliary\\Build\\vcvars${BUILD_ARCH}.bat\"" >> winbuild.bat - - echo set WIN_CERT_PW=$WIN_CERT_PW >> winbuild.bat + - echo call \""%MSVC_PATH_WIN%\\VC\\Auxiliary\\Build\\vcvars${BUILD_ARCH}.bat\"" >> winbuild.bat + - echo call \""%MSVC_PATH_WIN%\\Common7\\Tools\\VsDevCmd.bat\"" >> winbuild.bat - echo call deploy\\build_windows.bat >> winbuild.bat - cmd //c winbuild.bat deploy: provider: releases token: $GH_TOKEN - skip_cleanup: true + cleanup: false file: - "AmneziaVPN_x32.exe" on: tags: true branch: master -deploy: - skip_cleanup: true + cache: + directories: + - /C/Qt + - $MSVC_PATH + +# ------------------------------------------------------ + - name: Linux + os: linux + dist: focal + + addons: + apt: + packages: + - p7zip + - python3 + - python3-pip + - libgl-dev + - mesa-common-dev + - libpulse-dev + + env: + - QT_VERSION=5.15.2 + - QIF_VERSION=4.4 + - QT_BIN_DIR=$HOME/Qt/$QT_VERSION/gcc_64/bin + - QIF_BIN_DIR=$QT_BIN_DIR/../../../Tools/QtInstallerFramework/$QIF_VERSION/bin + + install: + - | + if [ ! -f $QT_BIN_DIR/qmake ]; then \ + python3 -m pip install --user $(whoami) --upgrade pip && \ + export PATH=$HOME/.local/bin:$PATH && \ + python3 -m pip install -U aqtinstall requests py7zr && \ + python3 -m pip show aqtinstall && \ + python3 -m aqt install-qt linux desktop $QT_VERSION gcc_64 -m all -O $HOME/Qt && \ + python3 -m aqt install-tool linux desktop tools_ifw -O $HOME/Qt ; \ + fi + + script: + - bash deploy/build_linux.sh + + after_script: + - ccache --show-stats + + deploy: + provider: releases + token: $GH_TOKEN + cleanup: false + file: + - "AmneziaVPN.bundle" + on: + tags: true + branch: master + + cache: + - ccache + - directories: + - $HOME/Qt + +# ------------------------------------------------------ + - name: Android + os: linux + language: android + dist: xenial + + addons: + apt: + packages: + - p7zip + - python3 + - python3-pip + + android: + components: + # Uncomment the lines below if you want to + # use the latest revision of Android SDK Tools + # - tools + # - platform-tools + + # The BuildTools version used by your project + - build-tools-30.0.2 + + # The SDK version used to compile your project + - android-30 + + # Additional components + - extra + - extra-google-google_play_services + - extra-google-m2repository + - extra-android-m2repository + + env: + - QT_VERSION=5.15.2 + - QT_BIN_DIR=$HOME/Qt/$QT_VERSION/android/bin + - USE_ANDROID_NDK_VERSION=21d + - ANDROID_NDK_HOME=$HOME/NDK + + install: + - | + if [ ! -f $QT_BIN_DIR/qmake ]; then \ + export PATH=$HOME/.local/bin:$PATH && \ + python3 -m pip install -U aqtinstall requests py7zr && \ + python3 -m pip show aqtinstall && \ + python3 -m aqt install-qt linux android $QT_VERSION android_armv7 -m all -O $HOME/Qt && \ + python3 -m aqt install-qt linux android $QT_VERSION android_arm64_v8a -m all -O $HOME/Qt && \ + python3 -m aqt install-qt linux android $QT_VERSION android_x86_64 -m all -O $HOME/Qt && \ + python3 -m aqt install-qt linux android $QT_VERSION android_x86 -m all -O $HOME/Qt ; \ + fi + - | + export TERM=dumb && + curl -L https://dl.google.com/android/repository/android-ndk-r${USE_ANDROID_NDK_VERSION}-linux-x86_64.zip -O && + unzip ./android-ndk-r${USE_ANDROID_NDK_VERSION}-linux-x86_64.zip > /dev/null && + rm android-ndk-r${USE_ANDROID_NDK_VERSION}-linux-x86_64.zip && + export ANDROID_NDK_HOME=`pwd`/android-ndk-r${USE_ANDROID_NDK_VERSION} && + export LOCAL_ANDROID_NDK_HOME="$ANDROID_NDK_HOME" && + export LOCAL_ANDROID_NDK_HOST_PLATFORM="linux-x86_64" && + export PATH=$PATH:${ANDROID_NDK_HOME} && + env + + script: + - bash deploy/build_android.sh + + after_script: + - ccache --show-stats + + deploy: + provider: releases + token: $GH_TOKEN + cleanup: false + file: + - "AmneziaVPN.aab" + on: + tags: true + branch: master + + cache: + - ccache + - directories: + - $HOME/Qt + - $HOME/.gradle/caches/ + - $HOME/.gradle/wrapper/ + - $HOME/.android/build-cache + - $ANDROID_NDK_HOME + +# ------------------------------------------------------ + - name: iOS + os: osx + osx_image: xcode13.4 + language: cpp + + env: + - PATH=/usr/local/opt/ccache/libexec:~/go/bin:$PATH + - QT_VERSION=5.15.2 + - QT_BIN_DIR=$HOME/Qt/$QT_VERSION/ios/bin + - QT_IOS_BIN=$QT_BIN_DIR + + install: + - | + if [ ! -f $QT_BIN_DIR/qmake ]; then \ + brew install p7zip ccache && \ + python3 -m pip install --upgrade pip && \ + pip install -U aqtinstall requests py7zr && \ + pip show aqtinstall && \ + aqt install-qt mac ios $QT_VERSION -m all -O $HOME/Qt ; \ + fi + - brew install golang + - go install golang.org/x/mobile/cmd/gomobile@latest + - gomobile init + + script: + - bash deploy/build_ios.sh + + after_script: + - ccache --show-stats + + cache: + - ccache + - directories: + - $HOME/Qt + - $HOME/Library/Caches/Homebrew before_cache: - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew cleanup; fi # Cache only .git files under "/usr/local/Homebrew" so "brew update" does not take 5min every build - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then find /usr/local/Homebrew \! -regex ".+\.git.+" -delete; fi -cache: - directories: - - $HOME/Qt - - /C/Qt - - $HOME/Library/Caches/Homebrew diff --git a/README.md b/README.md index dea7d5af..4d5cd364 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,6 @@ AmneziaVPN uses a number of open source projects to work: - [OpenVPN](https://openvpn.net/) - [ShadowSocks](https://shadowsocks.org/) - [Qt](https://www.qt.io/) -- [EasyRSA](https://github.com/OpenVPN/easy-rsa) - part of OpenVPN -- [CygWin](https://www.cygwin.com/) - only for Windiws, used for launching EasyRSA scripts - [QtSsh](https://github.com/jaredtao/QtSsh) - forked form Qt Creator - and more... diff --git a/client/android/build.gradle b/client/android/build.gradle index 6fd19a7c..12129720 100644 --- a/client/android/build.gradle +++ b/client/android/build.gradle @@ -48,7 +48,7 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.2" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0" - coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.0.10" + coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.5" implementation project(path: ':shadowsocks') } @@ -97,6 +97,9 @@ android { } compileOptions { + // Flag to enable support for the new language APIs + coreLibraryDesugaringEnabled true + sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } diff --git a/client/android/src/org/amnezia/vpn/VPNService.kt b/client/android/src/org/amnezia/vpn/VPNService.kt index f8ed3999..a1f8550c 100644 --- a/client/android/src/org/amnezia/vpn/VPNService.kt +++ b/client/android/src/org/amnezia/vpn/VPNService.kt @@ -520,7 +520,9 @@ class VPNService : BaseVpnService(), LocalDnsService.Interface { peerBuilder.addAllowedIp(network) } } - peerBuilder.setEndpoint(InetEndpoint.parse(peerConfig["Endpoint"])) + val endpointConfig = peerConfig["Endpoint"] + val endpoint = InetEndpoint.parse(endpointConfig) + peerBuilder.setEndpoint(endpoint) peerConfig["PersistentKeepalive"]?.let { peerBuilder.setPersistentKeepalive(it.toInt()) } diff --git a/client/core/defs.h b/client/core/defs.h index bed6b1c3..5845fd3c 100644 --- a/client/core/defs.h +++ b/client/core/defs.h @@ -46,7 +46,6 @@ enum ErrorCode FailedToSaveConfigData, OpenVpnConfigMissing, OpenVpnManagementServerError, - EasyRsaError, ConfigMissing, // Distro errors diff --git a/client/core/errorstrings.cpp b/client/core/errorstrings.cpp index 23e4e36e..722dd4b4 100644 --- a/client/core/errorstrings.cpp +++ b/client/core/errorstrings.cpp @@ -35,10 +35,11 @@ QString errorString(ErrorCode code){ case (FailedToSaveConfigData): return QObject::tr("Failed to save config to disk"); case (OpenVpnConfigMissing): return QObject::tr("OpenVPN config missing"); case (OpenVpnManagementServerError): return QObject::tr("OpenVPN management server error"); - case (EasyRsaError): return QObject::tr("EasyRSA runtime error"); // Distro errors case (OpenVpnExecutableMissing): return QObject::tr("OpenVPN executable missing"); + case (ShadowSocksExecutableMissing): return QObject::tr("ShadowSocks (ss-local) executable missing"); + case (CloakExecutableMissing): return QObject::tr("Cloak (ck-client) executable missing"); case (AmneziaServiceConnectionFailed): return QObject::tr("Amnezia helper service error"); case (OpenSslFailed): return QObject::tr("OpenSSL failed"); diff --git a/client/protocols/openvpnovercloakprotocol.cpp b/client/protocols/openvpnovercloakprotocol.cpp index 01afb4ca..2e9d77e8 100644 --- a/client/protocols/openvpnovercloakprotocol.cpp +++ b/client/protocols/openvpnovercloakprotocol.cpp @@ -27,6 +27,10 @@ OpenVpnOverCloakProtocol::~OpenVpnOverCloakProtocol() ErrorCode OpenVpnOverCloakProtocol::start() { + if (!QFileInfo::exists(cloakExecPath())) { + setLastError(ErrorCode::CloakExecutableMissing); + return lastError(); + } #ifndef Q_OS_IOS if (Utils::processIsRunning(Utils::executable("ck-client", false))) { Utils::killProcessByName(Utils::executable("ck-client", false)); @@ -106,6 +110,8 @@ QString OpenVpnOverCloakProtocol::cloakExecPath() { #ifdef Q_OS_WIN return Utils::executable(QString("cloak/ck-client"), true); +#elif defined Q_OS_LINUX + return Utils::usrExecutable("ck-client"); #else return Utils::executable(QString("/ck-client"), true); #endif diff --git a/client/protocols/shadowsocksvpnprotocol.cpp b/client/protocols/shadowsocksvpnprotocol.cpp index e2465c1f..bc494777 100644 --- a/client/protocols/shadowsocksvpnprotocol.cpp +++ b/client/protocols/shadowsocksvpnprotocol.cpp @@ -27,6 +27,13 @@ ShadowSocksVpnProtocol::~ShadowSocksVpnProtocol() ErrorCode ShadowSocksVpnProtocol::start() { + + if (!QFileInfo::exists(shadowSocksExecPath())) { + setLastError(ErrorCode::ShadowSocksExecutableMissing); + return lastError(); + } + + #ifndef Q_OS_IOS if (Utils::processIsRunning(Utils::executable("ss-local", false))) { Utils::killProcessByName(Utils::executable("ss-local", false)); diff --git a/client/scripts/apple_compile.sh b/client/scripts/apple_compile.sh index 48b438bb..fb44af30 100755 --- a/client/scripts/apple_compile.sh +++ b/client/scripts/apple_compile.sh @@ -270,6 +270,6 @@ print G "done." sed -i '' '/Original<\/string>/d' AmneziaVPN.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings fi -print Y "Opening in XCode..." -open AmneziaVPN.xcodeproj +# print Y "Opening in XCode..." +# open AmneziaVPN.xcodeproj print G "All done!" diff --git a/deploy/build_android.sh b/deploy/build_android.sh new file mode 100644 index 00000000..9afe49d3 --- /dev/null +++ b/deploy/build_android.sh @@ -0,0 +1,67 @@ +#!/bin/bash +echo "Build script started ..." + +set -o errexit -o nounset + + +# Hold on to current directory +PROJECT_DIR=$(pwd) +DEPLOY_DIR=$PROJECT_DIR/deploy + +mkdir -p $DEPLOY_DIR/build +BUILD_DIR=$DEPLOY_DIR/build + +echo "Project dir: ${PROJECT_DIR}" +echo "Build dir: ${BUILD_DIR}" + +APP_NAME=AmneziaVPN +APP_FILENAME=$APP_NAME.app +APP_DOMAIN=org.amneziavpn.package + +OUT_APP_DIR=$BUILD_DIR/client +BUNDLE_DIR=$OUT_APP_DIR/$APP_FILENAME + +INSTALLER_DATA_DIR=$BUILD_DIR/installer/packages/$APP_DOMAIN/data +INSTALLER_BUNDLE_DIR=$BUILD_DIR/installer/$APP_FILENAME + +PRO_FILE_PATH=$PROJECT_DIR/$APP_NAME.pro +QMAKE_STASH_FILE=$PROJECT_DIR/.qmake_stash + +# Seacrh Qt +if [ -z "${QT_VERSION+x}" ]; then +QT_VERSION=5.15.2; +QT_BIN_DIR=$HOME/Qt/$QT_VERSION/gcc_64/bin +fi + +echo "Using Qt in $QT_BIN_DIR" + + +# Checking env +$QT_BIN_DIR/qmake -v +make -v +gcc -v + +# Build App +echo "Building App..." +cd $BUILD_DIR + +$QT_BIN_DIR/qmake -r -spec android-clang CONFIG+=qtquickcompiler ANDROID_ABIS="armeabi-v7a arm64-v8a x86 x86_64" $PROJECT_DIR/AmneziaVPN.pro +$ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make -j2 +$ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make install INSTALL_ROOT=android + + + +# Build and run tests here + +#echo "............Deploy.................." + +# TODO possible solution: https://github.com/mhoeher/opentodolist/blob/b8981852e500589851132a02c5a62af9b0ed592c/ci/android-cmake-build.sh +#$QT_BIN_DIR/androiddeployqt \ +# --output $OUT_APP_DIR \ +# --gradle \ +# --release \ +# --deployment bundled + +#cp $OUT_APP_DIR/build/outputs/apk/release/android-build-release-unsigned.apk \ +# OpenTodoList-${ANDROID_ABIS}-${OTL_VERSION}.apk + diff --git a/deploy/build_ios.sh b/deploy/build_ios.sh new file mode 100644 index 00000000..994a96ed --- /dev/null +++ b/deploy/build_ios.sh @@ -0,0 +1,49 @@ +#!/bin/bash +echo "Build script started ..." + +set -o errexit -o nounset + +# Hold on to current directory +PROJECT_DIR=$(pwd) +DEPLOY_DIR=$PROJECT_DIR/deploy + +mkdir -p $DEPLOY_DIR/build +BUILD_DIR=$DEPLOY_DIR/build + +echo "Project dir: ${PROJECT_DIR}" +echo "Build dir: ${BUILD_DIR}" + +APP_NAME=AmneziaVPN +APP_FILENAME=$APP_NAME.app +APP_DOMAIN=org.amneziavpn.package +PLIST_NAME=$APP_NAME.plist + +OUT_APP_DIR=$BUILD_DIR/client +BUNDLE_DIR=$OUT_APP_DIR/$APP_FILENAME + +PRO_FILE_PATH=$PROJECT_DIR/$APP_NAME.pro +QMAKE_STASH_FILE=$PROJECT_DIR/.qmake_stash + +# Seacrh Qt +if [ -z "${QT_VERSION+x}" ]; then +QT_VERSION=5.15.2; +QIF_VERSION=4.1 +QT_BIN_DIR=$HOME/Qt/$QT_VERSION/ios/bin +fi + +echo "Using Qt in $QT_BIN_DIR" + + +# Checking env +$QT_BIN_DIR/qmake -v + +# Build App +echo "Building App..." +cd $PROJECT_DIR/client +$PROJECT_DIR/client/scripts/apple_compile.sh ios + +# Build and run tests here + +#echo "............Deploy.................." + + diff --git a/deploy/build_linux.sh b/deploy/build_linux.sh new file mode 100644 index 00000000..996c758a --- /dev/null +++ b/deploy/build_linux.sh @@ -0,0 +1,59 @@ +#!/bin/bash +echo "Build script started ..." + +set -o errexit -o nounset + + +# Hold on to current directory +PROJECT_DIR=$(pwd) +DEPLOY_DIR=$PROJECT_DIR/deploy + +mkdir -p $DEPLOY_DIR/build +BUILD_DIR=$DEPLOY_DIR/build + +echo "Project dir: ${PROJECT_DIR}" +echo "Build dir: ${BUILD_DIR}" + +APP_NAME=AmneziaVPN +APP_FILENAME=$APP_NAME.app +APP_DOMAIN=org.amneziavpn.package + +OUT_APP_DIR=$BUILD_DIR/client +BUNDLE_DIR=$OUT_APP_DIR/$APP_FILENAME + +DEPLOY_DATA_DIR=$PROJECT_DIR/deploy/data/linux +INSTALLER_DATA_DIR=$BUILD_DIR/installer/packages/$APP_DOMAIN/data +INSTALLER_BUNDLE_DIR=$BUILD_DIR/installer/$APP_FILENAME + +PRO_FILE_PATH=$PROJECT_DIR/$APP_NAME.pro +QMAKE_STASH_FILE=$PROJECT_DIR/.qmake_stash + +# Seacrh Qt +if [ -z "${QT_VERSION+x}" ]; then +QT_VERSION=5.15.2; +QIF_VERSION=4.1 +QT_BIN_DIR=$HOME/Qt/$QT_VERSION/gcc_64/bin +QIF_BIN_DIR=$QT_BIN_DIR/../../../Tools/QtInstallerFramework/$QIF_VERSION/bin +fi + +echo "Using Qt in $QT_BIN_DIR" +echo "Using QIF in $QIF_BIN_DIR" + + +# Checking env +$QT_BIN_DIR/qmake -v +make -v +gcc -v + +# Build App +echo "Building App..." +cd $BUILD_DIR + +$QT_BIN_DIR/qmake $PROJECT_DIR/AmneziaVPN.pro 'CONFIG+=release CONFIG+=x86_64' +make + +# Build and run tests here + +#echo "............Deploy.................." + + diff --git a/deploy/build_macos.sh b/deploy/build_macos.sh index 9d321a2f..09dd85f7 100755 --- a/deploy/build_macos.sh +++ b/deploy/build_macos.sh @@ -3,6 +3,13 @@ echo "Build script started ..." set -o errexit -o nounset +while getopts n: flag +do + case "${flag}" in + n) NOTARIZE_APP=1;; + esac +done + # Hold on to current directory PROJECT_DIR=$(pwd) DEPLOY_DIR=$PROJECT_DIR/deploy @@ -20,12 +27,14 @@ PLIST_NAME=$APP_NAME.plist OUT_APP_DIR=$BUILD_DIR/client BUNDLE_DIR=$OUT_APP_DIR/$APP_FILENAME + DEPLOY_DATA_DIR=$PROJECT_DIR/deploy/data/macos INSTALLER_DATA_DIR=$BUILD_DIR/installer/packages/$APP_DOMAIN/data +INSTALLER_BUNDLE_DIR=$BUILD_DIR/installer/$APP_FILENAME PRO_FILE_PATH=$PROJECT_DIR/$APP_NAME.pro QMAKE_STASH_FILE=$PROJECT_DIR/.qmake_stash -DMG_FILENAME=$PROJECT_DIR/${APP_NAME}_unsigned.dmg +DMG_FILENAME=$PROJECT_DIR/${APP_NAME}.dmg # Seacrh Qt if [ -z "${QT_VERSION+x}" ]; then @@ -62,64 +71,97 @@ echo "Packaging ..." #cd $DEPLOY_DIR -$QT_BIN_DIR/macdeployqt $OUT_APP_DIR/$APP_FILENAME -always-overwrite +$QT_BIN_DIR/macdeployqt $OUT_APP_DIR/$APP_FILENAME -always-overwrite -qmldir=$PROJECT_DIR cp -av $BUILD_DIR/service/server/$APP_NAME-service.app/Contents/macOS/$APP_NAME-service $BUNDLE_DIR/Contents/macOS cp -Rv $PROJECT_DIR/deploy/data/macos/* $BUNDLE_DIR/Contents/macOS +rm -f $BUNDLE_DIR/Contents/macOS/post_install.sh $BUNDLE_DIR/Contents/macOS/post_uninstall.sh if [ "${MAC_CERT_PW+x}" ]; then -CERTIFICATE_P12=$DEPLOY_DIR/PrivacyTechAppleCertDeveloperId.p12 -WWDRCA=$DEPLOY_DIR/WWDRCA.cer -KEYCHAIN=amnezia.build.keychain -TEMP_PASS=tmp_pass + CERTIFICATE_P12=$DEPLOY_DIR/PrivacyTechAppleCertDeveloperId.p12 + WWDRCA=$DEPLOY_DIR/WWDRCA.cer + KEYCHAIN=amnezia.build.keychain + TEMP_PASS=tmp_pass -security create-keychain -p $TEMP_PASS $KEYCHAIN || true -security default-keychain -s $KEYCHAIN -security unlock-keychain -p $TEMP_PASS $KEYCHAIN + security create-keychain -p $TEMP_PASS $KEYCHAIN || true + security default-keychain -s $KEYCHAIN + security unlock-keychain -p $TEMP_PASS $KEYCHAIN -security default-keychain -security list-keychains + security default-keychain + security list-keychains -security import $WWDRCA -k $KEYCHAIN -T /usr/bin/codesign || true -security import $CERTIFICATE_P12 -k $KEYCHAIN -P $MAC_CERT_PW -T /usr/bin/codesign || true + security import $WWDRCA -k $KEYCHAIN -T /usr/bin/codesign || true + security import $CERTIFICATE_P12 -k $KEYCHAIN -P $MAC_CERT_PW -T /usr/bin/codesign || true -security set-key-partition-list -S apple-tool:,apple: -k $TEMP_PASS $KEYCHAIN -security find-identity -p codesigning + security set-key-partition-list -S apple-tool:,apple: -k $TEMP_PASS $KEYCHAIN + security find-identity -p codesigning -/usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $BUNDLE_DIR -/usr/bin/codesign --verify -vvvv $BUNDLE_DIR || true -spctl -a -vvvv $BUNDLE_DIR || true + echo "Signing App bundle..." + /usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $BUNDLE_DIR + /usr/bin/codesign --verify -vvvv $BUNDLE_DIR || true + spctl -a -vvvv $BUNDLE_DIR || true + if [ "${NOTARIZE_APP+x}" ]; then + echo "Notatizing App bundle..." + /usr/bin/ditto -c -k --keepParent $BUNDLE_DIR $PROJECT_DIR/Bundle_to_notarize.zip + xcrun altool --notarize-app -f $PROJECT_DIR/Bundle_to_notarize.zip -t osx --primary-bundle-id "$APP_DOMAIN" -u "$APPLE_DEV_EMAIL" -p $APPLE_DEV_PASSWORD + rm $PROJECT_DIR/Bundle_to_notarize.zip + sleep 600 + xcrun stapler staple $BUNDLE_DIR + xcrun stapler validate $BUNDLE_DIR + spctl -a -vvvv $BUNDLE_DIR || true + fi fi - +echo "Packaging installer..." mkdir -p $INSTALLER_DATA_DIR cp -av $PROJECT_DIR/deploy/installer $BUILD_DIR cp -av $DEPLOY_DATA_DIR/post_install.sh $INSTALLER_DATA_DIR/post_install.sh cp -av $DEPLOY_DATA_DIR/post_uninstall.sh $INSTALLER_DATA_DIR/post_uninstall.sh cp -av $DEPLOY_DATA_DIR/$PLIST_NAME $INSTALLER_DATA_DIR/$PLIST_NAME -rm -f $BUNDLE_DIR/Contents/macOS/post_install.sh $BUNDLE_DIR/Contents/macOS/post_uninstall.sh chmod a+x $INSTALLER_DATA_DIR/post_install.sh $INSTALLER_DATA_DIR/post_uninstall.sh cd $BUNDLE_DIR tar czf $INSTALLER_DATA_DIR/$APP_NAME.tar.gz ./ -cd $BUILD_DIR/installer -$QIF_BIN_DIR/binarycreator --offline-only -v -c config/macos.xml -p packages -f $APP_FILENAME +echo "Building installer..." +$QIF_BIN_DIR/binarycreator --offline-only -v -c $BUILD_DIR/installer/config/macos.xml -p $BUILD_DIR/installer/packages -f $INSTALLER_BUNDLE_DIR + if [ "${MAC_CERT_PW+x}" ]; then -/usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $APP_FILENAME + echo "Signing installer bundle..." + security unlock-keychain -p $TEMP_PASS $KEYCHAIN + /usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $INSTALLER_BUNDLE_DIR + /usr/bin/codesign --verify -vvvv $INSTALLER_BUNDLE_DIR || true + + if [ "${NOTARIZE_APP+x}" ]; then + echo "Notatizing installer bundle..." + /usr/bin/ditto -c -k --keepParent $INSTALLER_BUNDLE_DIR $PROJECT_DIR/Installer_bundle_to_notarize.zip + xcrun altool --notarize-app -f $PROJECT_DIR/Installer_bundle_to_notarize.zip -t osx --primary-bundle-id "$APP_DOMAIN" -u "$APPLE_DEV_EMAIL" -p $APPLE_DEV_PASSWORD + rm $PROJECT_DIR/Installer_bundle_to_notarize.zip + sleep 600 + xcrun stapler staple $INSTALLER_BUNDLE_DIR + xcrun stapler validate $INSTALLER_BUNDLE_DIR + spctl -a -vvvv $INSTALLER_BUNDLE_DIR || true + fi fi -hdiutil create -volname $APP_NAME -srcfolder $APP_NAME.app -ov -format UDZO $DMG_FILENAME +echo "Building DMG installer..." +hdiutil create -volname $APP_NAME -srcfolder $BUILD_DIR/installer/$APP_NAME.app -ov -format UDZO $DMG_FILENAME if [ "${MAC_CERT_PW+x}" ]; then -/usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $DMG_FILENAME -/usr/bin/codesign --verify -vvvv $DMG_FILENAME || true -spctl -a -vvvv $DMG_FILENAME || true -#xcrun altool --notarize-app -f $DMG_FILENAME -t osx --primary-bundle-id $APP_DOMAIN -u $APPLE_DEV_EMAIL -p $APPLE_DEV_PASSWORD -#xcrun stapler staple $DMG_FILENAME -#xcrun stapler validate $DMG_FILENAME + echo "Signing DMG installer..." + security unlock-keychain -p $TEMP_PASS $KEYCHAIN + /usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $DMG_FILENAME + /usr/bin/codesign --verify -vvvv $DMG_FILENAME || true + + if [ "${NOTARIZE_APP+x}" ]; then + echo "Notatizing DMG installer..." + xcrun altool --notarize-app -f $DMG_FILENAME -t osx --primary-bundle-id $APP_DOMAIN -u $APPLE_DEV_EMAIL -p $APPLE_DEV_PASSWORD + sleep 600 + xcrun stapler staple $DMG_FILENAME + xcrun stapler validate $DMG_FILENAME + fi fi echo "Finished, artifact is $DMG_FILENAME" diff --git a/deploy/build_macos_notarized.sh b/deploy/build_macos_notarized.sh deleted file mode 100755 index 2133286b..00000000 --- a/deploy/build_macos_notarized.sh +++ /dev/null @@ -1,160 +0,0 @@ -#!/bin/bash -echo "Build script started ..." - -set -o errexit -o nounset - -# Hold on to current directory -PROJECT_DIR=$(pwd) -DEPLOY_DIR=$PROJECT_DIR/deploy - -mkdir -p $DEPLOY_DIR/build -BUILD_DIR=$DEPLOY_DIR/build - -echo "Project dir: ${PROJECT_DIR}" -echo "Build dir: ${BUILD_DIR}" - -APP_NAME=AmneziaVPN -APP_FILENAME=$APP_NAME.app -APP_DOMAIN=org.amneziavpn.package -PLIST_NAME=$APP_NAME.plist - -OUT_APP_DIR=$BUILD_DIR/client -BUNDLE_DIR=$OUT_APP_DIR/$APP_FILENAME - -DEPLOY_DATA_DIR=$PROJECT_DIR/deploy/data/macos -INSTALLER_DATA_DIR=$BUILD_DIR/installer/packages/$APP_DOMAIN/data -INSTALLER_BUNDLE_DIR=$BUILD_DIR/installer/$APP_FILENAME - -PRO_FILE_PATH=$PROJECT_DIR/$APP_NAME.pro -QMAKE_STASH_FILE=$PROJECT_DIR/.qmake_stash -DMG_FILENAME=$PROJECT_DIR/${APP_NAME}_unsigned.dmg - -# Seacrh Qt -if [ -z "${QT_VERSION+x}" ]; then -QT_VERSION=5.15.2; -QIF_VERSION=4.1 -QT_BIN_DIR=$HOME/Qt/$QT_VERSION/clang_64/bin -QIF_BIN_DIR=$QT_BIN_DIR/../../../Tools/QtInstallerFramework/$QIF_VERSION/bin -fi - -echo "Using Qt in $QT_BIN_DIR" -echo "Using QIF in $QIF_BIN_DIR" - - -# Checking env -$QT_BIN_DIR/qmake -v -make -v -clang -v - -# Build App -echo "Building App..." -cd $BUILD_DIR - -$QT_BIN_DIR/qmake $PROJECT_DIR/AmneziaVPN.pro 'CONFIG+=release CONFIG+=x86_64' -make -j `sysctl -n hw.ncpu` - -# Build and run tests here - -echo "____________________________________" -echo "............Deploy.................." -echo "____________________________________" - -# Package -echo "Packaging ..." - -#cd $DEPLOY_DIR - -$QT_BIN_DIR/macdeployqt $OUT_APP_DIR/$APP_FILENAME -always-overwrite -qmldir=$PROJECT_DIR -cp -av $BUILD_DIR/service/server/$APP_NAME-service.app/Contents/macOS/$APP_NAME-service $BUNDLE_DIR/Contents/macOS -cp -Rv $PROJECT_DIR/deploy/data/macos/* $BUNDLE_DIR/Contents/macOS -rm -f $BUNDLE_DIR/Contents/macOS/post_install.sh $BUNDLE_DIR/Contents/macOS/post_uninstall.sh - -if [ "${MAC_CERT_PW+x}" ]; then - -CERTIFICATE_P12=$DEPLOY_DIR/PrivacyTechAppleCertDeveloperId.p12 -WWDRCA=$DEPLOY_DIR/WWDRCA.cer -KEYCHAIN=amnezia.build.keychain -TEMP_PASS=tmp_pass - -security create-keychain -p $TEMP_PASS $KEYCHAIN || true -security default-keychain -s $KEYCHAIN -security unlock-keychain -p $TEMP_PASS $KEYCHAIN - -security default-keychain -security list-keychains - -security import $WWDRCA -k $KEYCHAIN -T /usr/bin/codesign || true -security import $CERTIFICATE_P12 -k $KEYCHAIN -P $MAC_CERT_PW -T /usr/bin/codesign || true - -security set-key-partition-list -S apple-tool:,apple: -k $TEMP_PASS $KEYCHAIN -security find-identity -p codesigning - -echo "Signing App bundle..." -/usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $BUNDLE_DIR -/usr/bin/codesign --verify -vvvv $BUNDLE_DIR || true -spctl -a -vvvv $BUNDLE_DIR || true - -echo "Notatizing App bundle..." -/usr/bin/ditto -c -k --keepParent $BUNDLE_DIR $PROJECT_DIR/Bundle_to_notarize.zip -xcrun altool --notarize-app -f $PROJECT_DIR/Bundle_to_notarize.zip -t osx --primary-bundle-id "$APP_DOMAIN" -u "$APPLE_DEV_EMAIL" -p $APPLE_DEV_PASSWORD -rm $PROJECT_DIR/Bundle_to_notarize.zip -sleep 600 -xcrun stapler staple $BUNDLE_DIR -xcrun stapler validate $BUNDLE_DIR -spctl -a -vvvv $BUNDLE_DIR || true - -fi - -echo "Packaging installer..." -mkdir -p $INSTALLER_DATA_DIR -cp -av $PROJECT_DIR/deploy/installer $BUILD_DIR -cp -av $DEPLOY_DATA_DIR/post_install.sh $INSTALLER_DATA_DIR/post_install.sh -cp -av $DEPLOY_DATA_DIR/post_uninstall.sh $INSTALLER_DATA_DIR/post_uninstall.sh -cp -av $DEPLOY_DATA_DIR/$PLIST_NAME $INSTALLER_DATA_DIR/$PLIST_NAME - -chmod a+x $INSTALLER_DATA_DIR/post_install.sh $INSTALLER_DATA_DIR/post_uninstall.sh - -cd $BUNDLE_DIR -tar czf $INSTALLER_DATA_DIR/$APP_NAME.tar.gz ./ - -echo "Building installer..." -$QIF_BIN_DIR/binarycreator --offline-only -v -c $BUILD_DIR/installer/config/macos.xml -p $BUILD_DIR/installer/packages -f $INSTALLER_BUNDLE_DIR - -if [ "${MAC_CERT_PW+x}" ]; then -echo "Signing installer bundle..." -security unlock-keychain -p $TEMP_PASS $KEYCHAIN -/usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $INSTALLER_BUNDLE_DIR -/usr/bin/codesign --verify -vvvv $INSTALLER_BUNDLE_DIR || true - -echo "Notatizing installer bundle..." -/usr/bin/ditto -c -k --keepParent $INSTALLER_BUNDLE_DIR $PROJECT_DIR/Installer_bundle_to_notarize.zip -xcrun altool --notarize-app -f $PROJECT_DIR/Installer_bundle_to_notarize.zip -t osx --primary-bundle-id "$APP_DOMAIN" -u "$APPLE_DEV_EMAIL" -p $APPLE_DEV_PASSWORD -rm $PROJECT_DIR/Installer_bundle_to_notarize.zip -sleep 600 -xcrun stapler staple $INSTALLER_BUNDLE_DIR -xcrun stapler validate $INSTALLER_BUNDLE_DIR -spctl -a -vvvv $INSTALLER_BUNDLE_DIR || true - -fi - -echo "Building DMG installer..." -hdiutil create -volname $APP_NAME -srcfolder $BUILD_DIR/installer/$APP_NAME.app -ov -format UDZO $DMG_FILENAME - -if [ "${MAC_CERT_PW+x}" ]; then -echo "Signing DMG installer..." -security unlock-keychain -p $TEMP_PASS $KEYCHAIN -/usr/bin/codesign --deep --force --verbose --timestamp -o runtime --sign "Developer ID Application: Privacy Technologies OU (X7UJ388FXK)" $DMG_FILENAME -/usr/bin/codesign --verify -vvvv $DMG_FILENAME || true - -echo "Notatizing DMG installer..." -xcrun altool --notarize-app -f $DMG_FILENAME -t osx --primary-bundle-id $APP_DOMAIN -u $APPLE_DEV_EMAIL -p $APPLE_DEV_PASSWORD -sleep 600 -xcrun stapler staple $DMG_FILENAME -xcrun stapler validate $DMG_FILENAME - -fi - -echo "Finished, artifact is $DMG_FILENAME" - -# restore keychain -security default-keychain -s login.keychain diff --git a/deploy/data/linux/AmneziaVPN.desktop b/deploy/data/linux/AmneziaVPN.desktop new file mode 100755 index 00000000..d89252c0 --- /dev/null +++ b/deploy/data/linux/AmneziaVPN.desktop @@ -0,0 +1,10 @@ +#!/usr/bin/env xdg-open +[Desktop Entry] +Type=Application +Name=AmneziaVPN client +Version=2.0.10 +Comment=Client of your self-hosted VPN +Exec=AmneziaVPN +Icon=/usr/share/pixmaps/AmneziaVPN_Logo.png +Categories=Network;Qt;Security; +Terminal=false diff --git a/deploy/data/linux/service/AmneziaVPN.service b/deploy/data/linux/AmneziaVPN.service similarity index 59% rename from deploy/data/linux/service/AmneziaVPN.service rename to deploy/data/linux/AmneziaVPN.service index e20e1c1c..5e7753e0 100755 --- a/deploy/data/linux/service/AmneziaVPN.service +++ b/deploy/data/linux/AmneziaVPN.service @@ -7,8 +7,7 @@ StartLimitIntervalSec=0 Type=simple Restart=always RestartSec=1 -ExecStart=/opt/AmneziaVPN/service/bin/AmneziaVPN-service -Environment="LD_LIBRARY_PATH=/opt/AmneziaVPN/client/lib/" +ExecStart=/opt/AmneziaVPN/service/AmneziaVPN-service.sh [Install] WantedBy=multi-user.target diff --git a/deploy/data/linux/AmneziaVPN_build.desktop b/deploy/data/linux/AmneziaVPN_build.desktop deleted file mode 100755 index 65b43491..00000000 --- a/deploy/data/linux/AmneziaVPN_build.desktop +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env xdg-open -[Desktop Entry] -Type=Application -Name=AmneziaVPN client -Comment=AmneziaVPN client -Exec=AmneziaVPN -Icon=AmneziaVPN_Logo.png -Categories=VPN diff --git a/deploy/data/linux/client/AmneziaVPN.desktop b/deploy/data/linux/client/AmneziaVPN.desktop deleted file mode 100755 index 65b43491..00000000 --- a/deploy/data/linux/client/AmneziaVPN.desktop +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env xdg-open -[Desktop Entry] -Type=Application -Name=AmneziaVPN client -Comment=AmneziaVPN client -Exec=AmneziaVPN -Icon=AmneziaVPN_Logo.png -Categories=VPN diff --git a/deploy/data/linux/client/AmneziaVPN.sh b/deploy/data/linux/client/AmneziaVPN.sh index 79f8a34b..fc3ca450 100755 --- a/deploy/data/linux/client/AmneziaVPN.sh +++ b/deploy/data/linux/client/AmneziaVPN.sh @@ -5,8 +5,6 @@ # # #################################################################### # -# All variables has the CQT_ prefix -# BIN_PATH - are releative path to executable files of a deployed distribution. # LIB_PATH - are releative path to libraryes of a deployed distribution. # QML_PATH - are releative path to qml libraryes of a deployed distribution. # PLUGIN_PATH - are releative path to qt plugins of a deployed distribution. @@ -20,7 +18,6 @@ # #################################################################### BASE_DIR=$(dirname "$(readlink -f "$0")") -export PATH="$BASE_DIR"/bin/:$PATH export LD_LIBRARY_PATH="$BASE_DIR"/lib/:"$BASE_DIR":$LD_LIBRARY_PATH export QML_IMPORT_PATH="$BASE_DIR"/qml/:$QML_IMPORT_PATH export QML2_IMPORT_PATH="$BASE_DIR"/qml/:$QML2_IMPORT_PATH diff --git a/deploy/data/linux/client/bin/openssl-easyrsa.cnf b/deploy/data/linux/client/bin/openssl-easyrsa.cnf deleted file mode 100755 index 5c4fc79e..00000000 --- a/deploy/data/linux/client/bin/openssl-easyrsa.cnf +++ /dev/null @@ -1,138 +0,0 @@ -# For use with Easy-RSA 3.0+ and OpenSSL or LibreSSL - -#################################################################### -[ ca ] -default_ca = CA_default # The default ca section - -#################################################################### -[ CA_default ] - -dir = $ENV::EASYRSA_PKI # Where everything is kept -certs = $dir # Where the issued certs are kept -crl_dir = $dir # Where the issued crl are kept -database = $dir/index.txt # database index file. -new_certs_dir = $dir/certs_by_serial # default place for new certs. - -certificate = $dir/ca.crt # The CA certificate -serial = $dir/serial # The current serial number -crl = $dir/crl.pem # The current CRL -private_key = $dir/private/ca.key # The private key -RANDFILE = $dir/.rand # private random number file - -x509_extensions = basic_exts # The extensions to add to the cert - -# This allows a V2 CRL. Ancient browsers don't like it, but anything Easy-RSA -# is designed for will. In return, we get the Issuer attached to CRLs. -crl_extensions = crl_ext - -default_days = $ENV::EASYRSA_CERT_EXPIRE # how long to certify for -default_crl_days= $ENV::EASYRSA_CRL_DAYS # how long before next CRL -default_md = $ENV::EASYRSA_DIGEST # use public key default MD -preserve = no # keep passed DN ordering - -# This allows to renew certificates which have not been revoked -unique_subject = no - -# A few different ways of specifying how similar the request should look -# For type CA, the listed attributes must be the same, and the optional -# and supplied fields are just that :-) -policy = policy_anything - -# For the 'anything' policy, which defines allowed DN fields -[ policy_anything ] -countryName = optional -stateOrProvinceName = optional -localityName = optional -organizationName = optional -organizationalUnitName = optional -commonName = supplied -name = optional -emailAddress = optional - -#################################################################### -# Easy-RSA request handling -# We key off $DN_MODE to determine how to format the DN -[ req ] -default_bits = $ENV::EASYRSA_KEY_SIZE -default_keyfile = privkey.pem -default_md = $ENV::EASYRSA_DIGEST -distinguished_name = $ENV::EASYRSA_DN -x509_extensions = easyrsa_ca # The extensions to add to the self signed cert - -# A placeholder to handle the $EXTRA_EXTS feature: -#%EXTRA_EXTS% # Do NOT remove or change this line as $EXTRA_EXTS support requires it - -#################################################################### -# Easy-RSA DN (Subject) handling - -# Easy-RSA DN for cn_only support: -[ cn_only ] -commonName = Common Name (eg: your user, host, or server name) -commonName_max = 64 -commonName_default = $ENV::EASYRSA_REQ_CN - -# Easy-RSA DN for org support: -[ org ] -countryName = Country Name (2 letter code) -countryName_default = $ENV::EASYRSA_REQ_COUNTRY -countryName_min = 2 -countryName_max = 2 - -stateOrProvinceName = State or Province Name (full name) -stateOrProvinceName_default = $ENV::EASYRSA_REQ_PROVINCE - -localityName = Locality Name (eg, city) -localityName_default = $ENV::EASYRSA_REQ_CITY - -0.organizationName = Organization Name (eg, company) -0.organizationName_default = $ENV::EASYRSA_REQ_ORG - -organizationalUnitName = Organizational Unit Name (eg, section) -organizationalUnitName_default = $ENV::EASYRSA_REQ_OU - -commonName = Common Name (eg: your user, host, or server name) -commonName_max = 64 -commonName_default = $ENV::EASYRSA_REQ_CN - -emailAddress = Email Address -emailAddress_default = $ENV::EASYRSA_REQ_EMAIL -emailAddress_max = 64 - -#################################################################### -# Easy-RSA cert extension handling - -# This section is effectively unused as the main script sets extensions -# dynamically. This core section is left to support the odd usecase where -# a user calls openssl directly. -[ basic_exts ] -basicConstraints = CA:FALSE -subjectKeyIdentifier = hash -authorityKeyIdentifier = keyid,issuer:always - -# The Easy-RSA CA extensions -[ easyrsa_ca ] - -# PKIX recommendations: - -subjectKeyIdentifier=hash -authorityKeyIdentifier=keyid:always,issuer:always - -# This could be marked critical, but it's nice to support reading by any -# broken clients who attempt to do so. -basicConstraints = CA:true - -# Limit key usage to CA tasks. If you really want to use the generated pair as -# a self-signed cert, comment this out. -keyUsage = cRLSign, keyCertSign - -# nsCertType omitted by default. Let's try to let the deprecated stuff die. -# nsCertType = sslCA - -# CRL extensions. -[ crl_ext ] - -# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. - -# issuerAltName=issuer:copy -authorityKeyIdentifier=keyid:always,issuer:always - diff --git a/deploy/data/linux/client/share/applications/AmneziaVPN.desktop b/deploy/data/linux/client/share/applications/AmneziaVPN.desktop new file mode 100755 index 00000000..d89252c0 --- /dev/null +++ b/deploy/data/linux/client/share/applications/AmneziaVPN.desktop @@ -0,0 +1,10 @@ +#!/usr/bin/env xdg-open +[Desktop Entry] +Type=Application +Name=AmneziaVPN client +Version=2.0.10 +Comment=Client of your self-hosted VPN +Exec=AmneziaVPN +Icon=/usr/share/pixmaps/AmneziaVPN_Logo.png +Categories=Network;Qt;Security; +Terminal=false diff --git a/deploy/data/linux/client/share/applications/AmneziaVPN_build.desktop b/deploy/data/linux/client/share/applications/AmneziaVPN_build.desktop deleted file mode 100755 index 65b43491..00000000 --- a/deploy/data/linux/client/share/applications/AmneziaVPN_build.desktop +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env xdg-open -[Desktop Entry] -Type=Application -Name=AmneziaVPN client -Comment=AmneziaVPN client -Exec=AmneziaVPN -Icon=AmneziaVPN_Logo.png -Categories=VPN diff --git a/deploy/data/linux/client/translations/qtbase_ar.qm b/deploy/data/linux/client/translations/qtbase_ar.qm deleted file mode 100755 index 32861b81..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_ar.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_bg.qm b/deploy/data/linux/client/translations/qtbase_bg.qm deleted file mode 100755 index faeb1676..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_bg.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_ca.qm b/deploy/data/linux/client/translations/qtbase_ca.qm deleted file mode 100755 index 20b751d4..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_ca.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_cs.qm b/deploy/data/linux/client/translations/qtbase_cs.qm deleted file mode 100755 index 459ef266..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_cs.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_da.qm b/deploy/data/linux/client/translations/qtbase_da.qm deleted file mode 100755 index 4ede24b4..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_da.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_de.qm b/deploy/data/linux/client/translations/qtbase_de.qm deleted file mode 100755 index 4a4c988e..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_de.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_en.qm b/deploy/data/linux/client/translations/qtbase_en.qm deleted file mode 100755 index be651eed..00000000 --- a/deploy/data/linux/client/translations/qtbase_en.qm +++ /dev/null @@ -1 +0,0 @@ -<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/deploy/data/linux/client/translations/qtbase_es.qm b/deploy/data/linux/client/translations/qtbase_es.qm deleted file mode 100755 index 1a131578..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_es.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_fi.qm b/deploy/data/linux/client/translations/qtbase_fi.qm deleted file mode 100755 index 934aecdd..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_fi.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_fr.qm b/deploy/data/linux/client/translations/qtbase_fr.qm deleted file mode 100755 index 009fb5a4..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_fr.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_gd.qm b/deploy/data/linux/client/translations/qtbase_gd.qm deleted file mode 100755 index 3fe3841c..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_gd.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_he.qm b/deploy/data/linux/client/translations/qtbase_he.qm deleted file mode 100755 index 95ed0c70..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_he.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_hu.qm b/deploy/data/linux/client/translations/qtbase_hu.qm deleted file mode 100755 index e4920a63..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_hu.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_it.qm b/deploy/data/linux/client/translations/qtbase_it.qm deleted file mode 100755 index a0205781..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_it.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_ja.qm b/deploy/data/linux/client/translations/qtbase_ja.qm deleted file mode 100755 index 9cf6069e..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_ja.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_ko.qm b/deploy/data/linux/client/translations/qtbase_ko.qm deleted file mode 100755 index 20e4661c..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_ko.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_lv.qm b/deploy/data/linux/client/translations/qtbase_lv.qm deleted file mode 100755 index f88a761f..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_lv.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_pl.qm b/deploy/data/linux/client/translations/qtbase_pl.qm deleted file mode 100755 index 28d4d8fe..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_pl.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_ru.qm b/deploy/data/linux/client/translations/qtbase_ru.qm deleted file mode 100755 index c1a22864..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_ru.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_sk.qm b/deploy/data/linux/client/translations/qtbase_sk.qm deleted file mode 100755 index 55a377e9..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_sk.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_tr.qm b/deploy/data/linux/client/translations/qtbase_tr.qm deleted file mode 100755 index 3d289bb4..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_tr.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_uk.qm b/deploy/data/linux/client/translations/qtbase_uk.qm deleted file mode 100755 index 21a30389..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_uk.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtbase_zh_TW.qm b/deploy/data/linux/client/translations/qtbase_zh_TW.qm deleted file mode 100755 index 62052980..00000000 Binary files a/deploy/data/linux/client/translations/qtbase_zh_TW.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_bg.qm b/deploy/data/linux/client/translations/qtdeclarative_bg.qm deleted file mode 100755 index 7e49f829..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_bg.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_da.qm b/deploy/data/linux/client/translations/qtdeclarative_da.qm deleted file mode 100755 index 0dabc6b3..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_da.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_de.qm b/deploy/data/linux/client/translations/qtdeclarative_de.qm deleted file mode 100755 index ed7bd249..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_de.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_en.qm b/deploy/data/linux/client/translations/qtdeclarative_en.qm deleted file mode 100755 index be651eed..00000000 --- a/deploy/data/linux/client/translations/qtdeclarative_en.qm +++ /dev/null @@ -1 +0,0 @@ -<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/deploy/data/linux/client/translations/qtdeclarative_es.qm b/deploy/data/linux/client/translations/qtdeclarative_es.qm deleted file mode 100755 index da67b7f7..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_es.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_fi.qm b/deploy/data/linux/client/translations/qtdeclarative_fi.qm deleted file mode 100755 index cdd21cd8..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_fi.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_fr.qm b/deploy/data/linux/client/translations/qtdeclarative_fr.qm deleted file mode 100755 index 22705a63..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_fr.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_hu.qm b/deploy/data/linux/client/translations/qtdeclarative_hu.qm deleted file mode 100755 index c554a4fd..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_hu.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_ja.qm b/deploy/data/linux/client/translations/qtdeclarative_ja.qm deleted file mode 100755 index ff73ef1c..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_ja.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_ko.qm b/deploy/data/linux/client/translations/qtdeclarative_ko.qm deleted file mode 100755 index 0b38a861..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_ko.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_lv.qm b/deploy/data/linux/client/translations/qtdeclarative_lv.qm deleted file mode 100755 index 7e88b0dc..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_lv.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_pl.qm b/deploy/data/linux/client/translations/qtdeclarative_pl.qm deleted file mode 100755 index 0fbf88f3..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_pl.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_ru.qm b/deploy/data/linux/client/translations/qtdeclarative_ru.qm deleted file mode 100755 index 57b513fc..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_ru.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_sk.qm b/deploy/data/linux/client/translations/qtdeclarative_sk.qm deleted file mode 100755 index d6d21ad0..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_sk.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_tr.qm b/deploy/data/linux/client/translations/qtdeclarative_tr.qm deleted file mode 100755 index 57179ea7..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_tr.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtdeclarative_uk.qm b/deploy/data/linux/client/translations/qtdeclarative_uk.qm deleted file mode 100755 index 4730edd4..00000000 Binary files a/deploy/data/linux/client/translations/qtdeclarative_uk.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_ar.qm b/deploy/data/linux/client/translations/qtmultimedia_ar.qm deleted file mode 100755 index 8422ab3b..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_ar.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_bg.qm b/deploy/data/linux/client/translations/qtmultimedia_bg.qm deleted file mode 100755 index d3bd8251..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_bg.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_ca.qm b/deploy/data/linux/client/translations/qtmultimedia_ca.qm deleted file mode 100755 index 145a5c64..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_ca.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_cs.qm b/deploy/data/linux/client/translations/qtmultimedia_cs.qm deleted file mode 100755 index 106a5e4d..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_cs.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_da.qm b/deploy/data/linux/client/translations/qtmultimedia_da.qm deleted file mode 100755 index 93247328..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_da.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_de.qm b/deploy/data/linux/client/translations/qtmultimedia_de.qm deleted file mode 100755 index 257aa5de..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_de.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_en.qm b/deploy/data/linux/client/translations/qtmultimedia_en.qm deleted file mode 100755 index be651eed..00000000 --- a/deploy/data/linux/client/translations/qtmultimedia_en.qm +++ /dev/null @@ -1 +0,0 @@ -<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/deploy/data/linux/client/translations/qtmultimedia_es.qm b/deploy/data/linux/client/translations/qtmultimedia_es.qm deleted file mode 100755 index fe500a09..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_es.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_fi.qm b/deploy/data/linux/client/translations/qtmultimedia_fi.qm deleted file mode 100755 index 2a391971..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_fi.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_fr.qm b/deploy/data/linux/client/translations/qtmultimedia_fr.qm deleted file mode 100755 index da412e89..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_fr.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_hu.qm b/deploy/data/linux/client/translations/qtmultimedia_hu.qm deleted file mode 100755 index 9437a8ad..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_hu.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_it.qm b/deploy/data/linux/client/translations/qtmultimedia_it.qm deleted file mode 100755 index c1060bfb..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_it.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_ja.qm b/deploy/data/linux/client/translations/qtmultimedia_ja.qm deleted file mode 100755 index 87af0b9b..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_ja.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_ko.qm b/deploy/data/linux/client/translations/qtmultimedia_ko.qm deleted file mode 100755 index a48156e4..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_ko.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_pl.qm b/deploy/data/linux/client/translations/qtmultimedia_pl.qm deleted file mode 100755 index 09f3a4af..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_pl.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_ru.qm b/deploy/data/linux/client/translations/qtmultimedia_ru.qm deleted file mode 100755 index d6baa83b..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_ru.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_sk.qm b/deploy/data/linux/client/translations/qtmultimedia_sk.qm deleted file mode 100755 index b9638b53..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_sk.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_tr.qm b/deploy/data/linux/client/translations/qtmultimedia_tr.qm deleted file mode 100755 index 5c2646f7..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_tr.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_uk.qm b/deploy/data/linux/client/translations/qtmultimedia_uk.qm deleted file mode 100755 index 501246e2..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_uk.qm and /dev/null differ diff --git a/deploy/data/linux/client/translations/qtmultimedia_zh_TW.qm b/deploy/data/linux/client/translations/qtmultimedia_zh_TW.qm deleted file mode 100755 index fb4a9f82..00000000 Binary files a/deploy/data/linux/client/translations/qtmultimedia_zh_TW.qm and /dev/null differ diff --git a/deploy/data/linux/post_install.sh b/deploy/data/linux/post_install.sh index 12e7421a..f69de3d5 100755 --- a/deploy/data/linux/post_install.sh +++ b/deploy/data/linux/post_install.sh @@ -25,31 +25,20 @@ if sudo systemctl is-active --quiet $APP_NAME; then sudo rm -rf /etc/systemd/system/$APP_NAME.service >> $LOG_FILE fi -sudo chmod +x $APP_PATH/client/bin/easyrsa >> $LOG_FILE -sudo chmod --- $APP_PATH/client/bin/update-resolv-conf.sh -sudo chmod +rx $APP_PATH/client/bin/update-resolv-conf.sh +sudo chmod -R a-w $APP_PATH/ -sudo cp $APP_PATH/service/$APP_NAME.service /etc/systemd/system/ >> $LOG_FILE +sudo cp $APP_PATH/$APP_NAME.service /etc/systemd/system/ >> $LOG_FILE sudo systemctl start $APP_NAME >> $LOG_FILE sudo systemctl enable $APP_NAME >> $LOG_FILE -sudo ln -s $APP_PATH/client/$APP_NAME.sh /usr/sbin/$APP_NAME >> $LOG_FILE - +sudo chmod 555 $APP_PATH/client/$APP_NAME.sh >> $LOG_FILE +sudo ln -s $APP_PATH/client/$APP_NAME.sh /usr/local/sbin/$APP_NAME >> $LOG_FILE +sudo ln -s $APP_PATH/client/$APP_NAME.sh /usr/local/bin/$APP_NAME >> $LOG_FILE echo "user desktop creation loop started" >> $LOG_FILE -getent passwd {1000..6000} | while IFS=: read -r name password uid gid gecos home shell; do - echo "name: $name" - if ! test -f /home/$name/.icons; then - mkdir /home/$name/.icons/ >> $LOG_FILE - fi +sudo cp $APP_PATH/$APP_NAME.desktop /usr/share/applications/ >> $LOG_FILE +sudo chmod 555 /usr/share/applications/$APP_NAME.desktop >> $LOG_FILE - cp -f $APP_PATH/client/share/icons/AmneziaVPN_Logo.png /home/$name/.icons/ >> $LOG_FILE - cp $APP_PATH/client/$APP_NAME.desktop /home/$name/Desktop/ >> $LOG_FILE - - sudo chown $name:$name /home/$name/.local/share/gvfs-metadata/home* >> $LOG_FILE - sudo -u $name dbus-launch gio set /home/$name/Desktop/AmneziaVPN.desktop "metadata::trusted" yes >> $LOG_FILE - sudo chown $name:$name /home/$name/Desktop/AmneziaVPN.desktop >> $LOG_FILE -done echo "user desktop creation loop ended" >> $LOG_FILE date >> $LOG_FILE diff --git a/deploy/data/linux/post_uninstall.sh b/deploy/data/linux/post_uninstall.sh index acf09028..029bb7cf 100755 --- a/deploy/data/linux/post_uninstall.sh +++ b/deploy/data/linux/post_uninstall.sh @@ -29,47 +29,30 @@ if test -f /etc/systemd/system/$APP_NAME.service; then sudo rm -rf /etc/systemd/system/$APP_NAME.service >> $LOG_FILE fi -if test -f /usr/bin/$APP_NAME; then - sudo rm -rf /usr/sbin/$APP_NAME >> $LOG_FILE -fi - if test -f $APP_PATH; then sudo rm -rf $APP_PATH >> $LOG_FILE fi if test -f /usr/sbin/$APP_NAME; then - sudo rm -rf /usr/sbin/$APP_NAME >> $LOG_FILE + sudo rm -f /usr/sbin/$APP_NAME >> $LOG_FILE fi -if test -f /usr/sbin/$APP_NAME-service; then - sudo rm -rf /usr/sbin/$APP_NAME-service >> $LOG_FILE +if test -f /usr/bin/$APP_NAME; then + sudo rm -f /usr/bin/$APP_NAME >> $LOG_FILE fi -getent passwd {1000..6000} | while IFS=: read -r name password uid gid gecos home shell; do - if test -f /home/$name/Desktop/$APP_NAME\ client.desktop; then - sudo rm -rf /home/$name/Desktop/$APP_NAME\ client.desktop >> $LOG_FILE - fi +if test -f /usr/local/bin/$APP_NAME; then + sudo rm -f /usr/local/bin/$APP_NAME >> $LOG_FILE +fi - if test -f /home/$name/Desktop/$APP_NAME.desktop; then - sudo rm -rf /home/$name/Desktop/$APP_NAME.desktop >> $LOG_FILE - fi +if test -f /usr/local/sbin/$APP_NAME; then + sudo rm -f /usr/local/sbin/$APP_NAME >> $LOG_FILE +fi - if test -f /home/$name/.config/$APP_NAME.ORG; then - sudo rm -rf /home/$name/.config/$APP_NAME.ORG >> $LOG_FILE - fi +if test -f /usr/share/applications/$APP_NAME.desktop; then + sudo rm -f /usr/share/applications/$APP_NAME.desktop >> $LOG_FILE - if test -f /home/$name/.local/share/$APP_NAME.ORG; then - sudo rm -rf /home/$name/.local/share/$APP_NAME.ORG >> $LOG_FILE - fi - - if test -f /home/$name/.local/share/$APP_NAME; then - sudo rm -rf /home/$name/.local/share/$APP_NAME >> $LOG_FILE - fi - - if test -f /home/$name/.icons/AmneziaVPN_Logo.png; then - sudo rm -rf /home/$name/.icons/AmneziaVPN_Logo.png >> $LOG_FILE - fi -done +fi date >> $LOG_FILE echo "Service after uninstall status:" >> $LOG_FILE diff --git a/deploy/data/linux/service/AmneziaVPN-service.sh b/deploy/data/linux/service/AmneziaVPN-service.sh index 8d162263..6b0497b3 100755 --- a/deploy/data/linux/service/AmneziaVPN-service.sh +++ b/deploy/data/linux/service/AmneziaVPN-service.sh @@ -5,8 +5,6 @@ # # #################################################################### # -# All variables has the CQT_ prefix -# BIN_PATH - are releative path to executable files of a deployed distribution. # LIB_PATH - are releative path to libraryes of a deployed distribution. # QML_PATH - are releative path to qml libraryes of a deployed distribution. # PLUGIN_PATH - are releative path to qt plugins of a deployed distribution. @@ -20,7 +18,6 @@ # #################################################################### BASE_DIR=$(dirname "$(readlink -f "$0")") -export PATH="$BASE_DIR"/bin/:$PATH export LD_LIBRARY_PATH="$BASE_DIR"/lib/:"$BASE_DIR":$LD_LIBRARY_PATH export QML_IMPORT_PATH="$BASE_DIR"/qml/:$QML_IMPORT_PATH export QML2_IMPORT_PATH="$BASE_DIR"/qml/:$QML2_IMPORT_PATH diff --git a/deploy/data/linux/service/share/applications/AmneziaVPN_build.desktop b/deploy/data/linux/service/share/applications/AmneziaVPN_build.desktop deleted file mode 100755 index a4336e6b..00000000 --- a/deploy/data/linux/service/share/applications/AmneziaVPN_build.desktop +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env xdg-open -[Desktop Entry] -Type=Application -Name=AmneziaVPN service -Comment=AmneziaVPN service -Exec=AmneziaVPN-service -Categories=VPN diff --git a/deploy/data/linux/service/translations/qt_ar.qm b/deploy/data/linux/service/translations/qt_ar.qm deleted file mode 100755 index 1e9227a1..00000000 Binary files a/deploy/data/linux/service/translations/qt_ar.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_bg.qm b/deploy/data/linux/service/translations/qt_bg.qm deleted file mode 100755 index dcec255a..00000000 Binary files a/deploy/data/linux/service/translations/qt_bg.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_ca.qm b/deploy/data/linux/service/translations/qt_ca.qm deleted file mode 100755 index 0b798e5a..00000000 Binary files a/deploy/data/linux/service/translations/qt_ca.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_cs.qm b/deploy/data/linux/service/translations/qt_cs.qm deleted file mode 100755 index 3ab5ca70..00000000 Binary files a/deploy/data/linux/service/translations/qt_cs.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_da.qm b/deploy/data/linux/service/translations/qt_da.qm deleted file mode 100755 index 67564968..00000000 Binary files a/deploy/data/linux/service/translations/qt_da.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_de.qm b/deploy/data/linux/service/translations/qt_de.qm deleted file mode 100755 index 9c8e9b49..00000000 Binary files a/deploy/data/linux/service/translations/qt_de.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_en.qm b/deploy/data/linux/service/translations/qt_en.qm deleted file mode 100755 index 9dad8dff..00000000 Binary files a/deploy/data/linux/service/translations/qt_en.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_es.qm b/deploy/data/linux/service/translations/qt_es.qm deleted file mode 100755 index 82012dac..00000000 Binary files a/deploy/data/linux/service/translations/qt_es.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_fi.qm b/deploy/data/linux/service/translations/qt_fi.qm deleted file mode 100755 index 2548cca1..00000000 Binary files a/deploy/data/linux/service/translations/qt_fi.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_fr.qm b/deploy/data/linux/service/translations/qt_fr.qm deleted file mode 100755 index 8353f0a9..00000000 Binary files a/deploy/data/linux/service/translations/qt_fr.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_gd.qm b/deploy/data/linux/service/translations/qt_gd.qm deleted file mode 100755 index fd7eecdb..00000000 Binary files a/deploy/data/linux/service/translations/qt_gd.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_he.qm b/deploy/data/linux/service/translations/qt_he.qm deleted file mode 100755 index e15d45e5..00000000 Binary files a/deploy/data/linux/service/translations/qt_he.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_hu.qm b/deploy/data/linux/service/translations/qt_hu.qm deleted file mode 100755 index b51bd1a3..00000000 Binary files a/deploy/data/linux/service/translations/qt_hu.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_it.qm b/deploy/data/linux/service/translations/qt_it.qm deleted file mode 100755 index 0d9d17d3..00000000 Binary files a/deploy/data/linux/service/translations/qt_it.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_ja.qm b/deploy/data/linux/service/translations/qt_ja.qm deleted file mode 100755 index 74409b1a..00000000 Binary files a/deploy/data/linux/service/translations/qt_ja.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_ko.qm b/deploy/data/linux/service/translations/qt_ko.qm deleted file mode 100755 index a46b8a0b..00000000 Binary files a/deploy/data/linux/service/translations/qt_ko.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_lv.qm b/deploy/data/linux/service/translations/qt_lv.qm deleted file mode 100755 index c1dbfbd2..00000000 Binary files a/deploy/data/linux/service/translations/qt_lv.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_pl.qm b/deploy/data/linux/service/translations/qt_pl.qm deleted file mode 100755 index 0909204f..00000000 Binary files a/deploy/data/linux/service/translations/qt_pl.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_ru.qm b/deploy/data/linux/service/translations/qt_ru.qm deleted file mode 100755 index 791bfc41..00000000 Binary files a/deploy/data/linux/service/translations/qt_ru.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_sk.qm b/deploy/data/linux/service/translations/qt_sk.qm deleted file mode 100755 index 215d2340..00000000 Binary files a/deploy/data/linux/service/translations/qt_sk.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_uk.qm b/deploy/data/linux/service/translations/qt_uk.qm deleted file mode 100755 index 88c43620..00000000 Binary files a/deploy/data/linux/service/translations/qt_uk.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qt_zh_TW.qm b/deploy/data/linux/service/translations/qt_zh_TW.qm deleted file mode 100755 index 051b516a..00000000 Binary files a/deploy/data/linux/service/translations/qt_zh_TW.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_ar.qm b/deploy/data/linux/service/translations/qtbase_ar.qm deleted file mode 100755 index 32861b81..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_ar.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_bg.qm b/deploy/data/linux/service/translations/qtbase_bg.qm deleted file mode 100755 index faeb1676..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_bg.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_ca.qm b/deploy/data/linux/service/translations/qtbase_ca.qm deleted file mode 100755 index 20b751d4..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_ca.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_cs.qm b/deploy/data/linux/service/translations/qtbase_cs.qm deleted file mode 100755 index 459ef266..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_cs.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_da.qm b/deploy/data/linux/service/translations/qtbase_da.qm deleted file mode 100755 index 4ede24b4..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_da.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_de.qm b/deploy/data/linux/service/translations/qtbase_de.qm deleted file mode 100755 index 4a4c988e..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_de.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_en.qm b/deploy/data/linux/service/translations/qtbase_en.qm deleted file mode 100755 index be651eed..00000000 --- a/deploy/data/linux/service/translations/qtbase_en.qm +++ /dev/null @@ -1 +0,0 @@ -<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/deploy/data/linux/service/translations/qtbase_es.qm b/deploy/data/linux/service/translations/qtbase_es.qm deleted file mode 100755 index 1a131578..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_es.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_fi.qm b/deploy/data/linux/service/translations/qtbase_fi.qm deleted file mode 100755 index 934aecdd..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_fi.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_fr.qm b/deploy/data/linux/service/translations/qtbase_fr.qm deleted file mode 100755 index 009fb5a4..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_fr.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_gd.qm b/deploy/data/linux/service/translations/qtbase_gd.qm deleted file mode 100755 index 3fe3841c..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_gd.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_he.qm b/deploy/data/linux/service/translations/qtbase_he.qm deleted file mode 100755 index 95ed0c70..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_he.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_hu.qm b/deploy/data/linux/service/translations/qtbase_hu.qm deleted file mode 100755 index e4920a63..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_hu.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_it.qm b/deploy/data/linux/service/translations/qtbase_it.qm deleted file mode 100755 index a0205781..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_it.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_ja.qm b/deploy/data/linux/service/translations/qtbase_ja.qm deleted file mode 100755 index 9cf6069e..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_ja.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_ko.qm b/deploy/data/linux/service/translations/qtbase_ko.qm deleted file mode 100755 index 20e4661c..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_ko.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_lv.qm b/deploy/data/linux/service/translations/qtbase_lv.qm deleted file mode 100755 index f88a761f..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_lv.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_pl.qm b/deploy/data/linux/service/translations/qtbase_pl.qm deleted file mode 100755 index 28d4d8fe..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_pl.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_ru.qm b/deploy/data/linux/service/translations/qtbase_ru.qm deleted file mode 100755 index c1a22864..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_ru.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_sk.qm b/deploy/data/linux/service/translations/qtbase_sk.qm deleted file mode 100755 index 55a377e9..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_sk.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_tr.qm b/deploy/data/linux/service/translations/qtbase_tr.qm deleted file mode 100755 index 3d289bb4..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_tr.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_uk.qm b/deploy/data/linux/service/translations/qtbase_uk.qm deleted file mode 100755 index 21a30389..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_uk.qm and /dev/null differ diff --git a/deploy/data/linux/service/translations/qtbase_zh_TW.qm b/deploy/data/linux/service/translations/qtbase_zh_TW.qm deleted file mode 100755 index 62052980..00000000 Binary files a/deploy/data/linux/service/translations/qtbase_zh_TW.qm and /dev/null differ diff --git a/deploy/data/macos/post_install.sh b/deploy/data/macos/post_install.sh index 7ca643fc..acd3f93f 100755 --- a/deploy/data/macos/post_install.sh +++ b/deploy/data/macos/post_install.sh @@ -14,6 +14,9 @@ fi tar xzf $APP_PATH/$APP_NAME.tar.gz -C $APP_PATH rm -f $APP_PATH/$APP_NAME.tar.gz +sudo chmod -R a-w $APP_PATH/ +sudo chown -R root $APP_PATH/ +sudo chgrp -R wheel $APP_PATH/ rm -rf $LOG_FOLDER mkdir -p $LOG_FOLDER diff --git a/deploy/install-qt.sh b/deploy/install-qt.sh deleted file mode 100644 index f7c3d256..00000000 --- a/deploy/install-qt.sh +++ /dev/null @@ -1,335 +0,0 @@ -#!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2019 Richard Weickelt. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of Qbs. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# -set -eu - -function help() { - cat < - Root directory where to install the components. - Maps to C:/Qt on Windows, /opt/Qt on Linux, /usr/local/Qt on Mac - by default. - - -f, --force - Force download and do not attempt to re-use an existing installation. - - --host - The host operating system. Can be one of linux_x64, mac_x64, - windows_x86. Auto-detected by default. - - --target - The desired target platform. Can be one of desktop, android, ios. - The default value is desktop. - - --toolchain - The toolchain that has been used to build the binaries. - Possible values depend on --host and --target, respectively: - - linux_x64 - android - any, android_armv7, android_arm64_v8a - desktop - gcc_64 (default) - - mac_x64 - android - any, android_armv7, android_arm64_v8a - desktop - clang_64 (default), - ios - ios - - windows_x86 - android - any, android_armv7, android_arm64_v8a - desktop - win64_mingw73, win64_msvc2017_64 (default) - - --version - The desired Qt version. Currently supported are all versions - above 5.9.0. - -EOF -} - -TARGET_PLATFORM=desktop -COMPONENTS= -VERSION= -FORCE_DOWNLOAD=false -MD5_TOOL=md5sum - -case "$OSTYPE" in - *linux*) - HOST_OS=linux_x64 - INSTALL_DIR=/opt/Qt - TOOLCHAIN=gcc_64 - ;; - *darwin*) - HOST_OS=mac_x64 - INSTALL_DIR=/usr/local/Qt - TOOLCHAIN=clang_64 - MD5_TOOL="md5 -r" - ;; - msys) - HOST_OS=windows_x86 - INSTALL_DIR=/c/Qt - TOOLCHAIN=win64_msvc2015_64 - ;; - *) - HOST_OS= - INSTALL_DIR= - ;; -esac - -while [ $# -gt 0 ]; do - case "$1" in - --directory|-d) - INSTALL_DIR="$2" - shift - ;; - --force|-f) - FORCE_DOWNLOAD=true - ;; - --host) - HOST_OS="$2" - shift - ;; - --target) - TARGET_PLATFORM="$2" - shift - ;; - --toolchain) - TOOLCHAIN=$(echo $2 | tr '[A-Z]' '[a-z]') - shift - ;; - --version) - VERSION="$2" - shift - ;; - --help|-h) - help - exit 0 - ;; - *) - COMPONENTS="${COMPONENTS} $1" - ;; - esac - shift -done - -if [ -z "${HOST_OS}" ]; then - echo "No --host specified or auto-detection failed." >&2 - exit 1 -fi - -if [ -z "${INSTALL_DIR}" ]; then - echo "No --directory specified or auto-detection failed." >&2 - exit 1 -fi - -if [ -z "${VERSION}" ]; then - echo "No --version specified." >&2 - exit 1 -fi - -if [ -z "${COMPONENTS}" ]; then - echo "No components specified." >&2 - exit 1 -fi - -case "$TARGET_PLATFORM" in - android) - ;; - ios) - ;; - desktop) - ;; - *) - echo "Error: TARGET_PLATFORM=${TARGET_PLATFORM} is not valid." >&2 - exit 1 - ;; -esac - -HASH=$(echo "${OSTYPE} ${TARGET_PLATFORM} ${TOOLCHAIN} ${VERSION} ${INSTALL_DIR}" | ${MD5_TOOL} | head -c 16) -HASH_FILEPATH="${INSTALL_DIR}/${HASH}.manifest" -INSTALLATION_IS_VALID=false -if ! ${FORCE_DOWNLOAD} && [ -f "${HASH_FILEPATH}" ]; then - INSTALLATION_IS_VALID=true - while read filepath; do - if [ ! -e "${filepath}" ]; then - INSTALLATION_IS_VALID=false - break - fi - done <"${HASH_FILEPATH}" -fi - -if ${INSTALLATION_IS_VALID}; then - echo "Already installed. Skipping download." >&2 - exit 0 -fi - -DOWNLOAD_DIR=`mktemp -d 2>/dev/null || mktemp -d -t 'install-qt'` - -# -# The repository structure is a mess. Try different URL variants -# -function compute_url(){ - local COMPONENT=$1 - local CURL="curl -s -L" - local BASE_URL="http://download.qt.io/online/qtsdkrepository/${HOST_OS}/${TARGET_PLATFORM}" - local ANDROID_ARCH=$(echo ${TOOLCHAIN##android_}) - - if [[ "${COMPONENT}" =~ "qtcreator" ]]; then - - SHORT_VERSION=${VERSION%??} - BASE_URL="http://download.qt.io/official_releases/qtcreator" - REMOTE_PATH="${SHORT_VERSION}/${VERSION}/installer_source/${HOST_OS}/qtcreator.7z" - echo "${BASE_URL}/${REMOTE_PATH}" - return 0 - - else - REMOTE_BASES=( - # New repository format (>=6.0.0) - "qt6_${VERSION//./}/qt.qt6.${VERSION//./}.${TOOLCHAIN}" - "qt6_${VERSION//./}_${ANDROID_ARCH}/qt.qt6.${VERSION//./}.${TOOLCHAIN}" - "qt6_${VERSION//./}_${ANDROID_ARCH}/qt.qt6.${VERSION//./}.${COMPONENT}.${TOOLCHAIN}" - # New repository format (>=5.9.6) - "qt5_${VERSION//./}/qt.qt5.${VERSION//./}.${TOOLCHAIN}" - "qt5_${VERSION//./}/qt.qt5.${VERSION//./}.${COMPONENT}.${TOOLCHAIN}" - # Multi-abi Android since 5.14 - "qt5_${VERSION//./}/qt.qt5.${VERSION//./}.${TARGET_PLATFORM}" - "qt5_${VERSION//./}/qt.qt5.${VERSION//./}.${COMPONENT}.${TARGET_PLATFORM}" - # Older repository format (<5.9.0) - "qt5_${VERSION//./}/qt.${VERSION//./}.${TOOLCHAIN}" - "qt5_${VERSION//./}/qt.${VERSION//./}.${COMPONENT}.${TOOLCHAIN}" - ) - - for REMOTE_BASE in ${REMOTE_BASES[*]}; do - REMOTE_PATH="$(${CURL} ${BASE_URL}/${REMOTE_BASE}/ | grep -o -E "[[:alnum:]_.\-]*7z" | grep "${COMPONENT}" | tail -1)" - if [ ! -z "${REMOTE_PATH}" ]; then - echo "${BASE_URL}/${REMOTE_BASE}/${REMOTE_PATH}" - return 0 - fi - done - fi - - echo "Could not determine a remote URL for ${COMPONENT} with version ${VERSION}">&2 - exit 1 -} - -mkdir -p ${INSTALL_DIR} -rm -f "${HASH_FILEPATH}" - -for COMPONENT in ${COMPONENTS}; do - - URL="$(compute_url ${COMPONENT})" - echo "Downloading ${COMPONENT} ${URL}..." >&2 - curl --progress-bar -L -o ${DOWNLOAD_DIR}/package.7z ${URL} >&2 - 7z x -y -o${INSTALL_DIR} ${DOWNLOAD_DIR}/package.7z >/dev/null - 7z l -ba -slt -y ${DOWNLOAD_DIR}/package.7z | tr '\\' '/' | sed -n -e "s|^Path\ =\ |${INSTALL_DIR}/|p" >> "${HASH_FILEPATH}" - rm -f ${DOWNLOAD_DIR}/package.7z - - # - # conf file is needed for qmake - # - if [ "${COMPONENT}" == "qtbase" ]; then - if [[ "${TOOLCHAIN}" =~ "win64_mingw" ]]; then - SUBDIR="${TOOLCHAIN/win64_/}_64" - elif [[ "${TOOLCHAIN}" =~ "win32_mingw" ]]; then - SUBDIR="${TOOLCHAIN/win32_/}_32" - elif [[ "${TOOLCHAIN}" =~ "win64_msvc" ]]; then - SUBDIR="${TOOLCHAIN/win64_/}" - elif [[ "${TOOLCHAIN}" =~ "win32_msvc" ]]; then - SUBDIR="${TOOLCHAIN/win32_/}" - elif [[ "${TOOLCHAIN}" =~ "any" ]] && [[ "${TARGET_PLATFORM}" == "android" ]]; then - SUBDIR="android" - else - SUBDIR="${TOOLCHAIN}" - fi - - if [ "${TARGET_PLATFORM}" == "android" ] && [ ! "${QT_VERSION}" \< "6.0.0" ]; then - CONF_FILE="${INSTALL_DIR}/${VERSION}/${SUBDIR}/bin/target_qt.conf" - sed -i "s|target|../$TOOLCHAIN|g" "${CONF_FILE}" - sed -i "/HostPrefix/ s|$|gcc_64|g" "${CONF_FILE}" - ANDROID_QMAKE_FILE="${INSTALL_DIR}/${VERSION}/${SUBDIR}/bin/qmake" - QMAKE_FILE="${INSTALL_DIR}/${VERSION}/gcc_64/bin/qmake" - sed -i "s|\/home\/qt\/work\/install\/bin\/qmake|$QMAKE_FILE|g" "${ANDROID_QMAKE_FILE}" - else - CONF_FILE="${INSTALL_DIR}/${VERSION}/${SUBDIR}/bin/qt.conf" - echo "[Paths]" > ${CONF_FILE} - echo "Prefix = .." >> ${CONF_FILE} - fi - - # Adjust the license to be able to run qmake - # sed with -i requires intermediate file on Mac OS - PRI_FILE="${INSTALL_DIR}/${VERSION}/${SUBDIR}/mkspecs/qconfig.pri" - sed -i.bak 's/Enterprise/OpenSource/g' "${PRI_FILE}" - sed -i.bak 's/licheck.*//g' "${PRI_FILE}" - rm "${PRI_FILE}.bak" - - # Print the directory so that the caller can - # adjust the PATH variable. - echo $(dirname "${CONF_FILE}") - elif [[ "${COMPONENT}" =~ "qtcreator" ]]; then - if [ "${HOST_OS}" == "mac_x64" ]; then - echo "${INSTALL_DIR}/Qt Creator.app/Contents/MacOS" - else - echo "${INSTALL_DIR}/bin" - fi - fi - -done diff --git a/deploy/macos.sh b/deploy/macos.sh deleted file mode 100755 index 5bb14f5d..00000000 --- a/deploy/macos.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -ex - - -QT_BIN_DIR='/Users/admin/Qt/5.14.2/clang_64/bin' -QIF_BIN_DIR='/Users/admin/Qt/Tools/QtInstallerFramework/4.0/bin' - -APP_NAME=AmneziaVPN -APP_FILENAME=$APP_NAME.app -APP_DOMAIN=org.amneziavpn.package -PLIST_NAME=$APP_NAME.plist - -LAUNCH_DIR=$(pwd) -TOP_DIR=$LAUNCH_DIR/.. -RELEASE_DIR=$TOP_DIR/../$APP_NAME-build -OUT_APP_DIR=$RELEASE_DIR/client/release -BUNDLE_DIR=$OUT_APP_DIR/$APP_FILENAME -DEPLOY_DATA_DIR=$LAUNCH_DIR/data/macos -INSTALLER_DATA_DIR=$RELEASE_DIR/installer/packages/$APP_DOMAIN/data - -PRO_FILE_PATH=$TOP_DIR/$APP_NAME.pro -QMAKE_STASH_FILE=$TOP_DIR/.qmake_stash -TARGET_FILENAME=$TOP_DIR/$APP_NAME.dmg - -cleanBuild() -{ - rm -rf $RELEASE_DIR - rm -rf $QMAKE_STASH_FILE -} - - -cleanBuild - -cd $TOP_DIR -$QT_BIN_DIR/qmake $PRO_FILE_PATH 'CONFIG+=release CONFIG+=x86_64' -make -j `sysctl -n hw.ncpu` - -$QT_BIN_DIR/macdeployqt $OUT_APP_DIR/$APP_FILENAME -always-overwrite -cp -av $RELEASE_DIR/server/release/$APP_NAME-service.app/Contents/macOS/$APP_NAME-service $BUNDLE_DIR/Contents/macOS -cp -Rv $LAUNCH_DIR/data/macos/* $BUNDLE_DIR/Contents/macOS - -mkdir -p $INSTALLER_DATA_DIR -cp -av $LAUNCH_DIR/installer $RELEASE_DIR -cp -av $DEPLOY_DATA_DIR/post_install.sh $INSTALLER_DATA_DIR/post_install.sh -cp -av $DEPLOY_DATA_DIR/post_uninstall.sh $INSTALLER_DATA_DIR/post_uninstall.sh -cp -av $DEPLOY_DATA_DIR/$PLIST_NAME $INSTALLER_DATA_DIR/$PLIST_NAME - -rm -f $BUNDLE_DIR/Contents/macOS/post_install.sh $BUNDLE_DIR/Contents/macOS/post_uninstall.sh -chmod a+x $INSTALLER_DATA_DIR/post_install.sh $INSTALLER_DATA_DIR/post_uninstall.sh - -cd $BUNDLE_DIR -tar czf $INSTALLER_DATA_DIR/$APP_NAME.tar.gz ./ - -cd $RELEASE_DIR/installer -$QIF_BIN_DIR/binarycreator --offline-only -v -c config/macos.xml -p packages -f $APP_NAME -hdiutil create -volname $APP_NAME -srcfolder $APP_NAME.app -ov -format UDZO $TARGET_FILENAME - -cleanBuild - -cd $LAUNCH_DIR - -echo "Finished, see $APP_NAME.dmg in '$TOP_DIR'"