CSUBOT adalah robot super administrator sumber terbuka.
Artikel ini menjelaskan cara menyebarkan CSUBOT sendiri.
Harap baca dokumen ini secara lengkap terlebih dahulu: Instruksi Penggunaan Robot CSUBOT
Rekomendasi: Periksa IP publik mesin ini saat mengakses situs web yang berbeda , untuk memeriksa lingkungan jaringan saat ini.
Prasyarat
Untuk menyebarkan CSUBOT sendiri, Anda setidaknya harus memenuhi kondisi berikut:
- Memiliki domain. (Setidaknya memiliki satu subdomain, untuk backend. Sebenarnya frontend dan backend memerlukan dua subdomain, tetapi domain frontend biasanya dapat disediakan oleh platform penyebaran)
- Memiliki server. Atau disebarkan pada platform yang dapat menyebarkan layanan backend. Jika Anda mengetahui platform gratis yang dapat menyebarkan layanan backend, jangan ragu untuk klik di sini, tinggalkan komentar untuk memberi tahu penulis .
- Memiliki akun Telegram yang tidak dibatasi, untuk membuat robot Telegram dan mendapatkan Token robot
- Memiliki akun Cloudflare yang tidak dibatasi, untuk mengaktifkan kode verifikasi Cloudflare Turnstile. Daftar akun: https://dash.cloudflare.com/
Langkah-langkah Operasi
- Aktifkan Cloudflare Turnstile
- Sebarkan frontend
- Buat Robot Telegram
- Konfigurasi backend
Aktifkan Cloudflare Turnstile
Klik tautan ini untuk membuka panel konfigurasi Cloudflare Turnstile Konfigurasi Komponen Turnstile
Klik add widget, untuk menambahkan widget Turnstile
Klik Add Hostnames, untuk menambahkan domain frontend. Jika Anda berencana menggunakan domain yang disediakan oleh platform hosting frontend, Anda dapat menulis apa saja di sini.
Klik tombol buat, lalu Anda dapat melihat Site Key dan Secret Key
Sebarkan Frontend
Kami akan mengambil contoh penyebaran ke platform hosting frontend.
- Buka https://github.com/cjh0613/csubot-vue , fork repositori ini
- Pilih platform penyebaran, seperti Cloudflare Pages, Vercel, Netlify, dll.
- Pilih impor dari repositori Github, pilih repositori yang di-fork pada langkah pertama.
Jalur kerja dikonfigurasi ke direktori root proyek, perintah kompilasi adalah:
npm install && npm run build
Direktori output adalah:
dist/
Konfigurasikan variabel lingkungan:
VITE_ENDPOINT=https://xxxx.com <URL backend, perlu https>
VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Kunci Situs (Site Key) Cloudflare turnstile (yang berada di atas)>
- Mulai penyebaran, setelah selesai, Anda dapat melihat domain yang disediakan platform. Anda juga dapat mengikat domain Anda sendiri. Anda perlu menunggu konfigurasi DNS dan pembuatan sertifikat.
Buat Robot Telegram
Kirim pesan pribadi ke
https://t.me/BotFather
, kirim /newbot
, buat robot baru sesuai dengan petunjuk robot. Setelah selesai membuat, Anda akan menerima Token
Konfigurasi Backend
Anda dapat memilih untuk langsung menjalankan file eksekusi biner, atau mengkompilasinya sendiri.
Referensi Variabel Lingkungan
TGWD_TOKEN=<token Robot Telegram, didapatkan dari @botfather>
TGWD_FRONTEND_DOMAIN=<domain frontend, tidak perlu https>
TGWD_SECRET=<isi dengan apa saja>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Kunci Rahasia (Secret Key) Cloudflare turnstile (yang berada di bawah Site Key)>
Menggunakan File Eksekusi Biner
Kami akan mengambil contoh sistem operasi linux amd64.
Pertama, buat folder baru.
mkdir csubot && cd csubot
Unduh file eksekusi biner. Untuk tautan unduhan di sini, silakan buka
https://github.com/cjh0613/csubot/releases
untuk mendapatkan tautan terbaru. Anda mungkin perlu mengklik Show all assets
untuk menemukan file yang sesuai untuk platform Anda.
wget https://github.com/cjh0613/csubot/releases/download/vxxx/csubot-linux-amd64.zip
Karena ini adalah paket terkompresi format zip, ekstrak:
unzip csubot-linux-amd64.zip
Jika Anda tidak dapat menjalankan perintah ini, harap konfirmasikan bahwa paket unzip
telah berhasil diinstal.
Masuk ke direktori tempat csubot berada,
Gunakan perintah berikut, Anda dapat melihat file .env.example
yang tersembunyi.
ls -la
Gunakan editor teks Anda (seperti nano, vim), buat file baru .env
, konfigurasikan dengan mengacu pada file contoh .env.example
.
Coba jalankan:
export $(grep -v '^#' .env | xargs) && ./csubot
Kompilasi Sendiri
Jalankan perintah di direktori root proyek:
go build -o csubot
Coba jalankan:
export $(grep -v '^#' .env | xargs) && ./csubot
HTTPS
Backend tidak menyediakan dukungan https secara langsung, hanya dapat diakses melalui http.
Anda dapat menggunakan layanan seperti Apache, Nginx, Microsoft Internet Information Services (IIS) untuk mengonfigurasi HTTPS.
Jika Anda menggunakan Cloudflare CDN, Anda juga dapat mengatur mode enkripsi ke Flexible
di SSL/TLS encryption. Dengan cara ini, pengguna mengakses server Cloudflare menggunakan protokol https yang dikonfigurasi secara otomatis oleh Cloudflare, dan kemudian Cloudflare mengakses server tempat Anda mengonfigurasi layanan backend menggunakan protokol http.
Jalankan sebagai layanan 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
Buat pengguna layanan
sudo useradd --system --no-create-home --shell /sbin/nologin csubotuser
Konfigurasi izin
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
Buat dan edit /etc/systemd/system/csubot.service
, tulis
[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
# Muat file variabel lingkungan
EnvironmentFile=/usr/local/bin/csubot/.env
# Mulai layanan
sudo systemctl start csubot.service
# Lihat status berjalan
sudo systemctl status csubot.service
# Atur untuk memulai saat boot
sudo systemctl enable csubot.service
Versi Lain dari Halaman Web Ini
Artikel ini memiliki beberapa versi bahasa.
Jika Anda ingin memberikan komentar, silakan kunjungi halaman web berikut:
Halaman-halaman ini hanya mendukung penjelajahan, tidak dapat memberikan komentar atau pesan, tetapi menyediakan lebih banyak pilihan bahasa, dan waktu pemuatan yang lebih singkat:
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