
基于HTTP和HTTPS的终端工具。Wetty是ajaxterm/anyterm的替代方案,但比它们更优秀,因为Wetty使用ChromeOS的终端模拟器(hterm),这是一个完全用Javascript编写的成熟终端仿真实现。此外,它使用websockets而非Ajax,因此响应时间更优。
hterm源代码
!Wetty
Wetty是一个创新的Web终端解决方案,它将强大的终端功能通过Web界面呈现,使用户能够通过浏览器便捷地访问命令行环境。无论是本地开发、远程服务器管理还是嵌入式设备控制,Wetty都能提供高效、流畅的终端体验。
bashgit clone https://github.com/krishnasrinivas/wetty.git cd wetty && npm install
对于自动登录功能,需要安装sshpass:
apt-get install sshpassyum install sshpassbashnpm start
/bin/login(可指定用户名)localhost连接远程主机可使用以下选项:
--sshhost: 指定SSH主机--sshport: 指定SSH端口--sshuser: 指定SSH用户也可以在地址栏中指定SSH用户名:
http://yourserver:3000/wetty/ssh/<username> 或 http://yourserver:3000/ssh/<username>
非root账户运行时,可以通过查询参数传递密码实现自动登录:
http://yourserver:3000/wetty/ssh/<username>?sshpass=<password> 或 http://yourserver:3000/ssh/<username>?sshpass=<password>
注意:在URL中传递密码存在安全隐患,使用时需自行评估风险。
建议始终使用HTTPS。如果没有CA颁发的SSL证书,可以创建自签名证书:
bashopenssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 30000 -nodes
然后运行:
bashwetty --sslkey key.pem --sslcert cert.pem -p 3000
运行方式与HTTP模式相同,root用户启动/bin/login,非root用户启动SSH连接。
该项目包含Dockerfile,可用于运行Docker化版本的wetty。
修改docker-compose配置后运行:
bashdocker-compose up -d
访问相应的URL([localhost|$(boot2docker ip)]:PORT)即可使用。
默认用户名为term,密码为term(如果未修改SSHHOST)。
如果不想自己构建镜像,可以移除配置文件中的build: .行。
nginxlocation /wetty { proxy_pass http://127.0.0.1:3000/wetty; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 43200000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; }
apacheRewriteCond %{REQUEST_URI} ^/wetty/socket.io [NC] RewriteCond %{QUERY_STRING} transport=websocket [NC] RewriteRule /wetty/socket.io/(.*) ws://localhost:9123/wetty/socket.io/$1 [P,L] <LocationMatch ^/wetty/(.*)> DirectorySlash On Require all granted ProxyPassMatch http://127.0.0.1:9123 ProxyPassReverse /wetty/ </LocationMatch>
注意:如果Nginx配置了HTTPS,Wetty应不启用SSL运行。
bashsudo yarn global add wetty sudo cp /usr/local/lib/node_modules/wetty.js/bin/wetty.conf /etc/init sudo start wetty
bashyarn global add wetty cp ~/.config/yarn/global/node_modules/wetty.js/bin/wetty.service ~/.config/systemd/user/ systemctl --user enable wetty systemctl --user start wetty
默认在3000端口启动。如需更改端口或重定向输出,可以修改wetty.conf文件的最后一行,例如:
exec sudo -u root wetty -p 80 >> /var/log/wetty.log 2>&1
Wetty支持所有Google hterm支持的浏览器。据报告,Wetty可在Google Chrome、Firefox和IE 11上正常工作。
这个解决方案已知可以帮助部分用户解决IE上的问题。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务