# Installation via Wrangler (CLI)

### Förutsättningar

För att framgångsrikt integrera med Netacea, vänligen säkerställ att du har:

1. Installerat senaste [Wrangler V2](https://developers.cloudflare.com/workers/wrangler/migration/v1-to-v2/update-v1-to-v2/), [Node.js](https://nodejs.org/en) (version 16.13.0 eller högre) och [Git ](https://git-scm.com/)på din maskin.
2. Ett aktivt Cloudflare-konto med åtkomst till Cloudflare Dashboard.
3. En "Paid" Cloudflare-prenumeration, för att undvika eventuella problem med begränsningar för worker-förfrågningar etc.
4. Åtkomst till Cloudflare Workers-produkten.

### **Implementeringssteg**

De detaljerade GitHub-instruktionerna för att hämta koden, konfigurera och distribuera Netacea Cloudflare-pluginet finns [här](https://github.com/Netacea/cloudflare-worker-template-typescript).

### Skapa lokal worker <a href="#edit-worker" id="edit-worker"></a>

Öppna Windows Kommandotolken/PowerShell och navigera till en katalog där du kan spara Netacea-koden.

I den katalogen, kör följande kommando

{% code overflow="wrap" %}

```
wrangler generate netacea-cloudflare-worker https://github.com/netacea/cloudflare-worker-template-typescript
```

{% endcode %}

Detta kommer att använda wrangler för att skapa (generera) ett nytt lokalt worker-paket genom att hämta den senaste Netacea GitHub-koden.

<figure><img src="https://1757243805-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYGUMNWETAzwSHwJ2JpW3%2Fuploads%2Fgit-blob-eb5d13d51998c5b3a6052838c34b1e07d9b3143c%2Fimage%20(71).png?alt=media" alt=""><figcaption></figcaption></figure>

Du kan verifiera detta genom att besöka ovanstående katalog och se worker med följande format:

<div align="left"><figure><img src="https://1757243805-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYGUMNWETAzwSHwJ2JpW3%2Fuploads%2Fgit-blob-4943f944ca9f4a61987a04f3c3f5aedc6609b48b%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### Konfigurera worker

Öppna src-katalogen och redigera `NetaceaConfig.json`-filen så att den matchar nedanstående:

```json
{
    "apiKey": "API-KEY-PROVIDED-BY-NETACEA",
    "secretKey": "SECRET-KEY-PROVIDED-BY-NETACEA",
    "mitigationType": "PREFERRED-MITIGATION-TYPE",
    "ingestType": "KINESIS",
    "kinesis": {
      "kinesisStreamName": "NAME-PROVIDED-BY-NETACEA",
      "kinesisAccessKey": "KEY-PROVIDED-BY-NETACEA",
      "kinesisSecretKey": "KEY-PROVIDED-BY-NETACEA"
    },
    "cookieEncryptionKey": "ENCRYPTION-KEY-PROVIDED-BY-NETACEA",
    "netaceaCookieName": "_cookieName",
    "netaceaCaptchaCookieName": "_captchaCookieName",
    "enableDynamicCaptchaContentType": false,
    "timeout": 3000
  }
```

Ersätt värdena med de uppgifter som Netacea har tillhandahållit dig och **spara** filen.

{% hint style="info" %}
Attributet `mitigationType` används för att bestämma integrationens läge. Detta kan vara ett av tre värden:

* "**INGEST**" - Detta integrationsläge är endast övervakning, vilket innebär att inga begränsningsåtgärder kommer att utföras. Detta rekommenderas under POC:er.
* "**MITIGATE**" - Detta är det "normala" integrationsläget, vilket innebär att Netacea-lösningen kommer att övervaka och aktivt begränsa förfrågningar.
* "**INJECT**" - Detta läge används i anpassade lösningar där begränsningsåtgärden från Netacea endast kommer att vara en rekommendation med hjälp av HTTP-headers som läggs till i förfrågan.
  {% endhint %}

{% hint style="info" %}
Cookie- och captcha-namnet ska vara unikt.

**För ökad säkerhet, inkludera inte Netacea eller Mitigation i detta namn.**
{% endhint %}

{% hint style="danger" %}
Variablerna cookieEncryptionKey, netaceaCookieName och netaceaCaptchaCookieName används för att öka säkerheten genom att dölja Netaceas standardnamn och värden för cookies från allmän insyn.
{% endhint %}

### Konfigurera Wrangler

Navigera till worker-rotmappen och redigera `wrangler.toml`-filen:

```json
name = "netacea-worker"
main = "./dist/worker.js"

account_id = "EXAMPLE_ACCOUNT_ID"
route = "EXAMPLE_ROUTE"

compatibility_date = "2023-05-04"

[observability]
enabled = true

```

Ersätt värdena med lämpliga uppgifter och när du är klar, **spara** filen.

{% hint style="info" %}
[Account ID](https://developers.cloudflare.com/fundamentals/get-started/basic-tasks/find-account-and-zone-ids/#find-zone-and-account-ids) finns på din Cloudflare Dashboard.

[Route ](https://developers.cloudflare.com/workers/platform/triggers/routes/)avser sökvägen som worker ska tillämpas på, t.ex. "[www.example.com/\*](http://www.example.com/*)" och kan redigeras efter distribution.
{% endhint %}

{% hint style="info" %}
Att aktivera alternativet **Auto Save** medan du ändrar konfigurationer skulle vara till hjälp.
{% endhint %}

### Installera/Uppdatera npm

I worker-rotmappen, kör följande två kommandon för att säkerställa att alla nödvändiga node-moduler är installerade/uppdaterade

```powershell
npm i @netacea/cloudflare@latest
```

```
npm install
```

### Distribuera worker till Cloudflare

Kör följande kommando:

```
npm run deploy
```

Detta kan uppmana dig att logga in på Cloudflare via din webbläsare och tillåta åtkomst till wrangler. Om så är fallet, logga in och tillåt åtkomst.

<div align="left"><figure><img src="https://1757243805-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYGUMNWETAzwSHwJ2JpW3%2Fuploads%2Fgit-blob-0386aac934dd8f1a966969128cd868201699fd19%2Fimage%20(7)%20(7).png?alt=media" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://1757243805-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYGUMNWETAzwSHwJ2JpW3%2Fuploads%2Fgit-blob-f6c9f60eb7705f1773cd6c09056c6d3de2e62e68%2Fimage%20(2)%20(9).png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Du kan använda ovanstående kommando för att distribuera om samma worker för att uppdatera den (t.ex. ändra konfigurationsegenskaperna). Den senaste distributionen blir aktiv som standard.
{% endhint %}

### Bekräfta distribution

Logga in på Cloudflare, öppna instrumentpanelen, välj den domän där du vill att worker ska fungera och välj slutligen "Workers Routes" från menyn. Du bör kunna se den nyligen distribuerade worker, associerad med rutten från `wrangler.toml`-filen.

<figure><img src="https://1757243805-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYGUMNWETAzwSHwJ2JpW3%2Fuploads%2Fgit-blob-12cb6d8d73e49f99772f9729b3666f42c80f9b6c%2FScreenshot%202024-12-13%20125030.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Du kan göra ändringar i worker, rutt, miljö och mer genom att klicka på **Edit**, utan att behöva distribuera om worker via wrangler.
{% endhint %}

Distributioner av varje worker kan ses genom att klicka på Worker (t.ex. test-netacea-worker) och välja fliken Deployment's:

<figure><img src="https://1757243805-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYGUMNWETAzwSHwJ2JpW3%2Fuploads%2Fgit-blob-33ad1be8eccc8e959a613deea8c4cfba5f42a6fa%2FScreenshot%202024-12-13%20124156%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

För varje worker kan du se olika mätvärden, de associerade rutterna och ha möjlighet att återställa till en tidigare distribution.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.netacea.com/se/netacea-plugininformation/cloudflare/installation-and-configuration/installation-via-wrangler-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
