Android SSH SOCKS പ്രോക്സി: നിങ്ങളുടെ പകുതി ആപ്പുകൾ മാത്രം എന്തുകൊണ്ട് ബന്ധിപ്പിക്കുന്നു
ssh -D ഒരു SOCKS ശ്രോതാവിനെ നിർമ്മിക്കുന്നു, മുഴുവൻ ഉപകരണത്തിന്റെ ടണൽ അല്ല. ആപ്പിൽ നിന്ന് അഡാപ്റ്ററിലേക്കും SSH-ലേക്കും ഉള്ള ശൃംഖല കടന്നുപോകുക, തുടർന്ന് DNS, ജീവിതചക്ര വിടവുകൾ പരിശോധിക്കുക.
നിങ്ങൾ SSH വഴി ലോഗിൻ ചെയ്യുന്നു, -D 1080 ചേർക്കുന്നു, കമാൻഡ് വിജയിക്കുന്നു. ഇപ്പോൾ ഫോണിൽ ഒരു SOCKS ശ്രോതാവുണ്ട്, പകുതി ആപ്പുകൾ ഇപ്പോഴും മൊബൈൽ ഡാറ്റയിലൂടെ പുറത്തുപോകുന്നു. ഇത് സാധാരണ ഫലമാണ്, തകർന്ന ടണൽ അല്ല: ssh -D ഒരു പ്രോക്സി അന്ത്യബിന്ദു സൃഷ്ടിക്കുന്നു, Android ആപ്പുകൾ എന്തെങ്കിലും നിർബന്ധിച്ചാൽ മാത്രമേ പ്രോക്സി ഉപയോഗിക്കൂ. ശൃംഖല ഘട്ടം ഘട്ടമായി കടന്നുപോകുമ്പോൾ ജോലിയുടെ ഓരോ ഭാഗവും യഥാർത്ഥത്തിൽ എവിടെയുണ്ടെന്ന് കാണാം.
ട്രാഫിക് ആരംഭിക്കുന്നിടത്ത് നിന്ന് തുടങ്ങുക
ടണൽ ഉപയോഗിക്കേണ്ട ഒരു ആപ്പ് തിരഞ്ഞെടുത്ത് അതിന് സ്വന്തം പ്രോക്സി ക്രമീകരണമുണ്ടോ എന്ന് പരിശോധിക്കുക. SOCKS ഫീൽഡുള്ള ബ്രൗസർ എളുപ്പമുള്ള കേസാണ്: അതിനെ 127.0.0.1:1080 ലേക്ക് ചൂണ്ടിക്കാണിക്കുക, ക്രമീകരണം ഉണ്ടെങ്കിൽ റിമോട്ട് DNS പ്രവർത്തനക്ഷമമാക്കുക, അഭ്യർത്ഥന കടന്നുപോകുന്നു. ചാറ്റ് ക്ലയന്റിനോ മാപ്പ് ആപ്പിനോ അത്തരം ഫീൽഡില്ലാത്ത ഗെയിമിനോ ശ്രോതാവ് ഉപയോഗിക്കാൻ വഴിയില്ല, SSH കമാൻഡിൽ നിങ്ങൾ എഴുതുന്നതൊന്നും അത് മാറ്റില്ല.
മറ്റെന്തെങ്കിലും ഉൾപ്പെടുത്തുന്നതിന് മുൻപ്, SOCKS നേരിട്ട് സംസാരിക്കുന്ന ക്ലയന്റിനൊപ്പം ഫോണിന്റെ സ്വന്തം ഷെല്ലിൽ നിന്ന് ശ്രോതാവ് പ്രവർത്തിക്കുന്നുവെന്ന് തെളിയിക്കുക:
ssh -N -D 1080 [email protected]
curl --socks5-hostname 127.0.0.1:1080 https://ifconfig.me
തിരികെ വരുന്ന വിലാസം SSH സെർവറിന്റേതായിരിക്കണം, ഫോണിന്റേതല്ല. അങ്ങനെയാണെങ്കിൽ പ്രോക്സിയുടെ പകുതി കഴിഞ്ഞു, ബാക്കി ജോലി കവറേജിനെക്കുറിച്ചാണ്. അല്ലെങ്കിൽ ആദ്യം SSH വശം ശരിയാക്കുക: കീ പ്രാമാണീകരണം, സെർവറിന് ലക്ഷ്യസ്ഥാനത്ത് എത്താനുള്ള കഴിവ്, SSH സെർവറിന്റെ സ്വന്തം പുറത്തേക്കുള്ള വഴി.
Android-ന് ആവശ്യമായ ഭാഗം ചേർക്കുക
പ്രോക്സി ക്രമീകരണമില്ലാത്ത ആപ്പുകൾക്ക് അവയുടെ പാക്കറ്റുകൾ പിടിച്ചെടുത്ത് പ്രോക്സി കണക്ഷനുകളാക്കി മാറ്റുന്ന എന്തെങ്കിലും വേണം. root ഇല്ലാത്ത ഉപകരണത്തിൽ അത് VPN സേവന അഡാപ്റ്റർ ആണ്: വെർച്വൽ ഇന്റർഫേസ് ഏറ്റെടുത്ത് തിരഞ്ഞെടുത്ത ട്രാഫിക് പ്രാദേശിക SOCKS ശ്രോതാവിലേക്ക് അയക്കുന്ന ആപ്പ്. ശൃംഖല ആപ്പ്, അഡാപ്റ്റർ, SOCKS ശ്രോതാവ്, SSH കണക്ഷൻ, ലക്ഷ്യസ്ഥാനം എന്നായി മാറുന്നു.
അഡാപ്റ്റർ ഇൻസ്റ്റാൾ ചെയ്യുക, അതിന് VPN അനുമതി നൽകുക, പിടിച്ചെടുക്കേണ്ട ആപ്പുകളോ റൂട്ടുകളോ തിരഞ്ഞെടുക്കുക. സ്റ്റാറ്റസ് ബാറിലെ താക്കോൽ ഐക്കൺ അപ്പോൾ അഡാപ്റ്ററെ സൂചിപ്പിക്കുന്നു, വേറൊരു വാണിജ്യ VPN അല്ല. Android ഓരോ ഉപയോക്തൃ പ്രൊഫൈലിനും ഒരു സജീവ VPN സേവന കണക്ഷൻ മാത്രം അനുവദിക്കുന്നു, അതിനാൽ രണ്ടാമത്തെ VPN ആപ്പ് ആരംഭിക്കുന്നത് ശൃംഖലയ്ക്ക് മേൽ ഒരു പാളി ചേർക്കുന്നില്ല: അത് അതേ റോളിനായി മത്സരിക്കുന്നു.
വിജയകരമായ ഒരു പരിശോധന നിങ്ങളെ തെറ്റിദ്ധരിപ്പിക്കാവുന്ന ഘട്ടവുമാണിത്. അഡാപ്റ്റർ ഇതിനകം പ്രോക്സിയിലേക്ക് ചൂണ്ടിയ ബ്രൗസർ മാത്രം പിടിച്ചെടുക്കാൻ ക്രമീകരിച്ചിട്ടുണ്ടെങ്കിൽ എല്ലാം പ്രവർത്തിക്കുന്നു, മറ്റൊന്നും മൂടപ്പെട്ടിട്ടില്ല. ഉപകരണം ടണലിലാണെന്ന് തീരുമാനിക്കുന്നതിന് മുൻപ് പിടിത്ത പട്ടിക വായിക്കുക.
SSH ഗതാഗതം പിടിത്തത്തിന് പുറത്ത് നിർത്തുക
SSH കണക്ഷൻ തന്നെ അത് പരിപാലിക്കുന്ന SOCKS ടണലിലേക്ക് തിരികെ ഒഴുക്കരുത്. അഡാപ്റ്റർ SSH ആപ്പിന്റെ ട്രാഫിക് പിടിച്ചെടുത്താൽ, ടണൽ ടണലിനായി കാത്തിരിക്കുന്ന ഒരു കണക്ഷനെ ആശ്രയിക്കുന്നു, ഫലം അഡാപ്റ്റർ ആരംഭിക്കുന്ന ക്ഷണത്തിൽ കുടുങ്ങുന്നതോ പരാജയപ്പെടുന്നതോ ആയ ഒരു ലൂപ്പാണ്.
സംയോജിത നടപ്പാക്കലുകൾ അവയുടെ സ്വന്തം ഗതാഗത സോക്കറ്റ് സംരക്ഷിക്കുന്നു. വേറെ ആപ്പുകളുണ്ടെങ്കിൽ പിന്തുണയുള്ള ഒഴിവാക്കൽ വേണം: SSH ആപ്പ് പിടിത്തത്തിന് പുറത്ത് വയ്ക്കുക, അല്ലെങ്കിൽ വിലാസം പ്രകാരം SSH അന്ത്യബിന്ദു ഒഴിവാക്കുക. രണ്ടിനും വിലയുണ്ട്. മുഴുവൻ ടെർമിനൽ ആപ്പ് ഒഴിവാക്കുന്നത് അതിന്റെ അപ്രസക്തമായ നെറ്റ്വർക്ക് പ്രവർത്തനവും ടണലിൽ നിന്ന് നീക്കുന്നു, വിലാസ ഒഴിവാക്കൽ സെർവർ വിലാസം മാറുമ്പോഴോ അടുത്ത കണക്ഷനിൽ പേര് വേറെ രീതിയിൽ പരിഹരിക്കപ്പെടുമ്പോഴോ തകരുന്നു.
ഒഴിവാക്കൽ പുറത്തുനിന്ന് പരിശോധിക്കുക: അഡാപ്റ്റർ വീണ്ടും ബന്ധിപ്പിക്കുക, എന്നിട്ട് SSH സെഷൻ അതിജീവിക്കുന്നുവെന്നും പ്രോക്സി ചെയ്ത അഭ്യർത്ഥന ഇപ്പോഴും സെർവർ വിലാസം റിപ്പോർട്ട് ചെയ്യുന്നുവെന്നും സ്ഥിരീകരിക്കുക. അഡാപ്റ്റർ ആരംഭിക്കുന്നതുവരെ പ്രവർത്തിച്ച് പിന്നീട് ഉറയുന്ന സെഷനാണ് ആ ലൂപ്പ്.
DNS-ഉം UDP-യും ശൃംഖലയുടെ അവസാനം വരെ പിന്തുടരുക
OpenSSH-ന്റെ ഡൈനാമിക് ഫോർവേഡിംഗ് TCP കണക്ഷനുകൾ വഹിക്കുന്നു. അത് UDP-associate അല്ലെങ്കിൽ ICMP ഗതാഗതമല്ല, UDP പാക്കറ്റുകൾ സ്വീകരിച്ച് UDP ഫോർവേഡിംഗ് അഡാപ്റ്റർക്ക് കണ്ടുപിടിക്കാനാവില്ല. UDP നിർബന്ധിക്കുന്ന എല്ലാം, QUIC-ഉം WebRTC മീഡിയയും ഉൾപ്പെടെ, ആപ്പ് അനുസരിച്ച് പരാജയപ്പെടുകയോ TCP-ലേക്ക് തിരികെ വീഴുകയോ ചെയ്യും.
DNS-ന് സ്വന്തം തീരുമാനം വേണം. പേര് പ്രാദേശികമായി പരിഹരിക്കുന്ന ആപ്പ് ബന്ധിപ്പിക്കുന്നതിന് മുൻപ് സാധാരണ റിസോൾവർ വഴി ചോദ്യം അയക്കുന്നു, അതിനാൽ ടണൽ കണക്ഷൻ വഹിക്കുന്നു, തിരച്ചിലല്ല. റിമോട്ട് DNS ഓപ്ഷനുള്ള പ്രോക്സി ബോധ്യമുള്ള ക്ലയന്റ് അത് ഒഴിവാക്കുന്നു; അതില്ലാത്ത പിടിച്ചെടുത്ത ആപ്പ് ഒഴിവാക്കുന്നില്ല. അഡാപ്റ്റർ മാറ്റിയെന്ന് അനുമാനിക്കാതെ ഏത് റിസോൾവർ ഉത്തരം നൽകി എന്ന് പരിശോധിക്കുക.
SOCKS ശ്രോതാവിനെ loopback-ലേക്ക് ബന്ധിച്ച് നിർത്തുക, ആദ്യ ഉപയോഗത്തിൽ SSH സെർവറിന്റെ host കീ പരിശോധിക്കുക, അന്തിമ സൈറ്റിനായി സാധാരണ HTTPS സാധൂകരണം അതിന്റെ സ്ഥാനത്ത് വിടുക. SSH ഫോൺ-മുതൽ-സെർവർ ഭാഗം സംരക്ഷിക്കുന്നു; സെർവർ പിന്നീട് ചെയ്യുന്നത് അത് എൻക്രിപ്റ്റ് ചെയ്യുന്നില്ല.
രണ്ട് ജീവിതചക്രങ്ങൾ പരിശോധിച്ച് തീരുമാനിക്കുക
അഡാപ്റ്ററിനും SSH സെഷനും വെവ്വേറെ ജീവിതചക്രങ്ങളുണ്ട്. അഡാപ്റ്റർ പിടിച്ചെടുക്കുന്നത് തുടരുമ്പോൾ SSH വീണാൽ, ആപ്പുകൾ വ്യക്തമായ പിശകില്ലാതെ തൂങ്ങിക്കിടക്കാം, കാരണം അവയുടെ പാക്കറ്റുകൾ ഇപ്പോഴും പ്രവർത്തിക്കുന്ന വഴിയില്ലാത്ത വെർച്വൽ ഇന്റർഫേസിലേക്ക് പ്രവേശിക്കുന്നു. അഡാപ്റ്റർ നിന്നാൽ, ഉപകരണത്തിന്റെ VPN നയം അനുസരിച്ച് ആപ്പുകൾ നേരിട്ട് പോകുകയോ തടയപ്പെടുകയോ ചെയ്യും.
രണ്ട് ദിശകളും മനഃപൂർവ്വം പരിശോധിക്കുക: അഡാപ്റ്റർ പ്രവർത്തിക്കുമ്പോൾ SSH സെഷൻ കൊല്ലുക, പിന്നെ SSH മുകളിൽ നിൽക്കുമ്പോൾ അഡാപ്റ്റർ നിർത്തുക. ഓരോ സന്ദർഭത്തിലും ഫോൺ ചെയ്യുന്നത്, ഇൻസ്റ്റാൾ നിർദ്ദേശങ്ങൾ എന്ത് പറഞ്ഞാലും, നിങ്ങൾ യഥാർത്ഥത്തിൽ വിന്യസിക്കുന്ന നയമാണ്.
പ്രവചിക്കാവുന്ന പരാജയ രീതിയോടെ മുഴുവൻ ഉപകരണ കവറേജ് വേണമെങ്കിൽ, യഥാർത്ഥ IP VPN, അല്ലെങ്കിൽ ഈ ശൃംഖലയ്ക്കായി രൂപകൽപ്പന ചെയ്ത പരിപാലിക്കുന്ന അഡാപ്റ്റർ സത്യസന്ധമായ ഉത്തരമാണ്. അപ്രസക്തമായ പിടിത്ത ആപ്പിന് അരികിൽ ഓടാൻ വിട്ട ഷെൽ സെഷൻ പരിപാലിക്കുന്ന ഉപകരണ ടണലല്ല; അവയിൽ ഒന്ന് അവസാനിക്കുമ്പോൾ എന്ത് സംഭവിക്കുമെന്ന കരാറില്ലാത്ത രണ്ട് ഘടകങ്ങളാണ്.