mirror of
https://github.com/Drop-OSS/libtailscale.git
synced 2026-01-30 20:55:18 +01:00
swift: fix proxy settings
updates tailscale/tailscale#15802 Updates the proxy settings. These more modern constants work with both macOS and iOS, for both localapi and NSURLConnection socks to tailnet URLs
This commit is contained in:
committed by
Jonathan Nobels
parent
0b970d454c
commit
66906566f8
@@ -5,7 +5,7 @@ import SwiftUI
|
||||
|
||||
@main
|
||||
struct HelloFromTailscaleApp: App {
|
||||
let manager = HelloManager()
|
||||
let manager = HelloManager.shared
|
||||
|
||||
var body: some Scene {
|
||||
WindowGroup {
|
||||
|
||||
@@ -25,6 +25,8 @@ protocol Dialer: Actor {
|
||||
actor HelloManager: Dialer {
|
||||
var node: TailscaleNode?
|
||||
|
||||
static let shared = HelloManager()
|
||||
|
||||
let logger = Logger()
|
||||
|
||||
let config: Configuration
|
||||
@@ -110,7 +112,8 @@ actor HelloManager: Dialer {
|
||||
|
||||
// Request a resource from the tailnet...
|
||||
let url = URL(string: Settings.tailnetServer)!
|
||||
let req = URLRequest(url: url)
|
||||
var req = URLRequest(url: url)
|
||||
|
||||
|
||||
let (data, _) = try await session.data(for: req)
|
||||
await setMessage("\(Settings.tailnetServer) says:\n \(String(data: data, encoding: .utf8) ?? "(crickets!)")")
|
||||
|
||||
@@ -20,21 +20,16 @@ public extension URLSessionConfiguration {
|
||||
}
|
||||
|
||||
|
||||
var config: [CFString: Any] = [
|
||||
let config: [CFString: Any] = [
|
||||
kCFProxyTypeKey: kCFProxyTypeSOCKS,
|
||||
kCFProxyUsernameKey: "tsnet",
|
||||
kCFProxyPasswordKey: proxyConfig.proxyCredential,
|
||||
kCFNetworkProxiesHTTPEnable: true,
|
||||
kCFNetworkProxiesHTTPProxy: ip,
|
||||
kCFNetworkProxiesHTTPPort: port,
|
||||
kCFProxyHostNameKey: ip,
|
||||
kCFProxyPortNumberKey: port
|
||||
]
|
||||
|
||||
#if os(macOS)
|
||||
config[kCFNetworkProxiesHTTPSEnable] = true
|
||||
#endif
|
||||
|
||||
self.connectionProxyDictionary = config
|
||||
|
||||
|
||||
return proxyConfig
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user