mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-10 06:14:35 -05:00
Fix SOCKS5 authentication by setting a default Authenticator (#988)
* Fix SOCKS5 authentication by setting a default Authenticator * Fix lint
This commit is contained in:
@@ -46,6 +46,8 @@ import xyz.nulldev.ts.config.GlobalConfigManager
|
|||||||
import xyz.nulldev.ts.config.initLoggerConfig
|
import xyz.nulldev.ts.config.initLoggerConfig
|
||||||
import xyz.nulldev.ts.config.setLogLevelFor
|
import xyz.nulldev.ts.config.setLogLevelFor
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
import java.net.Authenticator
|
||||||
|
import java.net.PasswordAuthentication
|
||||||
import java.security.Security
|
import java.security.Security
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
@@ -265,20 +267,23 @@ fun applicationSetup() {
|
|||||||
System.setProperty("socksProxyPort", proxyPort)
|
System.setProperty("socksProxyPort", proxyPort)
|
||||||
System.setProperty("socksProxyVersion", proxyVersion.toString())
|
System.setProperty("socksProxyVersion", proxyVersion.toString())
|
||||||
|
|
||||||
if (proxyUsername.isNotBlank()) {
|
Authenticator.setDefault(
|
||||||
System.setProperty("java.net.socks.username", proxyUsername)
|
object : Authenticator() {
|
||||||
} else {
|
override fun getPasswordAuthentication(): PasswordAuthentication? {
|
||||||
System.clearProperty("java.net.socks.username")
|
if (requestingProtocol.startsWith("SOCKS", ignoreCase = true)) {
|
||||||
}
|
return PasswordAuthentication(proxyUsername, proxyPassword.toCharArray())
|
||||||
if (proxyPassword.isNotBlank()) {
|
}
|
||||||
System.setProperty("java.net.socks.password", proxyPassword)
|
|
||||||
} else {
|
return null
|
||||||
System.clearProperty("java.net.socks.password")
|
}
|
||||||
}
|
},
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
System.clearProperty("socksProxyHost")
|
System.clearProperty("socksProxyHost")
|
||||||
System.clearProperty("socksProxyPort")
|
System.clearProperty("socksProxyPort")
|
||||||
System.clearProperty("socksProxyVersion")
|
System.clearProperty("socksProxyVersion")
|
||||||
|
|
||||||
|
Authenticator.setDefault(null)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ignoreInitialValue = false,
|
ignoreInitialValue = false,
|
||||||
|
|||||||
Reference in New Issue
Block a user