Merge pull request #118 from BlessedRebuS/feat/release-1.1.3

Feat/release 1.1.3
This commit is contained in:
Patrick Di Fazio
2026-03-04 15:16:40 +01:00
committed by GitHub
8 changed files with 140 additions and 17 deletions

View File

@@ -4,7 +4,6 @@ on:
push: push:
branches: branches:
- main - main
- beta
- dev - dev
- github-actions-ci - github-actions-ci
paths: paths:
@@ -15,10 +14,6 @@ on:
- 'requirements.txt' - 'requirements.txt'
- 'entrypoint.sh' - 'entrypoint.sh'
- '.github/workflows/docker-build-push.yml' - '.github/workflows/docker-build-push.yml'
tags:
- 'v*.*.*'
release:
types: [published]
workflow_dispatch: workflow_dispatch:
env: env:

View File

@@ -4,18 +4,11 @@ on:
push: push:
branches: branches:
- main - main
- beta
- dev - dev
- github-actions-ci - github-actions-ci
paths: paths:
- 'helm/**' - 'helm/**'
- '.github/workflows/helm-package-push.yml' - '.github/workflows/helm-package-push.yml'
tags:
- 'v*'
release:
types:
- published
- created
workflow_dispatch: workflow_dispatch:
env: env:

View File

@@ -43,6 +43,7 @@
- [Docker Run](#docker-run) - [Docker Run](#docker-run)
- [Docker Compose](#docker-compose) - [Docker Compose](#docker-compose)
- [Kubernetes](#kubernetes) - [Kubernetes](#kubernetes)
- [Local (Python)](#local-python)
- [Configuration](#configuration) - [Configuration](#configuration)
- [config.yaml](#configuration-via-configyaml) - [config.yaml](#configuration-via-configyaml)
- [Environment Variables](#configuration-via-enviromental-variables) - [Environment Variables](#configuration-via-enviromental-variables)
@@ -63,6 +64,8 @@ Tip: crawl the `robots.txt` paths for additional fun
It creates realistic fake web applications filled with lowhanging fruit such as admin panels, configuration files, and exposed fake credentials to attract and identify suspicious activity. It creates realistic fake web applications filled with lowhanging fruit such as admin panels, configuration files, and exposed fake credentials to attract and identify suspicious activity.
![dashboard](img/deception-page.png)
By wasting attacker resources, Krawl helps clearly distinguish malicious behavior from legitimate crawlers. By wasting attacker resources, Krawl helps clearly distinguish malicious behavior from legitimate crawlers.
It features: It features:
@@ -77,8 +80,9 @@ It features:
- **Customizable Wordlists**: Easy JSON-based configuration - **Customizable Wordlists**: Easy JSON-based configuration
- **Random Error Injection**: Mimic real server behavior - **Random Error Injection**: Mimic real server behavior
![dashboard](img/deception-page.png) You can easily expose Krawl alongside your other services to shield them from web crawlers and malicious users using a reverse proxy. For more details, see the [Reverse Proxy documentation](docs/reverse-proxy.md).
![use case](img/use-case.png)
## Krawl Dashboard ## Krawl Dashboard
@@ -160,6 +164,17 @@ docker-compose down
### Kubernetes ### Kubernetes
**Krawl is also available natively on Kubernetes**. Installation can be done either [via manifest](kubernetes/README.md) or [using the helm chart](helm/README.md). **Krawl is also available natively on Kubernetes**. Installation can be done either [via manifest](kubernetes/README.md) or [using the helm chart](helm/README.md).
### Python + Uvicorn
Run Krawl directly with Python (suggested version 13) and uvicorn for local development or testing:
```bash
pip install -r requirements.txt
uvicorn app:app --host 0.0.0.0 --port 5000 --app-dir src
```
Access the server at `http://localhost:5000`
## Configuration ## Configuration
Krawl uses a **configuration hierarchy** in which **environment variables take precedence over the configuration file**. This approach is recommended for Docker deployments and quick out-of-the-box customization. Krawl uses a **configuration hierarchy** in which **environment variables take precedence over the configuration file**. This approach is recommended for Docker deployments and quick out-of-the-box customization.

View File

@@ -14,7 +14,7 @@ A Helm chart for deploying the Krawl honeypot application on Kubernetes.
```bash ```bash
helm install krawl oci://ghcr.io/blessedrebus/krawl-chart \ helm install krawl oci://ghcr.io/blessedrebus/krawl-chart \
--version 1.1.0 \ --version 1.1.3 \
--namespace krawl-system \ --namespace krawl-system \
--create-namespace \ --create-namespace \
-f values.yaml # optional -f values.yaml # optional
@@ -169,7 +169,7 @@ kubectl get secret krawl-server -n krawl-system \
You can override individual values with `--set` without a values file: You can override individual values with `--set` without a values file:
```bash ```bash
helm install krawl oci://ghcr.io/blessedrebus/krawl-chart --version 1.1.0 \ helm install krawl oci://ghcr.io/blessedrebus/krawl-chart --version 1.1.3 \
--set ingress.hosts[0].host=honeypot.example.com \ --set ingress.hosts[0].host=honeypot.example.com \
--set config.canary.token_url=https://canarytokens.com/your-token --set config.canary.token_url=https://canarytokens.com/your-token
``` ```
@@ -177,7 +177,7 @@ helm install krawl oci://ghcr.io/blessedrebus/krawl-chart --version 1.1.0 \
## Upgrading ## Upgrading
```bash ```bash
helm upgrade krawl oci://ghcr.io/blessedrebus/krawl-chart --version 1.1.0 -f values.yaml helm upgrade krawl oci://ghcr.io/blessedrebus/krawl-chart --version 1.1.3 -f values.yaml
``` ```
## Uninstalling ## Uninstalling

View File

@@ -3,7 +3,7 @@ replicaCount: 1
image: image:
repository: ghcr.io/blessedrebus/krawl repository: ghcr.io/blessedrebus/krawl
pullPolicy: Always pullPolicy: Always
tag: "1.1.0" tag: "1.1.3"
imagePullSecrets: [] imagePullSecrets: []
nameOverride: "krawl" nameOverride: "krawl"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 KiB

After

Width:  |  Height:  |  Size: 343 KiB

120
img/use-case.drawio Normal file

File diff suppressed because one or more lines are too long

BIN
img/use-case.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB