Skip to content

Commit

Permalink
Merge pull request #3 from ivpn/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
AlexKorvin authored May 15, 2020
2 parents 494f307 + b87a9b3 commit 91301bb
Show file tree
Hide file tree
Showing 410 changed files with 101,380 additions and 505 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,7 @@
keystore.properties
/keystore.properties
/app/storeProduction
/app/siteProduction
/app/siteProduction
/.idea/
/app/.cxx/
/.idea/
21 changes: 21 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[submodule "wireguard-tools"]
path = app/tools/wireguard-tools
url = https://git.zx2c4.com/wireguard-tools
[submodule "app/src/main/cpp/openvpn"]
path = app/src/main/cpp/openvpn
url = https://github.com/schwabe/openvpn
[submodule "app/src/main/cpp/openssl"]
path = app/src/main/cpp/openssl
url = https://github.com/schwabe/platform_external_openssl
[submodule "app/src/main/cpp/mbedtls"]
path = app/src/main/cpp/mbedtls
url = https://github.com/ARMmbed/mbedtls.git
[submodule "app/src/main/cpp/openvpn3"]
path = app/src/main/cpp/openvpn3
url = https://github.com/schwabe/openvpn3.git
[submodule "app/src/main/cpp/asio"]
path = app/src/main/cpp/asio
url = https://github.com/chriskohlhoff/asio/
[submodule "app/src/main/cpp/lz4"]
path = app/src/main/cpp/lz4
url = https://github.com/lz4/lz4.git
5 changes: 5 additions & 0 deletions app/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cmake_minimum_required (VERSION 3.4.1)
project(IVPN)

add_subdirectory(tools)
add_subdirectory(src/main/cpp)
68 changes: 64 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,26 @@ android {
applicationId "net.ivpn.client"
minSdkVersion 21
targetSdkVersion 28
versionCode 75
versionName "1.65"
versionCode 79
versionName "1.67"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArguments clearPackageData: 'true'
vectorDrawables.useSupportLibrary = true

manifestPlaceholders = [ SENTRY_DSN:keystoreProperties['sentry.dsn']]
buildConfigField "String", "BILLING_PUBLIC_KEY", keystoreProperties['billing.public.key']
buildConfigField 'boolean', 'openvpn3', 'false'
externalNativeBuild {
cmake {
arguments '-DANDROID_TOOLCHAIN=clang',
'-DANDROID_STL=c++_static'
}

ndk {
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
}
}

flavorDimensions "spread", "api"
Expand All @@ -47,6 +58,11 @@ android {
buildConfigField "String", "BUILD_VARIANT", "\"site\""
}

fdroid {
dimension "spread"
buildConfigField "String", "BUILD_VARIANT", "\"fdroid\""
}

production {
dimension "api"
buildConfigField "String", "BASE_URL", "\"api.ivpn.net\""
Expand Down Expand Up @@ -75,6 +91,7 @@ android {
sourceSets {
main {
jniLibs.srcDir 'src/main/libs'
assets.srcDirs = ["src/main/assets", "build/ovpnassets"]
}
}

Expand All @@ -89,7 +106,50 @@ android {
execution 'ANDROIDX_TEST_ORCHESTRATOR'
unitTests.returnDefaultValues = true
}
externalNativeBuild {
cmake {
path 'CMakeLists.txt'
}
}

splits {
abi {
reset()
include "x86", "x86_64", "armeabi-v7a", "arm64-v8a"
universalApk true
}
}
}

def File registerGenTask(variantName, variantDirName) {
def baseDir = new File(buildDir, "generated/source/ovpn3swig/${variantDirName}")
def genDir = new File(baseDir, "net/openvpn/ovpn3")
task("generateOpenVPN3Swig${variantName}",type:Exec) {

def swigcmd = "swig"
if (file("/usr/local/bin/swig").exists())
swigcmd = "/usr/local/bin/swig"

doFirst {
mkdir genDir
}

commandLine swigcmd, "-outdir", genDir, "-outcurrentdir", "-c++", "-java", "-package", "net.openvpn.ovpn3",
"-Isrc/main/cpp/openvpn3/client", "-Isrc/main/cpp/openvpn3/",
"-o", "${genDir}/ovpncli_wrap.cxx", "-oh", "${genDir}/ovpncli_wrap.h",
"src/main/cpp/openvpn3/javacli/ovpncli.i"
}

return baseDir
}

android.applicationVariants.all { variant ->
def sourceDir = registerGenTask(variant.name, variant.baseName.replace("-", "/"))
def task = tasks.named("generateOpenVPN3Swig${variant.name}").get()

variant.registerJavaGeneratingTask(task, sourceDir)
}

ext {
supportLibsVersion = '28.0.0'
streamsupportVersion = '1.7.1'
Expand Down Expand Up @@ -144,8 +204,8 @@ dependencies {
androidTestUtil 'androidx.test:orchestrator:1.2.0'

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.2.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.2.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3'
}

repositories {
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@
android:name="io.sentry.auto-init"
android:value="false" />

<meta-data
android:name="io.sentry.anr.enable"
android:value="false" />

<activity
android:name=".ui.tutorial.TutorialActivity"
android:screenOrientation="portrait"
Expand Down
61 changes: 36 additions & 25 deletions app/src/main/assets/config.ovpn
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ persist-key
persist-remote-ip

cipher AES-256-CBC
tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA
--remote-cert-tls server
verify-x509-name de name-prefix
key-direction 1
Expand All @@ -21,30 +20,42 @@ verb 4
;ca ca.crt
<ca>
-----BEGIN CERTIFICATE-----
MIIETjCCAzagAwIBAgIJANeN9f9F53lmMA0GCSqGSIb3DQEBBQUAMHcxCzAJBgNV
BAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGExETAPBgNVBAoT
CElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqGSIb3DQEJARYQ
c3VwcG9ydEBpdnBuLm5ldDAeFw0xMDA3MjQxNzQxMjBaFw0yMDA3MjExNzQxMjBa
MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwGA1UEBxMFTWFsdGEx
ETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5ldCBDQTEfMB0GCSqG
SIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBANb0cvGYrnHwXm9vZiHGIlvKDo342dE8XyyA4iIyjeSDTnC2XTdu
E/NPxQ2hc5Pi8DKFqzrmJ8qxmLRv3n+NGQsHiP+rKE2Wi6wQYzg12fgxmeLYenbH
J8UzzVCg2YFe97LGs8cBZeirYKHyErP+Od7rYot6VyUKkb5FB+Tjql6GiyiWmxIv
T9PKoFkXSI3riCiLIP1LwzLVcn0nhZvnXFk2EvVmhmjzdJWLNjqe3Zj78mQLzMdc
XFBO28kaEaydvh2k/Beu17YUqGQDt2w4sbL+DPyjD+k/NusVzV4HggISfJAKfHZz
G1cBFA3Hiu+jSkKOMJ4gC3f+WG4Hpj1XS7cCAwEAAaOB3DCB2TAdBgNVHQ4EFgQU
vCA6yNJ+VUdFGuKo/EnEQZUz874wgakGA1UdIwSBoTCBnoAUvCA6yNJ+VUdFGuKo
/EnEQZUz876he6R5MHcxCzAJBgNVBAYTAk1UMQ4wDAYDVQQIEwVNYWx0YTEOMAwG
A1UEBxMFTWFsdGExETAPBgNVBAoTCElWUE4ubmV0MRQwEgYDVQQDEwtJVlBOLm5l
dCBDQTEfMB0GCSqGSIb3DQEJARYQc3VwcG9ydEBpdnBuLm5ldIIJANeN9f9F53lm
MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAFhU6MPf42dp5U0yPE0c
ZS3g/pqd4GV4eBe7wYydv88FCScV8o2XGi3VruHKLbyGNxiD3OWwV81NNpLA8rFi
vFgaKU+meWjCRQmptKWmoFpzPtCxB59D9zqYB0TaAuGOh084ioM+qC+MMXJzYY7c
aXvOZ02b1lu44Z1GDIDxy1ONhajoRS59QmNpeoD3jtrVfGPmMwcR26TBj2nMudZK
YMjYmbORgXu/0a/4jZ43B0mvRXCX64xOmwFZHioONhrxdtGA0pNwCXYWKyJ2pnLA
6VBoEr0Hku56c0ZIDVdi3EUmO/K/XmOmmp6htKELdvjR3goiS/fC/2XTSkIJe3Va
15U=
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
sWGIGABGAHwXEAoDiZ/jjFrEZT0=
-----END CERTIFICATE-----
</ca>
<tls-auth>
Expand Down
Binary file removed app/src/main/assets/nopie_openvpn.arm64-v8a
Binary file not shown.
Binary file removed app/src/main/assets/nopie_openvpn.armeabi-v7a
Binary file not shown.
Binary file removed app/src/main/assets/nopie_openvpn.x86
Binary file not shown.
Binary file removed app/src/main/assets/nopie_openvpn.x86_64
Binary file not shown.
Binary file removed app/src/main/assets/pie_openvpn.arm64-v8a
Binary file not shown.
Binary file removed app/src/main/assets/pie_openvpn.armeabi-v7a
Binary file not shown.
Binary file removed app/src/main/assets/pie_openvpn.x86
Binary file not shown.
Binary file removed app/src/main/assets/pie_openvpn.x86_64
Binary file not shown.
Loading

0 comments on commit 91301bb

Please sign in to comment.