# 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_headers_more

ngx_headers_more - Set and clear input and output headers...more than "add"!

This module is not distributed with the Nginx source.

### Build

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

### 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.

---

## ngx_http_uploadprogress_module

nginx_uploadprogress_module is an implementation of an upload progress system, that monitors
RFC1867 POST upload as they are transmitted to upstream servers.

### Build

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

### Notes

when compiled with --with-debug, this module will produce high number of log messages.

### License

BSD 2-Clause License.

---

## ngx_zstd

zstd-nginx-module - Nginx module for the [Zstandard compression](https://facebook.github.io/zstd/).

### Build

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

### Notes

u should add as static module

### License

BSD 2-Clause License.