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áà.

Àwọn àpilẹ̀kọ tó jọra