testXtermJS/README.md

2.0 KiB

🖥️ Cisco Telnet CLI Streaming

Stream CLI của thiết bị Cisco (qua Telnet) lên trình duyệt theo thời gian thực.
Cho phép người dùng thao tác trực tiếp từ giao diện web với thiết bị như một terminal thật — hỗ trợ cả phím TAB, ENTER, CTRL+C, mũi tên,…


📦 Tính năng

  • Kết nối trực tiếp tới thiết bị Cisco qua Telnet
  • Stream CLI real-time bằng Socket.IO
  • Giao diện terminal tương tác bằng xterm.js
  • Gửi từng phím người dùng gõ (raw input)
  • Nhận toàn bộ phản hồi từ thiết bị Cisco và hiển thị trực tiếp
  • Không cần giả lập từng lệnh hay phân tích kết quả

🧩 Kiến trúc hệ thống

Frontend (React + xterm.js)
      │
      ▼
Socket.IO (real-time)
      │
      ▼
Backend (Node.js + net.Socket)
      │
      ▼
Cisco Device (Telnet)

🚀 Hướng dẫn sử dụng

1. Backend (Node.js)

git clone https://github.com/your-org/cisco-telnet-cli-stream.git
cd cisco-telnet-cli-stream
npm install
node server.js

⚙️ Mặc định kết nối đến thiết bị tại 172.18.8.20:23.
Bạn có thể sửa địa chỉ này trong file server.js dòng:

const telnet = net.createConnection({ host: "172.18.8.20", port: 23 });

2. Frontend (React)

Sử dụng Vite, CRA hoặc Next.js đều được.

cd frontend
npm install
npm run dev

Mặc định kết nối socket đến http://localhost:3000.


🛠 Cấu hình thêm

Bạn có thể mở rộng thêm:

  • Gửi username/password tự động nếu gặp dòng Username: hoặc Password:
  • Tạo mỗi phiên Socket.IO một Telnet session riêng
  • Lưu log toàn bộ thao tác
  • Phân quyền user và giới hạn thao tác

🖼 Screenshot

screenshot terminal


📄 License

MIT License © 2025 [Your Name]