This commit is contained in:
2dust committed 2024-02-10 11:59:00 +08:00
1 parent eb75666c85
commit ce2d1c5e0d
1 file changed
+33 -24
@@ -780,7 +780,8 @@ object AngConfigManager {
dicQuery["reserved"] = Utils.urlEncode( dicQuery["reserved"] = Utils.urlEncode(
Utils.removeWhiteSpace(outbound.settings?.reserved?.joinToString()) Utils.removeWhiteSpace(outbound.settings?.reserved?.joinToString())
.toString() .toString()
)} )
}
dicQuery["address"] = Utils.urlEncode( dicQuery["address"] = Utils.urlEncode(
Utils.removeWhiteSpace((outbound.settings?.address as List<*>).joinToString()) Utils.removeWhiteSpace((outbound.settings?.address as List<*>).joinToString())
.toString() .toString()
@@ -986,32 +987,40 @@ object AngConfigManager {
&& server.contains("outbounds") && server.contains("outbounds")
&& server.contains("routing") && server.contains("routing")
) { ) {
val gson = GsonBuilder().setPrettyPrinting().create() try {
val serverList: Array<V2rayConfig> = Gson().fromJson(server, Array<V2rayConfig>::class.java) val gson = GsonBuilder().setPrettyPrinting().create()
if (serverList.size > 0) { val serverList: Array<V2rayConfig> =
var count = 0 Gson().fromJson(server, Array<V2rayConfig>::class.java)
for (srv in serverList) { if (serverList.isNotEmpty()) {
if (srv.inbounds != null && srv.outbounds != null && srv.routing != null) { var count = 0
var config = ServerConfig.create(EConfigType.CUSTOM) for (srv in serverList) {
config.remarks = srv.remarks ?: "%04d-".format(count + 1) + System.currentTimeMillis().toString() if (srv.inbounds != null && srv.outbounds != null && srv.routing != null) {
config.subscriptionId = subid val config = ServerConfig.create(EConfigType.CUSTOM)
config.fullConfig = srv config.remarks = srv.remarks
var key = MmkvManager.encodeServerConfig("", config) ?: ("%04d-".format(count + 1) + System.currentTimeMillis()
serverRawStorage?.encode(key, gson.toJson(srv)) .toString())
count = count + 1 config.subscriptionId = subid
config.fullConfig = srv
val key = MmkvManager.encodeServerConfig("", config)
serverRawStorage?.encode(key, gson.toJson(srv))
count += 1
}
} }
return count
} }
return count } catch (e: Exception) {
} else { // For compatibility e.printStackTrace()
val config = ServerConfig.create(EConfigType.CUSTOM)
config.subscriptionId = subid
config.fullConfig = Gson().fromJson(server, V2rayConfig::class.java)
config.remarks = System.currentTimeMillis().toString()
// config.remarks = config.fullConfig?.remarks ?: System.currentTimeMillis().toString()
val key = MmkvManager.encodeServerConfig("", config)
serverRawStorage?.encode(key, server)
return 1
} }
// For compatibility
val config = ServerConfig.create(EConfigType.CUSTOM)
config.subscriptionId = subid
config.fullConfig = Gson().fromJson(server, V2rayConfig::class.java)
config.remarks = System.currentTimeMillis().toString()
// config.remarks = config.fullConfig?.remarks ?: System.currentTimeMillis().toString()
val key = MmkvManager.encodeServerConfig("", config)
serverRawStorage?.encode(key, server)
return 1
} else { } else {
return 0 return 0
} }