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
- Cloudflare Turnstile inschakelen
- Frontend implementeren
- Telegram-bot maken
- 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.
- Open https://github.com/cjh0613/csubot-vue , fork deze repository
- Kies het implementatieplatform, zoals Cloudflare Pages, Vercel, Netlify, enz.
- 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)>
- 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:
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