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, లేదా ఈ గొలుసు కోసం రూపొందించిన నిర్వహించబడే అడాప్టర్ నిజాయితీ సమాధానం. సంబంధం లేని పట్టుకునే యాప్ పక్కన నడపడానికి వదిలిన షెల్ సెషన్ నిర్వహించబడే పరికర టన్నెల్ కాదు; అవి రెండు భాగాలు, వాటిలో ఒకటి ముగిసినప్పుడు ఏమి జరుగుతుందనే దానిపై ఒప్పందం లేకుండా.