没有合适的资源?快使用搜索试试~ 我知道了~
首页360智能路由器插件开发指南.pdf
360智能路由器插件开发指南.pdf
需积分: 43 22 下载量 156 浏览量
更新于2023-03-16
评论 1
收藏 767KB PDF 举报
360智能路由器插件开发指南 本文详细描述了基于 360 OS 的设备端插件程序开发方法。 开发者需要具备 TCP/IP 网络协议方面的知识、Linux 环境下 C 语言插件程序开发经 验、熟悉 JSON 数据封装格式、熟悉 HTML/JavaScript。 名词解释: JSON:JavaScript Object Notation CGI:Common Gateway Interface API:Application Programming Interface 插件:运行于 360 智能路由器中的插件程序
资源详情
资源评论
资源推荐
1
360 智能路由器插件开发指南
版本 1.0_20160711
目录
目录
.....................................................................................................................................................
1
概述
..............................................................................................................................................
3
1. 插件与
Linux
插件的关系
..................................................................................................
3
2. 插件架构
...............................................................................................................................
4
3. 插件的启动和退出
..............................................................................................................
4
4. 插件程序配置方式
..............................................................................................................
5
4.1 本地配置方式
............................................................................................................
5
4.2 插件中心配置方式
....................................................................................................
5
5. 安装开发工具
.......................................................................................................................
5
6. 如何使用
API
.......................................................................................................................
6
7. 插件程序的目录结构
..........................................................................................................
6
8. 插件程序的参数
..................................................................................................................
7
9. 使用插件自己的动态链接库
..............................................................................................
8
10. 使用 C++开发插件
...........................................................................................................
8
11. 将插件安装到路由器中
....................................................................................................
8
插件 API
....................................................................................................................................
10
1.
API
的返回值
.....................................................................................................................
10
2. 用户组
................................................................................................................................
10
3.
URL
网址组
........................................................................................................................
14
4.
URL
网址过滤策略组
.......................................................................................................
15
5.
http
访问控制
...................................................................................................................
15
5.1 网址黑、白名单
.......................................................................................................
16
5.2 HTTP 高级过滤策略
................................................................................................
17
5.3 Web 认证
.................................................................................................................
19
5.4 取消 360 智能路由器中特定 URL 路径的访问认证
............................................
25
6. 网络接口
............................................................................................................................
26
6.1 查询、设置 WAN 口配置
.......................................................................................
26
6.2 查询设置 LAN 口配置
.............................................................................................
27
7. 带宽控制
............................................................................................................................
28
7.1 主机限速
...................................................................................................................
28
2
8. 连接网络用户信息
............................................................................................................
29
8.1
获取内网主机信息
...................................................................................................
29
8.2
获取内网在线主机信息
...........................................................................................
30
9. 存储相关接口
....................................................................................................................
30
9.1
获得
RAM
内存信息
................................................................................................
30
9.2
获取插件临时存储路径
...........................................................................................
31
9.3
获取插件永久存储路径
...........................................................................................
31
10. 系统信息
..........................................................................................................................
32
10.1 获取设备唯一硬件标识
.........................................................................................
32
10.2 获取系统启动时间
.................................................................................................
32
插件配置界面和接口
...............................................................................................................
33
1. 开发插件配置界面
............................................................................................................
34
网页目录结构
..................................................................................................................
34
2. 开发插件配置接口(
CGI
)
.............................................................................................
34
2.1
360 OS
对
CGI
开发的支持
..................................................................................
34
2.2 定义插件的
CGI
接口
.............................................................................................
35
2.3 编写 CGI 处理函数
.................................................................................................
36
附录
...........................................................................................................................................
38
1. 示例一:Hello,World!
..................................................................................................
38
2. 示例二:网页用户认证
....................................................................................................
39
3. 位掩码操作函数
................................................................................................................
40
3.1 位掩码初始化
................................................................................................................
40
3.2 设置位掩码中的一位
....................................................................................................
41
3.3 清除位掩码中的一位
....................................................................................................
41
3.4 测试位掩码中的一位
....................................................................................................
41
3
概述
本文详细描述了基于 360 OS 的设备端插件程序开发方法。
开发者需要具备 TCP/IP 网络协议方面的知识、Linux 环境下 C 语言插件程序开发经
验、熟悉 JSON 数据封装格式、熟悉 HTML/JavaScript。
名词解释:
JSON:JavaScript Object Notation
CGI:Common Gateway Interface
API:Application Programming Interface
插件:运行于 360 智能路由器中的插件程序
1. 插件与
Linux
插件的关系
除支持 Linux 方式的插件开发外,还提供了更多的针对网络方面的 API。分为以
下类别
类别 说明
协议控制
http
访问控制、
DNS
访问控制
故障处理 在设备异常情况发生时做出处理
网络相关
配置路由、
QoS
、限速等网络功能
通知 用于通知系统中随时发生的事件,例如新的存储设备装载
了,网络用户下线消息通知
无线 控制无线接口工作模式,获取周围无线主机信息等
组操作 时间组、网址组、用户组操作
存储相关
与存储相关的
API
,例如获取系统主分区信息,遍历系统中
的所有存储设备等
设备信息
获取设备相关信息,例如设备绑定用户清单,设备的 ID 号等
4
2. 插件架构
360 OS 中插件在系统中的位置
上图中,右侧“插件”框内的部份是网关插件的部分。其中“功能实现”是必须
的。
若要开发具有网关本地 web 配置界面的插件,必须具有配置界面、配置接口、功能
实现部分;
若仅需要云端 web 配置功能,配置界面仍然需要开发,但它安装在云端,网关中的
插件需要配置接口、功能实现部分;
如果插件的所有功能仅通过专用的插件进行配置(不使用 web 技术),例如仅使用
手机
APP
进行控制,则无需具有配置界面部分,需要具有配置接口和功能实现部分。
插件自有
so
动态链接库和内核
ko
模块部分是可选的。支持插件自带
so
库和
ko
模
块。注意:
360
安全路由器
mini
不支持内核模块
ko
文件。
3. 插件的启动和退出
插件必须在进程的主线程中申请 360 OS 资源,即调用以 register 为前缀的 API,
在插件程序工作期间,主线程保持存在。为避免资源泄漏,插件的主线程结束时,需要
释放申请的
360 OS
资源。
插件程序通过注册 SIGTERM 的信号处理函数,如:signal(SIGTERM, sig_func),在
sig_func 函数中通过调用 unregister 为前缀的 API 去释放申请的资源。
5
4.插件程序配置方式
插件通过 web 方式进行配置。包括插件的启动、停止,获取插件的状态、配置插
件参数等。有三种配置方式:本地配置方式、插件中心配置方式,以及两者都支持的
配置方式。
360 OS 设计时已确保这两种开发方式的一致性。
4.1 本地配置方式
为支持该配置方式,设备上需要有插件的前端配置网页和 CGI 程序,插件安装
后,在路由器配置页面中的“第三方扩展工具”菜单下,将会出现新插件的图标,点
击后跳转到插件的配置页面。
在插件开发中,开发者会首先使用该方式来完成插件开发和调试。如果希望让更
多的用户使用你的插件,那么需要使用下一种方式:把你的插件提交到插件中心审
核。
4.2 插件中心配置方式
该配置方式只会用到设备端的
CGI
,前端网页安装在插件中心服务器中。通过插
件中心
web
版或移动终端插件来配置插件。
注意,只有通过插件中心发布的插件才能通过插件中心方式进行配置。
5. 安装开发工具
访问
360
智能路由器官方网站:
luyouw.360.cn
下载开发工具,在
Linux
主机上
解包
/opt/tar jxvf srouter_P0_P1_XXXX.tar.bz2 XXXX 为版本号
解包后,生成以下目录
./srouter_ P0_P1_XXXX/include header 文件目录
./srouter_ P0_P1_XXXX/linux 内核头文件,用于开发内核驱动
./srouter_ P0_P1_XXXX/lib 库目录
./srouter_ P0_P1_XXXX/utility 工具目录
./srouter_ P0_P1_XXXX/doc 文档目录,包括本开发指南
./srouter_ P0_P1_XXXX/example 例程
./srouter_ P0_P1_XXXX/toolchain 交叉编译工具目录
./srouter_ P0_P1_XXXX/env-rtk.sh 环境配置脚本,360 安全路由 P1、mini 使
用
source ./env-rtk.sh 方式运行
剩余40页未读,继续阅读
sinat_28206041
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0