CSUBOT er en åpen kildekode superadministratorrobot.

Denne artikkelen beskriver hvordan du distribuerer CSUBOT selv.

Vennligst les dette dokumentet fullstendig først: CSUBOT Robot Bruksanvisning

Anbefales: Sjekk din offentlige IP for å få tilgang til forskjellige nettsteder , for å sjekke gjeldende nettverksmiljø.

Forutsetninger

For å distribuere CSUBOT selv, må du oppfylle minst følgende betingelser:

  • Ha et domene. (Ha minst ett subdomene for backend. Faktisk trenger du to subdomener for frontend og backend, men vanligvis kan frontend-domenet leveres av distribusjonsplattformen)
  • Ha en server. Eller distribuer det på en plattform som kan distribuere back-end-tjenester. Hvis du kjenner en gratis plattform som kan distribuere back-end-tjenester, ikke nøl med å klikk her og legg igjen en kommentar til forfatteren .
  • Ha en Telegram-konto som ikke er begrenset for å opprette en Telegram-robot og få robotens Token
  • Ha en Cloudflare-konto som ikke er begrenset for å aktivere Cloudflare Turnstile-captcha. Registrer konto: https://dash.cloudflare.com/

Operasjonstrinn

  1. Aktiver Cloudflare Turnstile
  2. Distribuer frontend
  3. Opprett Telegram-robot
  4. Konfigurer backend

Aktiver Cloudflare Turnstile

Klikk på denne lenken for å åpne Cloudflare Turnstile-konfigurasjonspanelet Turnstile komponentkonfigurasjon

Klikk på add widget for å legge til en Turnstile-widget

Klikk på Add Hostnames for å legge til front-end domenet. Hvis du planlegger å bruke domenet som tilbys av front-end hostingplattformen, kan du skrive hva som helst her.

Klikk på opprett-knappen, og du vil se Site Key og Secret Key

Distribuer frontend

Vi tar distribusjon til front-end hostingplattform som et eksempel.

  1. Åpne https://github.com/cjh0613/csubot-vue , fork dette depotet
  2. Velg distribusjonsplattformen, for eksempel Cloudflare Pages, Vercel, Netlify, etc.
  3. Velg å importere fra Github-depotet, og velg depotet som er forket i det første trinnet.

Arbeidsstien er konfigurert som rotkatalogen til prosjektet, og kompileringskommandoen er:

npm install && npm run build

Utgangskatalogen er:

dist/

Konfigurer miljøvariabler:

VITE_ENDPOINT=https://xxxx.com <Backend URL, trenger https>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Cloudflare turnstile sin nettstednøkkel Site Key (den øverste)>
  1. Start distribusjonen, og du vil se domenet som tilbys av plattformen etter at den er fullført. Du kan også binde ditt eget domene. Du må vente på DNS-konfigurasjonen og sertifikatgenereringen.

Opprett Telegram-robot

Send en privat melding til https://t.me/BotFather , send /newbot , og følg robotens instruksjoner for å opprette en ny robot. Etter at opprettelsen er fullført, vil du motta en Token

Konfigurer backend

Du kan velge å kjøre den binære eksekverbare filen direkte, eller kompilere den selv.

Miljøvariabelreferanse

TGWD_TOKEN=<Telegram-robotens token, hentet fra @botfather>
TGWD_FRONTEND_DOMAIN=<Frontend-domene, ingen https kreves>
TGWD_SECRET=<Fyll ut hva som helst>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Cloudflare turnstile sin Secret Key nøkkel (den under nettstednøkkelen)>

Bruk binær eksekverbar fil

Vi tar linux amd64-operativsystemet som et eksempel.

Først, opprett en ny mappe.

mkdir csubot && cd csubot

Last ned den binære eksekverbare filen. For nedlastingslenken her, vennligst åpne https://github.com/cjh0613/csubot/releases for å få den nyeste lenken, du må kanskje klikke på Show all assets for å finne filen som passer for din plattform.

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

Fordi det er en zip-komprimert pakke, pakk ut:

unzip csubot-linux-amd64.zip

Hvis du ikke kan kjøre denne kommandoen, vennligst bekreft at du har installert unzip-pakken.

Gå inn i katalogen der csubot er lokalisert,

Bruk følgende kommando for å se den skjulte .env.example-filen.

ls -la

Bruk din tekstredigerer (som nano, vim), opprett en ny fil .env, og konfigurer den med referanse til eksempelfilen .env.example.

Prøv å kjøre:

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

Kompiler selv

Utfør kommandoen i rotkatalogen til prosjektet:

go build -o csubot

Prøv å kjøre:

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

HTTPS

Backend gir ikke direkte støtte for https, bare http-tilgang er tillatt.

Du kan bruke tjenester som Apache, Nginx, Microsoft Internet Information Services (IIS) for å konfigurere HTTPS.

Hvis du bruker Cloudflare CDN, kan du også sette krypteringsmodusen til Flexible i SSL/TLS-kryptering. På denne måten bruker brukerens tilgang til Cloudflare-serveren den automatisk konfigurerte https-protokollen til Cloudflare, og Cloudflares tilgang til serveren du konfigurerte back-end-tjenesten bruker http-protokollen.

Kjør som 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

Opprett tjenestebruker

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

Konfigurer tillatelser

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

Opprett og rediger /etc/systemd/system/csubot.service, skriv inn

[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

# Last inn miljøvariabel-filen
EnvironmentFile=/usr/local/bin/csubot/.env
# Start tjenesten
sudo systemctl start csubot.service

# Vis kjørestatus
sudo systemctl status csubot.service

# Sett opp automatisk oppstart
sudo systemctl enable csubot.service

Andre versjoner av denne nettsiden

Denne artikkelen har flere språkversjoner.

Disse nettsidene støtter kun visning, og tillater ikke kommentering eller etterlating av meldinger, men de tilbyr flere språkalternativer og raskere innlastingstid:

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