SSH ଦ୍ୱାରା ସ୍ଥାନୀୟ SOCKS proxy ତିଆରି କରନ୍ତୁ
127.0.0.1 ରେ OpenSSH dynamic forwarding ବ୍ୟବହାର କରି session ରେ process ଚାଲୁ ରଖନ୍ତୁ ଏବଂ listener ଚାଲିବାକୁ ଲକ୍ଷ୍ୟ ପହଞ୍ଚରୁ ଅଲଗା କରନ୍ତୁ।
Server କୁ ଅନୁମୋଦିତ SSH access ଥିଲେ OpenSSH ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟର୍ରେ SOCKS listener ତିଆରି କରିପାରେ। SSH ସଂଯୋଗ forwarded traffic ବହନ କରେ ଏବଂ ଦୂର server ଲକ୍ଷ୍ୟ ସହ ଯୋଡ଼େ।
କେବଳ loopback listener
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
Account ଓ hostname ବଦଳାନ୍ତୁ। SSH server forwarding ଅନୁମତି ଦେବା ଦରକାର; ପ୍ରଶାସକ account login ଠାରୁ ପୃଥକ୍ forwarding ଓ ଲକ୍ଷ୍ୟ ସୀମିତ କରିପାରେ।
-D dynamic forwarding ତିଆରି କରେ ଏବଂ ସ୍ପଷ୍ଟ loopback ଠିକଣା listener କୁ ଏହି ଯନ୍ତ୍ରରେ ସୀମିତ କରେ। -N remote command ଚଲାଏ ନାହିଁ; -T pseudo-terminal ଦିଏ ନାହିଁ। ControlPath=none ଥିବା sharing master ଏଡ଼ାଏ ଏବଂ ForkAfterAuthentication=no ଏହି invocation କୁ foreground ରେ ରଖେ।
Proxy ବ୍ୟବହାର ବେଳେ process ଚାଲୁ ରଖନ୍ତୁ। Port1080 ବ୍ୟସ୍ତ ଥିଲେ ଅନ୍ୟ ଖାଲି high port ବାଛି client ବଦଳାନ୍ତୁ। ExitOnForwardFailure=yes listener ନ ତିଆରି ହେଲେ SSH ବନ୍ଦ କରେ।
SOCKS endpoint ବ୍ୟବହାର
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
ଏହି ଅନୁରୋଧ SOCKS5 ଦ୍ୱାରା ଲକ୍ଷ୍ୟ ନାମର ପରିଚାଳନା ହସ୍ତାନ୍ତର କରେ। ଅନ୍ୟ ଆପ୍କୁ ନିଜ SOCKS ସେଟିଂ ଦରକାର; HTTP proxy କ୍ଷେତ୍ର ଏହି listener ସହ SOCKS କହିପାରେ ନାହିଁ।
Port କେଉଁ process ର ଦେଖିବା ପାଇଁ:
ss -ltnp 'sport = :1080'
ଉଦ୍ଦିଷ୍ଟ SSH process ପାଖରେ loopback listener ଥିବା ଦରକାର। ତାହା ଦେଇ ଅନୁରୋଧ ଦୂର server ମଧ୍ୟ ଲକ୍ଷ୍ୟକୁ ପହଞ୍ଚିପାରେ କି ଯାଞ୍ଚ କରେ। ଦେଖାଯାଇଥିବା ବାହାର ପଥ ଯାଞ୍ଚ ପାଇଁ ନିଜ ନିୟନ୍ତ୍ରଣର ଲକ୍ଷ୍ୟ ନିଅନ୍ତୁ।
Session ର ଆୟୁ
Ctrl-C SSH process, listener ଓ forwarded ସଂଯୋଗ ବନ୍ଦ କରେ। SSH ସଂଯୋଗ ଛିଡ଼ିଲେ ମଧ୍ୟ proxy ମିଳେ ନାହିଁ।
ExitOnForwardFailure ଆରମ୍ଭର setup ଯାଞ୍ଚ କରେ। ପରେ ପ୍ରତ୍ୟେକ ଲକ୍ଷ୍ୟ ସଂଯୋଗ ବିଫଳ ହେଲେ SSH ବନ୍ଦ କରେ ନାହିଁ; ତେଣୁ session, ସ୍ଥାନୀୟ port ଓ ଲକ୍ଷ୍ୟ ଅନୁରୋଧ ପୃଥକ୍ ଯାଞ୍ଚ କରନ୍ତୁ।