21 lines
741 B
Kotlin
21 lines
741 B
Kotlin
package org.fdroid.download
|
|
|
|
import io.ktor.client.engine.ProxyConfig
|
|
import io.ktor.client.engine.ProxyType.HTTP
|
|
import io.ktor.client.engine.ProxyType.SOCKS
|
|
import io.ktor.client.engine.resolveAddress
|
|
import io.ktor.client.engine.type
|
|
import io.ktor.http.hostIsIp
|
|
import io.ktor.util.network.port
|
|
|
|
private const val DEFAULT_PROXY_HOST = "127.0.0.1"
|
|
private const val DEFAULT_PROXY_HTTP_PORT = 8118
|
|
private const val DEFAULT_PROXY_SOCKS_PORT = 9050
|
|
|
|
internal fun ProxyConfig?.isTor(): Boolean {
|
|
if (this == null || !hostIsIp(DEFAULT_PROXY_HOST)) return false
|
|
val address = resolveAddress()
|
|
return (type == HTTP && address.port == DEFAULT_PROXY_HTTP_PORT) ||
|
|
(type == SOCKS && address.port == DEFAULT_PROXY_SOCKS_PORT)
|
|
}
|