લોકો socks5h ને socks5 જેવું વધુ સરળ જોડણીવાળું સ્વરૂપ માને છે, અને અપેક્ષા રાખે છે કે બંને એક જ વિનંતી એક જ જગ્યાએ મોકલશે. વધારાનો અક્ષર તેના બદલે DNS ક્વેરી ખસેડે છે. જે મશીનમાં રિઝોલ્વર અને પ્રોક્સી અલગ નેટવર્કમાં હોય છે, ત્યાં તે કામ કરતી વિનંતી અને નિષ્ફળ જતી વિનંતી વચ્ચેનો તફાવત છે.

એક અક્ષર, બે રિઝોલ્વર

સ્કીમ નક્કી કરે છે કે લક્ષ્યનું નામ ક્યાં સરનામું બને છે. સ્થાનિક રિઝોલ્યુશન તમારા મશીન પર ગોઠવાયેલા રિઝોલ્વરનો ઉપયોગ કરે છે. દૂરસ્થ રિઝોલ્યુશન હોસ્ટનામને SOCKS વિનંતીની અંદર મૂકે છે, અને પ્રોક્સી તેને પોતાના રિઝોલ્વર અને નેટવર્ક વિશેની પોતાની દૃષ્ટિથી શોધે છે. બંને સ્વરૂપો હજી પણ એક જ પોર્ટ પર એક જ પ્રોક્સી સરનામા સાથે જોડાય છે, તેથી તફાવત વિનંતીના બોડીમાં છે, માર્ગમાં નહીં.

સ્કીમમાં કંઈ પણ એન્ક્રિપ્શન કે પ્રમાણીકરણ બદલતું નથી; ફક્ત DNS માર્ગ ખસે છે. તેથી અક્ષરને અવગણવો સહેલો અને ભૂલ કરવી ખર્ચાળ છે.

એ જ પ્રોક્સી, અલગ વિનંતી

બંને કૉલ એક જ અક્ષરથી અલગ પડે છે. બાકીનું બધું સમાન છે:

curl --proxy socks5://proxy.example:1080 https://service.example/
curl --proxy socks5h://proxy.example:1080 https://service.example/

The curl પ્રોક્સી સંદર્ભ આ સ્કીમોને અલગ રીતે દસ્તાવેજ કરે છે, અને એ જ તેમને ઉપનામ તરીકે ન ગણવાનું પ્રમાણભૂત કારણ છે. તમને વાપરવાની પરવાનગી હોય તેવા નિરુપદ્રવી એન્ડપોઇન્ટ સામે બંને ચલાવો અને તફાવત વાંચો. સફળ દૂરસ્થ શોધ અન્ય એપ્લિકેશનો વિશે કંઈ કહેતી નથી, કારણ કે બ્રાઉઝર, પેકેજ મેનેજર અને ભાષાના રનટાઇમ દરેક પોતપોતાની રીતે પસંદ કરે છે.

પ્રોક્સીનું પોતાનું નામ સ્થાનિક રીતે ઉકેલાય છે

તે આદેશમાં, બીજું કંઈ થાય તે પહેલાં proxy.example ને સરનામું બનવું પડે છે, અને તે શોધ હંમેશા સ્થાનિક હોય છે. service.example નું રિઝોલ્યુશન પ્રોક્સી પર ખસેડવાથી પ્રોક્સીના પોતાના નામ માટે કંઈ થતું નથી, જેને હજી પણ એવા રિઝોલ્વરની જરૂર છે જે સુધી તમારું મશીન પહોંચી શકે. અહીં VPN ચિત્ર બદલે છે.

જો પ્રોક્સીનું નામ ફક્ત ટનલની અંદર ઉકેલાય, તો curl શરૂ થાય તે પહેલાં ટનલ ચાલુ હોવા પર જોડાણ આધાર રાખે છે. પછી કઈ સ્કીમ જીતશે તે કઈ બાજુ જવાબ આપી શકે છે તેના પર આધાર રાખે છે. જ્યારે તમારું મશીન લક્ષ્ય ઉકેલી શકતું નથી પણ પ્રોક્સી શકે છે, ત્યારે socks5 નિષ્ફળ જાય છે અને socks5h સફળ થાય છે. જ્યારે તમારું મશીન તેને ટનલ દ્વારા ઉકેલે છે અને પ્રોક્સી શકતું નથી, ત્યારે socks5 કામ કરે છે અને socks5h નિષ્ફળ જાય છે.

સ્કીમ પ્રોક્સી સાથેના જોડાણને VPNની અંદર કે બહાર મૂકતી નથી; રૂટિંગ ટેબલ એ કરે છે, અને સ્કીમ તેને ક્યારેય જોતી નથી. તેથી એક ટનલ એક જ મશીન પર એક સ્કીમ સુધારી શકે છે અને બીજી તોડી શકે છે. અક્ષર ફક્ત નક્કી કરે છે કે પ્રશ્ન કોણ પૂછે છે.

દરેક બાજુ શું ઉકેલી શકે

જાહેર પ્રોક્સી ફક્ત કંપનીમાં જ રહેલું નામ ઉકેલી શકતું નથી, તેથી તેને હોસ્ટનામ મોકલવું પ્રોક્સી પર નિષ્ફળ જાય છે અને સ્થાનિક DNS ભૂલને બદલે પ્રોક્સી ભૂલ તરીકે દેખાય છે. એ જ ખાનગી નેટવર્કની અંદરની પ્રોક્સી સામાન્ય રીતે તે નામો ઉકેલી શકે છે, અને અહીં જ socks5h પોતાનું મૂલ્ય સાબિત કરે છે. રિઝોલ્વરનું સ્થાન તમને ખરેખર જરૂરી હોય તેવી નીતિ પ્રમાણે પસંદ કરો, કારણ કે દૂરસ્થ DNS આપમેળે વધુ સક્ષમ નથી અને તે નામ તૃતીય પક્ષને સોંપે છે. જાહેર લક્ષ્ય માટે બંને સ્વરૂપો કામ કરે છે, તેથી તમારા બીજા સાધનો પહેલેથી જે વાપરે છે તેને પ્રાધાન્ય આપો.

તે પસંદગી ટિપ્પણીમાં નહીં, રનબુકમાં લખો, અને ઓળખપત્રોને વહેંચાયેલી હિસ્ટ્રી અને ડાયગ્નોસ્ટિક આઉટપુટની બહાર રાખો. પછી એક સમયે એક ચલ બદલો: એ જ લક્ષ્ય, એ જ બાઇનરી, એ જ રિઝોલ્વર, એક અક્ષર.

કઈ બાઇનરીએ જવાબ આપ્યો

એક જ મશીન પરની બે curl બાઇનરીઓ આવૃત્તિ અને બિલ્ડ સુવિધાઓમાં અલગ હોઈ શકે છે. Unix જેવા શેલમાં type -a curl માર્ગ પરના દરેક મેળને સૂચિબદ્ધ કરે છે અને curl --version જે ચાલશે તેની સુવિધાઓ બતાવે છે. માર્ગમાં પહેલાંની રેપર સ્ક્રિપ્ટ કે ઉપનામ એ સામાન્ય કારણ છે કે પરિણામો તમે પરીક્ષણ કરો છો એવું માનો છો તે બાઇનરી સાથે મેળ ખાતા નથી.

અસમર્થિત સ્કીમ, નામ ઉકેલી ન શકતી પ્રોક્સી અને પહોંચી ન શકાય તેવું લક્ષ્ય એ ત્રણ અલગ ભૂલો છે, તેથી અક્ષર બદલતા પહેલાં સંદેશ વાંચો. socks5h સિન્ટેક્સ વિનાનું બિલ્ડ પ્રોક્સી સ્ટ્રિંગને અસમર્થિત તરીકે જણાવે છે, જે ઉકેલી ન શકાયેલા નામ જેવું નથી. સિસ્ટમ curl વિશેના એક જૂના અહેવાલને દરેક પ્લેટફોર્મ માટે કાયમી નિયમમાં ન ફેરવો.

સંબંધિત લેખો