Olùgbọ́ SOCKS àdúgbò láti inú ìsopọ̀ AsyncSSH
Ṣẹ̀dá ìfiránṣẹ́ TCP tí ń yí padà pẹ̀lú API forward_socks ti AsyncSSH kí o sì pa olùgbọ́ mọ́ láàyè lórí asyncio event loop.
AsyncSSH ń pèsè ìfiránṣẹ́ TCP tí ń yí padà nípasẹ̀ forward_socks(). Ohun èlò tí ó ti ní AsyncSSH lè ṣẹ̀dá olùgbọ́ SOCKS àdúgbò lórí ìsopọ̀ SSH:
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())
Sáfà SSH àti àkọsílẹ̀ jẹ́ àpẹẹrẹ. Ìṣàyẹ̀wò kọ́kọ́rọ́ agbàlejò déédéé ti AsyncSSH wà lábẹ́. Sáfà gbọ́dọ̀ gba ìfiránṣẹ́ TCP tí a béèrè fún. Fún ìbámu pẹ̀lú ìlà àṣẹ, ìfiránṣẹ́ àdúgbò tí ń yí padà ti OpenSSH ń lo ọ̀nà kan náà láti SSH sí ibi tí ó ń lọ.
Àwọn oníbàárà àdúgbò lè lo 127.0.0.1:1080 gẹ́gẹ́ bí ibi ìparí SOCKS wọn báyìí. Ìbéèrè SOCKS kọ̀ọ̀kan ń fi ibi tí ó ń lọ hàn; sáfà SSH ń ṣí ìsopọ̀ TCP tí ń jáde tí ó bá a mu. Ohun èlò kò nílò láti ṣe olùgbàsílẹ̀ jíjìnnà fún gbogbo URL.
Dídúró ń pa iṣẹ́ aṣinkírọ́n mọ́ nínú ààlà ìsopọ̀. Bíbẹ̀rẹ̀ sí padà lẹ́sẹ̀kẹsẹ̀ lẹ́yìn ṣíṣe olùgbọ́ yóò jáde kúrò nínú ààlà yẹn yóò sì ti ìsopọ̀ tí ń gbé e ró. Ohun èlò asyncio tó tóbi jù lè pa ìsopọ̀ yìí mọ́ ní ṣíṣí nígbà tí ó ń ṣe àwọn iṣẹ́ mìíràn rẹ̀ lórí event loop kan náà.