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 ਐਪਲੀਕੇਸ਼ਨ ਇਸ ਕਨੈਕਸ਼ਨ ਨੂੰ ਖੁੱਲ੍ਹਾ ਰੱਖ ਕੇ ਆਪਣੇ ਹੋਰ ਕੰਮ ਉਸੇ ਈਵੈਂਟ ਲੂਪ 'ਤੇ ਚਲਾ ਸਕਦੀ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ