# nginx-modules

Useful third-party modules for Nginx compilation.

Most modules are recommended to be built as dynamic modules unless you explicitly require static linking.

---

## ngx_dav_ext_module

WebDAV extension module for Nginx.

Requires the built-in `http_dav_module`.

### Build

```bash
./configure \
    --with-http_dav_module \
    --add-dynamic-module=/path/to/ngx_dav_ext_module
```

### Notes

You must enable:

```bash
--with-http_dav_module
```

otherwise this module will not compile.

### License

BSD 2-Clause License.

---

## ngx_fancyindex

Fancy directory listing module for Nginx.

Provides a customizable and visually improved autoindex page.

### Build

```bash
./configure \
    --add-dynamic-module=/path/to/ngx_fancyindex
```

### Optional

Can optionally work with:

```bash
--with-http_addition_module
```

### License

BSD 2-Clause License.

---

## ngx_http_flv_module

HTTP-FLV / RTMP / HLS streaming server module for Nginx.

Based on:

- nginx-rtmp-module

Provides:

- RTMP streaming
- HTTP-FLV
- HLS
- Relay
- Recording
- Live streaming support

### Important

This module already includes functionality from:

- nginx-rtmp-module

Do NOT compile both together.

### Build

```bash
./configure \
    --add-module=/path/to/ngx_http_flv_module
```

### Notes

This module is typically built statically due to its deeper integration with the Nginx streaming pipeline.

### License

BSD 2-Clause License.

---

## ngx_http_geoip2_module

GeoIP2 module for Nginx using MaxMind GeoIP2 databases.

Supports:

- IPv4
- IPv6
- Country / City / ASN lookup

### Dependencies

Requires:

- libmaxminddb

### Build

```bash
./configure \
    --add-dynamic-module=/path/to/ngx_http_geoip2_module
```

### License

BSD 2-Clause License.

---

## ngx_http_limit_req_module

Extended limit request module for Nginx.

Allows reading and writing request limits based on:

https://nginx.org/en/docs/http/ngx_http_limit_req_module.html

### Build

```bash
./configure \
    --add-module=/path/to/ngx_http_limit_req_module
```

### Notes

This module is recommended to be built statically because it interacts closely with request limiting internals and shared memory zones.

### License

BSD 2-Clause License.