VPN సాధనం సెట్టింగ్లు: ప్రారంభ సమయ పరిసరం లేదా హుక్లో ఎగుమతి?
హుక్ తన సొంత చైల్డ్ ప్రాసెస్లను ప్రారంభిస్తుంది, మీరు ఇప్పటికే తెరిచిన shell కాదు. ప్రారంభ సమయ పరిసరం ప్రైవేట్ ఎండ్పాయింట్ను అది అవసరమయ్యే ఒకే ఆదేశంలో ఉంచుతుంది.
API ఎండ్పాయింట్ను ఎగుమతి చేసే VPN హుక్ తాను ప్రారంభించే ప్రాసెస్ల పరిసరాన్ని మారుస్తుంది, టన్నెల్ పైకి వచ్చినప్పుడు ఇప్పటికే తెరిచి ఉన్న టెర్మినల్ పరిసరాన్ని కాదు. ఈ ఒక్క భేదమే «సాధనం ఇప్పటికీ పబ్లిక్ ఎండ్పాయింట్ను పిలుస్తోంది» అనే చాలా నివేదికలను వివరిస్తుంది. సెట్టింగ్ ఉంచడానికి రెండు పనిచేసే స్థలాలు ఉన్నాయి, ఎంపిక దాన్ని ఎవరు ఉపయోగిస్తారు, ఎంత తరచుగా మారుతుంది అనే దానిపై ఆధారపడి ఉంటుంది. మరో స్టార్టప్ స్క్రిప్ట్ను జోడించే ముందు రెండింటినీ పోల్చండి.
సెట్టింగ్ నివసించగల రెండు స్థలాలు
మొదటి ఎంపిక ఆదేశంపైనే ఉండే ఉపసర్గ: విలువ ఆ ఒక్క పిలుపు కోసమే ఉంటుంది, దానితోనే మాయమవుతుంది. రెండో ఎంపిక కనెక్షన్ హుక్ లోపల ఎగుమతి, అది ఆ బిందువు తర్వాత హుక్ ప్రారంభించే ప్రతి ప్రాసెస్కు చేరుతుంది. అవి పరిధిలో, ఆయుష్షులో భిన్నం, వాక్యనిర్మాణంలో కాదు, ఆ భేదమే చాలా వైఫల్యాలను నిర్ణయిస్తుంది.
| Property | Prefix on the command | Export from the hook |
|---|---|---|
| Who receives it | That invocation only | Children the hook starts |
| Lifetime | Until the process exits | Until the hook's own session ends |
| Leakage | Scoped to one command | Applies to later commands in that session |
| Repeat cost | Every invocation | Once per connection |
| Works for an open editor | No, unless the editor is started with it | No |
పట్టిక హుక్ను చవకగా కనిపించేలా చేసి నిజమైన బిల్లును దాచుతుంది: పనికి సంబంధం లేని ఆదేశాలకూ అది ప్రైవేట్ ఎండ్పాయింట్ను ఎంచుకుంటుంది. ప్రతి వరుసను ప్రాధాన్యత కాదు, పరిమితిగా చదవండి. ఎండ్పాయింట్ ప్రతి పనికీ మారుతుంటే, ఒక కీస్ట్రోక్ ఖర్చైనా ఉపసర్గే ఖచ్చితత్వంలో గెలుస్తుంది.
ఇప్పటికే తెరిచిన shellను హుక్ ఎందుకు చేరుకోలేదు
పరిసర చరాలు ప్రాసెస్ ఇమేజ్ సృష్టించినప్పుడు ప్రాసెస్కు ఇవ్వబడతాయి. కనెక్షన్కు ముందు ప్రారంభమైన shell తాను పొందిన ప్రతిని ఉంచుకుంటుంది, హుక్ లోపల నడిపిన ఎగుమతి యంత్రంలోని ప్రతి ప్రాసెస్కు ప్రసారం కాదు. హుక్ సొంత చైల్డ్లు మాత్రమే దాన్ని వారసత్వంగా పొందుతాయి. shell సొంత చైల్డ్లు అవి ప్రారంభమయ్యే క్షణంలో shell దగ్గర ఉన్నది తీసుకుంటాయి, అందుకే ఒకే ఆదేశం ఒక టెర్మినల్లో పనిచేసి మరొకదానిలో విఫలమవుతుంది.
ఇదే విషయం గ్రాఫికల్ ఎడిటర్కూ వర్తిస్తుంది. దాని ఎక్స్టెన్షన్ హోస్ట్, అంతర్నిర్మిత టెర్మినల్, నేపథ్య భాషా సర్వర్ ప్రారంభంలో చీలి తమ సొంత ప్రతులను ఉంచుకుంటాయి. ఫోల్డర్ను మళ్లీ తెరవడం ఆ చైల్డ్లను తప్పనిసరిగా మళ్లీ ప్రారంభించదు, కాబట్టి మీరు జోడించిన సెట్టింగ్ ఇప్పటికీ ఎప్పటికీ చేరుకోదు.
అత్యంత చవకైన పరీక్ష, పనిచేసే shell నుండి కాదు, విఫలమయ్యే స్థలం నుండి చరాన్ని ముద్రించడం. విఫలమయ్యే ప్రాసెస్ టన్నెల్కు ముందు ప్రారంభమైతే, ఎగుమతికి అవకాశమే లేదు.
ప్రతి ఆదేశం కోసం రూపం, రాయబడినట్లు
ఉపసర్గ ఎంపికను దాన్ని ఉపయోగించే ఆదేశంలోనే కనిపించేలా ఉంచుతుంది, పనుల మధ్య ఎండ్పాయింట్ మారినప్పుడు ఇది సహాయపడుతుంది:
env INTERNAL_API='https://internal-api.example.net:8443' my-work-tool
ఆదేశం కేవలం ఉదాహరణ: my-work-tool ఒక ప్లేస్హోల్డర్, INTERNAL_API VPN ప్రమాణం కాదు, కాబట్టి మీరు నిజంగా నడిపే ప్రోగ్రామ్ డాక్యుమెంటెడ్ సెట్టింగ్ను, మీ ఆమోదించిన హోస్ట్ను పెట్టండి. ఒకే వరుసలో టోకెన్ లేదా పాస్వర్డ్ పెట్టకండి, అది shell చరిత్రలోకి వెళ్తుంది.
అనేక ఆదేశాలు ఒకే పనికి చెందితే, చిన్న సమీక్షించిన ర్యాపర్ స్క్రిప్ట్ చరాలను సెట్ చేసి తర్వాత వాటిని ప్రారంభిస్తుంది. ఇది ఒకే నిర్వచనాన్ని ఉంచుతుంది, విలువను టెర్మినల్లోని ప్రతి భావి ఆదేశానికీ ప్రపంచవ్యాప్తం చేయకుండా.
మళ్లీ లోడ్ చేయండి, మళ్లీ ప్రారంభించండి లేదా అలాగే వదిలేయండి
ఇప్పటికే నడుస్తున్న సాధనానికి, ఉంటే దాని సొంత మళ్లీ లోడ్ లేదా వర్క్స్పేస్ ప్రొఫైల్కు ప్రాధాన్యత ఇవ్వండి. లేకపోతే పనిని సేవ్ చేసి సెట్టింగ్ చదివే భాగాన్ని మళ్లీ ప్రారంభించండి, అది తరచుగా భాషా సర్వర్, ఎడిటర్ విండో కాదు. విండోను మళ్లీ ప్రారంభించి చైల్డ్ ప్రాసెస్లు దాన్ని అనుసరించాయని ఊహించడమే మళ్లీ లోడ్ పనిచేయనట్లు కనిపించడానికి కారణం.
కనెక్షన్ తెంపడం వేరే నిర్ణయం. నిలిపివేయడం, మూసివేయడం లేదా మళ్లీ కనెక్ట్ కావడం అనువర్తనానికి చెందుతాయి, ఎండ్పాయింట్ చరం దాన్ని నియంత్రించదు. చరాన్ని చిరునామాను ఎంచుకునే కాన్ఫిగరేషన్గా చూడండి, తర్వాత ఏ నెట్వర్క్ ట్రాఫిక్ ఉపయోగించవచ్చు అనే నియమంగా కాదు, రెండు విషయాలు వేరుగానే ఉంటాయి.