CSUBOT es un robot superadministrador de código abierto.

Este artículo describe cómo implementar CSUBOT por tu cuenta.

Por favor, lee este documento completo primero: Manual de instrucciones del robot CSUBOT

Recomendado: Consulta la IP pública de esta máquina para acceder a diferentes sitios web, para verificar el entorno de red actual.

Requisitos previos

Para implementar CSUBOT por tu cuenta, debes cumplir al menos las siguientes condiciones:

  • Poseer un dominio. (Al menos poseer un subdominio, para el backend. En realidad, el frontend y el backend necesitan dos subdominios en total, pero generalmente la plataforma de implementación puede proporcionar el dominio del frontend)
  • Poseer un servidor. O implementarlo en una plataforma que pueda implementar servicios de backend. Si conoces una plataforma gratuita que pueda implementar servicios de backend, no dudes en hacerlo, haz clic aquí, publica un comentario para informar al autor .
  • Tener una cuenta de Telegram no restringida, para crear un robot de Telegram y obtener el Token del robot
  • Tener una cuenta de Cloudflare no restringida, para habilitar el código de verificación Cloudflare Turnstile. Registrar una cuenta: https://dash.cloudflare.com/

Pasos de operación

  1. Habilitar Cloudflare Turnstile
  2. Implementar el frontend
  3. Crear un robot de Telegram
  4. Configurar el backend

Habilitar Cloudflare Turnstile

Haz clic en este enlace, abre el panel de configuración de Cloudflare Turnstile Configuración del componente Turnstile

Haz clic en add widget, para agregar un componente Turnstile

Haz clic en Add Hostnames, para agregar el dominio del frontend. Si planeas usar el dominio proporcionado por la plataforma de alojamiento frontend, puedes escribir cualquier cosa aquí.

Haz clic en el botón crear, y luego podrás ver la Site Key y la Secret Key

Implementar el frontend

Tomaremos como ejemplo la implementación en una plataforma de alojamiento frontend.

  1. Abre https://github.com/cjh0613/csubot-vue , haz un fork de este repositorio
  2. Selecciona la plataforma de implementación, como Cloudflare Pages, Vercel, Netlify, etc.
  3. Elige importar desde el repositorio de Github, selecciona el repositorio bifurcado en el primer paso.

La ruta de trabajo está configurada como el directorio raíz del proyecto, y el comando de compilación es:

npm install && npm run build

El directorio de salida es:

dist/

Configurar variables de entorno:

VITE_ENDPOINT=https://xxxx.com <URL del backend, necesita https>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Clave del sitio Site Key de Cloudflare turnstile (la que está más arriba)>
  1. Comienza la implementación, una vez completada, puedes ver el dominio proporcionado por la plataforma. También puedes vincular tu propio dominio. Necesitas esperar a que se configure el DNS y se genere el certificado.

Crear un robot de Telegram

Envía un mensaje privado a https://t.me/BotFather , envía /newbot, sigue las instrucciones del robot para crear un nuevo robot, una vez creado, recibirás un Token

Configurar el backend

Puedes elegir ejecutar directamente el archivo ejecutable binario, o compilarlo tú mismo.

Referencia de variables de entorno

TGWD_TOKEN=<Token del robot de Telegram, obtenido en @botfather>
TGWD_FRONTEND_DOMAIN=<Dominio del frontend, no necesita https>
TGWD_SECRET=<Rellena con cualquier cosa>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Clave secreta Secret Key de Cloudflare turnstile (la que está debajo de la clave del sitio)>

Usar el archivo ejecutable binario

Tomaremos como ejemplo el sistema operativo linux amd64.

Primero, crea una nueva carpeta.

mkdir csubot && cd csubot

Descarga el archivo ejecutable binario. Para el enlace de descarga aquí, abre https://github.com/cjh0613/csubot/releases para obtener el enlace más reciente, es posible que necesites hacer clic en Show all assets para encontrar el archivo adecuado para tu plataforma.

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

Como es un paquete comprimido en formato zip, descomprime:

unzip csubot-linux-amd64.zip

Si no puedes ejecutar este comando, confirma que has instalado correctamente el paquete unzip.

Entra en el directorio donde se encuentra csubot,

Usando el siguiente comando, puedes ver el archivo oculto .env.example.

ls -la

Usando tu editor de texto (como nano, vim), crea un nuevo archivo .env, consulta el archivo de ejemplo .env.example para configurarlo.

Intenta ejecutar:

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

Compilar tú mismo

Ejecuta el comando en el directorio raíz del proyecto:

go build -o csubot

Intenta ejecutar:

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

HTTPS

El backend no proporciona soporte https directamente, solo se puede acceder a través de http.

Puedes usar Apache, Nginx, Microsoft Internet Information Services (IIS) y otros servicios para configurar HTTPS.

Si usas Cloudflare CDN, también puedes configurar el modo de cifrado en Flexible en SSL/TLS encryption. De esta manera, el usuario que accede al servidor de Cloudflare utiliza el protocolo https configurado automáticamente por Cloudflare, y luego Cloudflare accede al servidor donde está configurado el servicio de backend utilizando el protocolo http.

Ejecutar como servicio 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

Crear usuario de servicio

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

Configurar permisos

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

Crea y edita /etc/systemd/system/csubot.service, escribe

[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

# Cargar archivo de variables de entorno
EnvironmentFile=/usr/local/bin/csubot/.env
# Iniciar servicio
sudo systemctl start csubot.service

# Ver el estado de ejecución
sudo systemctl status csubot.service

# Establecer inicio automático
sudo systemctl enable csubot.service

Otras versiones de esta página web

Este artículo tiene versiones en varios idiomas.

Si deseas publicar un comentario, visita la siguiente página web:

ZH EN ZH-TW JA

Estas páginas web solo admiten la navegación, no se pueden publicar comentarios o mensajes, pero ofrecen más opciones de idioma y un tiempo de carga más corto:

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