AsyncSSH bjóðar dynamiska TCP-framleinging gjøgnum forward_socks(). Eitt forrit, sum longu hevur AsyncSSH, kann gera ein lokalan SOCKS-lurara yvir eitt SSH-samband:

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-tænarin og kappingin eru dømir. Vanliga AsyncSSH-vartin av vertslyklum er galdandi. Tænarin má loyva tí umbidnu TCP-framleingingini. Sum kommando-linju javngildi brúkar lokal dynamisk framleinging hjá OpenSSH sama ætt frá SSH til málið.

Lokalir klientar kunnu nú brúka 127.0.0.1:1080 sum sítt SOCKS-endapunkt. Hvør SOCKS-umbøn gevur sítt mál; SSH-tænarin letur upp samsvarandi útgangandi TCP-samband. Forritið þarf ikki at koyra ein fjarnámsfongara fyri hvørja URL.

Bíðingin heldur tí asynkronu funktiónini innan sambandsins øki. At koma aftur beint eftir at lurarin er gjørdur fór út úr hesum øki og lat sambandið, ið heldur tí uppi. Eitt størri asyncio-forrit kann halda hetta sambandið opið, meðan tað koyrir onnur størv sín á sama hendingarringi.

Skyldar greinar