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 अनुप्रयोग हे कनेक्शन उघडे ठेवून आपली इतर कामे त्याच इव्हेंट लूपवर चालवू शकतो.

संबंधित लेख