
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
WeTTy是一个通过HTTP和HTTPS提供终端访问的工具,是ajaxterm和anyterm的替代方案。它使用xterm.js实现完整的终端模拟(纯JavaScript编写),并采用websockets而非Ajax通信,因此具有更优的响应速度。用户可通过浏览器访问终端,支持本地及远程SSH连接。
!WeTTy
从源码安装
bash$ git clone https://github.com/krishnasrinivas/wetty.git $ cd wetty $ yarn $ yarn build
从npm安装(全局)
使用yarn:
bashyarn global add wetty.js
使用npm:
bashnpm i -g wetty.js
依赖安装(自动登录功能)
自动登录功能需要安装sshpass(非核心功能必需):
apt-get install sshpassyum install sshpass基本运行
可作为独立服务运行或集成到 node脚本(API文档见API Doc):
bash$ node index.js
浏览器访问:
http://yourserver:3000/wetty - 提示登录http://yourserver:3000/wetty/ssh/<username> - 预先指定用户名运行行为说明
/bin/login(可指定用户名)localhost使用--help查看所有参数:
bashnode index.js --help
服务器端口
默认端口:3000
修改端口:--port或-p
bashnode index.js -p 8080
SSH主机
默认主机:localhost
指定远程主机:--sshhost
bashnode index.js --sshhost 192.168.1.100
注意:root用户运行且主机为本地时,使用
login二进制而非SSH
默认用户
指定默认SSH用户:--sshuser
可通过URL覆盖:http://yourserver:3000/ssh/<username>
bashnode index.js --sshuser admin
SSH端口
默认端口:22
指定端口:--sshport
bashnode index.js --sshport 2222
URL前缀
默认前缀:/wetty
自定义前缀:--base(不要设置为/ssh/${something},会破坏用户名匹配)
bashnode index.js --base /terminal
HTTPS配置
直接运行HTTPS需同时指定证书和密钥:
bashnode index.js --sslkey key.pem --sslcert cert.pem
生成自签名证书:
bashopenssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 30000 -nodes
自动登录
非root用户运行时,可通过URL参数传递密码自动登录:
http://yourserver:3000/wetty/ssh/<username>?sshpass=<password>
注意:URL中传递密码存在安全风险,需自行评估
Nginx配置
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; }
Apache配置
apacheRewriteCond %{REQUEST_URI} ^/wetty/socket.io [NC] RewriteCond %{QUERY_STRING} transport=websocket [NC] RewriteRule /wetty/socket.io/(.*) ws://localhost:3000/wetty/socket.io/$1 [P,L] <LocationMatch ^/wetty/(.*)> DirectorySlash On Require all granted ProxyPassMatch http://127.0.0.1:3000 ProxyPassReverse /wetty/ </LocationMatch>
注意:代理使用HTTPS时,WeTTy应关闭SSL
docker-compose配置
修改docker-compose.yml后启动:
bash$ docker-compose up -d
访问地址:[localhost|$(boot2docker ip)]:PORT
环境变量配置
Docker版本中所有参数可通过环境变量设置:
SSHHOST:SSH主机SSHPORT:SSH端口SSHUSER:默认SSH用户PORT:服务端口BASE:URL前缀SSLKEY:SSL密钥路径SSLCERT:SSL证书路径默认凭据(未修改SSHHOST时):
termterminit.d服务
bash$ sudo yarn global add wetty.js $ sudo cp ~/.config/yarn/global/node_modules/wetty.js/bin/wetty.conf /etc/init $ sudo start wetty
systemd服务
bash$ yarn global add wetty.js $ cp ~/.config/yarn/global/node_modules/wetty.js/bin/wetty.service ~/.config/systemd/user/ $ systemctl --user enable wetty $ systemctl --user start wetty
修改配置(如端口或日志):
编辑wetty.conf,修改执行行:
systemdexec sudo -u root wetty -p 80 >> /var/log/wetty.log 2>&1
WeTTy支持所有https://github.com/xtermjs/xterm.js#browser-support%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务