Soláthraíonn AsyncSSH seoladh TCP dinimiciúil trí forward_socks(). Is féidir le feidhmchlár a bhfuil AsyncSSH aige cheana éisteoir SOCKS áitiúil a chruthú thar nasc 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())

Is samplaí iad an freastalaí SSH agus an cuntas. Tá an ghnáthsheiceáil eochair óstaí AsyncSSH i bhfeidhm. Caithfidh an freastalaí an seoladh TCP iarrtha a cheadú. Mar choibhéis ar an líne ordaithe, úsáideann seoladh dinimiciúil áitiúil OpenSSH an treo céanna ó SSH go dtí an ceann scríbe.

Is féidir le cliaint áitiúla 127.0.0.1:1080 a úsáid anois mar a bpointe deiridh SOCKS. Soláthraíonn gach iarraidh SOCKS a ceann scríbe; osclaíonn an freastalaí SSH an nasc TCP amach comhfhreagrach. Ní gá don fheidhmchlár íoslódálaí cianda a rith do gach URL.

Coinníonn an fanacht an fheidhm asincrónach laistigh de raon an naisc. Dá bhfillfeadh sé láithreach tar éis an t-éisteoir a chruthú, d'fhágfadh sé an raon sin agus dhúnfadh sé an nasc a thacaíonn leis. Is féidir le feidhmchlár asyncio níos mó an nasc seo a choinneáil oscailte agus a chúraimí eile á rith ar an lúb imeachtaí céanna.

Ailt ghaolmhara