AsyncSSH konexio bateko SOCKS entzule lokala
Sortu TCP birbidalketa dinamikoa AsyncSSH-ren forward_socks APIarekin eta mantendu entzulea asyncio gertaeren begiztan bizirik.
AsyncSSHk TCP birbidalketa dinamikoa eskaintzen du forward_socks() bidez. AsyncSSH jada duen aplikazio batek SOCKS entzule lokal bat sor dezake SSH konexio baten gainean:
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 zerbitzaria eta kontua adibideak dira. AsyncSSHren ostalari-gakoen ohiko egiaztapena aplikatzen da. Zerbitzariak eskatutako TCP birbidalketa baimendu behar du. Komando-lerroko baliokidea lortzeko, OpenSSHren tokiko birbidalketa dinamikoak SSHtik helmugarako norabide bera erabiltzen du.
Tokiko bezeroek 127.0.0.1:1080 erabil dezakete orain SOCKS amaiera-puntu gisa. SOCKS eskaera bakoitzak bere helmuga ematen du; SSH zerbitzariak dagokion irteerako TCP konexioa irekitzen du. Aplikazioak ez du URL bakoitzeko urruneko deskargatzailerik exekutatu behar.
Itxaroteak funtzio asinkronoa konexioaren esparruan mantentzen du. Entzulea sortu ondoren berehala itzuliz gero, esparru hori utzi eta hura eusten duen konexioa itxiko litzateke. asyncio aplikazio handiago batek konexio hau irekita eduki dezake bere beste zereginak gertaeren begizta berean exekutatzen dituen bitartean.