CSUBOT คือบอตผู้ดูแลระบบขั้นสูงแบบโอเพนซอร์ส
บทความนี้จะแนะนำวิธีการปรับใช้ CSUBOT ด้วยตนเอง
โปรดอ่านเอกสารนี้ให้ครบถ้วนก่อน: คู่มือการใช้งานบอต CSUBOT
แนะนำ: ตรวจสอบ IP สาธารณะของเครื่องของคุณที่เข้าถึงเว็บไซต์ต่างๆ เพื่อตรวจสอบสภาพแวดล้อมเครือข่ายปัจจุบัน
ข้อกำหนดเบื้องต้น
การปรับใช้ CSUBOT ด้วยตนเอง ต้องมีคุณสมบัติตามเงื่อนไขดังต่อไปนี้อย่างน้อย:
- มีชื่อโดเมน (อย่างน้อยต้องมีโดเมนระดับที่สอง สำหรับแบ็กเอนด์ โดยทั่วไปแล้ว ส่วนหน้าและส่วนหลังต้องการโดเมนระดับที่สองรวมกันสองโดเมน แต่โดยทั่วไปแล้ว แพลตฟอร์มการปรับใช้สามารถให้ชื่อโดเมนส่วนหน้าได้)
- มีเซิร์ฟเวอร์ หรือปรับใช้บนแพลตฟอร์มที่สามารถปรับใช้บริการแบ็กเอนด์ได้ หากคุณทราบแพลตฟอร์มฟรีที่สามารถปรับใช้บริการแบ็กเอนด์ได้ โปรดอย่าลังเล คลิกที่นี่เพื่อโพสต์ความคิดเห็นและแจ้งให้ผู้เขียนทราบ
- มีบัญชี Telegram ที่ไม่มีข้อจำกัด เพื่อสร้างบอต Telegram และรับโทเค็นของบอต
- มีบัญชี Cloudflare ที่ไม่มีข้อจำกัด เพื่อเปิดใช้งาน Captcha Cloudflare Turnstile ลงทะเบียนบัญชี: https://dash.cloudflare.com/
ขั้นตอนการดำเนินการ
- เปิดใช้งาน Cloudflare Turnstile
- ปรับใช้ส่วนหน้า
- สร้างบอต Telegram
- กำหนดค่าส่วนหลัง
เปิดใช้งาน Cloudflare Turnstile
คลิกที่ลิงก์นี้เพื่อเปิดแผงการกำหนดค่า Cloudflare Turnstile การกำหนดค่าส่วนประกอบ Turnstile
คลิก add widget เพื่อเพิ่มส่วนประกอบ Turnstile
คลิก Add Hostnames เพื่อเพิ่มชื่อโดเมนของส่วนหน้า หากคุณวางแผนที่จะใช้ชื่อโดเมนที่แพลตฟอร์มโฮสติ้งส่วนหน้าให้มา คุณสามารถเขียนอะไรก็ได้ที่นี่
คลิกปุ่มสร้าง จากนั้นคุณจะเห็น Site Key และ Secret Key
ปรับใช้ส่วนหน้า
เราจะใช้การปรับใช้ไปยังแพลตฟอร์มโฮสติ้งส่วนหน้าเป็นตัวอย่าง
- เปิด https://github.com/cjh0613/csubot-vue และ fork ที่เก็บนี้
- เลือกแพลตฟอร์มที่จะปรับใช้ เช่น Cloudflare Pages, Vercel, Netlify เป็นต้น
- เลือกนำเข้าจากที่เก็บ Github เลือกที่เก็บที่ fork ในขั้นตอนแรก
กำหนดค่าพาธการทำงานเป็นรูทไดเร็กทอรีของโครงการ คำสั่งคอมไพล์คือ:
npm install && npm run build
ไดเร็กทอรีเอาต์พุตคือ:
dist/
กำหนดค่าตัวแปรสภาพแวดล้อม:
VITE_ENDPOINT=https://xxxx.com <URL แบ็กเอนด์ ต้องใช้ https>
VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <รหัสไซต์ (Site Key) ของ Cloudflare turnstile (อันที่อยู่ด้านบน)>
- เริ่มการปรับใช้ หลังจากเสร็จสิ้น คุณจะเห็นชื่อโดเมนที่แพลตฟอร์มให้มา คุณยังสามารถผูกชื่อโดเมนของคุณเองได้ คุณต้องรอการกำหนดค่า DNS และการสร้างใบรับรอง
สร้างบอต Telegram
แชทส่วนตัวกับ
https://t.me/BotFather
ส่ง /newbot
สร้างบอตใหม่ตามข้อความแจ้งของบอต หลังจากสร้างเสร็จแล้ว คุณจะได้รับโทเค็น
กำหนดค่าส่วนหลัง
คุณสามารถเลือกที่จะเรียกใช้ไฟล์ปฏิบัติการไบนารีได้โดยตรง หรือคอมไพล์ด้วยตนเอง
การอ้างอิงตัวแปรสภาพแวดล้อม
TGWD_TOKEN=<โทเค็นของบอต Telegram ที่ได้รับจาก @botfather>
TGWD_FRONTEND_DOMAIN=<ชื่อโดเมนส่วนหน้า ไม่ต้องใช้ 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
ส่วนหลังไม่ได้ให้การสนับสนุน https โดยตรง สามารถเข้าถึงได้ผ่าน http เท่านั้น
คุณสามารถใช้บริการเช่น Apache, Nginx, Microsoft Internet Information Services (IIS) เพื่อกำหนดค่า HTTPS
หากคุณใช้ Cloudflare CDN คุณยังสามารถตั้งค่าโหมดการเข้ารหัสเป็น Flexible
ในการเข้ารหัส SSL/TLS วิธีนี้ผู้ใช้จะเข้าถึงเซิร์ฟเวอร์ Cloudflare โดยใช้โปรโตคอล https ที่ Cloudflare กำหนดค่าโดยอัตโนมัติ จากนั้น Cloudflare จะเข้าถึงเซิร์ฟเวอร์ที่คุณกำหนดค่าบริการส่วนหลังโดยใช้โปรโตคอล 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 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