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
- Habilitar Cloudflare Turnstile
- Implementar el frontend
- Crear un robot de Telegram
- 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.
- Abre https://github.com/cjh0613/csubot-vue , haz un fork de este repositorio
- Selecciona la plataforma de implementación, como Cloudflare Pages, Vercel, Netlify, etc.
- 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)>
- 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:
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