找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 3537|回复: 1

内嵌PHTunnel组件,让设备具备内网穿透功能

[复制链接]
发表于 2019-7-19 18:49 | 显示全部楼层 |阅读模式
本文主要是想给大家介绍一下如何通过PHTunnel,让软件或硬件设备具备内网穿透功能。
概述
PHTunnel 是新一代花生壳核心组件,用C语言实现(最小约80KB),较上一代反向代理性能有明显的提升。支持TCPHTTPHTTPS协议,端到端的TLS加密通信。
本文的目的是为了帮助linux内核用户,在设备上运行PHTunnel,并理解PHTunnel的运行方式
安装成为开发者并创建花生壳应用
登录Oray开发者平台(https://developer.oray.com/),申请成为开发者。创建花生壳应用同时获得AppID和AppKey。


下载
https://developer.oray.com/sdk官网页面内,下载所需内嵌设备平台的可执行程序。


使用启动PHTunnel
1)        打开DOS命令函,输入PHTunnel可执行文件地址跟创建应用的APPID、APPKEY:
2)        类似于:
C:\Users\Oray\Desktop\x86_64-w64-mingw32\PHTunnel.exe --appid=100xx --appkey=af6dxxx

3)        回车后,会生成PHTunnel.jason文件。


4)        使用手机“花生壳管理”登录自己的花生壳帐号并APP扫二维码。


注意:登录账号必须为开发者后台中的【调试账号】,现在注册成为开发者,花生壳默认是赠送3个账号(1个旗舰版、1个商业版、1个体验版),如果想用已有账号,可以点击【新增】,添加自己的账号。


5)        绑定成功后,我们就可以在开发者后台看到,当前设备数量为2/10(本文前已绑定一个),左侧的任务栏可以管理PHTunnel的相关信息。


6)        确认绑定成功后,我们就可以在花生壳管理APP或花生壳管理网页(https://b.oray.com/)上进行设备的内网映射,将内网下搭建的应用或服务的IP及端口号填到对应位置。(此处以网页管理为例)


1)        映射完成后,就可以用映射出来的域名+端口,直接访问内网下搭建的服务。
关闭PHTunnel
可通过-p --pid参数指定的文件中拿到PHTunnel的进程pid,然后调用kill命令终止PHTunnel。
如kill $(cat /tmp/PHTunnel.pid2> /dev/null | grep 'pid=' | cut -d'=' -f2 2> /dev/null)
PHTunnel参数列表
  
-h,  --help       帮助
  
-s,  --server     服务器地址
  
-l,  --log         日志文件路径
  
-v,  --verbose    打印详细日志到标准输出
  
-q,  --qrcode     print login qrcode
  
-r,  --rpc         是否开启rpc监听
  
-c,  --config     配置文件加载路径
  
-p,  --pid        输出的状态文件,里面包括进程的pid,方便关闭时杀掉进程
  
-f,  --forward    Remote admin forward,  default: 127.0.0.1:80
  
-d,--daemon    后台运行(linux)
  
-S,--service     作为windows服务运行(windows)
  
-i,--appid       App ID
  
-k,--appkey    App Key
  
-e,--deviceinfo   设备自定义数据
  
后台运行方式
由于在前台运行不方便,更多的需求是后台运行,但后台运行无法直观的拿到二维码登录信息。以下将说明后台运行的方法。
1)        运行PHTunnel,注意添加-r或--rpc参数和-d或--daemon参数
2)        通过getsn接口(参阅下表)拿到sn和随机密码
3)        使用接口返回的sn和密码访问https://hsk-api.oray.com/devices/qrcode并获取二维码(参阅下表)
4)        组织逻辑将二维码显示在用户界面上
5)        通过手机扫描二维码并登录花生壳
6)        通过getmgrurl接口(参阅下表)得到用户云管理入口,引导用户进入后台管理界面
获取SN 密码 接口
  
地址:
  
http://127.0.0.1:16062/ora_service/getsn
方法:
GET
参数:
返回格式:
Json
返回数据:
{"result_code":0, // 非0代表错误"data":{"device_sn":"设备SN","device_sn_pwd":"设备密码","status":1,  在线状态 重试(3), 登录中(2) 在线(1), 离线(0)"public_ip":"116.235.167.135" // 公网IP}}
二维码刷新接口
获取二维码的图片地址以及二维码有效期
  
地址:
  
https://hsk-api.oray.com/devices/qrcode
方法:
POST
参数:
{
  
   "sn": "设备sn",
  
   "password": "设备密码"
  
}
参数类型:
  
Content-Type
application/json
返回格式:
Json
返回数据:
{
  
"qrcode":"二维码地址",
  
"qrcodeimg":"二维码图片地址",
  
"expires":有效期
  
}
映射管理接口
映射管理接口返回管理url,自动登录b.oray.com进行映射管理。
  
地址:
  
http://127.0.0.1:16062/ora_service/getmgrurl
方法:
GET
参数:
返回格式:
Json
返回数据:
{
  "result_code":0,"data":"https://xxxx/xxxx" // 为空时说明没有登录帐号  
}
设备帐号解绑接口

  
地址:
  
https://hsk-api.oray.com/devices/unbinding
方法:
POST
参数:
{
  
   "sn": "设备sn",
  
   "password": "设备密码"
  
}
参数类型:
  
Content-Type
application/json
返回格式:
返回数据:
成功:HTTP状态码为200  失败:HTTP状态码为500

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-8-3 22:20 | 显示全部楼层
速度怎么样,很好奇
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-20 22:20

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表