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
- Włącz Cloudflare Turnstile
- Wdróż frontend
- Utwórz robota Telegram
- 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.
- Otwórz https://github.com/cjh0613/csubot-vue , skopiuj to repozytorium
- Wybierz platformę wdrożeniową, np. Cloudflare Pages, Vercel, Netlify itp.
- 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)>
- 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ą:
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