产品介绍
AirGap(华宇气隙)面向“数据不出内网”的客户场景,把软件分发做成一座受控仓库: 更新物资本地入库、校验签名后按需供给,彻底隔离外部网络依赖。
核心特性
- 统一更新通道:安装包、脚本、依赖统一入库,客户端从一个入口下载,支持断点续传;
- 签名摆渡:可把任意目录打包成 Ed25519 签名的
.airgap包,经 U 盘等物理介质摆渡,导入时自动验签 + SHA-256 校验; - 公网同源分发:API 发布的文件即刻通过
https://lanhc.com/lanhc/airgap/对外可见,无需二次同步; - 气隙友好:密钥在本机生成,签名包离线可验;
verify.py纯标准库,断网机无需安装任何依赖; - 轻量部署:单容器(Python + Flask),数据目录自包含,Docker Compose 一键起服务。
关键地址
| 用途 | 地址 |
|---|---|
| 产品看板 | https://airgap.lanhc.com/ |
| 公网文件通道 | https://lanhc.com/lanhc/airgap/ |
| 仓库 API | https://airgap.lanhc.com/api/status |
| 发布接口 | POST /api/publish(multipart 上传) |
| 签名打包 | POST /api/pack(导出 .airgap) |
| 验签导入 | POST /api/import(校验后入库) |
典型流程
- 发布:在 AirGap 看板上传安装包(可指定子目录),文件落盘到仓库持久存储;
- 分发:客户端从
https://lanhc.com/lanhc/airgap/<目录>/<文件>或https://airgap.lanhc.com/repo/<路径>下载; - 摆渡(可选):把某目录导出为签名
.airgap包,经 U 盘带入气隙环境,在断网机用verify.py校验后导入; - 审计:每次发布 / 打包 / 导入都有记录,旧版本按目录保留,可回滚。
数据与安全
- 数据唯一存储:
/lucky/repo/data(public/可分发文件、outbox/签名包、keys/密钥对); - 官网只读挂载同一份数据:静态站点永远无法改写仓库内容,数据单向流动;
- Ed25519 密钥在首次运行时本地生成,私钥不出机器;
- 管理接口与文件下载同域,HTTPS 由 Let’s Encrypt 自动签发。
部署
AirGap 运行在 baizor 上(/lucky/repo),与官网(lanhc-hugo)共享公网文件通道:
cd /lucky/repo
docker compose up -d
看板:https://airgap.lanhc.com/;内网直连:http://127.0.0.1:8001/。
如需在客户侧私有化部署,使用与官网相同的容器镜像 ccr.ccs.tencentyun.com/lucky/airgap,
把 /data 挂载到本地持久卷,并按客户网络规划反向代理即可。
