AsyncSSH waxay bixisaa gudbin TCP firfircoon iyada oo u maraysa forward_socks(). Barnaamij hore u lahaa AsyncSSH wuxuu ka abuuri karaa dhegeyste SOCKS maxalli ah isku xirka SSH:

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())

Serverka SSH iyo akoonku waa tusaale. Waxaa lagu dabaqaa hubinta caadiga ah ee furayaasha martida ee AsyncSSH. Serverku waa inuu oggolaadaa gudbinta TCP ee la codsaday. Si loo helo u dhigma khadka amarka, gudbinta firfircoon ee maxalliga ah ee OpenSSH waxay isticmaashaa isla jihada SSH ilaa meesha loo socdo.

Macaamiisha maxalliga ah hadda waxay 127.0.0.1:1080 u isticmaali karaan barta dhamaadka SOCKS. Codsi kasta oo SOCKS ah wuxuu bixiyaa meesha uu u socdo; serverka SSH wuxuu furaa isku xirka TCP ee baxa ee u dhigma. Barnaamijku uma baahna inuu socodsiiyo soo dejineeye fog URL kasta.

Sugitaanku wuxuu hawlaha asynkronous ku hayaa gudaha baaxadda isku xirka. Haddii si degdeg ah loogu laabto ka dib abuurista dhegeysiga, waxaa laga bixi lahaa baaxaddaas oo la xiri lahaa isku xirka taageeraya. Barnaamij asyncio weyn ayaa furan haysan kara isku xirkan isagoo hawlihiisa kale ku socodsiiyo isla mashruuca dhacdooyinka.

Maqaallo la xiriira