diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml
index abd9df6a..09d07790 100644
--- a/.github/workflows/debug.yml
+++ b/.github/workflows/debug.yml
@@ -107,7 +107,7 @@ jobs:
with:
path: |
app/libs/shadowsocks-release.aar
- key: ${{ hashFiles('shadowsocks_status') }}
+ key: ${{ hashFiles('shadowsocks/build.gradle.kts', 'shadowsocks_status') }}
- name: Install Rust
if: steps.cache.outputs.cache-hit != 'true'
run: ./run init action shadowsocks
@@ -166,7 +166,7 @@ jobs:
with:
path: |
app/libs/shadowsocks-release.aar
- key: ${{ hashFiles('shadowsocks_status') }}
+ key: ${{ hashFiles('shadowsocks/build.gradle.kts', 'shadowsocks_status') }}
- name: ShadowsocksR Cache
uses: actions/cache@v2
with:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index d46a8683..8ddbf1e1 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -64,7 +64,7 @@ jobs:
with:
path: |
app/libs/shadowsocks-release.aar
- key: ${{ hashFiles('shadowsocks_status') }}
+ key: ${{ hashFiles('shadowsocks/build.gradle.kts', 'shadowsocks_status') }}
- name: Install Rust
if: steps.cache.outputs.cache-hit != 'true'
run: ./run init action shadowsocks
@@ -124,7 +124,7 @@ jobs:
with:
path: |
app/libs/shadowsocks-release.aar
- key: ${{ hashFiles('shadowsocks_status') }}
+ key: ${{ hashFiles('shadowsocks/build.gradle.kts', 'shadowsocks_status') }}
- name: ShadowsocksR Cache
uses: actions/cache@v2
with:
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 61a9130c..fb7f4a8a 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index fe0fc871..6199cc2a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 7b08da9b..937d74e0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,8 +6,8 @@ plugins {
id "com.mikepenz.aboutlibraries.plugin"
}
-def verCode = 20
-def verName = "0.1-beta20"
+def verCode = 21
+def verName = "0.1-beta21"
def keystorePwd = null
def alias = null
@@ -169,12 +169,10 @@ dependencies {
implementation "androidx.navigation:navigation-fragment-ktx:2.3.5"
implementation "androidx.navigation:navigation-ui-ktx:2.3.5"
implementation "androidx.preference:preference-ktx:1.1.1"
-
+ implementation "androidx.appcompat:appcompat:1.2.0"
implementation project(":preferencex")
implementation project(":preferencex-simplemenu")
- implementation "androidx.appcompat:appcompat:1.2.0"
-
implementation "com.google.android.material:material:1.3.0"
implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.2"
implementation "cn.hutool:hutool-core:5.6.3"
diff --git a/app/src/main/java/io/nekohasekai/sagernet/bg/ProxyInstance.kt b/app/src/main/java/io/nekohasekai/sagernet/bg/ProxyInstance.kt
index f7ee6bdc..2674d0b3 100644
--- a/app/src/main/java/io/nekohasekai/sagernet/bg/ProxyInstance.kt
+++ b/app/src/main/java/io/nekohasekai/sagernet/bg/ProxyInstance.kt
@@ -93,7 +93,7 @@ class ProxyInstance(val profile: ProxyEntity) {
for ((index, profile) in config.index.entries) {
val port = socksPort + index
- val needChain = index == config.index.size - 1
+ val needChain = index != config.index.size - 1
when {
profile.useExternalShadowsocks() -> {
val bean = profile.requireSS()
@@ -162,8 +162,9 @@ class ProxyInstance(val profile: ProxyEntity) {
proxychainsConfigFile.writeText("strict_chain\n[ProxyList]\nsocks5 127.0.0.1 ${socksPort + index + 1}")
cacheFiles.add(proxychainsConfigFile)
- env["LD_PRELOAD"] = File(SagerNet.application.applicationInfo.nativeLibraryDir,
- Executable.PROXYCHAINS).absolutePath
+ env["LD_PRELOAD"] =
+ File(SagerNet.application.applicationInfo.nativeLibraryDir,
+ Executable.PROXYCHAINS).absolutePath
env["PROXYCHAINS_CONF_FILE"] = proxychainsConfigFile.absolutePath
}
@@ -201,8 +202,9 @@ class ProxyInstance(val profile: ProxyEntity) {
proxychainsConfigFile.writeText("strict_chain\n[ProxyList]\nsocks5 127.0.0.1 ${port + 1}")
cacheFiles.add(proxychainsConfigFile)
- env["LD_PRELOAD"] = File(SagerNet.application.applicationInfo.nativeLibraryDir,
- Executable.PROXYCHAINS).absolutePath
+ env["LD_PRELOAD"] =
+ File(SagerNet.application.applicationInfo.nativeLibraryDir,
+ Executable.PROXYCHAINS).absolutePath
env["PROXYCHAINS_CONF_FILE"] = proxychainsConfigFile.absolutePath
}
diff --git a/shadowsocks/build.gradle.kts b/shadowsocks/build.gradle.kts
index 154f9e99..9922aeda 100644
--- a/shadowsocks/build.gradle.kts
+++ b/shadowsocks/build.gradle.kts
@@ -24,6 +24,7 @@ cargo {
featureSpec.noDefaultBut(arrayOf(
"local",
"stream-cipher",
+ "aead-cipher-extra",
"logging"))
exec = { spec, toolchain ->
spec.environment("RUST_ANDROID_GRADLE_LINKER_WRAPPER_PY",