Host.io (Independent Publisher) (#2771)

* Revert "Merge branch 'microsoft:dev' into dev"

This reverts commit 096a7c3199, reversing
changes made to cb0948670f.

* Revert "Merge branch 'microsoft:dev' into dev"

This reverts commit cb0948670f, reversing
changes made to dc26e8a026.

* Revert "Revert "Merge branch 'microsoft:dev' into dev""

This reverts commit 01764d0a6d.

* Revert "Revert "Merge branch 'microsoft:dev' into dev""

This reverts commit a3f086ef0f.

* Add files via upload

* Revert "Add files via upload"

This reverts commit eeff7b7a02.

* Add files via upload

* Delete independent-publisher-connectors/FileIO directory

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Revert "Add files via upload"

This reverts commit 1d85506958.

* Add files via upload

* Update apiDefinition.swagger.json

* Update apiProperties.json
This commit is contained in:
Troy Taylor 2023-12-01 00:33:52 -05:00 коммит произвёл GitHub
Родитель fa9a56f4a5
Коммит 8486cc0e9a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 778 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,730 @@
{
"swagger": "2.0",
"info": {
"title": "Host.io",
"description": "Host.io collects data on every known domain name from every TLD and update it every month, including DNS records and website data for each of the domains.",
"version": "1.0.0",
"contact": {
"name": "Troy Taylor",
"url": "https://www.hitachisolutions.com",
"email": "ttaylor@hitachisolutions.com"
}
},
"host": "host.io",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/api/web/{domain}": {
"get": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain.",
"title": "Domain"
},
"rank": {
"type": "integer",
"format": "int32",
"description": "The rank.",
"title": "Rank"
},
"url": {
"type": "string",
"description": "The URL address.",
"title": "URL"
},
"ip": {
"type": "string",
"description": "The IP address.",
"title": "IP"
},
"date": {
"type": "string",
"description": "The date.",
"title": "Date"
},
"length": {
"type": "integer",
"format": "int32",
"description": "The length.",
"title": "Length"
},
"encoding": {
"type": "string",
"description": "The encoding.",
"title": "Encoding"
},
"copyright": {
"type": "string",
"description": "The copyright.",
"title": "Copyright"
},
"title": {
"type": "string",
"description": "The title.",
"title": "Title"
},
"links": {
"type": "array",
"items": {
"type": "string"
},
"description": "The links.",
"title": "Links"
}
}
}
}
},
"summary": "Get homepage metadata",
"description": "Retrieves the metadata scraped from a domain homepage.",
"operationId": "HomepageGet",
"parameters": [
{
"name": "domain",
"in": "path",
"x-ms-summary": "Domain",
"x-ms-url-encoding": "single",
"description": "The domain.",
"required": true,
"type": "string"
}
]
}
},
"/api/dns/{domain}": {
"get": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain.",
"title": "Domain"
},
"a": {
"type": "array",
"items": {
"type": "string"
},
"description": "The A records.",
"title": "A"
},
"aaaa": {
"type": "array",
"items": {
"type": "string"
},
"description": "The AAAA records.",
"title": "AAAA"
},
"mx": {
"type": "array",
"items": {
"type": "string"
},
"description": "The MX records.",
"title": "MX"
},
"ns": {
"type": "array",
"items": {
"type": "string"
},
"description": "The NS records.",
"title": "NS"
}
}
}
}
},
"summary": "Get domain DNS",
"description": "Retrieve all DNS records for a domain.",
"operationId": "DomainGet",
"parameters": [
{
"name": "domain",
"in": "path",
"x-ms-summary": "Domain",
"x-ms-url-encoding": "single",
"description": "The domain.",
"required": true,
"type": "string"
}
]
}
},
"/api/related/{domain}": {
"get": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"ip": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "IP"
},
"redirects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "Redirects"
},
"backlinks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "Backlinks"
},
"asn": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "ASN"
}
}
}
}
},
"summary": "Get related domains",
"description": "Retrieve a count of the number of related domains for all supported lookups.",
"operationId": "RelatedGet",
"parameters": [
{
"name": "domain",
"in": "path",
"x-ms-summary": "Domain",
"x-ms-url-encoding": "single",
"description": "The domain.",
"required": true,
"type": "string"
}
]
}
},
"/api/full/{domain}": {
"get": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain.",
"title": "Domain"
},
"web": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain.",
"title": "Domain"
},
"rank": {
"type": "integer",
"format": "int32",
"description": "The rank.",
"title": "Rank"
},
"url": {
"type": "string",
"description": "The URL address.",
"title": "URL"
},
"ip": {
"type": "string",
"description": "The IP address.",
"title": "IP"
},
"date": {
"type": "string",
"description": "The date.",
"title": "Date"
},
"length": {
"type": "integer",
"format": "int32",
"description": "The length.",
"title": "Length"
},
"encoding": {
"type": "string",
"description": "The encoding.",
"title": "Encoding"
},
"copyright": {
"type": "string",
"description": "The copyright.",
"title": "Copyright"
},
"title": {
"type": "string",
"description": "The title.",
"title": "Title"
},
"links": {
"type": "array",
"items": {
"type": "string"
},
"description": "The links.",
"title": "Links"
}
},
"title": "Web"
},
"dns": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "The domain.",
"title": "Domain"
},
"a": {
"type": "array",
"items": {
"type": "string"
},
"description": "The A records.",
"title": "A"
},
"aaaa": {
"type": "array",
"items": {
"type": "string"
},
"description": "The AAAA records.",
"title": "AAAA"
},
"mx": {
"type": "array",
"items": {
"type": "string"
},
"description": "The MX records.",
"title": "MX"
},
"ns": {
"type": "array",
"items": {
"type": "string"
},
"description": "The NS records.",
"title": "NS"
}
},
"title": "DNS"
},
"ipinfo": {
"type": "object",
"properties": {
"ip_address": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The .",
"title": "City"
},
"region": {
"type": "string",
"description": "The region.",
"title": "Region"
},
"country": {
"type": "string",
"description": "The country.",
"title": "Country"
},
"loc": {
"type": "string",
"description": "The location.",
"title": "Location"
},
"postal": {
"type": "string",
"description": "The postal code.",
"title": "Postal"
},
"timezone": {
"type": "string",
"description": "The timezone.",
"title": "Timezone"
},
"asn": {
"type": "object",
"properties": {
"asn": {
"type": "string",
"description": "The ASN.",
"title": "ASN"
},
"name": {
"type": "string",
"description": "The name.",
"title": "Name"
},
"domain": {
"type": "string",
"description": "The domain.",
"title": "Domain"
},
"route": {
"type": "string",
"description": "The route.",
"title": "Route"
},
"type": {
"type": "string",
"description": "The type.",
"title": "Type"
}
},
"title": "ASN"
}
},
"title": "Info"
}
},
"title": "IP"
},
"related": {
"type": "object",
"properties": {
"ip": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "IP"
},
"asn": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "ASN"
},
"ns": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "NS"
},
"mx": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "MX"
},
"backlinks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "Backlinks"
},
"redirects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The value.",
"title": "Value"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
}
}
},
"title": "Redirects"
}
},
"title": "Related"
}
}
}
}
},
"summary": "Get domain",
"x-ms-visibility": "important",
"description": "Retrieve all information about a domain.",
"operationId": "FullGet",
"parameters": [
{
"name": "domain",
"in": "path",
"x-ms-summary": "Domain",
"x-ms-url-encoding": "single",
"description": "The domain.",
"required": true,
"type": "string"
}
]
}
},
"/api/domains/{field}/{value}": {
"get": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"ns": {
"type": "string",
"description": "The NS records.",
"title": "NS"
},
"page": {
"type": "integer",
"format": "int32",
"description": "The page.",
"title": "Page"
},
"total": {
"type": "integer",
"format": "int32",
"description": "The total.",
"title": "Total"
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "The domains.",
"title": "Domains"
}
}
}
}
},
"summary": "Get domains associated with field",
"description": "Retrieve all domains associated with a field, and a count of the total.",
"operationId": "FieldGet",
"parameters": [
{
"name": "field",
"in": "path",
"x-ms-summary": "Field",
"x-ms-url-encoding": "single",
"description": "The field.",
"required": true,
"type": "string"
},
{
"name": "value",
"in": "path",
"x-ms-summary": "Value",
"x-ms-url-encoding": "single",
"description": "The value.",
"required": true,
"type": "string"
},
{
"name": "limit",
"in": "query",
"x-ms-summary": "Limit",
"description": "The limit.",
"required": false,
"type": "integer",
"default": 25,
"enum": [
25,
0,
1,
5,
10,
100,
250,
1000
]
}
]
}
}
},
"definitions": {},
"parameters": {},
"responses": {},
"securityDefinitions": {
"API Key": {
"type": "apiKey",
"in": "query",
"name": "token"
}
},
"security": [
{
"API Key": []
}
],
"tags": [],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://host.io/"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://host.io/privacy"
},
{
"propertyName": "Categories",
"propertyValue": "Website;Data"
}
]
}

Просмотреть файл

@ -0,0 +1,23 @@
{
"properties": {
"connectionParameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"displayName": "API Token",
"description": "The API Token for this api",
"tooltip": "Provide your API Token",
"constraints": {
"tabIndex": 2,
"clearText": false,
"required": "true"
}
}
}
},
"iconBrandColor": "#da3b01",
"capabilities": [],
"publisher": "Troy Taylor",
"stackOwner": "Host.io"
}
}

Просмотреть файл

@ -0,0 +1,25 @@
# Host.io
Host.io collects data on every known domain name from every TLD and update it every month, including DNS records and website data for each of the domains.
## Publisher: Troy Taylor, Hitachi Solutions
## Prerequisites
You must sign up for an account with [Host.io](https://host.io/signup).
## Obtaining Credentials
Once logged in to your account, you will see your token on your dashboard.
## Supported Operations
### Get homepage metadata
Retrieves the metadata scraped from a domain homepage.
### Get domain DNS
Retrieve all DNS records for a domain.
### Get related domains
Retrieve a count of the number of related domains for all supported lookups.
### Get domain
Retrieve all information about a domain.
### Get domains associated with field
Retrieve all domains associated with a field, and a count of the total.
## Known Issues and Limitations
There are no known issues at this time.