telnet web terminal

Любые идеи по созданию telnet веб терминала, аналог putty только через веб. Веб framework django. Консоль на js реализована.


Советуют использовать fastapi или же tornado.

Необходимо создавать сессию и держать подключение с устройством.

класс telnet подключения:

class TelnetClient():
PROMPT = b'#'
LISTPROMPT = [b'#', b'--More--', b'<space>']
LISTAUTHLOGIN = [b'User Name:',b'login:']

def __init__(self, ):
    self.tn = telnetlib.Telnet()

def login_host(self, host_ip, username, password):
    try:
        self.tn.open(host_ip, port=23)
    except:
        return False #network failure
    self.tn.expect(self.LISTAUTHLOGIN,timeout=5)
    self.tn.write(username.encode('ascii') + b'\n')
    self.tn.read_until(b'Password:', timeout=5)
    self.tn.write(password.encode('ascii') + b'\n')
    if self.tn.read_until(self.PROMPT):
        return True #successful login
    else:
        return False #Login failed

def execute_some_command(self, command):
    self.tn.write(command.encode('ascii') + b"\n")
    print('<br>'.join([(f"{k.decode('ascii')}") for k in self.tn.expect(self.LISTPROMPT)[2:]]))

def getsoket(self):
    return self.tn.get_socket()
# Exit telnet
def logout_host(self):
    self.tn.write(b"exit\n")

введите сюда описание изображения


Ответы (0 шт):