CSUBOT to otwarty kod źródłowy super administratora robota.

Ten artykuł opisuje, jak samodzielnie wdrożyć CSUBOT.

Proszę najpierw przeczytać ten dokument w całości: Instrukcja obsługi robota CSUBOT

Polecane: Sprawdź publiczny adres IP komputera podczas odwiedzania różnych stron internetowych, aby sprawdzić aktualne środowisko sieciowe.

Wymagania wstępne

Samodzielne wdrożenie CSUBOT wymaga spełnienia co najmniej następujących warunków:

  • Posiadanie domeny. (Posiadanie co najmniej domeny drugiego poziomu dla backendu. W rzeczywistości frontend i backend potrzebują razem dwóch domen drugiego poziomu, ale generalnie domena frontendu może być dostarczona przez platformę wdrożeniową)
  • Posiadanie serwera. Lub wdrożenie na platformie, na której można wdrożyć usługi backendu. Jeśli znasz darmową platformę, na której można wdrożyć usługi backendu, nie wahaj się, kliknij tutaj, aby opublikować komentarz i poinformować autora .
  • Posiadanie nieograniczonego konta Telegram, aby utworzyć robota Telegram i uzyskać token robota
  • Posiadanie nieograniczonego konta Cloudflare, aby włączyć kod weryfikacyjny Cloudflare Turnstile. Zarejestruj konto: https://dash.cloudflare.com/

Kroki operacyjne

  1. Włącz Cloudflare Turnstile
  2. Wdróż frontend
  3. Utwórz robota Telegram
  4. Skonfiguruj backend

Włącz Cloudflare Turnstile

Kliknij ten link, aby otworzyć panel konfiguracji Cloudflare Turnstile Konfiguracja komponentu Turnstile

Kliknij add widget, aby dodać widget Turnstile

Kliknij Add Hostnames, aby dodać domenę frontendu. Jeśli zamierzasz użyć domeny dostarczonej przez platformę hostingową frontendu, możesz tutaj napisać cokolwiek.

Kliknij przycisk utwórz, a następnie zobaczysz Site Key i Secret Key

Wdróż frontend

Jako przykład weźmiemy wdrożenie na platformie hostingowej frontendu.

  1. Otwórz https://github.com/cjh0613/csubot-vue , skopiuj to repozytorium
  2. Wybierz platformę wdrożeniową, np. Cloudflare Pages, Vercel, Netlify itp.
  3. Wybierz import z repozytorium Github, wybierz repozytorium skopiowane w pierwszym kroku.

Ścieżka robocza jest skonfigurowana na katalog główny projektu, polecenie kompilacji to:

npm install && npm run build

Katalog wyjściowy to:

dist/

Skonfiguruj zmienne środowiskowe:

VITE_ENDPOINT=https://xxxx.com <URL backendu, wymagany https>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Klucz witryny Cloudflare turnstile Site Key (ten na górze)>
  1. Rozpocznij wdrażanie, po zakończeniu zobaczysz domenę udostępnioną przez platformę. Możesz również powiązać własną domenę. Należy poczekać na konfigurację DNS i wygenerowanie certyfikatu.

Utwórz robota Telegram

Wyślij wiadomość prywatną na https://t.me/BotFather , wyślij /newbot, utwórz nowego robota zgodnie z instrukcjami robota. Po utworzeniu otrzymasz Token

Skonfiguruj backend

Możesz uruchomić plik wykonywalny binarny bezpośrednio lub skompilować go samodzielnie.

Odniesienie do zmiennych środowiskowych

TGWD_TOKEN=<Token robota Telegram, uzyskany z @botfather>
TGWD_FRONTEND_DOMAIN=<Domena frontendu, nie wymaga https>
TGWD_SECRET=<Wpisz cokolwiek>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Klucz tajny Cloudflare turnstile Secret Key (ten pod kluczem witryny)>

Użyj binarnego pliku wykonywalnego

Jako przykład weźmiemy system operacyjny linux amd64.

Najpierw utwórz nowy folder.

mkdir csubot && cd csubot

Pobierz binarny plik wykonywalny. Otwórz https://github.com/cjh0613/csubot/releases , aby uzyskać najnowszy link. Może być konieczne kliknięcie Show all assets, aby znaleźć plik odpowiedni dla Twojej platformy.

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

Ponieważ jest to skompresowany plik zip, rozpakuj:

unzip csubot-linux-amd64.zip

Jeśli nie możesz wykonać tego polecenia, upewnij się, że pakiet unzip został pomyślnie zainstalowany.

Wejdź do katalogu, w którym znajduje się csubot,

Użyj następującego polecenia, aby wyświetlić ukryty plik .env.example.

ls -la

Użyj edytora tekstu (np. nano, vim), aby utworzyć nowy plik .env, odwołaj się do przykładowego pliku .env.example, aby skonfigurować.

Spróbuj uruchomić:

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

Skompiluj samodzielnie

Uruchom polecenie w katalogu głównym projektu:

go build -o csubot

Spróbuj uruchomić:

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

HTTPS

Backend nie zapewnia bezpośredniego wsparcia dla https, dostęp jest możliwy tylko przez http.

Możesz użyć usług takich jak Apache, Nginx, Microsoft Internet Information Services (IIS), aby skonfigurować HTTPS.

Jeśli używasz Cloudflare CDN, możesz również ustawić tryb szyfrowania w SSL/TLS encryption na Flexible. W ten sposób użytkownicy odwiedzają serwer Cloudflare za pomocą automatycznie skonfigurowanego protokołu https, a następnie Cloudflare odwiedza serwer skonfigurowanych usług backendu za pomocą protokołu http.

Uruchom jako usługa 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

Utwórz użytkownika usługi

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

Skonfiguruj uprawnienia

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

Utwórz i edytuj /etc/systemd/system/csubot.service, wpisz

[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

# Załaduj plik zmiennych środowiskowych
EnvironmentFile=/usr/local/bin/csubot/.env
# Uruchom usługę
sudo systemctl start csubot.service

# Sprawdź status działania
sudo systemctl status csubot.service

# Ustaw automatyczne uruchamianie przy starcie systemu
sudo systemctl enable csubot.service

Inne wersje tej strony internetowej

Ten artykuł jest dostępny w wielu wersjach językowych.

Jeśli chcesz opublikować komentarz, odwiedź następującą stronę internetową:

ZH EN ZH-TW JA

Te strony internetowe obsługują tylko przeglądanie, nie można publikować komentarzy ani wiadomości, ale oferują więcej opcji językowych i krótszy czas ładowania:

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