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 ප්රවාහනය එම මාර්ගයම භාවිත කළ බවට සාක්ෂියක් නොවේ. මෙම පැහැදිලි නිදොස්කරණ වින්යාසය යෙදුමේ අපේක්ෂිත සංවර්ධන පරිසරය තුළ තබා ගන්න.