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 протоколын сонголтуудыг мөн өгөх ёстой.

Холбоотой нийтлэлүүд