等额外操作,本工具将是理想选择。
克隆仓库并从源码构建:
go build . ./endlessh-go &
或直接使用Docker镜像:
docker run -d -p 2222:2222 shizunge/endlessh-go -logtostderr -v=1
默认监听端口2222。
测试连接endlessh服务器,SSH客户端将挂起:
ssh -p 2222 localhost
如需类似C语言实现的日志,需同时设置命令行参数-logtostderr和-v=1,日志将输出到stderr。可通过命令行参数配置不同的日志输出目标。
完整栈部署示例请参考examples。
执行./endlessh-go --help查看帮助:
Usage of ./endlessh-go -alsologtostderr 同时输出日志到标准错误和文件 -conn_type string 连接类型,可选值:tcp、tcp4、tcp6(默认"tcp") -enable_prometheus 启用Prometheus指标 -geoip_supplier string IP地理位置信息供应商,可选值:"off"、"ip-api"、"max-mind-db"(默认"off") -host string SSH监听地址(默认"0.0.0.0") -interval_ms int 消息发送间隔(毫秒)(默认1000) -line_length int 最大横幅行长度(默认32) -log_backtrace_at value 当日志命中文件行号file:N时,输出堆栈跟踪 -log_dir string 日志文件目录(非空时启用) -log_link string 日志文件符号链接目录(非空时启用) -logbuflevel int 缓冲指定级别及以下的日志(-1=不缓冲;0=仅缓冲INFO;依此类推),在非生产环境适用性有限 -logtostderr 输出日志到标准错误而非文件 -max_clients int 最大客户端数量(默认4096) -max_mind_db string MaxMind数据库文件路径 -port value SSH监听端口,可多次指定以监听多个端口(默认"2222") -prometheus_clean_unseen_seconds int 移除指定时间内未活动IP的指标(0=禁用)(默认0) -prometheus_entry string Prometheus指标入口路径(默认"metrics") -prometheus_host string Prometheus监听地址(默认"0.0.0.0") -prometheus_port string Prometheus监听端口(默认"2112") -proxy_protocol_enabled 启用PROXY协议,服务器将期望接收PROXY协议头 -proxy_protocol_read_header_timeout_ms int PROXY协议头读取超时(毫秒),超时未接收有效头则忽略(默认200) -stderrthreshold value 指定级别及以上的日志输出到stderr(默认2) -v value V日志级别 -vmodule value 按文件过滤日志的模式列表(格式:pattern=N)
endlessh-go导出以下Prometheus指标:
| 指标名称 | 类型 | 描述 |
|---|---|---|
| endlessh_client_open_count_total | 计数器 | 尝试连接到服务器的客户端总数 |
| endlessh_client_closed_count_total | 计数器 | 停止连接的客户端总数 |
| endlessh_sent_bytes_total | 计数器 | 发送给客户端的总字节数 |
| endlessh_trapped_time_seconds_total | 计数器 | 客户端在陷阱中花费的总秒数 |
| endlessh_client_open_count | 计数器 | 客户端连接数 标签:
|
| endlessh_client_trapped_time_seconds | 计数器 | 客户端在陷阱中花费的秒数 标签:
|
指标默认关闭,需通过命令行参数-enable_prometheus启用。默认监听端口2112,指标入口路径/metrics,可通过命令行参数修改。
***者的geohash标签默认关闭,需通过-geoip_supplier启用。支持ip-api(可能有查询速率限制和商业使用限制,详见其服务条款)或MaxMind离线数据库(需设置-geoip_supplier=max-mind-db并通过-max_mind_db指定数据库路径)。
仪表板要求Grafana 8.2及以上版本。
可通过Grafana.com导入仪表板,ID为***。
仪表板可视化选定时间范围内的数据,IP地址可点击并链接到ARIN数据库。
如有问题或建议,请通过GitHub issue联系。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429