AsyncSSH ସଂଯୋଗରୁ ସ୍ଥାନୀୟ SOCKS ଶ୍ରୋତା
AsyncSSH ର forward_socks API ସହିତ ଗତିଶୀଳ TCP ଫରୱାର୍ଡିଂ ସୃଷ୍ଟି କରନ୍ତୁ ଏବଂ ଶ୍ରୋତାକୁ asyncio ଇଭେଣ୍ଟ ଲୁପରେ ଜୀବିତ ରଖନ୍ତୁ।
AsyncSSH forward_socks() ମାଧ୍ୟମରେ ଗତିଶୀଳ TCP ଫରୱାର୍ଡିଂ ପ୍ରଦାନ କରେ। ଯେଉଁ ଆପ୍ଲିକେସନ ପାଖରେ AsyncSSH ପୂର୍ବରୁ ଅଛି, ସେ SSH ସଂଯୋଗ ଉପରେ ସ୍ଥାନୀୟ SOCKS ଶ୍ରୋତା ସୃଷ୍ଟି କରିପାରିବ:
import asyncio
import asyncssh
async def main():
async with asyncssh.connect(
'jump.example.net', username='operator'
) as connection:
listener = await connection.forward_socks('127.0.0.1', 1080)
await listener.wait_closed()
asyncio.run(main())
SSH ସର୍ଭର ଏବଂ ଖାତା ଉଦାହରଣ ମାତ୍ର। AsyncSSH ର ସାଧାରଣ ହୋଷ୍ଟ-କୀ ଯାଞ୍ଚ ଲାଗୁ ହୁଏ। ସର୍ଭର ଅନୁରୋଧିତ TCP ଫରୱାର୍ଡିଂକୁ ଅନୁମତି ଦେବା ଆବଶ୍ୟକ। କମାଣ୍ଡ-ଲାଇନ ସମକକ୍ଷ ପାଇଁ, OpenSSH ର ସ୍ଥାନୀୟ ଗତିଶୀଳ ଫରୱାର୍ଡ SSH ରୁ ଗନ୍ତବ୍ୟ ପର୍ଯ୍ୟନ୍ତ ସେହି ଦିଶା ବ୍ୟବହାର କରେ।
ସ୍ଥାନୀୟ କ୍ଲାଏଣ୍ଟ ଏବେ 127.0.0.1:1080 କୁ ନିଜର SOCKS ଏଣ୍ଡପଏଣ୍ଟ ଭାବରେ ବ୍ୟବହାର କରିପାରିବେ। ପ୍ରତ୍ୟେକ SOCKS ଅନୁରୋଧ ନିଜର ଗନ୍ତବ୍ୟ ଦିଏ; SSH ସର୍ଭର ସମ୍ପୃକ୍ତ ବହିର୍ଗାମୀ TCP ସଂଯୋଗ ଖୋଲେ। ଆପ୍ଲିକେସନକୁ ପ୍ରତ୍ୟେକ URL ପାଇଁ ଦୂର ଡାଉନଲୋଡର ଚଲାଇବାକୁ ପଡ଼େ ନାହିଁ।
ଅପେକ୍ଷା ଅସିଙ୍କ୍ରୋନସ ଫଙ୍କସନକୁ ସଂଯୋଗର ପରିସର ଭିତରେ ରଖେ। ଶ୍ରୋତା ସୃଷ୍ଟି କରିବା ପରେ ତୁରନ୍ତ ଫେରିଗଲେ ସେ ସେହି ପରିସର ଛାଡ଼ି ଏହାକୁ ସହାୟତା କରୁଥିବା ସଂଯୋଗ ବନ୍ଦ ହୋଇଯାଆନ୍ତା। ବଡ଼ asyncio ଆପ୍ଲିକେସନ ସେହି ଇଭେଣ୍ଟ ଲୁପରେ ନିଜର ଅନ୍ୟ କାମ ଚଲାଇ ଏହି ସଂଯୋଗକୁ ଖୋଲା ରଖିପାରେ।