Air iOS 17 agus nas fhaide air adhart, faodaidh Network.framework proxy SOCKSv5 a chur an sàs tro cho-theacsa prìobhaideachais. Ceangail an co-theacsa sin ris na paramadairean mus tèid an ceangal a chruthachadh:

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)
}

Bidh an gnìomh a’ tilleadh ceangal TLS nach deach a thòiseachadh. Stàlaich làimhseachadh staid na h-aplacaid, tòisich e air a’ chiudha a bha san amharc, agus an uair sin iomlaid pròtacal na h-aplacaid tron t-slighe àbhaisteach cur is faighinn.

’S e proxy.example:1080 an èistear SOCKS. Airson ceanglaichean seirbheis poblach ceadaichte, bidh liosta proxy SOCKS5 a’ solarachadh thagraichean aoigh is puirt. Fuirichidh service.example:443 mar an ceann-uidhe. Cuiridh an co-theacsa prìobhaideachais a rèiteachaidhean proxy an sàs air ceanglaichean a tha co-cheangailte ris a’ cho-theacsa sin; cha ghabh ceangal neo-cheangailte le paramadairean eile an suidheachadh seo mar sheilbh.

’S e seo eadar-aghaidh ceangail Network.framework. Bidh tar-sgrìobhadh proxy URLSession no suidheachadh stòr-dàta WKWebView a’ rèiteachadh nan luchd-cleachdaidh air leth sin. Airson WebSocket a chaidh a thogail air NWConnection, feumaidh an aplacaid roghainnean pròtacail WebSocket iomchaidh a thoirt seachad cuideachd.

Artaigilean co-cheangailte