Este manual explica como configurar o Cloudflare Tunnel para expor o seu servidor Plex (ou qualquer outro serviço) à internet, mesmo sem um domínio próprio. Usaremos um script automático para configurar o túnel no seu servidor Debian e torná-lo acessível à Internet através de um subdomínio Cloudflare gratuito.
1. Requisitos
Antes de começar, certifique-se de que tem os seguintes requisitos:
- Um servidor Debian com Plex instalado.
- Acesso root ou permissões de sudo no servidor.
- Uma conta Cloudflare (pode criar uma gratuitamente em https://www.cloudflare.com).
2. Passos para Configurar o Cloudflare Tunnel
2.1. Criar uma Conta na Cloudflare (sem domínio)
Para usar o Cloudflare Tunnel sem um domínio próprio, precisa primeiro de criar uma conta no Cloudflare e aceder ao serviço de túnel. Aqui estão os passos:
- Acesse https://www.cloudflare.com e crie uma conta gratuita.
- Após criar a conta, faça login e aceda ao painel de controlo.
- No painel da Cloudflare, clique em "Zero Trust" no menu superior.
- No submenu, escolha "Access" e depois "Tunnels".
- Clique em "Create a Tunnel" e siga as instruções.
- Quando solicitado a adicionar um domínio, ignore esta opção, pois iremos usar o subdomínio gratuito do Cloudflare.
- Clique em "Create Tunnel" para gerar o seu túnel sem a necessidade de um domínio próprio.
2.2. Criar o Script Automático
Para simplificar o processo de configuração, criamos um script automático que fará todo o trabalho para si. Crie um novo arquivo chamado cloudflared_tunnel_setup.sh
e cole o seguinte conteúdo nele:
#!/bin/bash
# Verificar se o script está a ser executado com permissões de root
if [ "$(id -u)" -ne 0 ]; then
echo "Este script deve ser executado como root. Use sudo."
exit 1
fi
# Instalar o cloudflared (se não estiver instalado)
if ! command -v cloudflared &> /dev/null
then
echo "cloudflared não encontrado. Instalando..."
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
dpkg -i cloudflared.deb
rm cloudflared.deb
else
echo "cloudflared já está instalado."
fi
# Autenticar no Cloudflare
echo "Autenticando no Cloudflare..."
cloudflared login
# Criar o tunnel
TUNNEL_NAME="meu_tunnel"
echo "Criando o túnel com o nome $TUNNEL_NAME..."
cloudflared tunnel create $TUNNEL_NAME
# Obter as credenciais e configurar o túnel
echo "Configuração do túnel..."
TUNNEL_JSON_FILE="/etc/cloudflared/${TUNNEL_NAME}.json"
echo "credentials-file: $TUNNEL_JSON_FILE" > /etc/cloudflared/config.yml
# Configurar o serviço local para o túnel
echo "Configurando o serviço local (localhost:32400 para Plex)..."
cat <<EOF >> /etc/cloudflared/config.yml
tunnel: $TUNNEL_NAME
credentials-file: $TUNNEL_JSON_FILE
ingress:
- service: http://localhost:32400
- service: http_status:404
EOF
# Iniciar o túnel
echo "Iniciando o túnel..."
cloudflared tunnel run $TUNNEL_NAME
echo "O túnel foi iniciado com sucesso! Acesse o Plex em: https://$TUNNEL_NAME.trycloudflare.com"
2.3. Tornar o Script Executável
Após criar o arquivo, torne-o executável com o seguinte comando no terminal:
chmod +x cloudflared_tunnel_setup.sh
2.4. Executar o Script
Agora, execute o script com permissões de root para configurar automaticamente o túnel:
sudo ./cloudflared_tunnel_setup.sh
2.5. Testar o Acesso ao Plex
Após a execução do script, o Cloudflare fornecerá um link no formato:
https://meu_tunnel.trycloudflare.com
Acesse esse link no navegador para ver se o seu servidor Plex está acessível. A partir deste ponto, o Plex estará exposto à internet via Cloudflare Tunnel, e você poderá usá-lo remotamente.
3. Manutenção e Alterações
Se precisar de alterar a configuração do túnel (ex.: alterar a porta do Plex ou apontar para outro serviço), basta editar o arquivo de configuração localizado em /etc/cloudflared/config.yml
e reiniciar o túnel com o comando:
sudo systemctl restart cloudflared
4. Acesso Continuado
Certifique-se de que o serviço cloudflared
está configurado para iniciar automaticamente com o sistema para garantir que o túnel permanece ativo após reinicializações:
sudo systemctl enable cloudflared