badguardhome/openapi
Ainar Garipov bdff46ec1d Pull request: all: add $dnsrewrite handling
Merge in DNS/adguard-home from 2102-dnsrewrite to master

Updates #2102.

Squashed commit of the following:

commit 8490fc18179d38c4b162ff9b257fea1f8535afbd
Merge: d9448ddca e7f7799b3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Dec 21 16:44:00 2020 +0300

    Merge branch 'master' into 2102-dnsrewrite

commit d9448ddca6d4ef3635d767e3e496e44c35d3fc6e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Dec 21 15:44:54 2020 +0300

    querylog: support dnsrewrite rules

commit 40aa5d30acddf29fb90d249d8806941c6e1915a4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Dec 18 19:27:40 2020 +0300

    all: improve documentation

commit f776a0cd63b1640ba1e5210d9301e2a2801fd824
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Dec 18 19:09:08 2020 +0300

    dnsfilter: prevent panics, improve docs

commit e14073b7500d9ed827a151c5b8fb863c980c10e8
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Dec 4 15:51:02 2020 +0300

    all: add $dnsrewrite handling
2020-12-21 17:48:07 +03:00
..
.gitignore Added swagger UI scripts 2018-12-28 18:26:14 +03:00
CHANGELOG.md Pull request: all: add $dnsrewrite handling 2020-12-21 17:48:07 +03:00
index.html *(documentation): removed unnecessary dependencies 2020-05-21 00:04:41 +03:00
openapi.yaml Pull request: all: add $dnsrewrite handling 2020-12-21 17:48:07 +03:00
package.json *(documentation): removed unnecessary dependencies 2020-05-21 00:04:41 +03:00
README.md Pull request: * home, openapi: improve docs and responses 2020-11-05 13:59:57 +03:00
yarn.lock *(documentation): removed unnecessary dependencies 2020-05-21 00:04:41 +03:00

AdGuard Home OpenAPI

We are using OpenAPI specification to generate AdGuard Home API specification.

How To Edit The API Spec

The easiest way would be to use Swagger Editor and just copy/paste the YAML file there.

How To Read The API Doc

  1. yarn install
  2. yarn start
  3. Open http://localhost:4000/

Changelog

Here we keep track of all non-compatible changes that are being made.

Authentication

If AdGuard Home's web user is password-protected, a web client must use authentication mechanism when sending requests to server. Basic access authentication is the most simple method - a client must pass Authorization HTTP header along with all requests:

Authorization: Basic BASE64_DATA

Where BASE64_DATA is base64-encoded data for username:password string.