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)(构建插件入门)相关推荐

  1. figma设计_如何在Figma中构建设计入门套件(第1部分)

    figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...

  2. Vue项目构建开发入门

    Vue项目构建开发入门 开篇:Vue CLI 3 项目构建基础 大家好,当你点进这个标题,开始阅读本章的时候,说明你对 Vue.js 是充满好奇心和求知欲的.我之前写过一篇文章,这样评价 Vue.js ...

  3. tcp reno_如何使用称为Reno Expo的简单入门工具包构建全栈应用程序

    tcp reno Building any new project from scratch can be intimidating. There's a lot to decide before y ...

  4. 如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练)

    如何:从Spring 4.0快速入门以构建简单的REST-Like API(演练) 关于使用Spring MVC创建Web API的另一篇教程. 不太复杂. 只是一个演练. 生成的应用程序将提供简单的 ...

  5. CMake指令入门 ——以构建OpenCV项目为例

    CMake指令入门 --以构建OpenCV项目为例 转自:https://blog.csdn.net/sandalphon4869/article/details/100589747 一.安装 sud ...

  6. Ninja构建系统入门--GN与Ninja构建过程

    Ninja构建系统入门--GN与Ninja构建过程 开始 GN构建系统 搭建 结束 开始 GN构建系统 GN是一种元构建系统,生成Ninja构建文件(Ninja build files),相较GYP而 ...

  7. lichee nano 荔枝派入门——buildroot构建文件系统

    lichee nano 荔枝派入门–buildroot构建文件系统 获取buildroot源代码 可以从lichee官方给的链接地址或者从GitHub下载最新的buildroot源代码,具体如下: 从 ...

  8. 即时通首页html代码,Udesk即时通讯(IM)网页插件入门

    Udesk即时通讯(IM)网页插件入门 Udesk即时通讯(IM)网页插件入门 作者:张振琦 Udesk能够支持APP,微信,企业微信,微信小程序,微博,web页面,六大即时通讯渠道. web渠道只需 ...

  9. LSTM入门必读:从入门基础到工作方式详解 By 机器之心2017年7月24日 12:57 长短期记忆(LSTM)是一种非常重要的神经网络技术,其在语音识别和自然语言处理等许多领域都得到了广泛的应用

    LSTM入门必读:从入门基础到工作方式详解 By 机器之心2017年7月24日 12:57 长短期记忆(LSTM)是一种非常重要的神经网络技术,其在语音识别和自然语言处理等许多领域都得到了广泛的应用. ...

最新文章

  1. mysqldump: Got error: 2003: Can't connect to MySQL server on '127.0.0.1' (10060)
  2. css控制显示行数,多出部分显示省略号
  3. PING的原理以及ICMP协议
  4. ML之NN:利用神经网络的BP算法解决XOR类(异或非)问题(BP solve XOR Problem)
  5. Docker镜像的目录存储讲解
  6. supervisord的安装使用
  7. 这 3 种 DDD 分层架构的模式,你掌握了么?
  8. 我的FPA性格色彩测试结果
  9. 刷题进阶 -- 剑指Offer、力扣算法题
  10. linux查看是否有某个运行的进程命令
  11. IIS7 请求筛选模块被配置为拒绝超过请求内容长度的请求
  12. jsp页面中文乱码解决方法
  13. pdffactory pro7最新标准专业的PDF工具-实用的虚拟打印机
  14. 大数据发展趋势之我见
  15. LeetCode 1240. Tiling a Rectangle with the Fewest Squares
  16. 计算机室电源插座的配置及配电线路,小型机安装场地要求及机房环境电气要求讲课教案.pdf...
  17. window 10 安装node.js时遇到2502 2503错误解决方法
  18. 9.17模拟赛2.0
  19. [cx32] jlink烧录脚本使用
  20. 《牛奶可乐经济学》---成本效益原则

热门文章

  1. 1.python-web
  2. 【java笔记】java中的常用容器
  3. 50 条有趣的 Python 一行代码
  4. 提高代码质量之静态代码检查
  5. 使用PlayCanvas制作一个简单的小游戏(二)
  6. 第三届“SLAM技术及应用”暑期学校日程安排
  7. UBUNTU 16.04无线网卡驱动
  8. Tridium公司的Niagara N4 使用
  9. 在jsp中引入jQuery
  10. Nginx的优化配置