CSUBOT là một robot siêu quản trị viên mã nguồn mở.
Bài viết này giới thiệu cách tự triển khai CSUBOT.
Vui lòng đọc kỹ tài liệu này: Hướng dẫn sử dụng Robot CSUBOT
Đề xuất: Kiểm tra IP công cộng của máy này khi truy cập các trang web khác nhau, để kiểm tra môi trường mạng hiện tại.
Điều kiện tiên quyết
Để tự triển khai CSUBOT, bạn cần đáp ứng ít nhất các điều kiện sau:
- Có tên miền. (Ít nhất phải có một tên miền cấp hai, được sử dụng cho phần phụ trợ. Trên thực tế, phần giao diện người dùng và phần phụ trợ cần tổng cộng hai tên miền cấp hai, nhưng nói chung, tên miền giao diện người dùng có thể được cung cấp bởi nền tảng triển khai)
- Có một máy chủ. Hoặc triển khai trên một nền tảng có thể triển khai các dịch vụ phụ trợ. Nếu bạn biết một nền tảng miễn phí có thể triển khai các dịch vụ phụ trợ, đừng ngần ngại, nhấp vào đây để đăng nhận xét cho tác giả .
- Có một tài khoản Telegram không bị hạn chế, được sử dụng để tạo một bot Telegram và lấy mã thông báo (Token) của bot.
- Có một tài khoản Cloudflare không bị hạn chế, được sử dụng để kích hoạt mã xác minh Cloudflare Turnstile. Đăng ký tài khoản: https://dash.cloudflare.com/
Các bước thực hiện
- Kích hoạt Cloudflare Turnstile
- Triển khai giao diện người dùng
- Tạo bot Telegram
- Cấu hình phần phụ trợ
Kích hoạt Cloudflare Turnstile
Nhấp vào liên kết này để mở bảng điều khiển cấu hình Cloudflare Turnstile Cấu hình thành phần Turnstile
Nhấp vào add widget, để thêm một thành phần Turnstile
Nhấp vào Add Hostnames, để thêm tên miền của giao diện người dùng. Nếu bạn định sử dụng tên miền do nền tảng lưu trữ giao diện người dùng cung cấp, bạn có thể viết bất kỳ điều gì ở đây.
Nhấp vào nút tạo, sau đó bạn có thể thấy Site Key và Secret Key
Triển khai giao diện người dùng
Chúng ta sẽ lấy việc triển khai trên nền tảng lưu trữ giao diện người dùng làm ví dụ.
- Mở https://github.com/cjh0613/csubot-vue , fork kho lưu trữ này
- Chọn nền tảng triển khai, chẳng hạn như Cloudflare Pages, Vercel, Netlify, v.v.
- Chọn nhập từ kho Github, chọn kho được fork ở bước đầu tiên.
Đường dẫn làm việc được định cấu hình là thư mục gốc của dự án, lệnh biên dịch là:
npm install && npm run build
Thư mục đầu ra là:
dist/
Định cấu hình các biến môi trường:
VITE_ENDPOINT=https://xxxx.com <URL phụ trợ, cần https>
VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Khóa trang web (Site Key) của Cloudflare turnstile (khóa ở trên)>
- Bắt đầu triển khai, sau khi hoàn thành, bạn có thể thấy tên miền do nền tảng cung cấp. Bạn cũng có thể liên kết tên miền của riêng mình. Cần đợi cấu hình DNS và tạo chứng chỉ.
Tạo bot Telegram
Nhắn tin riêng cho
https://t.me/BotFather
, gửi /newbot
, tạo một bot mới theo hướng dẫn của bot. Sau khi tạo xong, bạn sẽ nhận được một Token
Cấu hình phần phụ trợ
Bạn có thể chọn chạy trực tiếp tệp thực thi nhị phân hoặc tự biên dịch.
Tham khảo biến môi trường
TGWD_TOKEN=<Token của bot Telegram, lấy từ @botfather>
TGWD_FRONTEND_DOMAIN=<Tên miền giao diện người dùng, không cần https>
TGWD_SECRET=<Điền tùy ý>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Khóa bí mật (Secret Key) của Cloudflare turnstile (khóa bên dưới khóa trang web)>
Sử dụng tệp thực thi nhị phân
Chúng ta sẽ lấy hệ điều hành linux amd64 làm ví dụ.
Đầu tiên, hãy tạo một thư mục mới.
mkdir csubot && cd csubot
Tải xuống tệp thực thi nhị phân. Đối với liên kết tải xuống ở đây, vui lòng mở
https://github.com/cjh0613/csubot/releases
để lấy liên kết mới nhất, bạn có thể cần nhấp vào Show all assets
để tìm tệp phù hợp với nền tảng của bạn.
wget https://github.com/cjh0613/csubot/releases/download/vxxx/csubot-linux-amd64.zip
Vì đây là một gói nén định dạng zip, hãy giải nén:
unzip csubot-linux-amd64.zip
Nếu bạn không thể thực thi lệnh này, vui lòng xác nhận rằng gói unzip
đã được cài đặt thành công.
Đi vào thư mục chứa csubot,
Sử dụng lệnh sau, bạn có thể xem tệp .env.example
bị ẩn.
ls -la
Sử dụng trình soạn thảo văn bản của bạn (chẳng hạn như nano, vim), tạo một tệp mới .env
, tham khảo tệp ví dụ .env.example
để cấu hình.
Hãy thử chạy:
export $(grep -v '^#' .env | xargs) && ./csubot
Tự biên dịch
Thực thi lệnh trong thư mục gốc của dự án:
go build -o csubot
Hãy thử chạy:
export $(grep -v '^#' .env | xargs) && ./csubot
HTTPS
Phần phụ trợ không trực tiếp cung cấp hỗ trợ https mà chỉ có thể truy cập qua http.
Bạn có thể sử dụng các dịch vụ như Apache, Nginx, Microsoft Internet Information Services (IIS) để định cấu hình HTTPS.
Nếu bạn sử dụng Cloudflare CDN, bạn cũng có thể đặt chế độ mã hóa thành Flexible
trong SSL/TLS encryption. Bằng cách này, người dùng truy cập máy chủ Cloudflare bằng giao thức https được Cloudflare tự động định cấu hình, sau đó Cloudflare truy cập máy chủ mà bạn đã định cấu hình dịch vụ phụ trợ bằng giao thức http.
Chạy dưới dạng dịch vụ 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
Tạo người dùng dịch vụ
sudo useradd --system --no-create-home --shell /sbin/nologin csubotuser
Định cấu hình quyền
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
Tạo và chỉnh sửa /etc/systemd/system/csubot.service
, ghi vào
[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
Các phiên bản khác của trang web này
Bài viết này có nhiều phiên bản ngôn ngữ.
Nếu bạn muốn đăng nhận xét, vui lòng truy cập các trang web sau:
Các trang web này chỉ hỗ trợ duyệt xem, không thể đăng nhận xét hoặc để lại tin nhắn, nhưng cung cấp nhiều tùy chọn ngôn ngữ hơn và thời gian tải nhanh hơn:
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