Default disconnect swdc + pre-check connect message

This commit is contained in:
relikd
2020-09-14 12:56:06 +02:00
parent b1cddc796e
commit 762263bfbd
3 changed files with 10 additions and 6 deletions

View File

@@ -1,5 +1,6 @@
import NetworkExtension
let connectMessage: Data = "CONNECT".data(using: .ascii)!
let swcdUserAgent: Data = "User-Agent: swcd".data(using: .ascii)!
fileprivate var hook : GlassVPNHook!
@@ -25,7 +26,9 @@ class LDObserverFactory: ObserverFactory {
let kill = hook.processDNSRequest(session.host)
if kill { socket.forceDisconnect() }
case .readData(let data, on: let socket):
if hook.forceDisconnectSWCD, data.range(of: swcdUserAgent) != nil {
if hook.forceDisconnectSWCD,
data.starts(with: connectMessage),
data.range(of: swcdUserAgent) != nil {
socket.disconnect()
}
default: