
freeflyer/wettyWetty是一个通过HTTP和HTTPS提供终端访问的工具,作为ajaxterm/anyterm的替代方案,其优势在于使用ChromeOS的hterm终端模拟器(完全基于JavaScript实现的完整终端模拟)和WebSocket通信(相比Ajax具有更优的响应速度)。
原始版本:[]
hterm源码:[]
!Wetty
bashdocker run --name term -e WETTY_USER=your_user -e WETTY_HASH='<your hash between simple quotes>' -p 3000:3000 -dt freeflyer/wetty
WETTY_USER:登录用户名(可选,默认值:term)WETTY_HASH:密码哈希值(可选,默认值对应密码"term")哈希值必须用单引号包裹,否则特殊字符可能导致截断。生成方法:
bashmkpasswd -m sha-512 -S <your_salt> <<< <yourpass>
或直接从/etc/shadow文件中复制现有用户的哈希值。
推荐在代理后使用(尤其是HTTPS环境),以下示例绑定本地回环地址:
yamlwetty: image: freeflyer/wetty environment: - WETTY_USER=your_user - WETTY_HASH=<your hash between simple quotes> ports: - "127.0.0.1:3000:3000" networks: - front
root用户运行app.js,访问URL为:[***]app.js,访问URL为:[***]<username>推荐使用Traefik作为代理,与Docker集成良好。在swarm/docker-compose中添加以下部署标签:
yamldeploy: labels: - "traefik.domain=your-hostname" - "traefik.backend=wetty" - "traefik.enable=true" - "traefik.port=3001" - "traefik.frontend.entryPoints=https,http" - "traefik.frontend.redirect.entryPoint=https" - "traefik.frontend.redirect.permanent=true" - "traefik.frontend.rule=Host:<your-hostname>" - "traefik.docker.network=<your-docker-network-name>"
此配置为Wetty分配独立域名,启用HTTPS并将HTTP请求重定向至HTTPS。更多信息:[***]
***** 未测试 *****
在Nginx配置文件中添加:
nginxlocation /wetty { proxy_pass [***] 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代理配置示例:
ApacheProxyPass /wetty [***] ProxyPassReverse /wetty [***] <Location /wetty> # Apache 2.4+ 认证配置,详见 [***] AuthUserFile /etc/apache2/xmisspasswd AuthType Basic AuthName "WTF" Require valid-user </Location>
node:alpine镜像构建,减小镜像体积





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务