CSUBOT é um robô superadministrador de código aberto.

Este artigo descreve como implantar o CSUBOT por conta própria.

Por favor, leia este documento completamente primeiro: Manual de instruções do robô CSUBOT

Recomendado: Consultar o IP público do seu computador para acessar diferentes sites, usado para verificar o ambiente de rede atual.

Pré-requisitos

A auto-implantação do CSUBOT requer que as seguintes condições sejam atendidas:

  • Possuir um domínio. (Possuir pelo menos um subdomínio, para o backend. Na verdade, um frontend e um backend requerem dois subdomínios no total, mas geralmente o domínio do frontend pode ser fornecido pela plataforma de implantação)
  • Possuir um servidor. Ou implantado em uma plataforma que pode implantar serviços de backend. Se você conhece uma plataforma gratuita que pode implantar serviços de backend, não hesite, clique aqui, publique um comentário para informar ao autor .
  • Possuir uma conta do Telegram não restrita, usada para criar um robô Telegram e obter o Token do robô
  • Possuir uma conta Cloudflare não restrita, usada para habilitar o código de verificação Cloudflare Turnstile. Registrar conta: https://dash.cloudflare.com/

Passos

  1. Habilitar Cloudflare Turnstile
  2. Implantar o frontend
  3. Criar um robô Telegram
  4. Configurar o backend

Habilitar Cloudflare Turnstile

Clique neste link para abrir o painel de configuração do Cloudflare Turnstile Configuração do componente Turnstile

Clique em add widget, para adicionar um componente Turnstile

Clique em Add Hostnames, para adicionar o domínio do frontend. Se você planeja usar o nome de domínio fornecido pela plataforma de hospedagem de frontend, você pode escrever qualquer coisa aqui.

Clique no botão criar e você verá a Site Key e a Secret Key

Implantar o frontend

Tomemos como exemplo a implantação em uma plataforma de hospedagem de frontend.

  1. Abra https://github.com/cjh0613/csubot-vue , faça um fork deste repositório
  2. Selecione a plataforma de implantação, como Cloudflare Pages, Vercel, Netlify, etc.
  3. Selecione importar do repositório Github e selecione o repositório bifurcado na primeira etapa.

O caminho de trabalho é configurado para o diretório raiz do projeto e o comando de compilação é:

npm install && npm run build

O diretório de saída é:

dist/

Configurar variáveis de ambiente:

VITE_ENDPOINT=https://xxxx.com <URL do backend, requer https>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Chave do site do Cloudflare turnstile Site Key (o que está na parte superior)>
  1. Comece a implantar e você verá o nome de domínio fornecido pela plataforma após a conclusão. Você também pode vincular seu próprio nome de domínio. Você precisa esperar pela configuração de DNS e geração de certificado.

Criar um robô Telegram

Mensagem privada https://t.me/BotFather , envie /newbot, siga as instruções do robô para criar um novo robô. Depois de criado, você receberá um Token

Configurar o backend

Você pode optar por executar diretamente o arquivo executável binário ou compilá-lo você mesmo.

Referência de variáveis de ambiente

TGWD_TOKEN=<token do robô Telegram, obtido em @botfather>
TGWD_FRONTEND_DOMAIN=<domínio do frontend, não requer https>
TGWD_SECRET=<preencha qualquer coisa>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Chave secreta do Cloudflare turnstile Secret Key (aquela abaixo da chave do site)>

Usar arquivo executável binário

Tomemos como exemplo o sistema operacional linux amd64.

Primeiro, crie uma nova pasta.

mkdir csubot && cd csubot

Baixe o arquivo executável binário. Para este link de download, abra https://github.com/cjh0613/csubot/releases para obter o link mais recente. Você pode precisar clicar em Show all assets para encontrar um arquivo adequado para sua plataforma.

wget https://github.com/cjh0613/csubot/releases/download/vxxx/csubot-linux-amd64.zip

Como é um pacote compactado no formato zip, descompacte:

unzip csubot-linux-amd64.zip

Se você não conseguir executar este comando, confirme se o pacote unzip foi instalado com sucesso.

Entre no diretório onde csubot está localizado,

Use o seguinte comando para visualizar o arquivo .env.example oculto.

ls -la

Use seu editor de texto (como nano, vim), crie um novo arquivo .env e consulte o arquivo de exemplo .env.example para configuração.

Tente executar:

export $(grep -v '^#' .env | xargs) && ./csubot

Compilar você mesmo

Execute o comando no diretório raiz do projeto:

go build -o csubot

Tente executar:

export $(grep -v '^#' .env | xargs) && ./csubot

HTTPS

O backend não fornece suporte HTTPS diretamente, apenas o acesso HTTP é possível.

Você pode usar Apache, Nginx, Microsoft Internet Information Services (IIS) e outros serviços para configurar HTTPS.

Se você usa Cloudflare CDN, você também pode definir o modo de criptografia para Flexible em SSL/TLS encryption. Dessa forma, o usuário acessa o servidor Cloudflare usando o protocolo HTTPS configurado automaticamente pelo Cloudflare, e então o Cloudflare acessa o servidor onde você configurou o serviço de backend usando o protocolo HTTP.

Executar como um serviço systemd

sudo mkdir /usr/local/bin/csubot/
sudo cp .env /usr/local/bin/csubot/.env
sudo cp csubot /usr/local/bin/csubot/csubot
sudo cp -r ./locales /usr/local/bin/csubot/locales

Criar um usuário de serviço

sudo useradd --system --no-create-home --shell /sbin/nologin csubotuser

Configurar permissões

sudo chown csubotuser:csubotuser /usr/local/bin/csubot/csubot
sudo setfacl -R -m u:csubotuser:r /usr/local/bin/csubot
sudo chmod +x /usr/local/bin/csubot/csubot

Crie e edite /etc/systemd/system/csubot.service, escreva

[Unit]
Description=CSUBOT Backend
After=network-online.target
Wants=network-online.target

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
User=csubotuser
Group=csubotuser
ExecStart=/usr/local/bin/csubot/csubot
WorkingDirectory=/usr/local/bin/csubot
RestartSec=10s
Restart=always
# Restart=on-failure

# Carregar arquivo de variáveis de ambiente
EnvironmentFile=/usr/local/bin/csubot/.env
# Iniciar serviço
sudo systemctl start csubot.service

# Ver estado de execução
sudo systemctl status csubot.service

# Definir inicialização automática
sudo systemctl enable csubot.service

Outras versões desta página

Este artigo está disponível em vários idiomas.

Se você deseja postar um comentário, visite a seguinte página da web:

ZH EN ZH-TW JA

Essas páginas da web só suportam navegação e não podem postar comentários ou mensagens, mas fornecem mais opções de idiomas e têm tempos de carregamento mais curtos:

ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO