CSUBOT هو روبوت مسؤول فائق مفتوح المصدر.

تشرح هذه المقالة كيفية نشر CSUBOT بنفسك.

يرجى قراءة هذا المستند بالكامل أولاً: دليل مستخدم روبوت CSUBOT

مستحسن: ابحث عن IP العام لجهازك للوصول إلى مواقع الويب المختلفة ، للتحقق من بيئة الشبكة الحالية.

المتطلبات الأساسية

يتطلب النشر الذاتي لـ CSUBOT تلبية الشروط التالية على الأقل:

  • لديك اسم نطاق. (لديك على الأقل اسم نطاق فرعي واحد للخلفية. تتطلب الواجهة الأمامية والخلفية في الواقع اسمي نطاق فرعي، ولكن يمكن توفير اسم نطاق الواجهة الأمامية بشكل عام بواسطة النظام الأساسي الذي تم نشره)
  • لديك خادم. أو يتم نشره على نظام أساسي يمكنه نشر خدمات الواجهة الخلفية. إذا كنت تعرف نظامًا أساسيًا مجانيًا يمكنه نشر خدمات الواجهة الخلفية، فلا تتردد في ذلك، انقر هنا لنشر تعليق وإخبار المؤلف .
  • لديك حساب Telegram غير مقيد لإنشاء روبوت Telegram والحصول على رمز الروبوت
  • لديك حساب Cloudflare غير مقيد لتمكين اختبار التحقق Cloudflare Turnstile. تسجيل حساب: https://dash.cloudflare.com/

خطوات العملية

  1. تمكين Cloudflare Turnstile
  2. نشر الواجهة الأمامية
  3. إنشاء روبوت Telegram
  4. تكوين الواجهة الخلفية

تمكين Cloudflare Turnstile

انقر فوق هذا الرابط لفتح لوحة تكوين Cloudflare Turnstile تكوين مكون Turnstile

انقر فوق إضافة أداة، لإضافة مكون Turnstile

انقر فوق إضافة أسماء مضيفين، لإضافة اسم نطاق الواجهة الأمامية. إذا كنت تنوي استخدام اسم النطاق الذي يوفره نظام استضافة الواجهة الأمامية، يمكنك كتابة أي شيء هنا.

انقر فوق زر الإنشاء، ثم يمكنك رؤية مفتاح الموقع والمفتاح السري

نشر الواجهة الأمامية

سنأخذ النشر إلى نظام استضافة الواجهة الأمامية كمثال.

  1. افتح https://github.com/cjh0613/csubot-vue ، وتشعب هذا المستودع
  2. حدد النظام الأساسي للنشر، مثل Cloudflare Pages وVercel وNetlify وما إلى ذلك.
  3. حدد الاستيراد من مستودع Github، وحدد المستودع المتشعب في الخطوة الأولى.

تم تكوين مسار العمل كدليل جذر المشروع، وأمر الترجمة هو:

npm install && npm run build

دليل الإخراج هو:

dist/

تكوين متغيرات البيئة:

VITE_ENDPOINT=https://xxxx.com <عنوان URL الخلفي، يتطلب https>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <مفتاح موقع Cloudflare turnstile (الأعلى)>
  1. ابدأ النشر، وبعد الانتهاء، يمكنك رؤية اسم النطاق الذي يوفره النظام الأساسي. يمكنك أيضًا ربط اسم النطاق الخاص بك. تحتاج إلى انتظار تكوين 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، فيمكنك أيضًا تعيين وضع التشفير على Flexible في SSL/TLS encryption. بهذه الطريقة، يستخدم المستخدمون بروتوكول HTTPS الذي تم تكوينه تلقائيًا بواسطة Cloudflare للوصول إلى خادم 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

تدعم صفحات الويب هذه التصفح فقط، ولا يمكنها نشر التعليقات أو الرسائل، ولكنها توفر المزيد من خيارات اللغة، ووقت تحميل أقصر:

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