AsyncSSH ئۇلىنىشىدىن يەرلىك SOCKS ئاڭلىغۇچ
AsyncSSH نىڭ forward_socks API سى بىلەن دىنامىكىلىق TCP يۆتكەشنى قۇرۇڭ ۋە ئاڭلىغۇچنى asyncio ۋەقە ئايلانمىسىدا تىرىك ساقلاڭ.
AsyncSSH دىنامىكىلىق TCP يۆتكەشنى forward_socks() ئارقىلىق تەمىنلەيدۇ. 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 پروگراممىسى بۇ ئۇلىنىشنى ئوچۇق ساقلاپ، باشقا ۋەزىپىلىرىنى ئوخشاش ۋەقە ئايلانمىسىدا ئىجرا قىلالايدۇ.