
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于HTTP和HTTPS的终端工具。WeTTy是ajaxterm和anyterm的替代方案,但功能更强大,因为它使用xterm.js(完全用JavaScript编写的终端仿真实现),并通过websockets而非Ajax通信,响应速度更快。
WeTTy允许用户通过Web浏览器访问终端,支持本地和远程服务器的SSH连接,适用于需要通过Web界面管理服务器、进行远程终端操作的场景。
bash$ git clone https://github.com/krishnasrinivas/wetty.git $ cd wetty $ yarn $ yarn build
使用yarn或npm:
yarn global add wetty.jsnpm i -g wetty.js如需自动登录功能,需安装sshpass(程序其他功能无需此依赖):
apt-get install sshpassyum install sshpassWeTTy可作为独立服务运行或集成到其他Node脚本中(API文档见API Doc)。
bash$ node index.js
在浏览器中访问 http://yourserver:3000/wetty 即可登录,或访问 http://yourserver:3000/wetty/ssh/<username> 预先指定用户名。
/bin/login(可指定用户名)localhost通过 --help 标志可查看所有参数。
服务端口
默认端口为3000,可通过 --port 或 -p 修改:
bashnode index.js --port 8080 # 或 -p 8080
SSH主机
login 程序而非SSHlocalhost--sshhost 指定远程主机:bashnode index.js --sshhost remote.example.com
默认用户
通过 --sshuser 指定默认SSH用户,可通过访问 http://yourserver:3000/ssh/<username> 覆盖:
bashnode index.js --sshuser defaultuser
未指定时,用户连接时需手动输入用户名。
SSH端口
默认SSH端口为22,可通过 --sshport 修改:
bashnode index.js --sshport 2222
URL前缀
默认URL前缀为 /wetty,可通过 --base 修改(不可设为 /ssh/${something},以免破坏用户名匹配):
bashnode index.js --base /terminal
HTTPS配置
建议使用HTTPS,可通过两种方式实现:
--sslkey 和 --sslcert:bashnode index.js --sslkey key.pem --sslcert cert.pem
生成自签名证书(无CA证书时):
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>
Nginx
在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
在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>
WeTTy提供Docker化版本,支持快速部署。修改 docker-compose.yml 配置目标主机后运行:
bash$ docker-compose up -d
访问 [localhost|$(boot2docker ip)]:PORT 即可。默认用户名为 term,密码为 term(未修改 SSHHOST 时)。
Docker版本中,所有标志可通过环境变量设置(如 SSHHOST、SSHPORT 等)。如需使用官方镜像,移除 build: . 配置。
init.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
默认端口为3000,如需修改端口或重定向日志,修改配置文件最后一行,例如:
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
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务