Llwybr WebSockets URLSession drwy SOCKS5 ar iOS 17+
Ffurfweddwch URLSessionWebSocketTask drwy ddirprwy SOCKSv5 ar lefel sesiwn ar iOS 17 neu ddiweddarach, a gwahanwch lwybr oddi wrth ddatgryptio WSS.
Gall ceisiadau HTTPS arferol ap iOS ymddangos mewn dirprwy dadfygio tra bo ei draffig WebSocket ar goll. Nodwch gludydd y WebSocket yn gyntaf: gall URLSessionWebSocketTask ddefnyddio ffurfwedd ddirprwy ar lefel sesiwn, tra mae llyfrgell sy'n agor ei socedi ei hun yn anghen ei hintegreiddiad cefnogol ei hun. Ar gyfer cysylltiad Network.framework crai ar iOS 17+, ffurfweddwch gyd-destun dirprwy NWConnection ei hun.
Ar iOS 17 neu ddiweddarach, crëwch y sesiwn gyda dirprwy SOCKSv5 penodol:
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)
}Amnewidiwch gyfeiriad a phorth y ddogfennaeth â'r gwrandäwr SOCKS cyrraeddadwy o'r dirprwy dadfygio presennol. Galluogwch y gwrandäwr hwnnw yn y rhaglen ddirprwy. Gall ei wrandäwr HTTP fod ar borth arall.
Crëwch y webSocketTask o'r sesiwn a ddychwelwyd. Nid yw tasg a grëwyd drwy URLSession arall yn etifeddu troshawniad y sesiwn hon. Mae amrywiaeth proxyConfigurations gwag yn defnyddio rhagosodiadau'r system; nid yw'n ddewis penodol o lwybr uniongyrchol.
Mae cyrraeddadwyedd a negeseuon darllenadwy yn garreg filltir ar wahân
Mae angen cyfeiriad ar ffôn corfforol sy'n cyrraedd y cyfrifiadur dadfygio. Ar y ffôn hwnnw, mae 127.0.0.1 yn dynodi'r ffôn ei hun. Gwiriwch ryngwyneb y gwrandäwr a mynediad cleient a ganiateir y dirprwy pan na fydd y cysylltiad byth yn cyrraedd.
Mae llwybr SOCKS yn cario'r cysylltiad. Mae darllen cynnwys wss hefyd angen gosodiad archwilio TLS yr offeryn dadfygio a dewis ymddiried priodol ar y ddyfais. Gall pinio tystysgrifau neu weithrediad TLS ar wahân rwystro'r archwiliad hwnnw hyd yn oed pan fydd y traffig yn cyrraedd y gwrandäwr.
Chwiliwch am y cyfnewidiad WebSocket a'r negeseuon ar ôl sefydlu'r cysylltiad. Nid yw gweld dim ond un cais arolygu gan ap Socket.IO yn brawf bod ei gludydd WebSocket diweddarach wedi defnyddio'r un llwybr. Cadwch y ffurfwedd dadfygio penodol hwn o fewn amgylchedd datblygu bwriadedig yr ap.