CSUBOT ist ein Open-Source-Superadministrator-Bot.

Dieser Artikel beschreibt, wie Sie CSUBOT selbst bereitstellen können.

Bitte lesen Sie zuerst dieses Dokument vollständig: CSUBOT Roboter Bedienungsanleitung

Empfehlung: Ermitteln Sie die öffentliche IP-Adresse Ihres Geräts für verschiedene Websites, um Ihre aktuelle Netzwerkumgebung zu überprüfen.

Voraussetzungen

Für die Selbstbereitstellung von CSUBOT müssen mindestens die folgenden Bedingungen erfüllt sein:

  • Sie besitzen eine Domain. (Sie benötigen mindestens eine Subdomain für das Backend. Tatsächlich benötigen Sie insgesamt zwei Subdomains für das Frontend und das Backend, aber im Allgemeinen kann die Frontend-Domain von der bereitstellenden Plattform bereitgestellt werden)
  • Sie besitzen einen Server. Oder Sie stellen ihn auf einer Plattform bereit, auf der Backend-Dienste bereitgestellt werden können. Wenn Sie eine kostenlose Plattform kennen, auf der Backend-Dienste bereitgestellt werden können, zögern Sie bitte nicht, klicken Sie hier, um einen Kommentar zu hinterlassen und den Autor zu informieren .
  • Sie besitzen ein nicht eingeschränktes Telegram-Konto, um einen Telegram-Bot zu erstellen und das Token des Bots zu erhalten.
  • Sie besitzen ein nicht eingeschränktes Cloudflare-Konto, um Cloudflare Turnstile Captcha zu aktivieren. Konto registrieren: https://dash.cloudflare.com/

Betriebsschritte

  1. Cloudflare Turnstile aktivieren
  2. Frontend bereitstellen
  3. Telegram-Bot erstellen
  4. Backend konfigurieren

Cloudflare Turnstile aktivieren

Klicken Sie auf diesen Link, um das Cloudflare Turnstile Konfigurationspanel zu öffnen Turnstile Komponentenkonfiguration

Klicken Sie auf Add Widget, um ein Turnstile-Widget hinzuzufügen

Klicken Sie auf Add Hostnames, um die Domain des Frontends hinzuzufügen. Wenn Sie die von der Frontend-Hosting-Plattform bereitgestellte Domain verwenden möchten, können Sie hier irgendetwas schreiben.

Klicken Sie auf die Schaltfläche Erstellen, dann können Sie den Site Key und den Secret Key sehen.

Frontend bereitstellen

Wir verwenden die Bereitstellung auf einer Frontend-Hosting-Plattform als Beispiel.

  1. Öffnen Sie https://github.com/cjh0613/csubot-vue und forken Sie dieses Repository
  2. Wählen Sie die Plattform für die Bereitstellung aus, z. B. Cloudflare Pages, Vercel, Netlify usw.
  3. Wählen Sie den Import aus dem Github-Repository aus und wählen Sie das in Schritt 1 geforkte Repository aus.

Der Arbeitspfad ist das Stammverzeichnis des Projekts, der Build-Befehl lautet:

npm install && npm run build

Das Ausgabeverzeichnis ist:

dist/

Konfigurieren Sie die Umgebungsvariablen:

VITE_ENDPOINT=https://xxxx.com <Backend-URL, benötigt https>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Cloudflare Turnstile Site Key (der obere)>
  1. Starten Sie die Bereitstellung. Nach Abschluss sehen Sie die von der Plattform bereitgestellte Domain. Sie können auch Ihre eigene Domain binden. Sie müssen auf die DNS-Konfiguration und die Zertifikatserstellung warten.

Telegram-Bot erstellen

Senden Sie eine private Nachricht an https://t.me/BotFather , senden Sie /newbot, und folgen Sie den Anweisungen des Bots, um einen neuen Bot zu erstellen. Nach Abschluss der Erstellung erhalten Sie ein Token.

Backend konfigurieren

Sie können die binäre ausführbare Datei direkt ausführen oder sie selbst kompilieren.

Referenz für Umgebungsvariablen

TGWD_TOKEN=<Telegram Bot Token, vom @botfather erhalten>
TGWD_FRONTEND_DOMAIN=<Frontend-Domain, kein https erforderlich>
TGWD_SECRET=<beliebiger Wert>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Cloudflare Turnstile Secret Key (der untere des Site Key)>

Verwendung der binären ausführbaren Datei

Wir verwenden Linux AMD64 als Beispiel.

Erstellen Sie zunächst einen neuen Ordner.

mkdir csubot && cd csubot

Laden Sie die binäre ausführbare Datei herunter. Bitte öffnen Sie https://github.com/cjh0613/csubot/releases , um den neuesten Link zu erhalten. Möglicherweise müssen Sie auf Show all assets klicken, um die für Ihre Plattform geeignete Datei zu finden.

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

Da es sich um ein ZIP-Archiv handelt, entpacken Sie es:

unzip csubot-linux-amd64.zip

Wenn dieser Befehl nicht ausgeführt werden kann, vergewissern Sie sich, dass das unzip-Paket erfolgreich installiert wurde.

Gehen Sie in das Verzeichnis, in dem sich csubot befindet,

Verwenden Sie den folgenden Befehl, um die versteckte Datei .env.example anzuzeigen.

ls -la

Verwenden Sie Ihren Texteditor (z. B. nano, vim), um eine neue Datei .env zu erstellen, und konfigurieren Sie sie unter Bezugnahme auf die Beispieldatei .env.example.

Versuchen Sie, Folgendes auszuführen:

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

Selbst kompilieren

Führen Sie den Befehl im Stammverzeichnis des Projekts aus:

go build -o csubot

Versuchen Sie, Folgendes auszuführen:

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

HTTPS

Das Backend bietet keine direkte HTTPS-Unterstützung und kann nur über HTTP aufgerufen werden.

Sie können Dienste wie Apache, Nginx, Microsoft Internet Information Services (IIS) usw. verwenden, um HTTPS zu konfigurieren.

Wenn Sie Cloudflare CDN verwenden, können Sie den Verschlüsselungsmodus in SSL/TLS-Verschlüsselung auf Flexible setzen. Auf diese Weise verwenden Benutzer, die auf den Cloudflare-Server zugreifen, das automatisch konfigurierte HTTPS-Protokoll von Cloudflare, und Cloudflare greift auf den Server zu, auf dem Sie den Backend-Dienst konfiguriert haben, über das HTTP-Protokoll.

Als systemd-Dienst ausführen

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

Benutzer für den Dienst erstellen

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

Berechtigungen konfigurieren

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

Erstellen und bearbeiten Sie /etc/systemd/system/csubot.service und schreiben Sie Folgendes hinein:

[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

# Umgebungsvariablen-Datei laden
EnvironmentFile=/usr/local/bin/csubot/.env
# Dienst starten
sudo systemctl start csubot.service

# Betriebsstatus anzeigen
sudo systemctl status csubot.service

# Autostart beim Booten einstellen
sudo systemctl enable csubot.service

Andere Versionen dieser Webseite

Dieser Artikel ist in verschiedenen Sprachen verfügbar.

Wenn Sie einen Kommentar hinterlassen möchten, besuchen Sie bitte die folgenden Webseiten:

ZH EN ZH-TW JA

Diese Webseiten unterstützen nur das Browsen, das Hinterlassen von Kommentaren oder Nachrichten ist nicht möglich, bieten aber mehr Sprachoptionen und kürzere Ladezeiten:

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