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.

Hvis du ønsker å legge igjen en kommentar, vennligst besøk følgende nettsider:

ZH EN ZH-TW JA

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