CSUBOT is een open source superadmin-robot.

Dit artikel beschrijft hoe u CSUBOT zelf kunt implementeren.

Lees eerst deze documentatie volledig: CSUBOT Robot Gebruiksaanwijzing

Aanbevolen: Controleer het openbare IP-adres van deze machine voor toegang tot verschillende websites, om de huidige netwerkomgeving te controleren.

Vereisten

Voor een zelfstandige implementatie van CSUBOT moet aan minstens de volgende voorwaarden worden voldaan:

  • Een domeinnaam bezitten. (Minstens één subdomein bezitten, voor de backend. In de praktijk zijn er in totaal twee subdomeinen nodig voor de frontend en backend, maar het frontend-domein kan over het algemeen worden geleverd door het platform waar de implementatie plaatsvindt)
  • Een server bezitten. Of implementeren op een platform waarop backend-services kunnen worden geïmplementeerd. Als u een gratis platform kent waarop backend-services kunnen worden geïmplementeerd, aarzel dan niet om hier te klikken en een reactie achter te laten voor de auteur .
  • Een Telegram-account bezitten dat niet is beperkt, om een Telegram-bot te maken en de Token van de bot te verkrijgen
  • Een Cloudflare-account bezitten dat niet is beperkt, om Cloudflare Turnstile-verificatiecode in te schakelen. Registreer een account: https://dash.cloudflare.com/

Bedieningsstappen

  1. Cloudflare Turnstile inschakelen
  2. Frontend implementeren
  3. Telegram-bot maken
  4. Backend configureren

Cloudflare Turnstile inschakelen

Klik op deze link om het Cloudflare Turnstile-configuratiepaneel te openen Turnstile component configuration

Klik op add widget, voeg een Turnstile-widget toe

Klik op Add Hostnames , voeg het domein van de frontend toe. Als u van plan bent om het domein te gebruiken dat wordt aangeboden door het frontend-hostingplatform, kunt u hier van alles opschrijven.

Klik op de knop Creëren, dan kunt u de Site Key en Secret Key zien

Frontend implementeren

We nemen de implementatie op een frontend-hostingplatform als voorbeeld.

  1. Open https://github.com/cjh0613/csubot-vue , fork deze repository
  2. Kies het implementatieplatform, zoals Cloudflare Pages, Vercel, Netlify, enz.
  3. Kies om te importeren vanuit de Github-repository, kies de repository die u in de eerste stap hebt geforkt.

Het werkpad is geconfigureerd als de rootdirectory van het project, de compileropdracht is:

npm install && npm run build

De uitvoermap is:

dist/

Omgevingsvariabelen configureren:

VITE_ENDPOINT=https://xxxx.com <Backend URL, https vereist>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Cloudflare turnstile Site Key (de bovenste)>
  1. Start de implementatie, na voltooiing kunt u de door het platform geleverde domeinnaam zien. U kunt ook uw eigen domeinnaam koppelen. Het is noodzakelijk om te wachten tot de DNS-configuratie en certificaatgeneratie voltooid zijn.

Telegram-bot maken

Stuur een privébericht naar https://t.me/BotFather , stuur /newbot , volg de aanwijzingen van de robot om een nieuwe robot te maken. Na het maken ontvangt u een Token

Backend configureren

U kunt ervoor kiezen om het binaire uitvoerbare bestand direct uit te voeren, of het zelf compileren.

Omgevingsvariabelen referentie

TGWD_TOKEN=<Telegram bot token, verkregen van @botfather>
TGWD_FRONTEND_DOMAIN=<Frontend domeinnaam, geen https vereist>
TGWD_SECRET=<Vul willekeurig in>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Cloudflare turnstile Secret Key (de key onder de Site Key)>

Binaire uitvoerbaar bestand gebruiken

We nemen het linux amd64-besturingssysteem als voorbeeld.

Maak eerst een nieuwe map.

mkdir csubot && cd csubot

Download het binaire uitvoerbare bestand. Voor de downloadlink, open https://github.com/cjh0613/csubot/releases om de nieuwste link te verkrijgen, mogelijk moet u op Show all assets klikken om het bestand te vinden dat geschikt is voor uw platform.

wget https://github.com/cjh0613/csubot/releases/download/vxxx/csubot-linux-amd64.zip

Omdat het een zip-formaat is, uitpakken:

unzip csubot-linux-amd64.zip

Als deze opdracht niet kan worden uitgevoerd, controleer dan of het unzip-pakket succesvol is geïnstalleerd.

Ga naar de map waar csubot zich bevindt,

Gebruik de volgende opdracht om het verborgen .env.example-bestand te bekijken.

ls -la

Gebruik uw teksteditor (zoals nano, vim ), maak een nieuw bestand .env , raadpleeg het voorbeeldbestand .env.example om te configureren.

Probeer uit te voeren:

export $(grep -v '^#' .env | xargs) && ./csubot

Zelf compileren

Voer de opdracht uit in de hoofdmap van het project:

go build -o csubot

Probeer uit te voeren:

export $(grep -v '^#' .env | xargs) && ./csubot

HTTPS

De backend biedt geen directe ondersteuning voor https, alleen http-toegang is mogelijk.

U kunt Apache, Nginx, Microsoft Internet Information Services (IIS) en andere services gebruiken om HTTPS te configureren.

Als u Cloudflare CDN gebruikt, kunt u de encryptiemodus in SSL/TLS-encryptie ook instellen op Flexible. Op deze manier gebruikt de gebruiker die de Cloudflare-server bezoekt, het automatisch geconfigureerde https-protocol van Cloudflare, en de Cloudflare die uw backend-service bezoekt, gebruikt het http-protocol.

Uitvoeren als een systemd-service

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

Servicegebruiker aanmaken

sudo useradd --system --no-create-home --shell /sbin/nologin csubotuser

Machtigingen configureren

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

Maak en bewerk /etc/systemd/system/csubot.service , schrijf

[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

# Laad het omgevingsvariabelenbestand
EnvironmentFile=/usr/local/bin/csubot/.env
# Start de service
sudo systemctl start csubot.service

# Bekijk de uitvoeringsstatus
sudo systemctl status csubot.service

# Stel automatisch opstarten in
sudo systemctl enable csubot.service

Andere versies van deze webpagina

Dit artikel is beschikbaar in meerdere talen.

Als u een reactie wilt plaatsen, ga dan naar de volgende webpagina:

ZH EN ZH-TW JA

Deze webpagina’s ondersteunen alleen browsen, u kunt er geen reacties plaatsen of berichten achterlaten, maar ze bieden meer taalopties en laden sneller:

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