blob: aad7dbd57b7cdd0c458444e2cb9aa458b06d096c [file] [log] [blame]
# THIS IS PULLED FROM SCRIPTS AND AUTOGENERATED!
# Please use openapi/combine.py to regenerate!
openapi: 3.0.0
info:
version: 1.0.0
description: This is the API specifications for interacting with the Blocky/2 UI.
title: Blocky/2
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
components:
schemas:
ActionCompleted:
properties:
message:
description: Acknowledgement message
example: Action completed
type: string
required:
- message
Empty:
properties:
id:
description: optional object ID
type: string
page:
description: optional page id
type: string
required: []
Error:
properties:
code:
description: HTTP Error Code
example: 403
format: int16
type: integer
reason:
description: Human readable error message
example: You need to be logged in to view this endpoint!
type: string
required:
- code
- reason
IPAddress:
properties:
force:
description: Force addition, even if it means removing conflicting rules
already in the DB
type: boolean
reason:
description: The reason for banning
type: string
rule:
description: the ID of an existing rule
type: string
source:
description: the source IP Address or Network
type: string
target:
description: Target machine to ban on (or * for all machines)
type: string
timeout:
description: If present and greater than 0, denotes the UNIX timestamp when
this rule stops working
type: integer
IPTables:
properties:
hostname:
type: string
iptables:
items:
$ref: '#/components/schemas/IPTablesObject'
type: array
IPTablesObject:
properties:
action:
description: What to do
example: DROP
type: string
chain:
description: iptables chain for this rule
example: INPUT
type: string
destination:
description: The destination IP address
example: 1.2.3.4
type: string
extensions:
description: Any extensions used for this rule
example: /* comment here */
type: string
linenumber:
description: Line-number for the rule
example: 26
type: string
option:
description: rule options (mods etc)
example: comment
type: string
protocol:
description: the protocol (tcp/udp/etc)
example: tcp
type: string
source:
description: The source IP address
example: 1.2.3.4
type: string
required:
- chain
- linenumber
- protocol
- source
- action
- destination
Ruleset:
properties:
limit:
description: The limit that causes a ban
type: integer
name:
description: The name of the rule
type: string
query:
description: The individual query args to look for
type: array
rid:
description: rule ID, if overriding a previous rule
type: string
span:
description: The span (in hours) within which to look for offenses
type: integer
type:
description: The type of rule
type: string
SearchObject:
properties:
source:
description: IP Address or Network to search for
type: string
SearchResult:
properties:
banlist:
description: Banned IP blocks found matching
type: array
iptables:
description: Banned IP blocks found matching in local iptables
type: array
whitelist:
description: Whitelisted IP blocks found matching
type: array
securitySchemes:
cookieAuth:
in: cookie
name: kibble_session
type: apiKey
paths:
/api/activity:
get:
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
description: 200 response
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
security:
- cookieAuth: []
summary: Displays the current activity entries
/api/bans:
delete:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IPAddress'
description: Removes a banlist entry
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCompleted'
description: Removal successful
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
security:
- cookieAuth: []
summary: Remove a whitelist entry
get:
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
description: 200 response
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
security:
- cookieAuth: []
summary: Displays the current banlistr entries
put:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IPAddress'
description: IP address or block to ban
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCompleted'
description: Ban entry added
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
summary: Add a banmlist entry
/api/fail2ban:
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchObject'
description: Search query
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResult'
description: Search result
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
summary: Search for whether a user was blocked via fail2ban
/api/myrules:
put:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IPTables'
description: iptables ruleset blob
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCompleted'
description: iptables entries updatd
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
summary: Set a host's iptables list
/api/rules:
delete:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Ruleset'
description: Removes a rule entry
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCompleted'
description: Removal successful
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
security:
- cookieAuth: []
summary: Remove a rule entry
get:
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
description: 200 response
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
security:
- cookieAuth: []
summary: Displays the current ruleset entries
put:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Ruleset'
description: Ruleset to add/modify
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCompleted'
description: Ruleset added
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
summary: Adds or overrides a ruleset
/api/search:
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchObject'
description: Search query
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResult'
description: Search result
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
summary: Search for whether an IP or block is banned or whitelisted
/api/whitelist:
delete:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IPAddress'
description: Removes a whitelist entry
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCompleted'
description: Removal successful
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
security:
- cookieAuth: []
summary: Remove a whitelist entry
get:
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Empty'
description: 200 response
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
security:
- cookieAuth: []
summary: Displays the current whitelist entries
put:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IPAddress'
description: IP address or block to whitelist
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ActionCompleted'
description: Whitelist entry added
default:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: unexpected error
summary: Add a whitelist entry