Projekt

HomeBot

En lättviktig IRC-bot skriven i Python. Inga externa beroenden utöver standardbiblioteket och cryptography. Byggd för EFNet med krypterad masterautentisering och fjärrstyrning.

Python IRC EFNet Krypterad auth v0.0.0.1
← Alla projekt
Översikt

Vad är HomeBot?

HomeBot är en enkel-fil IRC-bot som ansluter till valfri IRC-server och går med i en konfigurerad kanal. Den har krypterad masterautentisering med Fernet symmetrisk kryptering, automatisk återanslutning vid frånkoppling och fjärrstyrning via privata meddelanden.

Första användaren som PM:ar !master blir botens master. Master-identiteten lagras krypterad på disk så att den finns kvar mellan omstarter. Alla privilegierade kommandon är begränsade till master via värdbaserad mönstermatchning.

Funktioner

Kärnfunktioner

Krypterad auth

Master-uppgifter lagras med Fernet-kryptering. Nyckel auto-genereras vid första körning, filrättigheter låsta till ägaren (0600).

Auto-reconnect

Återansluter automatiskt efter 30 sekunder vid frånkoppling. Hanterar anslutningstapp, netsplits och serveromstart graciöst.

Värdmatchning

Master-åtkomst kontrolleras via fnmatch glob-mönster på user@host. Endast matchande värdar kan utföra privilegierade kommandon.

Inga beroenden

Byggd helt på Pythons standardbibliotek (socket, ssl, threading) plus cryptography för krypterad användardatabas. Inget annat behövs.

Kommandon

Bot-kommandon

Alla kommandon måste skickas via privat meddelande eller NOTICE. Kommandon i offentliga kanaler ignoreras.

KommandoÅtkomstBeskrivning
!masterFörsta användarenGör anspråk på bot-master (fungerar bara om ingen master är satt)
!restartMasterStarta om boten med en ny process
!dieMasterKoppla från IRC och döda boten
Konfiguration

Setup & config

[irc]
server   = irc.efnet.org
port     = 6667
ssl      = false
nick     = HomeBot
realname = HomeBot IRC Bot
channel  = #Home

[bot]
master   = *raven@*.thern.io
python3 HomeBot.py

# Ingen master satt. Första användaren som PM:ar '!master'
# blir bot-master.
# Ansluter till irc.efnet.org:6667 som HomeBot...