这是WebSSH2前端库的修复版本,专门解决了以下问题:
- ✅ 解决终端显示乱码问题 - 不再显示 "wwwwwwwwwwww" 等乱码
- ✅ 完全兼容原项目后端 - 100%兼容WebSSH2原项目
- ✅ 保留所有原功能 - 日志记录、重认证、凭据重放等
- ✅ 界面完全一致 - 与原项目UI完全相同
- ✅ 稳定可靠 - 移除了所有不兼容的代码
npm install webssh2-frontend-fixed
<!DOCTYPE html>
<html>
<head>
<title>WebSSH客户端</title>
<!-- 添加FontAwesome支持 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
</head>
<body>
<div id="terminal" style="height: 600px;"></div>
<script src="node_modules/webssh2-frontend-fixed/dist/webssh2-frontend.js"></script>
<script>
const client = new WebSSHClient('terminal', {
socketUrl: 'http://localhost:2222',
socketPath: '/ssh/socket.io',
onConnected: () => console.log('连接成功'),
onError: (err) => console.error('错误:', err)
});
client.connect();
</script>
</body>
</html>
import { WebSSHClient } from 'webssh2-frontend-fixed';
const client = new WebSSHClient('terminal-container', {
socketUrl: 'http://your-server:2222',
socketPath: '/ssh/socket.io',
// 事件回调
onConnected: () => {
console.log('SSH连接已建立');
},
onDisconnected: () => {
console.log('SSH连接已断开');
},
onError: (error) => {
console.error('连接错误:', error);
},
onData: (data) => {
console.log('接收数据:', data);
}
});
// 连接
client.connect();
// 断开
client.disconnect();
// 销毁
client.destroy();
前端库现在会自动连接到WebSSH2后端,无需额外配置。
如果需要,可以先通过浏览器访问WebSSH2的SSH连接URL:
http://localhost:2222/ssh/host/192.168.1.100?username=root&password=yourpassword
然后在前端库中连接即可。
new WebSSHClient(container: HTMLElement | string, config: WebSSHClientConfig)
interface WebSSHClientConfig {
socketUrl: string; // WebSocket服务器地址
socketPath?: string; // Socket路径,默认 '/ssh/socket.io'
// 事件回调
onConnected?: () => void;
onDisconnected?: () => void;
onError?: (error: string) => void;
onData?: (data: string) => void;
}
-
connect()
- 连接到SSH服务器 -
disconnect()
- 断开连接 -
destroy()
- 销毁组件
- 📱 响应式设计
- 🎨 与原项目完全一致的UI
- 📋 底部菜单栏(日志、下载等功能)
- 📊 实时状态显示
- 🖥️ 完整的终端模拟
- 📝 日志记录和下载
- 🔄 自动重连
- 🔧 窗口大小自适应
- 🔐 重新认证支持
- 🔑 凭据重放功能
- ⏰ 安全关机倒计时
项目包含完整的示例文件:
-
examples/final-fixed-example.html
- 完整的修复示例 -
examples/complete-webssh-usage.html
- 完整功能演示 -
examples/frontend-usage.html
- 基础使用示例
如果你之前使用的是有问题的版本,只需要:
- 卸载旧版本:
npm uninstall webssh2-frontend
- 安装修复版本:
npm install webssh2-frontend-fixed
- 更新引用:
// 旧版本
import { WebSSHClient } from 'webssh2-frontend';
// 修复版本
import { WebSSHClient } from 'webssh2-frontend-fixed';
-
移除错误的连接事件
- 删除了不兼容的
ssh-connect
事件 - 采用与原项目100%兼容的连接方式
- 删除了不兼容的
-
完全仿照原项目实现
- UI结构与原项目完全一致
- 事件处理与原项目完全一致
- CSS样式与原项目完全一致
-
解决终端显示问题
- 修复了终端显示乱码的根本原因
- 确保终端内容正常显示
- FontAwesome图标 - 确保页面加载了FontAwesome图标库
- 后端兼容性 - 完全兼容WebSSH2原项目后端
- 浏览器支持 - 支持所有现代浏览器
- 响应式设计 - 自动适应不同屏幕尺寸
MIT License
欢迎提交Issue和Pull Request!
如果遇到问题,请检查:
- 后端服务是否正常运行
- Socket.IO地址和路径是否正确
- 浏览器控制台是否有错误信息
- FontAwesome图标库是否正确加载
注意:这是WebSSH2前端库的修复版本,专门解决了终端显示乱码等问题,与原项目100%兼容。