Skip to content

Commit

Permalink
all: add more docs to lint
Browse files Browse the repository at this point in the history
  • Loading branch information
ainar-g committed Dec 19, 2024
1 parent 261c159 commit 7aa0803
Show file tree
Hide file tree
Showing 6 changed files with 167 additions and 335 deletions.
98 changes: 43 additions & 55 deletions internal/dhcpd/README.md
Original file line number Diff line number Diff line change
@@ -1,96 +1,84 @@
# Testing DHCP Server
# Testing DHCP Server

Contents:
* [Test setup with Virtual Box](#vbox)
* [Quick test with DHCPTest](#dhcptest)

## <a href="#vbox" id="vbox" name="vbox">Test setup with Virtual Box</a>
- [Test setup with Virtual Box](#vbox)
- [Quick test with DHCPTest](#dhcptest)

### Prerequisites
## <a href="#vbox" id="vbox" name="vbox">Test setup with Virtual Box</a>

To set up a test environment for DHCP server you will need:

* Linux AG Home host machine (Virtual).
* Virtual Box.
* Virtual machine (guest OS doesn't matter).
### Prerequisites

### Configure Virtual Box
To set up a test environment for DHCP server you will need:

1. Install Virtual Box and run the following command to create a Host-Only
network:
- Linux AG Home host machine (Virtual)
- Virtual Box
- Virtual machine (guest OS doesn't matter)

```sh
$ VBoxManage hostonlyif create
```
### Configure Virtual Box

You can check its status by `ip a` command.
1. Install Virtual Box and run the following command to create a Host-Only network:

You can also set up Host-Only network using Virtual Box menu:
```sh
VBoxManage hostonlyif create
```

```
File -> Host Network Manager...
```
You can check its status by `ip a` command.

2. Create your virtual machine and set up its network:
You can also set up Host-Only network using Virtual Box menu in *File → Host Network Manager.*

```
VM Settings -> Network -> Host-only Adapter
```
2. Create your virtual machine and set up its network in *VM Settings → Network → Host-only Adapter.*

3. Start your VM, install an OS. Configure your network interface to use
DHCP and the OS should ask for a IP address from our DHCP server.
3. Start your VM, install an OS. Configure your network interface to use DHCP and the OS should ask for a IP address from our DHCP server.

4. To see the current IP addresses on client OS you can use `ip a` command on
Linux or `ipconfig` on Windows.
4. To see the current IP addresses on client OS you can use `ip a` command on Linux or `ipconfig` on Windows.

5. To force the client OS to request an IP from DHCP server again, you can
use `dhclient` on Linux or `ipconfig /release` on Windows.
5. To force the client OS to request an IP from DHCP server again, you can use `dhclient` on Linux or `ipconfig /release` on Windows.

### Configure server
### Configure server

1. Edit server configuration file `AdGuardHome.yaml`, for example:
1. Edit server configuration file `AdGuardHome.yaml`, for example:

```yaml
dhcp:
enabled: true
interface_name: vboxnet0
local_domain_name: lan
dhcpv4:
```yaml
dhcp:
enabled: true
interface_name: vboxnet0
local_domain_name: lan
dhcpv4:
gateway_ip: 192.168.56.1
subnet_mask: 255.255.255.0
range_start: 192.168.56.2
range_end: 192.168.56.2
lease_duration: 86400
icmp_timeout_msec: 1000
options: []
dhcpv6:
dhcpv6:
range_start: 2001::1
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
```
```

2. Start the server
2. Start the server:

```sh
./AdGuardHome -v
```
```sh
./AdGuardHome -v
```

There should be a message in log which shows that DHCP server is ready:
There should be a message in log which shows that DHCP server is ready:

```
[info] DHCP: listening on 0.0.0.0:67
```
```none
[info] dhcpv4: listening
```

## <a href="#dhcptest" id="dhcptest" name="dhcptest">Quick test with DHCPTest utility</a>
## <a href="#dhcptest" id="dhcptest" name="dhcptest">Quick test with DHCPTest utility</a>

### Prerequisites
### Prerequisites

* [DHCP test utility][dhcptest-gh].
- [DHCP test utility][dhcptest-gh].

### Quick test
### Quick test

The DHCP server could be tested for DISCOVER-OFFER packets with in
interactive mode.
The DHCP server could be tested for DISCOVER-OFFER packets with in interactive mode.

[dhcptest-gh]: https://github.com/CyberShadow/dhcptest
70 changes: 0 additions & 70 deletions internal/filtering/README.md

This file was deleted.

15 changes: 9 additions & 6 deletions internal/next/changelog.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
# AdGuard Home v0.108.0 Changelog DRAFT

This changelog should be merged into the main one once the next API matures
enough.
This changelog should be merged into the main one once the next API matures enough.

## [v0.108.0] - TODO

### Added

- The ability to change the port of the pprof debug API.

- The ability to log to stderr using `--logFile=stderr`.

- The new `--web-addr` flag to set the Web UI address in a `host:port` form.

- `SIGHUP` now reloads all configuration from the configuration file ([#5676]).

### Changed
Expand All @@ -20,20 +22,21 @@ enough.

#### Other changes

- `-h` is now an alias for `--help` instead of the removed `--host`, see below.
Use `--web-addr=host:port` to set an address on which to serve the Web UI.
- `-h` is now an alias for `--help` instead of the removed `--host`, see below. Use `--web-addr=host:port` to set an address on which to serve the Web UI.

### Fixed

- `--check-config` breaking the configuration file ([#4067]).

- Inconsistent application of `--work-dir/-w` ([#2598], [#2902]).

- The order of `-v/--verbose` and `--version` being significant ([#2893]).

### Removed

- The deprecated `--no-mem-optimization` and `--no-etc-hosts` flags.
- `--host` and `-p/--port` flags. Use `--web-addr=host:port` to set an address
on which to serve the Web UI. `-h` is now an alias for `--help`, see above.

- `--host` and `-p/--port` flags. Use `--web-addr=host:port` to set an address on which to serve the Web UI. `-h` is now an alias for `--help`, see above.

[#2598]: https://github.com/AdguardTeam/AdGuardHome/issues/2598
[#2893]: https://github.com/AdguardTeam/AdGuardHome/issues/2893
Expand Down
24 changes: 8 additions & 16 deletions openapi/README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,27 @@
# AdGuard Home OpenAPI

We are using
[OpenAPI specification](https://swagger.io/docs/specification/about/)
to generate AdGuard Home API specification.
We are using [OpenAPI specification](https://swagger.io/docs/specification/about/) to generate AdGuard Home API specification.

## How To Edit The API Spec
## How to edit the API spec

The easiest way would be to use
[Swagger Editor](http://editor.swagger.io/)
and just copy/paste the YAML file there.
The easiest way would be to use [Swagger Editor](http://editor.swagger.io/) and just copy/paste the YAML file there.

## How To Read The API Doc
## How to read the API doc

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

## Changelog

[Here](CHANGELOG.md) we keep track of all non-compatible changes that are being
made.
[Here](CHANGELOG.md) 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:
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:

```http
Authorization: Basic BASE64_DATA
```

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

0 comments on commit 7aa0803

Please sign in to comment.