update readme
This commit is contained in:
parent
e129886670
commit
d3f8812290
89
README.md
89
README.md
|
|
@ -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
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📄 License
|
||||||
|
|
||||||
|
MIT License © 2025 [Your Name]
|
||||||
Loading…
Reference in New Issue