Skip to content
On this page

自建内网穿透的终极解决方案 HP-Lite

HP-Lite私有化部署内网穿透终极解决方案,支持多设备、多用户、自动获取SSL证书与流量统计功能,服务端配置映射,无需调整客户端。 原项目地址: gitee博主修改版开源地址: github

项目预览

设备监控域名证书穿透配置流量监控

功能介绍

  1. 具备多用户模式,可以分发给其他用户使用。
  2. 支持各种系统的设备作为客户端,包括windows、linux、安卓、mac。
  3. 一键获取SSL证书(需要80、443端口支持),自动为穿透接口进行https加密。
  4. 支持流量统计与pv/uv统计。
  5. 支持TCP、UDP与TCP/UDP混合穿透。

内网穿透项目比较

  1. FRP FRP同样是一个golang构建的内网穿透项目,用户群体大,主要问题在于不支持服务端修改端口映射配置,需要到客户端修改配置文件。
  2. NPS 也是golang构建的内网穿透项目,几年没有更新了。最后一个版本存在密码泄露的漏洞,只有其他fork版本还在更新。
  3. HP-Lite 也就是此项目,可以在服务端修改端口配置,锦上添花的是有自动SSL证书功能。

博主修改的主要内容

  1. SSL证书的自动更新功能。免费SSL证书有效期为90天,需要手动点击更新,博主嫌麻烦加上了自动更新。
  2. 添加了dockerfile,修改了db存储地址,提供了DOCKER部署的能力。
  3. 优化了网络流量的显示。
  4. 由于原项目代码质量一般,后续博主会优化代码为主,在看看有什么新的功能需求。

服务端构建

项目配置文件

yaml
# ./app.yml
admin:
  username: 'admin' # 后台管理员账号
  password: '123456' # 后台管理员密码
  port: 9090 # 管理后台web端口(TCP)

cmd:
  port: 6666 # 客户端连接端口(TCP)

tunnel:
  ip: {你的外网ip或域名}
  port: 9091 # 客户端数据传输端口(UDP)
  open-domain: true # 开启80,443端口域名转发(注意这是自动证书功能的基础,被其他程序占用就不要开启了)

acme:
  email: '[email protected]' # 申请证书必须写一个邮箱可以随便写
  http-port: '5634' # 证书验证会访问http接口,会通过80转发过来,所以这个端口不用暴露外网

DOCKER部署

bash
docker run -d \
    --name hp \
    --net host \
    --log-opt max-size=10m \
    --log-opt max-file=3 \
    -v ./data:/app/data \
    -v ./app.yml:/app/app.yml \
    laoyutang/hp-lite-server:latest
  • --name hp 自定义容器名
  • --net host 使用host网络模式,不然要映射的端口太多了
  • --log-opt max-size=10m --log-opt max-file=3 控制日志大小,穿透的网络日志很多,最好控制下
  • -v ./data:/app/data持久化
  • -v ./app.yml:/app/app.yml配置文件映射
  • laoyutang/hp-lite-server:latest服务端镜像支持amd64与arm64的架构

管理

启动后登录 ip:port即可。 添加一台新的设备,复制设备32为uuid备用。

客户端部署

在客户端设备上使用docker一键启动

Docker compose

yaml
# docker-compose.yaml
services:
  hp-lite:
    image: laoyutang/hp-lite-client:latest
    container_name: hp-lite
    restart: always
    network_mode: host
    logging: 
      options:
        max-size: "10m" 
    environment:
      - server={服务器ip或域名}:{cmd端口}
      - deviceId={32位设备id}

Docker Cli

bash
docker run -d \
  --name hp \
  --restart always \
  --net host \
  --log-opt max-size=10m \
  -e server={服务器ip或域名}:{cmd端口} \
  -e deviceId={32位设备id} \
  laoyutang/hp-lite-client:latest

其他客户端程序

可以到原项目地址下载,下载地址

上次更新于: