kopia lustrzana https://github.com/ryukoposting/Signal-Android
Start StaticIpResolver testing.
rodzic
8910eac6e0
commit
a95e695a97
|
@ -124,15 +124,16 @@ task postTranslateIpFetch {
|
||||||
group 'Translate'
|
group 'Translate'
|
||||||
description 'Fetches static IPs for core hosts and writes them to static-ips.gradle'
|
description 'Fetches static IPs for core hosts and writes them to static-ips.gradle'
|
||||||
doLast {
|
doLast {
|
||||||
|
def staticIpResolver = new StaticIpResolver()
|
||||||
new File(projectDir, "static-ips.gradle").text = """
|
new File(projectDir, "static-ips.gradle").text = """
|
||||||
ext.service_ips='${StaticIpResolver.resolveToBuildConfig("chat.signal.org")}'
|
ext.service_ips='${staticIpResolver.resolveToBuildConfig("chat.signal.org")}'
|
||||||
ext.storage_ips='${StaticIpResolver.resolveToBuildConfig("storage.signal.org")}'
|
ext.storage_ips='${staticIpResolver.resolveToBuildConfig("storage.signal.org")}'
|
||||||
ext.cdn_ips='${StaticIpResolver.resolveToBuildConfig("cdn.signal.org")}'
|
ext.cdn_ips='${staticIpResolver.resolveToBuildConfig("cdn.signal.org")}'
|
||||||
ext.cdn2_ips='${StaticIpResolver.resolveToBuildConfig("cdn2.signal.org")}'
|
ext.cdn2_ips='${staticIpResolver.resolveToBuildConfig("cdn2.signal.org")}'
|
||||||
ext.cds_ips='${StaticIpResolver.resolveToBuildConfig("api.directory.signal.org")}'
|
ext.cds_ips='${staticIpResolver.resolveToBuildConfig("api.directory.signal.org")}'
|
||||||
ext.kbs_ips='${StaticIpResolver.resolveToBuildConfig("api.backup.signal.org")}'
|
ext.kbs_ips='${staticIpResolver.resolveToBuildConfig("api.backup.signal.org")}'
|
||||||
ext.sfu_ips='${StaticIpResolver.resolveToBuildConfig("sfu.voip.signal.org")}'
|
ext.sfu_ips='${staticIpResolver.resolveToBuildConfig("sfu.voip.signal.org")}'
|
||||||
ext.content_proxy_ips='${StaticIpResolver.resolveToBuildConfig("contentproxy.signal.org")}'
|
ext.content_proxy_ips='${staticIpResolver.resolveToBuildConfig("contentproxy.signal.org")}'
|
||||||
""".stripIndent().trim()
|
""".stripIndent().trim()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package org.signal.buildtools
|
||||||
import org.xbill.DNS.ARecord
|
import org.xbill.DNS.ARecord
|
||||||
import org.xbill.DNS.Lookup
|
import org.xbill.DNS.Lookup
|
||||||
import org.xbill.DNS.Record
|
import org.xbill.DNS.Record
|
||||||
|
import org.xbill.DNS.Resolver
|
||||||
import org.xbill.DNS.SimpleResolver
|
import org.xbill.DNS.SimpleResolver
|
||||||
import org.xbill.DNS.Type
|
import org.xbill.DNS.Type
|
||||||
import java.net.UnknownHostException
|
import java.net.UnknownHostException
|
||||||
|
@ -12,7 +13,9 @@ import kotlin.streams.toList
|
||||||
* A tool to resolve hostname to static IPs.
|
* A tool to resolve hostname to static IPs.
|
||||||
* Feeds into our custom DNS resolver to provide a static IP fallback for our services.
|
* Feeds into our custom DNS resolver to provide a static IP fallback for our services.
|
||||||
*/
|
*/
|
||||||
object StaticIpResolver {
|
class StaticIpResolver @JvmOverloads constructor(
|
||||||
|
private val resolverProvider: () -> Resolver = { SimpleResolver("1.1.1.1") }
|
||||||
|
) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolves a hostname to a list of IPs, represented as a Java array declaration. e.g.
|
* Resolves a hostname to a list of IPs, represented as a Java array declaration. e.g.
|
||||||
|
@ -23,7 +26,6 @@ object StaticIpResolver {
|
||||||
*
|
*
|
||||||
* This is intended to be injected as a BuildConfig.
|
* This is intended to be injected as a BuildConfig.
|
||||||
*/
|
*/
|
||||||
@JvmStatic
|
|
||||||
fun resolveToBuildConfig(hostName: String): String {
|
fun resolveToBuildConfig(hostName: String): String {
|
||||||
val ips: List<String> = resolve(hostName)
|
val ips: List<String> = resolve(hostName)
|
||||||
val builder = StringBuilder()
|
val builder = StringBuilder()
|
||||||
|
@ -54,7 +56,7 @@ object StaticIpResolver {
|
||||||
|
|
||||||
private fun resolveOnce(hostName: String): List<String> {
|
private fun resolveOnce(hostName: String): List<String> {
|
||||||
try {
|
try {
|
||||||
val resolver = SimpleResolver("1.1.1.1")
|
val resolver = resolverProvider()
|
||||||
val lookup: Lookup = doLookup(hostName)
|
val lookup: Lookup = doLookup(hostName)
|
||||||
|
|
||||||
lookup.setResolver(resolver)
|
lookup.setResolver(resolver)
|
||||||
|
|
Ładowanie…
Reference in New Issue