iPhone VPN-இல் உள்ளதா? iOS ஆப் உண்மையில் என்ன பார்க்க முடியும்
iOS SDK-இல் ஒரே VPN கொடி இல்லை. ஒரு ஆப் தன் சொந்த உள்ளமைவு, நிலை அறிவிப்பு மற்றும் வரம்புடைய ப்ராக்ஸி ஸ்னாப்ஷாட் ஆகியவற்றை மட்டுமே கவனிக்க முடியும், அதற்கு மேல் இல்லை.
ஃபோன் VPN-இல் உள்ளதா என்று iOS ஆப்பைக் கேளுங்கள், நேர்மையான பதில் என்னவென்றால் நீங்கள் கருதும் அர்த்தத்தில் அது அறிய முடியாது. SDK «சாதனம் ஒரு சுரங்கத்தில் உள்ளது» என்பதற்கு எந்தக் கொடியும் வழங்குவதில்லை, அதை நெருங்கக்கூடிய தனியுரிம இடைமுகங்கள் வெளியிடப்படும் ஆப்களுக்கு மூடப்பட்டுள்ளன. உங்கள் ஆப்பின் சொந்த உள்ளமைவு, அதனுடன் இணைந்த நிலை, மற்றும் வலைப்பின்னல் அடுக்கிலிருந்து ஒன்று அல்லது இரண்டு மறைமுகத் துப்புகள் ஆகியவற்றைக் கவனிக்கலாம். ஒவ்வொன்றும் வெவ்வேறு கேள்விக்குப் பதிலளிக்கிறது, உடைந்த சரிபார்ப்புகளில் பெரும்பாலானவை அவற்றில் ஒன்றை முழுப் பதிலாக எடுத்துக்கொள்வதிலிருந்து வருகின்றன.
ஒரே VPN கொடியின் புராணக்கதை
SDK-இல் எங்கோ சாதனம் சுரங்கத்தில் உள்ளதா என்பதைத் தெரிவிக்கும் பண்பு உள்ளது என்பது நம்பிக்கை, அணுகல்தன்மைக் கொடி ஒரு ஹோஸ்ட் பதிலளிக்கிறதா என்பதைத் தெரிவிப்பது போல. அத்தகைய பொது பண்பு இல்லை. இருந்தாலும், «சுரங்கம் உள்ளது» மற்றும் «என் டிராஃபிக் அதைப் பயன்படுத்துகிறது» ஆகியவை வெவ்வேறு கூற்றுகள், பெரும்பாலான ஆப்களுக்கு இரண்டாவது மட்டுமே முக்கியம்.
இந்த இடைவெளியே ஒரு வரி VPN கண்டறிவியை விளம்பரப்படுத்தும் நூலகங்கள் பொதுவாக இடைமுகப் பெயர் அல்லது ப்ராக்ஸி விசை போன்ற உடையக்கூடிய ஒன்றைப் படித்து, அதைத் தீர்ப்பாக முன்வைக்கக் காரணம்.
nil-ஐ நம்பும் முன் விருப்பங்களை ஏற்றுங்கள்
பகிரப்பட்ட மேலாளர் நிகழ்வு நீங்கள் கேட்கும் கணமே உள்ளது, ஆனால் அதன் நெறிமுறைப் பண்பு ஏற்றுதல் கால்பேக் முடியும் வரை nil ஆகவே இருக்கும். எனவே nil நெறிமுறை «இன்னும் ஏற்றப்படவில்லை» என்பதை «நிறுவப்படவில்லை» என்பதற்குக் குறைவில்லாமல் குறிக்கிறது. வாசிப்பை நிறைவு தொகுதிக்குள் செய்யுங்கள், அதன் பிறகே முடிவு செய்யுங்கள்: இருக்கும் நெறிமுறைப் பொருள், இயக்கக் கொடி ஆன் நிலையில் இருப்பதுதான் «நிறுவப்பட்டது» என்பதன் தோற்றம்.
இரண்டாவது சமிக்ஞை இணைப்புப் பொருளில் உள்ளது: இந்த ஆப்பில் நிறுவப்பட்ட உள்ளமைவு இல்லாதபோது கணினி தெரிவிக்கும் செல்லாத நிலை. முழுமையான ஏற்றுதலுக்குப் பிறகு செல்லாத நிலையும் nil நெறிமுறையும் சேர்ந்து உண்மையான இல்லாமை, நேரப் பந்தயம் அல்ல.
இணைப்பு மாற்றங்கள் அறிவிப்புகளாக வருகின்றன
load மற்றும் save-க்கு வழங்கப்படும் கையாளிகள் உள்ளமைவுக்கு என்ன நடந்தது என்பதைத் தெரிவிக்கின்றன, சுரங்கம் என்ன செய்கிறது என்பதை அல்ல. இணைக்கும்போது அவற்றில் ஒன்று தூண்டப்படும் வரை காத்திருப்பது ஒருபோதும் தீராத பந்தயம். அதற்குப் பதிலாக நிலை மாற்ற அறிவிப்பைக் கவனியுங்கள், அது வரும்போது இணைப்புப் பொருளின் தற்போதைய மதிப்பைப் படியுங்கள்.
ஒரு உள்ளமைவு நிறுவப்பட்டதும், இணைப்பு நிலை ஒரு குறுகிய வரிசையைக் கடக்கிறது: துண்டிக்கப்பட்டது, இணைக்கிறது, இணைக்கப்பட்டது, மீண்டும் உறுதிப்படுத்துகிறது, துண்டிக்கிறது. «இணைக்கப்பட்டது» சுரங்கத்தை விவரிக்கிறது, அதன் பின்னால் உள்ள சேவையகத்தை அல்ல, எனவே டிராஃபிக் பாய்கிறது என்பதற்கு அது சான்றல்ல. On-demand ஆப் இடைநிறுத்தப்பட்டிருக்கும்போதும் சுரங்கத்தை உயர்த்தலாம், அப்போது புதுப்பிக்க ஏதாவது இருப்பதற்கு முன்பே அறிவிப்பு வந்துவிடும்.
வரம்புடைய ப்ராக்ஸி ஸ்னாப்ஷாட் ஒரு துப்பு, தீர்ப்பு அல்ல
CFNetwork ஆப்பிற்கு கணினியின் தற்போதைய ப்ராக்ஸி அமைப்புகளை வழங்கலாம், அந்த முடிவின் உள்ளே இடைமுகப் பெயரால் விசையிடப்பட்ட வரம்புடைய அகராதி உள்ளது. tun, utun, ppp, ipsec அல்லது tap எனத் தொடங்கும் பெயரைப் பார்ப்பது சுரங்கம் உள்ளது என்பதற்கான துப்பு. அது இந்த ஆப் பார்க்கக்கூடியதன் ஸ்னாப்ஷாட் ஆகவே இருக்கும், பாக்கெட்டுகள் எங்கே பயணிக்கின்றன என்பதற்கான அறிக்கை அல்ல.
வழங்குநர்கள் பெயரிடலில் உடன்படுவதில்லை, எனவே முன்னொட்டு இல்லாதது எதையும் நிரூபிக்காது, இருக்கும் இடைமுகம் டிராஃபிக் ஏற்றாமலும் இருக்கலாம். அணுகல்தன்மை இன்னும் பலவீனம்: தனிப்பட்ட முகவரிக்கு வெற்றிகரமான கோரிக்கை அந்த நேரத்தில் அந்தக் கோரிக்கைக்கு பாதை வேலை செய்ததைக் காட்டுகிறது, VPN நிறுவப்பட்டுள்ளது என்பதை அல்ல.
எமுலேட்டர் Mac-ஐ கடன் வாங்குகிறது, மற்ற ஆப்கள் கண்ணுக்குத் தெரியாமல் இருக்கின்றன
எமுலேட்டருக்கு சொந்த வலைப்பின்னல் அடுக்கு இல்லை; அது செய்யும் ஒவ்வொரு இணைப்பும் Mac-இன். எனவே ஹோஸ்ட் Mac-இல் இயங்கும் VPN உருவகப்படுத்தப்பட்ட ஆப்பிற்கு ஏற்கனவே பொருந்தும், எமுலேட்டரின் சொந்த அமைப்புகள் எதையும் காட்டுவதில்லை. எமுலேட்டர் தொடங்கிய பிறகு சுரங்கம் உயர்ந்திருந்தால், ஆப்பை பிழைதிருத்துவதை விட அதை மறுதொடக்கம் செய்வது பொதுவாக வேகமானது. தரமற்ற துறையில் உள்ள ஹோஸ்டுக்கு அந்தத் துறை URL-இல் தேவை, அல்லது socat TCP-LISTEN:12345,fork TCP:host:12345 போன்ற உள்ளூர் முன்னனுப்பல் தேவை.
பொது API-கள் மற்ற ஆப்கள் அல்லது உள்ளமைவு சுயவிவரங்களுக்குச் சொந்தமான VPN சுயவிவரங்களைப் பட்டியலிடாது. ஒரு அறியப்பட்ட ஆப்பிற்கு canOpenURL வழியாக URL திட்டச் சோதனையே எடுத்துச் செல்லக்கூடிய தந்திரம், மேலும் iOS 9 முதல் கேட்கப்படும் திட்டம் உங்கள் Info.plist-இல் அறிவிக்கப்பட வேண்டும்; அதை விட்டுவிட்டால் அழைப்பு false திரும்பும். OpenVPN Connect openvpn://-இல் பதிலளிக்கிறது, இது அதை நல்ல உதாரணமாகவும் மோசமான பொது கண்டறிவியாகவும் ஆக்குகிறது.
மூன்று கவனிப்புகளை இணைத்து அவை என்ன அர்த்தம் எனக் கூறுங்கள்
நடைமுறையில் மூன்று முடிவுகளை அடுக்குங்கள்: ஏற்றப்பட்டு இயக்கப்பட்ட உள்ளமைவு, செல்லாததல்லாத இணைப்பு நிலை, மற்றும் சுரங்கம் வழியாக மட்டுமே அடையக்கூடிய முகவரிக்கான கோரிக்கை. ஒவ்வொன்றும் தனியாக தவறாக வழிநடத்தும்; ஒன்றாக அவை ஆப் என்ன அறிய முடியும் என்பதைச் சொல்கின்றன, பயனர் என்ன கருதுகிறார் என்பதை அல்ல.
முடிவை உங்கள் கண்டறிதலில் ஒரு boolean ஆக அல்ல, மூன்று வரிகளாக எழுதுங்கள். பயனர் VPN அணைக்கப்பட்டுள்ளது என்று சொல்லும்போது உங்கள் ஆப் உடன்படவில்லை என்றால், அந்த மூன்று வரிகளும் எந்தக் கவனிப்பு விலகியது என்பதைக் காட்டுகின்றன, நீங்கள் நடவடிக்கை எடுக்கக்கூடிய ஆதரவு டிக்கெட்டுக்கும் «என்னிடம் வேலை செய்கிறது» என்று முடியும் டிக்கெட்டுக்கும் இடையிலான வேறுபாடு அதுவே.