From 3aa2a3661f16ceb9af475d7ab4edf6464e79a270 Mon Sep 17 00:00:00 2001 From: jdv Date: Tue, 5 May 2026 18:43:37 +0200 Subject: [PATCH 1/2] =?UTF-8?q?css=20adjsutments=20for=20readeability=20an?= =?UTF-8?q?d=20=E2=80=94=20repalcement=20in=20content=20recently=20added?= =?UTF-8?q?=20by=20me?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/appsec/quickstart/haproxy_spoa.mdx | 2 +- crowdsec-docs/docs/appsec/rules_deploy.md | 10 +++++----- .../docs/getting_started/sdk_intro.mdx | 6 +++--- crowdsec-docs/docs/intro.mdx | 2 +- .../src/components/data/cti-integrations.ts | 4 ++-- crowdsec-docs/src/css/code.css | 4 ++-- crowdsec-docs/src/css/colors.css | 2 +- crowdsec-docs/src/css/custom.css | 4 ++-- crowdsec-docs/src/pages/index.tsx | 12 +++++------ .../bouncers/cloudflare-workers.mdx | 2 +- .../console/ip_reputation/api_keys.mdx | 12 +++++------ .../console/ip_reputation/intro.mdx | 8 ++++---- .../unversioned/console/premium_upgrade.mdx | 4 ++-- .../console/premium_upgrade/optimal_setup.mdx | 2 +- .../api_integration/integration_intro.mdx | 2 +- .../api_integration/integration_ipdex.md | 2 +- .../unversioned/cti_api/api_introduction.md | 4 ++-- crowdsec-docs/unversioned/cti_api/intro.mdx | 20 +++++++++---------- .../getting_started/health_check.mdx | 2 +- .../unversioned/integrations/intro.mdx | 16 +++++++-------- .../unversioned/integrations/rawiplist.mdx | 10 +++++----- .../integrations/remediationcomponent.mdx | 10 +++++----- .../unversioned/integrations/sophos.mdx | 4 ++-- 23 files changed, 72 insertions(+), 72 deletions(-) diff --git a/crowdsec-docs/docs/appsec/quickstart/haproxy_spoa.mdx b/crowdsec-docs/docs/appsec/quickstart/haproxy_spoa.mdx index 6a93579b6..ac453a309 100644 --- a/crowdsec-docs/docs/appsec/quickstart/haproxy_spoa.mdx +++ b/crowdsec-docs/docs/appsec/quickstart/haproxy_spoa.mdx @@ -13,7 +13,7 @@ Make sure the following are already done on the machine running HAProxy (each is 1. **CrowdSec Security Engine** installed and running — see the [Linux quickstart](/u/getting_started/installation/linux). 2. **HAProxy** already running and proxying your application(s). -3. **HAProxy SPOA bouncer** (`crowdsec-haproxy-spoa-bouncer`) installed and registered against the CrowdSec LAPI — see the [SPOA bouncer guide](/u/bouncers/haproxy_spoa). +3. **HAProxy SPOA bouncer** (`crowdsec-haproxy-spoa-bouncer`) installed and registered against the CrowdSec LAPI. See the [SPOA bouncer guide](/u/bouncers/haproxy_spoa). ## 1. Install the AppSec rule collections diff --git a/crowdsec-docs/docs/appsec/rules_deploy.md b/crowdsec-docs/docs/appsec/rules_deploy.md index f2aa80dd2..98bb26926 100644 --- a/crowdsec-docs/docs/appsec/rules_deploy.md +++ b/crowdsec-docs/docs/appsec/rules_deploy.md @@ -40,7 +40,7 @@ labels: Once the rule behaves as expected, the remaining steps package it for CrowdSec, wire it into the acquisition pipeline, and test it end to end. -## Step 1 — Stage the Rule File +## Step 1 - Stage the Rule File CrowdSec loads AppSec rules from `/etc/crowdsec/appsec-rules/`. Copy your YAML rule into that directory (create a `custom/` subfolder to keep things tidy if you manage several rules): @@ -56,7 +56,7 @@ Make sure the `name` inside the rule file matches the file name convention you p If you run CrowdSec in a container, copy the file into the volume that is mounted at `/etc/crowdsec/appsec-rules/` inside the container. ::: -## Step 2 — Create an AppSec Configuration +## Step 2 - Create an AppSec Configuration An AppSec configuration lists which rules to load and how to handle matches. Create a new file under `/etc/crowdsec/appsec-configs/` that targets your custom rule: @@ -73,7 +73,7 @@ Key points: - `inband_rules` (and/or `outofband_rules`) accept glob patterns, so you can load multiple rules with a single entry such as `custom/block-*`. - During the reload step CrowdSec validates the syntax; if anything is off, the reload fails and the service logs the parsing error. -## Step 3 — Reference the Configuration in the Acquisition File +## Step 3 - Reference the Configuration in the Acquisition File The AppSec acquisition file (`/etc/crowdsec/acquis.d/appsec.yaml`) controls which configurations are active for the WAF component. Add your configuration to the `appsec_configs` list. Order matters: later entries override conflicting defaults such as `default_remediation`. @@ -89,7 +89,7 @@ source: appsec If you only want to run your custom configuration, remove other entries and keep the list with a single item. -## Step 4 — Reload CrowdSec and Validate the Load +## Step 4 - Reload CrowdSec and Validate the Load Apply the changes by reloading the CrowdSec service: @@ -106,7 +106,7 @@ sudo cscli appsec-configs list | grep block-nonnumeric-user-id The rule should appear as `enabled`, and the configuration should show up in the list. CrowdSec logs confirm the configuration was loaded without errors. -## Step 5 — Functional Test with `curl` +## Step 5 - Functional Test with `curl` Trigger the behaviour your rule is meant to catch to ensure it blocks as expected. For the example rule, send a request with a non-numeric `user_id` value: diff --git a/crowdsec-docs/docs/getting_started/sdk_intro.mdx b/crowdsec-docs/docs/getting_started/sdk_intro.mdx index a2d46fe37..16f10de0a 100644 --- a/crowdsec-docs/docs/getting_started/sdk_intro.mdx +++ b/crowdsec-docs/docs/getting_started/sdk_intro.mdx @@ -9,9 +9,9 @@ CrowdSec offers lightweight SDKs for Python and PHP to help developers seamlessl By using these SDKs, you can report signals such as suspicious IP activity or confirmed attacks directly to the Central API (CAPI). In return, your users gain access to the CrowdSec Community Blocklist, a curated and constantly updated list of IPs involved in malicious behavior observed across the global CrowdSec network. Why Integrate the SDK: -- **Simple Integration** — Add signal sharing with just a few lines of code -- **Community-Powered Protection** — Contributions help power our global threat intelligence network -- **Mutual Benefit** — Your platform shares valuable intelligence and gains stronger real-time protection in return +- **Simple Integration**: Add signal sharing with just a few lines of code +- **Community-Powered Protection**: Contributions help power our global threat intelligence network +- **Mutual Benefit**: Your platform shares valuable intelligence and gains stronger real-time protection in return ## Supported SDKs diff --git a/crowdsec-docs/docs/intro.mdx b/crowdsec-docs/docs/intro.mdx index 9ce915992..04890256e 100644 --- a/crowdsec-docs/docs/intro.mdx +++ b/crowdsec-docs/docs/intro.mdx @@ -54,7 +54,7 @@ Under the hood, the Security Engine has various components: - The [Local API](local_api/intro.md) acts as a middleman: - Between the [Log Processors](/log_processor/intro.mdx) and the [Remediation Components](/u/bouncers/intro) which are in charge of enforcing decisions. - And with the [Central API](/central_api/intro.md) to share alerts and receive blocklists. -- The [Remediation Components](/u/bouncers/intro) (also called bouncers) block malicious IPs at your chosen level—IpTables, firewalls, web servers, or reverse proxies. [See the full list on the CrowdSec Hub.](https://app.crowdsec.net/hub/remediation-components) +- The [Remediation Components](/u/bouncers/intro) (also called bouncers) block malicious IPs at your chosen level: IpTables, firewalls, web servers, or reverse proxies. [See the full list on the CrowdSec Hub.](https://app.crowdsec.net/hub/remediation-components) ## Deployment options diff --git a/crowdsec-docs/src/components/data/cti-integrations.ts b/crowdsec-docs/src/components/data/cti-integrations.ts index a05e0b8d7..3de594984 100644 --- a/crowdsec-docs/src/components/data/cti-integrations.ts +++ b/crowdsec-docs/src/components/data/cti-integrations.ts @@ -13,7 +13,7 @@ export const ctiIntegrations: CtiIntegrationData[] = [ slug: "ipdex", href: "/u/cti_api/api_integration/integration_ipdex", plugin: "CrowdSec CTI Reports", - desc: "IPDEX extracts IP addresses from your logs and cross-references them against CrowdSec's global threat intelligence network — instantly.", + desc: "IPDEX extracts IP addresses from your logs and cross-references them against CrowdSec's global threat intelligence network instantly.", color: "#e55c2f", }, { @@ -29,7 +29,7 @@ export const ctiIntegrations: CtiIntegrationData[] = [ slug: "gigasheet", href: "/u/cti_api/api_integration/integration_gigasheet", plugin: "No-Code API Enrichment", - desc: "Enrich spreadsheet columns with CTI data using Gigasheet's no-code API enrichment feature — no scripting required.", + desc: "Enrich spreadsheet columns with CTI data using Gigasheet's no-code API enrichment feature. No scripting required.", color: "#00b4d8", }, { diff --git a/crowdsec-docs/src/css/code.css b/crowdsec-docs/src/css/code.css index d0846cc98..fb8093034 100644 --- a/crowdsec-docs/src/css/code.css +++ b/crowdsec-docs/src/css/code.css @@ -5,7 +5,7 @@ } pre { - @apply rounded-lg font-semibold; + @apply rounded-lg font-medium; } .prism-code .token.plain { @@ -18,5 +18,5 @@ pre { } code:not(.prism-code code) { - @apply bg-gray-100 dark:bg-gray-50 border-primary/20 border-solid border text-primary px-1 py-0.5 rounded-md font-semibold; + @apply bg-gray-100 dark:bg-gray-50 border-primary/20 border-solid border text-primary px-1 py-0.5 rounded-md font-medium; } diff --git a/crowdsec-docs/src/css/colors.css b/crowdsec-docs/src/css/colors.css index ac341f6d6..274eb7eb7 100644 --- a/crowdsec-docs/src/css/colors.css +++ b/crowdsec-docs/src/css/colors.css @@ -192,7 +192,7 @@ html[data-theme="dark"], --ifm-global-shadow-md: 0px; --ifm-code-font-size: 95%; --ifm-font-family-base: "Instrument Sans", sans-serif; /* For body text */ - --ifm-font-family-monospace: "Courier New", monospace; /* For code blocks */ + --ifm-font-family-monospace: "Roboto Mono", ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace; /* For code blocks */ --ifm-dropdown-background-color: rgb(var(--card)); /* Algolia global search colors */ diff --git a/crowdsec-docs/src/css/custom.css b/crowdsec-docs/src/css/custom.css index 47f8656ed..1cb496aab 100644 --- a/crowdsec-docs/src/css/custom.css +++ b/crowdsec-docs/src/css/custom.css @@ -1,4 +1,4 @@ -@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Roboto+Mono:wght@400;500&display=swap"); @import "tailwindcss/base"; @import "tailwindcss/components"; @@ -113,7 +113,7 @@ div.markdown { padding: 14px 16px; } -/* Quick-access strip — label + pill buttons in a row (matches homepage "Already running?" strip) */ +/* Quick-access strip - label + pill buttons in a row (matches homepage "Already running?" strip) */ .doc-quick-strip { display: flex; align-items: center; diff --git a/crowdsec-docs/src/pages/index.tsx b/crowdsec-docs/src/pages/index.tsx index db1571b49..45f382f39 100644 --- a/crowdsec-docs/src/pages/index.tsx +++ b/crowdsec-docs/src/pages/index.tsx @@ -183,7 +183,7 @@ const SchemaBlock = ({ id, color, eyebrowIcon, eyebrow, title, ctaLabel, ctaHref }} /> - {/* header — always visible, clickable to toggle */} + {/* header - always visible, clickable to toggle */}