Codsiyada HTTPS ee caadiga ah ee app-ka iOS waxay ka muuqan karaan debugging proxy halka taraafikada WebSocket ay maqan tahay. Marka hore aqoonsado qaabka WebSocket: URLSessionWebSocketTask waxay isticmaali kartaa habaynta proxy heer-session ah, halka maktabadda furta socketskeeda u gaar ah ay u baahan tahay isdhexgalka la taageeray oo u gaar ah. Xiriirka Network.framework ceyriin ee iOS 17+, habee macnaha proxy ee NWConnection laftiisa.

iOS 17 ama ka dambeeya, samee session-ka iyada oo leh SOCKSv5 proxy cad:

import Foundation
import Network

@available(iOS 17.0, *)
func makeDebugSession() -> URLSession {
    let configuration = URLSessionConfiguration.default
    let endpoint = NWEndpoint.hostPort(
        host: "192.0.2.10", port: 8889)
    configuration.proxyConfigurations = [
        ProxyConfiguration(socksv5Proxy: endpoint)
    ]
    return URLSession(configuration: configuration)
}

Ku beddel ciwaanka iyo dekedda dukumeentiga dhegeysanaha SOCKS la gaari karo ee debugging proxy-ga jira. Ku shid dhegeysanahaas app-ka proxy. Dhegeysanaha HTTP ee uu leeyahay wuxuu ku noqon karaa deked kale.

Samee webSocketTask session-ka la soo celiyay. Hawsha lagu sameeyay URLSession kale ma dhaxasho beddelka session-kan. Array proxyConfigurations madhan wuxuu isticmaalaa caadiga nidaamka; ma aha doorasho cad oo waddo toos ah.

Gaaritaanka iyo fariimaha la akhriyi karo waa marxalado gooni ah

Telefoon jir ah wuxuu u baahan yahay ciwaan gaara kombuyuutarka debugging-ka. Telefoonkaas, 127.0.0.1 waxay tilmaamaysaa telefoonka laftiisa. Hubi interface-ka dhegeysanaha iyo gelitaanka macmiilka ee proxy-ga la ogolaaday marka xiriirka uusan waligiis gaarin.

Waddada SOCKS waxay qaaddaa xiriirka. Akhrinta nuxurka wss waxay dheerayn u baahan tahay habaynta baaritaanka TLS ee qalabka debugging-ka iyo kalsooni ku habboon qalabka. Certificate pinning ama hirgelin TLS gooni ah ayaa laga yaabaa inay ka hortagto baaritaankaas xitaa marka taraafikadu gaarto dhegeysanaha.

Raadi isdhaafsiga WebSocket iyo fariimaha ka dib marka xiriirka la sameeyo. Inaad aragto kaliya hal codsi baaritaan oo ka yimid app Socket.IO ma aha caddayn in qaabka WebSocket dambe uu isticmaalay isla waddadaas. Ku hay habayntan debugging-ka cad gudaha deegaanka horumarinta ee app-ka loogu talagalay.

Maqaallo la xiriira