=== RR Media Offload for S3 / S3-compatible storage ===
Contributors: rrcomputing, rvalverde
Tags: amazon s3, media offload, cloudfront, cdn, wordpress media
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.0.1
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Descarregue a biblioteca multimédia do WordPress para o S3 e acelere o seu site com CDN, menos carga no servidor e melhor desempenho.

== Descrição ==

**RR Media Offload para S3** (com tecnologia WPtoCloud) carrega automaticamente todos os ficheiros da sua biblioteca de multimédia WordPress para um bucket S3 ou compatível com S3.

As imagens, vídeos e todas as miniaturas geradas são armazenadas no S3 e podem ser apresentadas diretamente a partir do armazenamento na nuvem ou através de uma CDN como o CloudFront.

Isto reduz a utilização de disco, melhora o desempenho e permite que o seu site seja dimensionado com mais facilidade.

A configuração é simples e demora apenas alguns minutos com o assistente passo a passo integrado.

== Funcionalidades ==

- Upload automático de novos ficheiros multimédia para o Amazon S3
- Upload de todas as miniaturas e variantes de srcset
- Suporte para imagens, vídeos e todos os tipos de media WordPress
- Reescrita de URLs para servir ficheiros do S3 ou CDN
- Compatível com CloudFront e domínios de CDN personalizados
- Eliminação opcional de ficheiros locais após o upload
- Assistente de configuração passo a passo (bucket, IAM, CDN)
- Painel de estado com métricas de upload e integridade do S3
- Funciona com buckets S3 privados (usando CDN)
- Compatível com instalações multi-site
- Pronto para tradução (inglês, espanhol, francês, português, catalão)

== Serviços externos ==

**Este plugin NÃO carrega ficheiros remotos de servidores de terceiros.**

Todas as características do plugin (JavaScript, CSS, imagens) estão incluídas localmente no diretório do plugin. O plugin não utiliza CDNs externos para as suas funcionalidades.

**Este plugin fornece um serviço para ligar a SUA própria conta Amazon S3.**

Ao configurar o plugin com as suas credenciais da AWS, este liga-se a:

- **Armazenamento S3/compatível com S3** - para fazer o upload e armazenar os seus ficheiros multimédia no seu próprio bucket
- ​​**CDN (opcional)** - para distribuir conteúdo através de uma CDN, como o Amazon CloudFront ou outra distribuição de CDN compatível

O plugin também funciona com outros serviços que implementam a API do S3 (armazenamento de objetos compatível com S3). Se preferir utilizar um fornecedor alternativo, configure o plugin com o endpoint e as credenciais desse fornecedor. Os fornecedores compatíveis comuns incluem:

- MinIO (alojamento próprio)
- Espaços DigitalOcean
- Wasabi
- Backblaze B2 (API S3)
- Linode Object Storage
- Scaleway Objects
- Ceph (Gateway RADOS)
- IBM Cloud Object Storage (modo compatível com S3)
- Oracle Cloud (gateway compatível com S3; poderá ser necessário efetuar ajustes)
- Cloudian, DreamObjects, Exoscale

Notas para fornecedores compatíveis com S3:

- Pode ser necessário definir um `endpoint` personalizado (por exemplo, `https://nyc3.digitaloceanspaces.com`).

- Alguns fornecedores requerem `use_path_style_endpoint => true` ou uma `signature_version` específica (normalmente `v4`).

- Verifique o comportamento de CORS, ACL/leitura pública e os limites de upload multipart grandes com o seu fornecedor.
- Se a interface do plugin não apresentar um campo de endpoint, pode adicionar o endpoint nas definições do plugin ou posso modificar o plugin para adicionar uma opção de "Endpoint S3 personalizado".

== Instruções específicas do prestador ==

Abaixo estão breves notas específicas do fornecedor para o ajudar a configurar o plugin ao utilizar o armazenamento de objetos compatível com S3.

=== DigitalOcean Spaces ===
- Exemplo de endpoint: https://nyc3.digitaloceanspaces.com (substitua nyc3 pela sua região)
- Crie um Espaço no painel de controlo da DigitalOcean e gere a Chave de Acesso/Chave Secreta em API -> Chaves do Espaço.

- Utilize o endpoint acima no campo `Endpoint` do plugin e deixe a Região como qualquer (o SDK irá utilizar o endpoint).

- CORS: permita GET, HEAD, PUT, POST e defina a Origem para o seu site, se necessário.

- Objetos públicos: defina o Espaço como público ou utilize URLs assinados através da sua CDN.

=== MinIO (hospedado internamente) ===
- Exemplo de endpoint: https://minio.example.com:9000
- O MinIO requer normalmente `use_path_style_endpoint => true` — ative o "Forzar path-style" nas definições do plugin.

- Certifique-se de que o TLS está configurado para produção e que os nomes dos buckets seguem as regras DNS.

- Utilize o cliente MinIO (`mc`) para criar buckets e testar uploads:

- `mc alias set myminio https://minio.example.com ACCESSKEY SECRET`

- `mc mb myminio/my-bucket`

=== Wasabi ===
- Exemplo de endpoint: https://s3.us-west-1.wasabisys.com (específico da região)
- Utilize o endpoint do fornecedor no plugin e não ative o path-style, a menos que seja instruído pelo Wasabi.

- Consulte a documentação do Wasabi para obter informações sobre as políticas de bucket e a configuração do CORS.

=== Backblaze B2 (Compatível com S3) ===
- Os endpoints do Backblaze S3 são específicos da região, por exemplo, `https://s3.us-west-002.backblazeb2.com`.

- Utilize o endpoint e as suas chaves no formato S3; teste com o botão "Test conexión" do plugin.

=== Linode Object Storage ===
- Exemplo de endpoint: https://us-east-1.linodeobjects.com
- Utilize o endpoint nas definições; o Linode suporta o formato virtual-host por defeito, não sendo normalmente necessário o formato path.

=== Fornecedores personalizados/outros compatíveis com S3 ===
- Se o seu prestador expõe uma API compatível com S3. Normalmente, precisará de:

- `ponto final` (obrigatório)

- `access key` e `secret key`

- opcionalmente, `use_path_style_endpoint => true` para gateways mais antigos ou auto-hospedados
- Problemas comuns: incompatibilidade de versão da assinatura (certifique-se de que utiliza `v4`), restrições CORS ou limites específicos do fornecedor para carregamentos multipart.

Se encontrar problemas, copie o endpoint e as chaves do fornecedor para as definições do plugin e utilize "Test conexión". Se o teste falhar, ative o estilo de caminho e tente novamente ou partilhe a mensagem de erro para obter mais ajuda.

**Que dados são enviados:**

- Ficheiros de media enviados pelo seu site WordPress (imagens, vídeos, miniaturas)
- Pedidos de API utilizando as SUAS credenciais da AWS para gerir o SEU bucket
- ​​Todas as ligações são feitas apenas com os SEUS recursos da AWS configurados

**Requisito de conta AWS:**

Deve criar a sua própria conta AWS e configurar o seu próprio bucket S3 e, opcionalmente, a sua distribuição CloudFront. O plugin não fornece estes serviços — apenas liga o WordPress aos serviços da AWS que VOCÊ configurar.

**Segurança das Credenciais:**

- As suas credenciais da AWS são armazenadas encriptadas na base de dados do seu WordPress.
- As credenciais são utilizadas APENAS para comunicação com a sua própria conta AWS.
- Não são enviados dados para servidores de terceiros ou para o desenvolvedor do plugin.

**Os URLs apresentados no painel de administração do plugin são apenas links informativos:**

O assistente de configuração apresenta links clicáveis ​​para o ajudar a abrir as páginas corretas da Consola AWS:

- `https://s3.console.aws.amazon.com/s3/home` - Abre a consola AWS S3 (para criação de buckets)
- `https://console.aws.amazon.com/iam/home#/users` - Abre a consola do IAM (para a criação de chaves de acesso)
- `https://console.aws.amazon.com/cloudfront/home` - Abre a consola do CloudFront (configuração opcional de CDN)

Estes são URLs padrão da consola da AWS fornecidos como guia para o utilizador. Não são dependências externas carregadas pelo ambiente de execução do plugin.

**Exemplo de URL apresentado no assistente de configuração:**

O assistente apresenta um exemplo de um formato de URL do CloudFront, como `https://d1ab2cde.cloudfront.net`, como referência visual. Este é apenas um exemplo — não é um endpoint real. O plugin utiliza apenas o URL da CDN que VOCÊ configurar com o SEU PRÓPRIO domínio do CloudFront.

**Mais informações:**

- Termos de Serviço da AWS: https://aws.amazon.com/service-terms/
- Aviso de privacidade da AWS: https://aws.amazon.com/privacy/

== Instalação ==

1.º Envie o plugin para o diretório /wp-content/plugins/ ou instale-o a partir do repositório do WordPress.

2.º Ative o plugin através do menu Plugins.
3.º Aceda a **WPtoCloud -> Definições**
4.º Configure o seu bucket S3 e as credenciais do IAM
5. (Opcional) Defina um URL do CloudFront ou CDN

== Perguntas Frequentes ==

= O que faz este plugin? =
Envia automaticamente os media do WordPress para o Amazon S3 e serve os ficheiros do armazenamento em nuvem.

= É compatível com o CloudFront? =
Sim, pode configurar um URL CDN para entrega rápida.

= Os ficheiros existentes são migrados? =
Não. A versão gratuita apenas lida com novos uploads.

= Posso eliminar ficheiros locais? =
Sim, pode ativar a eliminação automática assim que o ficheiro for enviado para o S3.

= Funciona com buckets privados? =
Sim, quando utilizado com o CloudFront ou um CDN compatível.

= As credenciais da AWS são seguras? =
Sim. São armazenadas encriptadas no seu banco de dados do WordPress.

= O que é o WPtoCloud? == O WPtoCloud é a plataforma por detrás do RR Media Offload, fornecendo recursos avançados e ferramentas premium para a gestão de media na cloud.

== Actualização para o WPtoCloud Pro ==

Desbloqueie funcionalidades avançadas com o **WPtoCloud Pro**:

- Migração em massa de media para o Amazon S3
- Ferramentas avançadas de automação
- Limpeza de suportes do WooCommerce
- Relatórios e monitorização detalhados
- Suporte prioritário

Obtenha o WPtoCloud Pro:
https://www.wptocloud.com

== Changelog ==
= 1.0.0 =
- Lançamento inicial

= 1.0.1 =
- Adicionado suporte para fornecedores compatíveis com S3: DigitalOcean Spaces, MinIO, Wasabi, Backblaze, Linode e uma opção personalizada.

- Novas configurações: `Fornecedor S3`, `Endpoint` e `Forçar estilo de caminho`.

- `RRCM_Media_Offload_S3_Manager` aceita agora um endpoint personalizado e `use_path_style_endpoint` quando configurado.

- Adicionado um botão "Testar ligação" no ecrã de definições para verificar as credenciais e o endpoint.
- Alterações mínimas e retrocompatíveis: a configuração existente da AWS não será afetada.
- Corrigidos erros de tradução no código do plugin (strings de i18n do WordPress corrigidas).

== Aviso de atualização ==
= 1.0.1 =
- Consulte o Changelog acima para obter detalhes.