iOS 17+ дээр NWConnection SOCKS5 прокси тохируулах
NWConnection үүсгэхийн өмнө iOS 17 SOCKSv5 ProxyConfiguration-ыг NWParameters.PrivacyContext-той холбоно уу.
iOS 17 болон түүнээс дээш хувилбарт Network.framework нь нууцлалын контекстээр дамжуулан SOCKSv5 прокси ашиглах боломжтой. Холболт үүсгэхийн өмнө тэр контекстийг параметрүүдтэй холбоно уу:
import Network
@available(iOS 17.0, *)
func makeConnection() -> NWConnection {
let parameters = NWParameters.tls
let context = NWParameters.PrivacyContext(description: "Service route")
let endpoint = NWEndpoint.hostPort(
host: "proxy.example", port: 1080)
context.proxyConfigurations = [
ProxyConfiguration(socksv5Proxy: endpoint)
]
parameters.setPrivacyContext(context)
return NWConnection(
host: "service.example", port: 443, using: parameters)
}
Функц эхлээгүй TLS холболтыг буцаана. Аппын төлөв зохицуулалтыг суулгаж, зориулалтын дараалалд эхлүүлээд, дараа нь ердийн илгээх, хүлээн авах замаар аппын протоколыг солилцоно уу.
proxy.example:1080 нь SOCKS сонсогч юм. Зөвшөөрөгдсөн нийтийн үйлчилгээний холболтын хувьд SOCKS5 прокси жагсаалт хост болон портын нэр дэвшигчдийг өгдөг. service.example:443 очих цэг хэвээр байна. Нууцлалын контекст өөрийн прокси тохиргоог тухайн контексттой холбогдсон холболтод хэрэглэнэ; өөр параметртэй холбоогүй холболт үүсгэхэд энэ тохиргоо өвлөгдөхгүй.
Энэ бол Network.framework-ийн холболтын интерфейс юм. URLSession проксиг дарж бичих эсвэл WKWebView өгөгдлийн сангийн тохиргоо нь тэдгээр тусдаа хэрэглэгчдийг тохируулдаг. NWConnection дээр бүтээсэн WebSocket-ийн хувьд апп нь тохирох WebSocket протоколын сонголтуудыг мөн өгөх ёстой.