5 Star 14 Fork 11

合宙Luat / iot-regproxy

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Iot平台注册代理

使用环境

  • 开发语言: Java 8+
  • 数据库: 无
  • 磁盘空间要求: 几乎没有
  • 内存要求: 128mb

支持的功能

  • 阿里云密钥分发(已完成)
  • 中移动OneNet(已完成)
  • 华为云密钥分发(已完成)
  • 腾讯云密钥分发(计划中)
  • 百度密钥分发(计划中)

部署说明

默认监听的端口是 8384

阿里云分配子用户权限

  • 访问 "RAM 访问控制"
  • 点击"用户",点击"创建用户", 选定一个名称作为登录名,访问方式选中"编程访问". 记录AccessKey信息
  • 在用户列表中, 选中该新增用户的"添加权限"
  • 输入过滤关键字"iot", 出现"管理物联网平台(IoT)的权限", 选中并添加完成.

从源码编译

  • 下载源码 git clone https://gitee.com/openLuat/iot-regproxy.git
  • 修改src/main/resources/application.properties的密钥信息
  • 打包成jar mvn clean package nutzboot:shade
  • 启动程序 java -jar target/xxxx.jar

从附件下载

  • 下载压缩包,解压到一个目录, 不能带中文路径,不能带特殊字符(包括空格)
  • 修改application.properties的密钥信息
  • 启动程序 java -jar target/xxxx.jar

Docker镜像

docker路径为 registry.cn-beijing.aliyuncs.com/wendal/iot-regproxy 当前已上传到版本号为1.0.0

docker run --rm -it --name iot-regproxy -p 8384:8384 registry.cn-beijing.aliyuncs.com/wendal/iot-regproxy:1.0.0

通过设置环境变量即可修改配置项(参考application.properties)

推荐使用docker-compose方式启动

version: "3.2"

services:
  regproxy:
    image: registry.cn-beijing.aliyuncs.com/wendal/iot-regproxy:1.0.0
    container_name: "regproxy"
    ports:
      - 8384:8384
    environment:
      - "luatos.regproxy.aliyuniot.a1UTvQkICk9.endpoint":       "cn-shanghai"
      - "luatos.regproxy.aliyuniot.a1UTvQkICk9.accessKey":      "LTAI4GK9WRyGwfgygQYUaVVV"
      - "luatos.regproxy.aliyuniot.a1UTvQkICk9.accessSecret":   "gDEzQ8VR3nVk3a1edCLoP8Kp4XQVVV"
      - "luatos.regproxy.aliyuniot.a1UTvQkICk9.signKey":        "123"

API说明

阿里云密钥分发 /reg/aliyun

URI参数

dev    : "abc...def" # 设备识别号,通常是IMEI或者MacAddr
key    : "abc...kef" # 阿里云iot的产品ProductKey,与application.properties的key对应
sign   : "asd...kkk" # 签名密钥,这里的签名与阿里云iot无关
ranstr : "aabc"      # 随机字符串,用于加强加密效果

响应值为JSON

{
  "secret" : "1a67f7eca85b5555a762zzzz1dc6be03", // 如果参数正确,返回secret
  "msg" : "not ok"                               // 其他任何错误,返回msg显示报错原因
 }

示例请求

http://regproxy.vue2.cn:8384/reg/aliyun?dev=868956049946571&key=a1UTvQkICk9&sign=2c4e6e43b7f83c2e9809e8af118125bd

阿里云密钥分发 /reg/onenet

URI参数

dev    : "abc...def" # 设备识别号,通常是IMEI或者MacAddr
key    : "abc...kef" # onenet的产品id,与application.properties的key对应

响应值为JSON

{
  "secret" : "1a67f7eca85b5555a762zzzz1dc6be03", // 如果参数正确,返回secret
  "msg" : "not ok"                               // 其他任何错误,返回msg显示报错原因
 }

示例请求

http://regproxy.vue2.cn:8384/reg/onenet?dev=868956049946571&key=123456

签名算法,部分平台需要, 可禁用检查

  • 签名算法为MD5,
  • 算法表达式 md5(deviceName+productKey+signKey+(ranstr?))
  • 如果ranstr不传,默认为空字符串.

配置信息详解

# 服务器端口号,记得配好防火墙和安全组
server.port=8384
# 服务器上需要绑定的ip
server.host=0.0.0.0

# 阿里云物联网平台的信息, 可以配置多组
# 规则为 luatos.regproxy.aliyuniot.产品key(productKey).配置项
# 例如 产品Key为a1UTvQkICk9, 配置信息如下
luatos.regproxy.aliyuniot.a1UTvQkICZZ.endpoint=cn-shanghai
luatos.regproxy.aliyuniot.a1UTvQkICZZ.accessKey=LTAI4GK9WRyGwfgygQYUaVVV
luatos.regproxy.aliyuniot.a1UTvQkICZZ.accessSecret=gDEzQ8VR3nVk3a1edCLoP8Kp4XQVVV
luatos.regproxy.aliyuniot.a1UTvQkICZZ.signKey=123
# accessKey和accessSecret请使用RAM管理,分配iot完全权限

# 中移动OneNet
luatos.regproxy.onenet.123321.accessKey=LTAI4GK9WRyGwfgygQYUayWbVVV

# 华为云
luatos.regproxy.huaweicloud.6209b8dade9933029be7eVVV.ak=V1N7LT5AECWLXCKOFVVV
luatos.regproxy.huaweicloud.6209b8dade9933029be7eVVV.sk=bD1wqiJshbplgvP83GYhe0lytwne7TVU2z8VVV
luatos.regproxy.huaweicloud.6209b8dade9933029be7eVVV.region=cn-north-4

常见故障

  • 提示RAM无权限 -- 为子账号分配IOT平台的完全权限
  • 提示ProductKey找不到 -- 检查application.properties的配置项
MIT License Copyright (c) 2020 Wendal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

云平台密钥分发/自动注册代理 展开 收起
Java 等 3 种语言
MIT
取消

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/openLuat/iot-regproxy.git
git@gitee.com:openLuat/iot-regproxy.git
openLuat
iot-regproxy
iot-regproxy
master

搜索帮助