修改备用服务器文件地址

This commit is contained in:
cyh 2024-10-21 14:38:00 +08:00
parent 4fc198bd26
commit a6a429f9f0
10 changed files with 423 additions and 137 deletions

View File

@ -104,6 +104,10 @@ dependencies {
implementation("com.github.bumptech.glide:glide:4.13.2")
// implementation("com.luozm.captcha:captcha:1.1.2")
implementation("com.aliyun.dpa:oss-android-sdk:2.9.19")
}
tasks.getByName("clean", type = Delete::class) {

View File

@ -145,7 +145,7 @@ class LoginActivity : BaseActivity(), View.OnClickListener {
override fun httpFailure(httpStatus: HttpStatus.Failure) {
super.httpFailure(httpStatus)
if (httpStatus.reqType == HttpReqType.LOGIN) {
if (Utils.switchServer()) {
if (super.switchServer()) {
loginViewMode.login(username_encrypt, password_encrypt)
} else {
if (::rxDialogShapeLoading.isInitialized && rxDialogShapeLoading.isShowing) {

View File

@ -102,6 +102,8 @@ class SplashActivity : BaseActivity() {
// }
// }
var clashBinder = MainApplication.getApp()?.let {
ClashManager(it).wrap() as IClashManager
}
@ -135,6 +137,10 @@ class SplashActivity : BaseActivity() {
override fun err() {
Log.e("data", "getHost err")
//失败也注册
MainScope().launch {
isNeedRegister()
}
}
})
}
@ -256,6 +262,7 @@ class SplashActivity : BaseActivity() {
splashAtyVM.register(params)
}
@Synchronized
fun doRegisterByEncryption() {
var req_json = JsonObject()
@ -509,7 +516,7 @@ class SplashActivity : BaseActivity() {
HttpReqType.REGISTER -> {
com.yingmao.clash.common.log.Log.d("httpFailure HttpReqType.REGISTER")
if (Utils.switchServer()) {//切换服务器并直接重试
if (super.switchServer()) {//切换服务器并直接重试
// doRegister()
doRegisterByEncryption()
} else {
@ -548,7 +555,7 @@ class SplashActivity : BaseActivity() {
HttpReqType.CHECK_LOGIN -> {
com.yingmao.clash.common.log.Log.d("httpFailure HttpReqType.CHECK_LOGIN")
if (Utils.switchServer()) {
if (super.switchServer()) {
splashAtyVM.checkLogin()
} else {
toLoginPage()

View File

@ -8,6 +8,7 @@ import android.content.pm.ActivityInfo
import android.content.res.Configuration
import android.os.Bundle
import android.text.TextUtils
import android.util.Log
import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.InputMethodManager
@ -15,8 +16,12 @@ import android.widget.*
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModelProvider
import com.orhanobut.logger.Logger
import com.tencent.mmkv.MMKV
import com.yingmao.clash.BuildConfig
import com.yingmao.clash.R
import com.yingmao.clash.act.MainActivity
import com.yingmao.clash.conf.BZYConstants
import com.yingmao.clash.conf.Conf
import com.yingmao.clash.core.bridge.ClashException
import com.yingmao.clash.core.model.TunnelState
//import com.yingmao.clash.design.model.DarkMode
@ -250,4 +255,42 @@ open class BaseActivity : AppCompatActivity(), CoroutineScope by MainScope(), Br
baseLoading?.cancel()
}
}
@Synchronized
fun switchServer(): Boolean {
var isChange = false
val mmkv = MMKV.defaultMMKV()
val originalUrl =
mmkv.decodeString(BZYConstants.MMKV_KEY_CURRENT_HOST, BuildConfig.service_url)
var newUrlString = originalUrl
val routerHost = mmkv.decodeStringSet(BZYConstants.MMKV_KEY_ROUTER_HOST, HashSet())
routerHost?.let {
// it.forEach { url ->
// com.yingmao.clash.common.log.Log.d("url==>$url")
// }
if (it.isEmpty()) {
Log.d(Conf.TAG, "routerHost isEmpty")
return isChange
}
Log.d(Conf.TAG, "routerHost not empty")
val iterator = it.iterator()
while (iterator.hasNext()) {
val newUrl = iterator.next()
//Log.e("Data", "遍历备用的url:$newUrl")
if (newUrl == originalUrl) {
iterator.remove()
} else {
//Log.e("Retry", "切换到新url:$newUrl")
mmkv.encode(BZYConstants.MMKV_KEY_OLD_CURRENT_HOST, originalUrl)
isChange = true
newUrlString = newUrl
iterator.remove()
break
}
}
mmkv.encode(BZYConstants.MMKV_KEY_ROUTER_HOST, routerHost)
mmkv.encode(BZYConstants.MMKV_KEY_CURRENT_HOST, newUrlString)
}
return isChange
}
}

View File

@ -157,10 +157,10 @@ interface HttpApi {
// @GET("/darkSuperman/lazy/blob/master/fire.json")
// suspend fun getHost() : String
@GET("/darkSuperman/lazy/raw/master/host.json")
@GET("/host.txt")
suspend fun getHost(): String
@GET("/darkSuperman/lazy/raw/master/hostdef.json")
@GET("/hostdef.txt")
suspend fun getHostDef(): String
// @Headers(

View File

@ -51,7 +51,7 @@ class NetService private constructor() : INetService {
fun getCurrentUrl(): String {
val hh = if (!BuildConfig.is_back_cn) {
// "https://app.bazhuayujiasu.cc:18001"
// "https://app.bazhuayujiasu1.cc:18001"
// "https://api.gaogaoshousoft.cc:18001"
// "https://api.yingmaox.cc:8700"
// "https://113.108.210.50:21002"

View File

@ -26,6 +26,7 @@ public class AESUtil {
public final static String MD5 = "MD5";
public final static String SHA1 = "SHA1";
public final static String SHA256 = "SHA256";
/**
* 返回一个签名的对应类型的字符串
*

View File

@ -287,42 +287,5 @@ object Utils {
}
}
@Synchronized
fun switchServer(): Boolean {
var isChange = false
val mmkv = MMKV.defaultMMKV()
val originalUrl =
mmkv.decodeString(BZYConstants.MMKV_KEY_CURRENT_HOST, BuildConfig.service_url)
var newUrlString = originalUrl
val routerHost = mmkv.decodeStringSet(BZYConstants.MMKV_KEY_ROUTER_HOST, HashSet())
routerHost?.let {
it.forEach { url ->
com.yingmao.clash.common.log.Log.d("url==>$url")
}
if (it.isEmpty()) {
Log.d(Conf.TAG, "routerHost isEmpty")
return isChange
}
Log.d(Conf.TAG, "routerHost not empty")
val iterator = it.iterator()
while (iterator.hasNext()) {
val newUrl = iterator.next()
//Log.e("Data", "遍历备用的url:$newUrl")
if (newUrl == originalUrl) {
iterator.remove()
} else {
//Log.e("Retry", "切换到新url:$newUrl")
mmkv.encode(BZYConstants.MMKV_KEY_OLD_CURRENT_HOST, originalUrl)
isChange = true
newUrlString = newUrl
iterator.remove()
break
}
}
mmkv.encode(BZYConstants.MMKV_KEY_ROUTER_HOST, routerHost)
mmkv.encode(BZYConstants.MMKV_KEY_CURRENT_HOST, newUrlString)
}
return isChange
}
}

View File

@ -15,6 +15,8 @@ import com.yingmao.clash.listener.AsyncCallback
import com.yingmao.clash.net.http.HttpApi
import com.yingmao.clash.net.http.HttpReqType
import com.yingmao.clash.net.http.NetService
import com.yingmao.clash.util.AESUtil
import kotlinx.coroutines.Job
@ -40,7 +42,9 @@ class SplashAtyVM : PublicViewMode() {
}
fun getHost(function: () -> Job) {
val rt = NetService.instances.createFreeBaseUrl("https://gitee.com/")
NetService.instances
val rt = NetService.instances.createFreeBaseUrl("https://yingmao.oss-cn-hongkong.aliyuncs.com/")
doAsyncNoNeedReturn(HttpReqType.GET_HOST) {
try { //TODO bug 会引起崩溃
val host = if (BuildConfig.is_ym) {
@ -52,7 +56,7 @@ class SplashAtyVM : PublicViewMode() {
val hostSet = host.split("+").toSet()
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_ROUTER_HOST, hostSet)
}
Log.e("data", "获取到的url1:$host")
} catch (e: Exception) {
e.printStackTrace()
}
@ -60,23 +64,26 @@ class SplashAtyVM : PublicViewMode() {
}
fun getHost(callback: AsyncCallback) {
val rt = NetService.instances.createFreeBaseUrl("https://gitee.com/")
val rt = NetService.instances.createFreeBaseUrl("https://yingmao.oss-cn-hongkong.aliyuncs.com/")
doAsyncNoNeedReturn(HttpReqType.GET_HOST) {
try { //TODO bug 会引起崩溃
if (BuildConfig.productId == "182265") {
} else {
val host = if (BuildConfig.is_ym) {
var host = if (BuildConfig.is_ym) {
rt.getHost()
} else {
rt.getHostDef()
}
Log.e("data", "2:$host")
if (!TextUtils.isEmpty(host)) {
host= AESUtil.decrypt(host)
val hostSet = host.split("+").toSet()
MMKV.defaultMMKV().encode(BZYConstants.MMKV_KEY_ROUTER_HOST, hostSet)
}
Log.e("data", "2:$host")
Log.e("data", "22:$host")
}
callback.suc()
} catch (e: Exception) {

View File

@ -51,8 +51,8 @@ subprojects {
minSdk = 21
//noinspection ExpiredTargetSdkVersion
targetSdk = 31
versionName = "1.0.2.0"
versionCode = 1020
versionName = "1.0.2.1"
versionCode = 1021
resValue("string", "release_name", "v$versionName")
resValue("integer", "release_code", "$versionCode")
externalNativeBuild {
@ -101,90 +101,48 @@ subprojects {
)
)
}
//八爪鱼
create("182227") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:18001\"")
buildConfigField("String", "productId", "\"182227\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182250") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:18001\"")
buildConfigField("String", "productId", "\"182250\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182256") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:18001\"")
buildConfigField("String", "productId", "\"182256\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182251") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:18001\"")
buildConfigField("String", "productId", "\"182251\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
//影猫
create("6768") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
}
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "true")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:8700\"")
buildConfigField("boolean", "is_free", "false")
buildConfigField("String", "productId", "\"6768\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
)
)
}
create("2256") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "true")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:8700\"")
buildConfigField("boolean", "is_free", "false")
buildConfigField("String", "productId", "\"2256\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name_gz", "APP_ICON" to "@mipmap/ic_logo_9972"
)
)
}
create("9586") {
isDefault = true
dimension = flavorDimensionList[0]
@ -195,7 +153,7 @@ subprojects {
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "true")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:8700\"")
buildConfigField("boolean", "is_free", "false")
buildConfigField("String", "productId", "\"9586\"")
@ -218,7 +176,7 @@ subprojects {
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "true")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:8700\"")
buildConfigField("boolean", "is_free", "false")
buildConfigField("String", "productId", "\"9707\"")
@ -240,7 +198,7 @@ subprojects {
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "true")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://api.ymvpnpro.cc:8700\"")
buildConfigField("boolean", "is_free", "false")
buildConfigField("String", "productId", "\"9686\"")
@ -619,6 +577,309 @@ subprojects {
)
)
}
//八爪鱼 182227 182250 182256 182251
create("182227") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182227\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182250") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182250\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182256") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182256\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182251") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
if (isApp) {
// applicationIdSuffix = ".meta"
}
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182251\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182258") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182258\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("11111") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"11111\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182254") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182254\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182223") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182223\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182222") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182222\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182257") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182257\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182225") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182225\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182224") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182224\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182226") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182226\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182261") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182261\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182221") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182221\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182228") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182228\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
create("182253") {
isDefault = true
dimension = flavorDimensionList[0]
buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"false\")")
buildConfigField("boolean", "is_free", "false")
buildConfigField("boolean", "is_back_cn", "false")
buildConfigField("boolean", "is_ym", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"182253\"")
manifestPlaceholders(
mapOf(
"APP_NAME" to "@string/app_name", "APP_ICON" to "@mipmap/logo"
)
)
}
//太子 182265
@ -633,7 +894,7 @@ subprojects {
buildConfigField("boolean", "is_ym", "true")
buildConfigField("boolean", "is_free", "false")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://api.otcopusvpn.cc:18008\"")
buildConfigField("String", "productId", "\"182265\"")
manifestPlaceholders(
@ -656,8 +917,8 @@ subprojects {
buildConfigField("boolean", "is_ym", "false")
buildConfigField("boolean", "is_free", "true")
buildConfigField("String", "applicationId", "\"com.yingmao.clash\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:18001\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:18001\"")
// buildConfigField("String", "service_url", "\"https://api.gaogaoshousoft.cc:8700\"")
buildConfigField("String", "service_url", "\"https://app.bazhuayujiasu.cc:8700\"")
buildConfigField("String", "productId", "\"22222\"")
manifestPlaceholders(
mapOf(