update readme

This commit is contained in:
Joseph 2025-07-08 13:35:50 +07:00
parent e129886670
commit d3f8812290
1 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,89 @@
# 🖥️ 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](https://xtermjs.org/)
- ✅ 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)
```bash
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:
```js
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.
```bash
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](./docs/screenshot.png)
---
## 📄 License
MIT License © 2025 [Your Name]