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
- Habilitar Cloudflare Turnstile
- Implantar o frontend
- Criar um robô Telegram
- 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.
- Abra https://github.com/cjh0613/csubot-vue , faça um fork deste repositório
- Selecione a plataforma de implantação, como Cloudflare Pages, Vercel, Netlify, etc.
- 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)>
- 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:
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