Το CSUBOT είναι ένα ρομπότ υπεύθυνου διαχειριστή ανοιχτού κώδικα.

Αυτό το άρθρο εξηγεί πώς να αναπτύξετε το CSUBOT μόνοι σας.

Παρακαλούμε διαβάστε πρώτα αυτό το έγγραφο: Εγχειρίδιο χρήσης ρομπότ CSUBOT

Προτείνεται: Αναζητήστε τη δημόσια IP του υπολογιστή σας κατά την πρόσβαση σε διαφορετικούς ιστότοπους, για να ελέγξετε το τρέχον περιβάλλον δικτύου.

Προϋποθέσεις

Για να αναπτύξετε το CSUBOT μόνοι σας, πρέπει να πληρούνται τουλάχιστον οι ακόλουθες προϋποθέσεις:

  • Να έχετε ένα όνομα τομέα. (Να έχετε τουλάχιστον έναν δευτερεύοντα τομέα για το backend. Στην πραγματικότητα, το frontend και το backend απαιτούν συνολικά δύο δευτερεύοντες τομείς, αλλά συνήθως το όνομα τομέα του frontend μπορεί να παρέχεται από την πλατφόρμα ανάπτυξης)
  • Να έχετε έναν διακομιστή. Ή να αναπτυχθεί σε μια πλατφόρμα που μπορεί να αναπτύξει υπηρεσίες backend. Εάν γνωρίζετε μια δωρεάν πλατφόρμα που μπορεί να αναπτύξει υπηρεσίες backend, μη διστάσετε, κάντε κλικ εδώ, δημοσιεύστε ένα σχόλιο για να πείτε στον συγγραφέα .
  • Να έχετε έναν μη περιορισμένο λογαριασμό Telegram, για να δημιουργήσετε ένα ρομπότ Telegram και να αποκτήσετε το Token του ρομπότ
  • Να έχετε έναν μη περιορισμένο λογαριασμό Cloudflare, για να ενεργοποιήσετε τον κώδικα επαλήθευσης Cloudflare Turnstile. Εγγραφείτε για έναν λογαριασμό: https://dash.cloudflare.com/

Βήματα λειτουργίας

  1. Ενεργοποιήστε το Cloudflare Turnstile
  2. Αναπτύξτε το frontend
  3. Δημιουργήστε ένα ρομπότ Telegram
  4. Διαμορφώστε το backend

Ενεργοποιήστε το Cloudflare Turnstile

Κάντε κλικ σε αυτόν τον σύνδεσμο για να ανοίξετε τον πίνακα διαμόρφωσης Cloudflare Turnstile Διαμόρφωση στοιχείου Turnstile

Κάντε κλικ στο add widget, για να προσθέσετε ένα στοιχείο Turnstile

Κάντε κλικ στο Add Hostnames, για να προσθέσετε το όνομα τομέα του frontend. Εάν σκοπεύετε να χρησιμοποιήσετε το όνομα τομέα που παρέχεται από την πλατφόρμα φιλοξενίας frontend, μπορείτε να γράψετε οτιδήποτε εδώ.

Κάντε κλικ στο κουμπί δημιουργίας και, στη συνέχεια, μπορείτε να δείτε το Site Key και το Secret Key

Αναπτύξτε το frontend

Θα χρησιμοποιήσουμε μια πλατφόρμα φιλοξενίας frontend ως παράδειγμα για την ανάπτυξη.

  1. Ανοίξτε το https://github.com/cjh0613/csubot-vue , κάντε fork αυτό το αποθετήριο
  2. Επιλέξτε την πλατφόρμα ανάπτυξης, όπως Cloudflare Pages, Vercel, Netlify κ.λπ.
  3. Επιλέξτε εισαγωγή από το αποθετήριο Github, επιλέξτε το αποθετήριο που κάνατε fork στο πρώτο βήμα.

Η διαδρομή εργασίας έχει διαμορφωθεί στον ριζικό κατάλογο του έργου και η εντολή μεταγλώττισης είναι:

npm install && npm run build

Ο κατάλογος εξόδου είναι:

dist/

Διαμορφώστε τις μεταβλητές περιβάλλοντος:

VITE_ENDPOINT=https://xxxx.com <URL backend, απαιτείται https>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Το κλειδί τοποθεσίας Site Key του Cloudflare turnstile (το επάνω)>
  1. Ξεκινήστε την ανάπτυξη και, αφού ολοκληρωθεί, μπορείτε να δείτε το όνομα τομέα που παρέχει η πλατφόρμα. Μπορείτε επίσης να συνδέσετε το δικό σας όνομα τομέα. Πρέπει να περιμένετε τη διαμόρφωση DNS και τη δημιουργία πιστοποιητικού.

Δημιουργήστε ένα ρομπότ Telegram

Στείλτε ένα προσωπικό μήνυμα στο https://t.me/BotFather , στείλτε /newbot, δημιουργήστε ένα νέο ρομπότ σύμφωνα με τις οδηγίες του ρομπότ. Αφού ολοκληρωθεί η δημιουργία, θα λάβετε ένα Token

Διαμορφώστε το backend

Μπορείτε να επιλέξετε να εκτελέσετε απευθείας το δυαδικό εκτελέσιμο αρχείο ή να το μεταγλωττίσετε μόνοι σας.

Αναφορά μεταβλητών περιβάλλοντος

TGWD_TOKEN=<Token του ρομπότ Telegram, λήψη από το @botfather>
TGWD_FRONTEND_DOMAIN=<Όνομα τομέα frontend, δεν απαιτείται https>
TGWD_SECRET=<Συμπληρώστε οτιδήποτε>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Μυστικό κλειδί Secret Key του Cloudflare turnstile (αυτό κάτω από το κλειδί τοποθεσίας)>

Χρήση δυαδικού εκτελέσιμου αρχείου

Θα χρησιμοποιήσουμε το λειτουργικό σύστημα linux amd64 ως παράδειγμα.

Πρώτα δημιουργήστε ένα νέο φάκελο.

mkdir csubot && cd csubot

Λήψη δυαδικού εκτελέσιμου αρχείου. Για τον σύνδεσμο λήψης εδώ, ανοίξτε το https://github.com/cjh0613/csubot/releases για να λάβετε τον πιο πρόσφατο σύνδεσμο. Ίσως χρειαστεί να κάνετε κλικ στο Show all assets, για να βρείτε το αρχείο που είναι κατάλληλο για την πλατφόρμα σας.

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

Επειδή είναι ένα συμπιεσμένο πακέτο μορφής zip, αποσυμπιέστε το:

unzip csubot-linux-amd64.zip

Εάν δεν μπορείτε να εκτελέσετε αυτήν την εντολή, επιβεβαιώστε ότι έχετε εγκαταστήσει με επιτυχία το πακέτο unzip.

Μεταβείτε στον κατάλογο όπου βρίσκεται το csubot,

Χρησιμοποιήστε την ακόλουθη εντολή για να δείτε το κρυφό αρχείο .env.example.

ls -la

Χρησιμοποιήστε τον επεξεργαστή κειμένου σας (όπως nano, vim), για να δημιουργήσετε ένα νέο αρχείο .env, ανατρέξτε στο αρχείο παραδείγματος .env.example για διαμόρφωση.

Προσπαθήστε να εκτελέσετε:

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

Μεταγλωττίστε μόνοι σας

Εκτελέστε την εντολή στον ριζικό κατάλογο του έργου:

go build -o csubot

Προσπαθήστε να εκτελέσετε:

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

HTTPS

Το backend δεν παρέχει άμεση υποστήριξη για https και μπορεί να προσπελαστεί μόνο μέσω http.

Μπορείτε να χρησιμοποιήσετε υπηρεσίες όπως Apache, Nginx, Microsoft Internet Information Services (IIS) για να διαμορφώσετε το HTTPS.

Εάν χρησιμοποιείτε το Cloudflare CDN, μπορείτε επίσης να ορίσετε τη λειτουργία κρυπτογράφησης σε Flexible στην κρυπτογράφηση SSL/TLS. Με αυτόν τον τρόπο, οι χρήστες που έχουν πρόσβαση στον διακομιστή Cloudflare χρησιμοποιούν το πρωτόκολλο https που έχει διαμορφωθεί αυτόματα από το Cloudflare και, στη συνέχεια, το Cloudflare έχει πρόσβαση στον διακομιστή υπηρεσιών backend που έχετε διαμορφώσει χρησιμοποιώντας το πρωτόκολλο http.

Εκτελέστε ως υπηρεσία 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

Δημιουργήστε έναν χρήστη υπηρεσίας

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

Διαμόρφωση δικαιωμάτων

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

Δημιουργήστε και επεξεργαστείτε το /etc/systemd/system/csubot.service, γράψτε

[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

# Φόρτωση αρχείου μεταβλητών περιβάλλοντος
EnvironmentFile=/usr/local/bin/csubot/.env
# Έναρξη υπηρεσίας
sudo systemctl start csubot.service

# Προβολή της κατάστασης λειτουργίας
sudo systemctl status csubot.service

# Ορισμός εκκίνησης κατά την εκκίνηση
sudo systemctl enable csubot.service

Άλλες εκδόσεις αυτής της ιστοσελίδας

Αυτό το άρθρο είναι διαθέσιμο σε πολλές γλώσσες.

Εάν θέλετε να δημοσιεύσετε ένα σχόλιο, επισκεφθείτε την ακόλουθη ιστοσελίδα:

ZH EN ZH-TW JA

Αυτές οι ιστοσελίδες υποστηρίζουν μόνο την περιήγηση και δεν υποστηρίζουν τη δημοσίευση σχολίων ή μηνυμάτων, αλλά παρέχουν περισσότερες επιλογές γλώσσας και έχουν μικρότερο χρόνο φόρτωσης:

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