CSUBOT er en open source superadministratorrobot.
Denne artikel beskriver, hvordan du selv implementerer CSUBOT.
Læs venligst dette dokument fuldt ud først: CSUBOT Robot Brugermanual
Anbefaling: Forespørg den offentlige IP-adresse for din maskine til at få adgang til forskellige websteder, der bruges til at kontrollere det aktuelle netværksmiljø.
Forudsætninger
For selv at kunne implementere CSUBOT skal du mindst opfylde følgende betingelser:
- Besidde et domæne. (Besid mindst et andetniveau-domæne til backend. Faktisk kræver frontend og backend to andetniveau-domæner i alt, men generelt kan frontend-domænet leveres af den implementerede platform)
- Besid en server. Eller implementer den på en platform, hvor backend-tjenester kan implementeres. Hvis du kender en gratis platform, hvor backend-tjenester kan implementeres, tøv ikke med at klikke her og fortæl forfatteren i kommentarerne.
- Besid en Telegram-konto, der ikke er begrænset, til at oprette en Telegram-robot og få robottens Token
- Besid en Cloudflare-konto, der ikke er begrænset, til at aktivere Cloudflare Turnstile CAPTCHA. Registrer konto: https://dash.cloudflare.com/
Trin
- Aktiver Cloudflare Turnstile
- Implementer frontend
- Opret Telegram-robot
- Konfigurer backend
Aktiver Cloudflare Turnstile
Klik på dette link for at åbne Cloudflare Turnstile-konfigurationspanelet Turnstile-komponentkonfiguration
Klik på add widget for at tilføje en Turnstile-komponent
Klik på Add Hostnames for at tilføje frontend-domænet. Hvis du planlægger at bruge det domæne, der leveres af frontend-hostingplatformen, kan du skrive hvad som helst her.
Klik på opret-knappen, og så kan du se Site Key og Secret Key
Implementer frontend
Vi bruger en implementering på en frontend-hostingplatform som eksempel.
- Åbn https://github.com/cjh0613/csubot-vue , fork dette lager
- Vælg den platform, du vil implementere, f.eks. Cloudflare Pages, Vercel, Netlify osv.
- Vælg at importere fra Github-lager, og vælg det lager, du forkedede i første trin.
Arbejdsstikonfigurationen er projektets rodkatalog, og build-kommandoen er:
npm install && npm run build
Output-mappen er:
dist/
Konfigurer miljøvariabler:
VITE_ENDPOINT=https://xxxx.com <Backend URL, skal være https>
VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Cloudflare Turnstile Site Key (den øverste)>
- Start implementeringen, og når den er færdig, kan du se det domæne, der leveres af platformen. Du kan også binde dit eget domæne. Du skal vente på DNS-konfiguration og certifikatgenerering.
Opret Telegram-robot
Send /newbot
i en privat besked til
https://t.me/BotFather
, og følg robotens anvisninger for at oprette en ny robot. Når du er færdig med at oprette, vil du modtage en Token
Konfigurer backend
Du kan vælge at køre den binære eksekverbare fil direkte eller kompilere den selv.
Miljøvariabelreference
TGWD_TOKEN=<Telegram-robotens token, hentet fra @botfather>
TGWD_FRONTEND_DOMAIN=<Frontend-domæne, behøver ikke https>
TGWD_SECRET=<Udfyld hvad som helst>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Cloudflare turnstile Secret Key (den under Site Key)>
Brug binær eksekverbar fil
Vi tager linux amd64-operativsystemet som et eksempel.
Opret først en ny mappe.
mkdir csubot && cd csubot
Download den binære eksekverbare fil. For dette downloadlink skal du åbne
https://github.com/cjh0613/csubot/releases
for at få det nyeste link. Du skal muligvis klikke på Show all assets
for at finde den fil, der passer til din platform.
wget https://github.com/cjh0613/csubot/releases/download/vxxx/csubot-linux-amd64.zip
Da det er en zip-format komprimeret pakke, skal du udpakke den:
unzip csubot-linux-amd64.zip
Hvis du ikke kan udføre denne kommando, skal du bekræfte, at unzip
-pakken er installeret.
Gå til den mappe, hvor csubot er placeret,
Brug følgende kommando til at se den skjulte fil .env.example
.
ls -la
Brug din teksteditor (f.eks. nano, vim) til at oprette en ny fil .env
, og se eksempelfilen .env.example
for konfiguration.
Prøv at køre:
export $(grep -v '^#' .env | xargs) && ./csubot
Kompilér selv
Udfør kommandoen i projektets rodkatalog:
go build -o csubot
Prøv at køre:
export $(grep -v '^#' .env | xargs) && ./csubot
HTTPS
Backend giver ikke direkte HTTPS-understøttelse, kun HTTP-adgang.
Du kan bruge tjenester som Apache, Nginx, Microsoft Internet Information Services (IIS) til at konfigurere HTTPS.
Hvis du bruger Cloudflare CDN, kan du også indstille krypteringsmode i SSL/TLS-kryptering til Flexible
. På denne måde bruger brugere HTTPS-protokollen, der automatisk er konfigureret af Cloudflare, til at få adgang til Cloudflare-serveren, og derefter bruger Cloudflare HTTP-protokollen til at få adgang til den server, du har konfigureret backend-tjenesten på.
Kør som en systemd-tjeneste
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
Opret en tjenestebruger
sudo useradd --system --no-create-home --shell /sbin/nologin csubotuser
Konfigurer tilladelser
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
Opret og rediger /etc/systemd/system/csubot.service
, skriv
[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
# Indlæs miljøvariabelfilen
EnvironmentFile=/usr/local/bin/csubot/.env
# Start tjenesten
sudo systemctl start csubot.service
# Se driftsstatus
sudo systemctl status csubot.service
# Indstil til automatisk start ved opstart
sudo systemctl enable csubot.service
Andre versioner af denne webside
Denne artikel findes i flere sprogversioner.
Hvis du vil skrive en kommentar, skal du besøge følgende webside:
Disse websider understøtter kun browsing og kan ikke bruges til at skrive kommentarer eller efterlade beskeder, men de giver flere sprogmuligheder og har kortere indlæsningstider:
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