# Instalação via Wrangler (CLI)

### Pré-requisitos

Para integrar com sucesso usando o Netacea, certifique-se de que você tenha:

1. Instalado a versão mais recente do [Wrangler V2](https://developers.cloudflare.com/workers/wrangler/migration/v1-to-v2/update-v1-to-v2/), [Node.js](https://nodejs.org/en) (versão 16.13.0 ou superior) e [Git ](https://git-scm.com/)em sua máquina.
2. Uma conta ativa no Cloudflare com acesso ao Painel do Cloudflare.
3. Uma assinatura "Paga" do Cloudflare, para evitar quaisquer problemas com limites de requisições do worker, etc.
4. Acesso ao produto Cloudflare Workers.

### **Etapas de Implementação**

As instruções detalhadas do GitHub para baixar o código, configurar e implantar o plugin Netacea Cloudflare podem ser encontradas [aqui](https://github.com/Netacea/cloudflare-worker-template-typescript).

### Criar worker local <a href="#edit-worker" id="edit-worker"></a>

Abra o Prompt de Comando/PowerShell do Windows e navegue até um diretório onde você possa salvar o código do Netacea.

Dentro desse diretório, execute o seguinte comando

{% code overflow="wrap" %}

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

{% endcode %}

Isso usará o wrangler para criar (gerar) um novo pacote de worker local baixando o código mais recente do GitHub do Netacea.

<figure><img src="/files/tsvVhp4qkIykYTETbfOX" alt=""><figcaption></figcaption></figure>

Você pode verificar isso visitando o diretório acima e visualizando o worker com o seguinte formato:

<div align="left"><figure><img src="/files/nJjriIoJNYjreKPvZ0S3" alt=""><figcaption></figcaption></figure></div>

### Configurar o worker

Abra o diretório src e edite o arquivo `NetaceaConfig.json` para corresponder ao abaixo:

```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
  }
```

Substitua os valores pelos detalhes que o Netacea forneceu a você e **salve** o arquivo.

{% hint style="info" %}
O atributo `mitigationType` é usado para determinar o modo da integração. Este pode ser um dos três valores:

* "**INGEST**" - Este modo de integração é apenas para monitoramento, o que significa que nenhuma ação de mitigação será executada. Isso é recomendado durante POCs.
* "**MITIGATE**" - Este é o modo de integração "normal", o que significa que a solução Netacea irá monitorar e mitigar ativamente as requisições.
* "**INJECT**" - Este modo é usado em soluções personalizadas nas quais a ação de mitigação pelo Netacea será apenas uma recomendação usando cabeçalhos HTTP adicionados à requisição.
  {% endhint %}

{% hint style="info" %}
O nome do cookie e do captcha deve ser único.

**Para maior segurança, não inclua Netacea ou Mitigation neste nome.**
{% endhint %}

{% hint style="danger" %}
As variáveis cookieEncryptionKey, netaceaCookieName e netaceaCaptchaCookieName são usadas para aumentar a segurança, ocultando os nomes e valores de cookies padrão do Netacea da visualização pública.
{% endhint %}

### Configurar o Wrangler

Navegue até o diretório raiz do worker e edite o arquivo `wrangler.toml`:

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

account_id = "EXAMPLE_ACCOUNT_ID"
route = "EXAMPLE_ROUTE"

compatibility_date = "2023-05-04"

[observability]
enabled = true

```

Substitua os valores pelos detalhes apropriados e quando estiver pronto, **salve** o arquivo.

{% hint style="info" %}
O [Account ID](https://developers.cloudflare.com/fundamentals/get-started/basic-tasks/find-account-and-zone-ids/#find-zone-and-account-ids) pode ser encontrado no seu Painel do Cloudflare.

A [Route ](https://developers.cloudflare.com/workers/platform/triggers/routes/)refere-se ao caminho ao qual o worker deve ser aplicado, por exemplo, "[www.example.com/\*](http://www.example.com/*)" e pode ser editada após a implantação.
{% endhint %}

{% hint style="info" %}
Habilitar a opção **Auto Save** ao alterar configurações seria útil.
{% endhint %}

### Instalar/Atualizar npm

Dentro do diretório raiz do worker, execute os dois comandos a seguir para garantir que todos os módulos node necessários estejam instalados/atualizados

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

```
npm install
```

### Implantar o worker no Cloudflare

Execute o seguinte comando:

```
npm run deploy
```

Isso pode solicitar que você faça login no Cloudflare pelo seu navegador e permita acesso ao wrangler. Se isso acontecer, faça login e permita o acesso.

<div align="left"><figure><img src="/files/gWjtRIYhgwF3ZxBVAY8X" alt=""><figcaption></figcaption></figure></div>

<figure><img src="/files/kv03R54E11ZLr56DMw0v" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Você pode usar o comando acima para reimplantar o mesmo worker a fim de atualizá-lo (por exemplo, alterando as propriedades de configuração). A última implantação se tornará ativa por padrão.
{% endhint %}

### Confirmar Implantação

Faça login no Cloudflare, abra o painel, selecione o domínio onde você deseja que o worker funcione e finalmente selecione "Workers Routes" no menu. Você deve ser capaz de ver o worker recém-implantado, associado à rota do arquivo `wrangler.toml`.

<figure><img src="/files/5KWoAjBVCUst3cFQzmJB" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Você pode fazer alterações no worker, rota, ambiente e mais clicando em **Edit**, sem a necessidade de reimplantar o worker via wrangler.
{% endhint %}

As implantações de cada worker podem ser vistas clicando no Worker (por exemplo, test-netacea-worker) e selecionando a aba Deployment's:

<figure><img src="/files/XJEDEdcvLCh9qP4RVPRG" alt=""><figcaption></figcaption></figure>

Para cada worker, você pode ver várias métricas, as rotas associadas e ter a opção de reverter para uma implantação anterior.


---

# 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/br/informacoes-do-plugin-netacea/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.
