iOS 17+ இல் SOCKS5 வழியாக URLSession WebSocket-ஐ வழிநடத்துங்கள்
iOS 17 அல்லது அதற்குப் பிந்தைய பதிப்பில் அமர்வு-நிலை SOCKSv5 ப்ராக்ஸி வழியாக URLSessionWebSocketTask-ஐ உள்ளமைத்து, வழிநடத்தலை WSS மறைகுறியாக்கத்திலிருந்து பிரிக்கவும்.
iOS செயலியின் சாதாரண HTTPS கோரிக்கைகள் பிழைத்திருத்த ப்ராக்ஸியில் தோன்றலாம், ஆனால் அதன் WebSocket போக்குவரத்து காணப்படாது. முதலில் WebSocket இயக்கத்தை அடையாளம் காணுங்கள்: URLSessionWebSocketTask அமர்வு-நிலை ப்ராக்ஸி உள்ளமைவைப் பயன்படுத்தலாம், ஆனால் தனது சொந்த சாக்கெட்டுகளைத் திறக்கும் நூலகத்திற்கு அதன் சொந்த ஆதரவு ஒருங்கிணைப்பு தேவை. iOS 17+ இல் மூல Network.framework இணைப்புக்கு NWConnection-இன் சொந்த ப்ராக்ஸி சூழல்ஐ உள்ளமைக்கவும்.
iOS 17 அல்லது அதற்குப் பிந்தைய பதிப்பில், வெளிப்படையான SOCKSv5 ப்ராக்ஸியுடன் அமர்வை உருவாக்கவும்:
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)
}ஆவணத்தின் முகவரியையும் துறையையும் ஏற்கனவே உள்ள பிழைத்திருத்த ப்ராக்ஸியின் அணுகக்கூடிய SOCKS கேட்பானுடன் மாற்றவும். அந்தக் கேட்பானை ப்ராக்ஸி செயலியில் இயக்கவும். அதன் HTTP கேட்பான் வேறு துறையில் இருக்கலாம்.
திருப்பித் தரப்பட்ட அமர்விலிருந்து webSocketTask-ஐ உருவாக்கவும். வேறு URLSession வழியாக உருவாக்கப்பட்ட பணி இந்த அமர்வின் மேலெழுதலைப் பெறாது. காலியான proxyConfigurations வரிசை கணினி இயல்புநிலைகளைப் பயன்படுத்துகிறது; அது நேரடி வழியின் வெளிப்படையான தேர்வு அல்ல.
அணுகல் மற்றும் படிக்கக்கூடிய செய்திகள் தனித்தனி மைல்கற்கள்
இயற்பியல் தொலைபேசிக்கு பிழைத்திருத்த கணினியை அடையும் முகவரி தேவை. அந்தத் தொலைபேசியில் 127.0.0.1 தொலைபேசியையே குறிக்கிறது. இணைப்பு ஒருபோதும் அங்கு சேரவில்லை என்றால் கேட்பானின் இடைமுகத்தையும் ப்ராக்ஸியின் அனுமதிக்கப்பட்ட வாடிக்கையாளர் அணுகலையும் சரிபார்க்கவும்.
SOCKS வழி இணைப்பைச் சுமக்கிறது. wss உள்ளடக்கத்தைப் படிக்க கூடுதலாக பிழைத்திருத்த கருவியின் TLS ஆய்வு அமைப்பும் சாதனத்தில் பொருத்தமான நம்பிக்கையும் தேவை. சான்றிதழ் பொருத்துதல் அல்லது தனி TLS செயலாக்கம் போக்குவரத்து கேட்பானை அடைந்தாலும் அந்த ஆய்வைத் தடுக்கலாம்.
இணைப்பு நிறுவப்பட்ட பிறகு WebSocket பரிமாற்றத்தையும் செய்திகளையும் தேடுங்கள். Socket.IO செயலியிலிருந்து ஒரே ஒரு வாக்கெடுப்பு கோரிக்கையைப் பார்ப்பது அதன் பிந்தைய WebSocket போக்குவரத்து அதே வழியைப் பயன்படுத்தியதற்கான ஆதாரம் அல்ல. இந்த வெளிப்படையான பிழைத்திருத்த உள்ளமைவை செயலியின் எண்ணப்பட்ட மேம்பாட்டுச் சூழலுக்குள் வைத்திருங்கள்.