CSUBOT - это супер-администратор-бот с открытым исходным кодом.
В этой статье описывается, как самостоятельно развернуть CSUBOT.
Пожалуйста, сначала полностью прочитайте этот документ: Инструкция по использованию робота CSUBOT
Рекомендуется: Проверка публичного IP-адреса вашего компьютера при доступе к различным веб-сайтам для проверки текущей сетевой среды.
Предпосылки
Для самостоятельного развертывания CSUBOT необходимо соблюдение как минимум следующих условий:
- Наличие доменного имени. (Необходимо иметь как минимум один поддомен для бэкенда. Фактически, для фронтенда и бэкенда требуется в общей сложности два поддомена, но обычно домен фронтенда может быть предоставлен платформой развертывания)
- Наличие сервера. Или развертывание на платформе, где можно развернуть бэкенд-сервис. Если вы знаете бесплатную платформу, где можно развернуть бэкенд-сервис, не стесняйтесь, нажмите здесь, чтобы оставить комментарий автору .
- Наличие неограниченной учетной записи Telegram для создания Telegram-бота и получения токена бота.
- Наличие неограниченной учетной записи Cloudflare для включения капчи 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 и сделайте форк этого репозитория.
- Выберите платформу для развертывания, например, Cloudflare Pages, Vercel, Netlify и т. д.
- Выберите импорт из репозитория Github, выберите репозиторий, форкнутый на первом шаге.
Рабочий путь настроен на корневой каталог проекта, команда компиляции:
npm install && npm run build
Выходной каталог:
dist/
Настройка переменных среды:
VITE_ENDPOINT=https://xxxx.com <URL-адрес бэкенда, требуется https>
VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Ключ сайта 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=<Секретный ключ 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, вы также можете установить для режима шифрования SSL/TLS значение Flexible
. Таким образом, пользователи, обращающиеся к серверам 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