CALDERA入门(2)(构建插件入门)
CALDERA入门(2)(构建插件入门)
一、编写插件代码
1.在caldera/plugins文件夹中创建文件夹test
2.在test文件夹中创建hook.py文件,以下是hook.py此次用的代码
from aiohttp_jinja2 import template, webfrom app.service.auth_svc import check_authorizationname = 'test'
description = 'A sample plugin for demonstration purposes'
address = '/plugin/abilities/gui'async def enable(services):app = services.get('app_svc').applicationfetcher = AbilityFetcher(services)app.router.add_route('*', '/plugin/abilities/gui', fetcher.splash)app.router.add_route('GET', '/get/abilities', fetcher.get_abilities)class AbilityFetcher:def __init__(self, services):self.services = servicesself.auth_svc = services.get('auth_svc')async def get_abilities(self, request):abilities = await self.services.get('data_svc').locate('abilities')return web.json_response(dict(abilities=[a.display for a in abilities]))@check_authorization@template('abilities.html')async def splash(self, request):abilities = await self.services.get('data_svc').locate('abilities')return(dict(abilities=[a.display for a in abilities]))
3.在test文件夹中创建templates文件夹,并在templates文件夹中创建test.html文件,此次html文件代码如下:
<table border='1'><p style="text-align:center ">功课表</p><tr><th>战术</th><th>技术</th><th>能力</th><th>描述</th><th>命令</th><th>结果</th><th>系统</th>
</tr><tr><td>collection</td><td>T1005|Data from Local System</td><td>Find Git Repositories</td>
<td>此功能将定位作为克隆Git存储库的目录。</td>
<td>1234</td>
<td></td>
<td>Windows/Linux</td>
</tr></table>
二、启用插件
1.在caldera/conf/local.yml中的plugin一栏加入- test
2.在左侧菜单栏的configuration中启用插件
最后重启插件便启用成功了
CALDERA入门(2)(构建插件入门)相关推荐
- figma设计_如何在Figma中构建设计入门套件(第1部分)
figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...
- Vue项目构建开发入门
Vue项目构建开发入门 开篇:Vue CLI 3 项目构建基础 大家好,当你点进这个标题,开始阅读本章的时候,说明你对 Vue.js 是充满好奇心和求知欲的.我之前写过一篇文章,这样评价 Vue.js ...
- tcp reno_如何使用称为Reno Expo的简单入门工具包构建全栈应用程序
tcp reno Building any new project from scratch can be intimidating. There's a lot to decide before y ...
- 如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练)
如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练) 关于使用Spring MVC创建Web API的另一篇教程. 不太复杂. 只是一个演练. 生成的应用程序将提供简单的 ...
- CMake指令入门 ——以构建OpenCV项目为例
CMake指令入门 --以构建OpenCV项目为例 转自:https://blog.csdn.net/sandalphon4869/article/details/100589747 一.安装 sud ...
- Ninja构建系统入门--GN与Ninja构建过程
Ninja构建系统入门--GN与Ninja构建过程 开始 GN构建系统 搭建 结束 开始 GN构建系统 GN是一种元构建系统,生成Ninja构建文件(Ninja build files),相较GYP而 ...
- lichee nano 荔枝派入门——buildroot构建文件系统
lichee nano 荔枝派入门–buildroot构建文件系统 获取buildroot源代码 可以从lichee官方给的链接地址或者从GitHub下载最新的buildroot源代码,具体如下: 从 ...
- 即时通首页html代码,Udesk即时通讯(IM)网页插件入门
Udesk即时通讯(IM)网页插件入门 Udesk即时通讯(IM)网页插件入门 作者:张振琦 Udesk能够支持APP,微信,企业微信,微信小程序,微博,web页面,六大即时通讯渠道. web渠道只需 ...
- LSTM入门必读:从入门基础到工作方式详解 By 机器之心2017年7月24日 12:57 长短期记忆(LSTM)是一种非常重要的神经网络技术,其在语音识别和自然语言处理等许多领域都得到了广泛的应用
LSTM入门必读:从入门基础到工作方式详解 By 机器之心2017年7月24日 12:57 长短期记忆(LSTM)是一种非常重要的神经网络技术,其在语音识别和自然语言处理等许多领域都得到了广泛的应用. ...
最新文章
- mysqldump: Got error: 2003: Can't connect to MySQL server on '127.0.0.1' (10060)
- css控制显示行数,多出部分显示省略号
- PING的原理以及ICMP协议
- ML之NN:利用神经网络的BP算法解决XOR类(异或非)问题(BP solve XOR Problem)
- Docker镜像的目录存储讲解
- supervisord的安装使用
- 这 3 种 DDD 分层架构的模式,你掌握了么?
- 我的FPA性格色彩测试结果
- 刷题进阶 -- 剑指Offer、力扣算法题
- linux查看是否有某个运行的进程命令
- IIS7 请求筛选模块被配置为拒绝超过请求内容长度的请求
- jsp页面中文乱码解决方法
- pdffactory pro7最新标准专业的PDF工具-实用的虚拟打印机
- 大数据发展趋势之我见
- LeetCode 1240. Tiling a Rectangle with the Fewest Squares
- 计算机室电源插座的配置及配电线路,小型机安装场地要求及机房环境电气要求讲课教案.pdf...
- window 10 安装node.js时遇到2502 2503错误解决方法
- 9.17模拟赛2.0
- [cx32] jlink烧录脚本使用
- 《牛奶可乐经济学》---成本效益原则