Lucky 移动端远程管理实战:手机调通 4 个核心 API,规则随时改 Lucky 移动端远程管理实战手机调通 4 个核心 API规则随时改【免费下载链接】lucky软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser项目地址: https://gitcode.com/GitHub_Trending/luc/lucky出门在外发现服务器连不上不用赶回家——打开手机端应用调一次 Lucky 的 API把端口转发规则改好、再一键 WOL 唤醒设备整套远程管理就跑通了。Lucky 是软硬路由与家庭服务器上的网络工具端口转发、反向代理、DDNS、网络唤醒WOL全部提供 HTTP 接口你完全可以用它给手机或其他客户端做远程管理。下面按先跑通 → 按目的拆能力 → 工程细节 → 源码导航的顺序讲所有接口路径和字段都来自仓库实际代码。先跑通一次调用环境确认与登录取 Token这一节能解决两个问题Lucky 服务是否可达、你的账号能否拿到后续所有请求的通行证Token。存活探测GET /version不需要登录直接返回版本号适合做心跳。登录POST /api/login。注意请求体 JSON 字段是首字母大写的Account和Password写成小写会解析失败。登录成功返回tokenJWT有效期 24 小时之后所有/api/*请求都要在Authorization请求头或同名 query 参数里带上它。一个容易踩的坑Lucky 默认只接受局域网来源的后台请求远程管理前需在基础设置里打开允许外网访问开关否则外网请求会被直接拦截。# 1. 存活探测无需登录 curl http://Lucky IP:管理端口/version # 2. 登录取 Token TOKEN$(curl -s -X POST http://Lucky IP:管理端口/api/login \ -H Content-Type: application/json \ -d {Account:账号,Password:密码} | jq -r .token) # 3. 用 Token 调用状态接口验证链路 curl -s http://Lucky IP:管理端口/api/status -H Authorization: $TOKEN 记住一个全局约定Lucky 的业务接口 HTTP 状态码几乎总是 200成功与否看返回体里的ret字段0才是成功。按使用目的拆能力查状态、管转发、配域名、唤醒设备这一节按你想干什么分组每组给出接口地址、方法和关键字段。总览表放在本节末尾。查状态与日志/api/status 和 /api/logsGET /api/status内存、CPU、进程 CPU 占用、当前 TCP/UDP 连接数、运行时长移动端首页卡片直接消费它。GET /api/logs?pre时间戳增量拉取该时间戳之后的运行日志。GET /api/info应用基础信息。端口转发接口规则增删与开关Lucky 端口转发接口的规则对象关键字段Name、ForwardTypestcp/udp数组、ListenAddress、ListenPorts、TargetAddressList、TargetPorts端口支持8000-8005区间写法。GET /api/portforwards规则列表附带每条规则的流量统计和最近日志。POST /api/portforward新增规则。Key由服务端随机生成16 位新规则会立即启用。PUT /api/portforward修改整体提交带原Key。DELETE /api/portforward?keykey删除。GET /api/portforward/enable?keykeyenabletrue开关规则注意这里用的是 GET query。GET /api/portforward/logs?keykeypageSize10page1分页查访问日志。# 新增一条端口转发规则0.0.0.0:9000 - 192.168.1.100:5000 (tcp) curl -s -X POST http://Lucky IP:管理端口/api/portforward \ -H Authorization: $TOKEN -H Content-Type: application/json \ -d { Name: NAS 远程访问, ForwardTypes: [tcp], ListenAddress: 0.0.0.0, ListenPorts: 9000, TargetAddressList: [192.168.1.100], TargetPorts: 5000 }DDNS 接口域名任务的增删改关键字段TaskName、TaskTypeIPv4/IPv6、GetTypeurl从 URL 解析 IP /netInterface从网卡取 IP、URL、Domains、DNS内含Name、ID、Secret、TTL。GET /api/ddnstasklist任务列表。若 DDNS 总开关未开启会返回ret6先用PUT /api/ddns/configure把Enable置为true。POST /api/ddns/PUT /api/ddns?keykey/DELETE /api/ddns?keykey增改删任务。GET /api/ddns/enable?keykeyenabletrue开关单个任务。反向代理接口规则查询与开关GET /api/reverseproxyrules规则列表。POST /api/reverseproxyrule/PUT /api/reverseproxyrule/DELETE /api/reverseproxyrule?keykey增改删。GET /api/reverseproxyrule/enable?ruleKeykeyproxyKeyproxyKeyenabletrue精确开关某条规则下的某个代理。GET /api/reverseproxyrule/logs?ruleKeyproxyKeypageSizepage分页查访问日志。网络唤醒接口一键 WOL 设备设备对象关键字段DeviceName、MacList、BroadcastIPs广播地址列表留空则用本机网段广播地址、Port默认 9、Repeat重发次数默认 5。GET /api/wol/devices/POST /api/wol/device/PUT /api/wol/device/DELETE /api/wol/device?keykey设备增删改查。GET /api/wol/device/wakeup?keykey发送唤醒报文。# 按设备 key 触发 WOL 唤醒 curl -s http://Lucky IP:管理端口/api/wol/device/wakeup?key设备key \ -H Authorization: $TOKEN全模块接口总览模块接口方法说明状态/api/statusGET资源与连接数日志/api/logsGET按时间戳增量拉取版本/versionGET无需 Token可做心跳端口转发列表/api/portforwardsGET含流量与最近日志端口转发规则/api/portforwardPOST / PUT / DELETEDELETE 用 query 传key端口转发开关/api/portforward/enableGETkeyenable转发日志/api/portforward/logsGETkey 分页参数DDNS 任务列表/api/ddnstasklistGET总开关未开返回ret6DDNS 任务/api/ddnsPOST / PUT / DELETEPUT/DELETE 用 query 传keyDDNS 开关/api/ddns/enableGETkeyenable反向代理列表/api/reverseproxyrulesGET规则列表反向代理规则/api/reverseproxyrulePOST / PUT / DELETEDELETE 用 query 传key反向代理开关/api/reverseproxyrule/enableGETruleKeyproxyKeyenableWOL 设备/api/wol/devicePOST / PUT / DELETEDELETE 用 query 传keyWOL 唤醒/api/wol/device/wakeupGETquery 传key登录 / 注销/api/login//api/logoutPOST / PUT登录无需 TokenToken 续期、重试与弱网策略这些是写进移动端客户端前的工程细节照着做能少踩很多坑。Token 续期JWT 有效期 24 小时收到ret-1登录失效时重新走/api/login即可。注意服务端每次登录都会刷新登录密钥新登录会使旧 Token 立即失效多端同时用的话要保证同一时刻只保留一个活跃登录。错误判定HTTP 200 不代表成功。ret0成功ret1多为参数/校验错误不要盲目重试先看msg资源超限、保存失败等对应其他非零值。重试策略只对网络层错误超时、断连做指数退避重试写操作POST/PUT/DELETE无法确认幂等性前不要自动重发。缓存规避官方前端每次 GET 都带_时间戳参数绕过缓存见 web/adminviews/src/apis/utils.js你的客户端可同样处理。弱网/离线规则列表本地缓存一份断线期间把写操作放进队列重连后先GET /api/portforwards等接口核对最新状态再逐条提交。心跳用无需登录的GET /version做存活探测失败才进入重连流程。// 带重试与 Token 续期的请求封装 async function request(url, options {}) { for (let i 0; i 3; i) { try { const res await fetch(url, { ...options, headers: { Authorization: token, ...options.headers } }); const data await res.json(); if (data.ret -1) await login(); // 登录失效重新取 Token return data.ret 0 ? data : null; // 业务错误不盲目重试 } catch (e) { await new Promise(r setTimeout(r, 1000 * 2 ** i)); // 网络错误退避重试 } } return null; } 这段封装基本就是移动端 API 层的全部骨架后面每个功能页都只是调用它。顺着源码深挖后端、前端与配置目录想确认字段细节或加新能力时直接看这些路径路由注册与 Token 校验web/web.go——全部/api路由、tokenCheck中间件、外网访问拦截都在这里。各模块处理器web/portforward.go、web/ddns.go、web/reverseproxy.go、web/wol.go。字段结构定义config/portforward.go、config/ddns.go、config/wol.goJSON 字段名以jsontag 为准。前端调用范例web/adminviews/src/apis/utils.js每个接口都封装成独立函数照着抄最省事。转发与代理实现socketproxy/WOL 魔术报文thirdlib/go-wol/。界面组件参考web/adminviews/src/components/Vue3 组件可直接借鉴交互设计。把status WOL 这两个最轻量的接口先做成一个两页小应用跑起来再逐步补齐端口转发与 DDNS 的规则管理页。动手前记得先在服务端确认外网访问开关与账号安全你的第一次远程调用就不会被拦在半路。【免费下载链接】lucky软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser项目地址: https://gitcode.com/GitHub_Trending/luc/lucky创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考