v0.4.0
Added
-
UDP 隧道:映射新增
udp模式,本地绑定 UDP socket,数据报经隧道由 expose 能力拨 UDP 目标;适用于 DNS、WireGuard、游戏服务器等无连接协议。access 端按来源地址维护会话并在空闲 60 秒后回收。 -
HTTP 反向代理网关:映射新增
http模式,单个本地端口按请求Host头分流到多个内网后端(routes路由表,最多 32 条,空host_match为兜底后端)。 -
反向映射:把本机 access 侧服务暴露给 expose 所在内网。复用同一条 QUIC 连接的双向流,expose 在内网监听、把连接交回 access 拨本地目标。默认全部拒绝:access 需显式启用并列出允许回拨的网段与端口才放行(
reverse_enabled+reverse_allow_networks+reverse_allow_ports);expose 用[[expose.clients]]下的reverse声明内网监听地址。 -
Mapping新增mode与routes字段;旧配置省略时按tcp处理,向后兼容。 -
映射命名:
Mapping新增可选name字段(旧配置默认为空,向后兼容)。列表以名称为主标识、本地地址降为副信息,搜索同时覆盖名称。 -
一键启用/停用全部映射(
POST /api/mappings/toggle-all):逐条重建把手,单条失败不影响其余并计入返回;列表头按钮随当前状态在“全部停用/全部启用”间切换。 -
映射列表排序(异常优先/名称/本地地址/流量,选择持久化);端口映射标签页新增异常映射计数徽章,切换到其他标签也能看到有几条映射异常。
-
导入合并模式(
POST /api/import?mode=merge):只叠加新增、按本地地址更新同名,保留导入未提及的现有映射;导入时可选择“覆盖”或“合并”。 -
连接时长:
/api/status暴露connected_since,连接状态卡显示当前连接已保持时长。 -
连接质量趋势:连接状态卡以迷你趋势图展示往返延迟(RTT)历史,断线以缺口体现,便于看出链路抖动。
-
断线桌面通知(可选开启):连接断开/恢复且页面不可见时发系统通知,与页内提示互补。
-
就地编辑映射(
PUT /api/mappings/{id}):仅改目标时复用原监听、不中断已建隧道;改本地地址时先绑新址再停旧址。管理页新增编辑模式与每行“复制本地地址”。 -
连接从“已连接”跌为断开时提醒一次;标签页隐藏时暂停轮询、重新可见时立即刷新。
-
映射启用/停用(
POST /api/mappings/{id}/toggle):停用释放本地端口并 drain 在途连接、保留配置可随时再启用;Mapping新增持久化enabled字段,旧配置默认启用。 -
连接级明细:
/api/stats每条映射附活跃连接列表(来源、时长、上/下行字节);管理页可展开映射查看“哪条连接在忙”。 -
事件页支持关键字搜索与导出为 JSON(按当前筛选导出,便于留存排查证据)。
-
每条映射的迷你流量趋势图,历史留存于浏览器本地存储,刷新后不断档。
-
命令面板(
⌘/Ctrl+K)与键盘快捷键(N新建、R刷新、1/2/3切页、?帮助)。 -
可选轮询间隔(2/5/10 秒或手动)与暂停开关;映射列表支持以某条为模板克隆新建。
Changed
- 发布物、安装脚本、systemd、launchd、Windows 任务计划与 Docker 统一为单个
powermap可执行文件;直接启动后按powermap.toml中的[expose]、[access]运行相应能力。 - 管理控制台重组为概览、端口映射、节点和事件四个页面。节点页默认进入“远端节点”以连接其他设备;概览显示当前连接的对端 IP,映射创建默认 TCP,UDP / HTTP 作为高级选项。
- 控制台视觉系统更新为冷灰画布、白色卡片和
#3370FF主蓝;浏览器标题不再注入状态 emoji,favicon 更新为蓝色节点网络标识。
Compatibility
- 首次启动时,如未存在
powermap.toml,会自动读取powermap-server.toml与powermap-client.toml,合并并写入统一配置;只有新配置成功落盘后才删除旧文件。 - 旧映射未填写
mode时继续按 TCP 运行;旧的单租户token继续兼容并规范化为default客户。 - 新 Release 不再提供
powermap-server与powermap-client。需要回退到旧二进制前,请备份powermap.toml、powermap.key与powermap.credential.json,并保留原始 role 配置副本。
Security
- 管理页新增“清除访问令牌”入口,随时抹除本页内存中的 web_token;覆盖已配置凭证前二次确认,避免误操作断连。