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