AsyncSSH forward_socks() દ્વારા ગતિશીલ TCP ફોરવર્ડિંગ પ્રદાન કરે છે. જે એપ્લિકેશન પાસે AsyncSSH પહેલેથી છે તે SSH કનેક્શન પર સ્થાનિક SOCKS શ્રોતા બનાવી શકે છે:

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 સર્વર અને ખાતું ઉદાહરણો છે. AsyncSSH ની સામાન્ય હોસ્ટ-કી ચકાસણી લાગુ પડે છે. સર્વરે વિનંતી કરેલું TCP ફોરવર્ડિંગ મંજૂર કરવું પડે છે. કમાન્ડ-લાઇન સમકક્ષ માટે, OpenSSH નું સ્થાનિક ગતિશીલ ફોરવર્ડ SSH થી લક્ષ્ય સુધીની એ જ દિશા વાપરે છે.

સ્થાનિક ક્લાયન્ટ હવે 127.0.0.1:1080 ને પોતાના SOCKS એન્ડપોઇન્ટ તરીકે વાપરી શકે છે. દરેક SOCKS વિનંતી પોતાનું લક્ષ્ય આપે છે; SSH સર્વર સંબંધિત બહાર જતું TCP કનેક્શન ખોલે છે. એપ્લિકેશને દરેક URL માટે દૂરસ્થ ડાઉનલોડર ચલાવવાની જરૂર નથી.

પ્રતીક્ષા એસિંક્રોનસ ફંક્શનને કનેક્શનના વ્યાપમાં રાખે છે. શ્રોતા બનાવ્યા પછી તરત જ પાછા ફરવાથી એ વ્યાપ છોડીને તેને ટેકો આપતું કનેક્શન બંધ થઈ જાત. મોટી asyncio એપ્લિકેશન આ કનેક્શન ખુલ્લું રાખીને તેના બીજા કાર્યો એ જ ઇવેન્ટ લૂપ પર ચલાવી શકે છે.

સંબંધિત લેખો