blacksenator / fbcallrouter

Spamfilter for FRITZ!Box listen to call monitor as background service
MIT License
32 stars 4 forks source link

Feature Request: Mailversand, wenn eine Nummer Rejected wurde #12

Closed binderth closed 1 year ago

binderth commented 1 year ago

Ich hätte gerne eine Nachricht (am besten per Email), wenn eine Nummer abgelehnt wurde mit folgendem Inhalt:

Es reicht also, wenn die Infos, die bisher pro Anruf geloggt werden per Email verschickt werden:

10.11.2022 17:02:18 => CALL IN from number 03887442441 to MSN 123456789
10.11.2022 17:02:19 => Caller has a bad reputation (8/29)! Added to spam phonebook #1

am geilsten wäre zusätzlich auch ein Deep-Link in der EMail auf den Dienst, der dafür verantwortlich war, also z.B. im konkreten Fall: https://www.tellows.de/num/03887442441 und auch beim "Örtlichen"-Fund: https://www.dasoertliche.de/rueckwaertssuche/?ph=089353510

blacksenator commented 1 year ago

Ja, kann man machen... siehe carddav2fb - da sende ich auch eine eMail, wenn die FRITZ!Box eine Nummer hostet, die im Upload (noch) nicht (mehr ) enthalten ist. Ist also kein Hexenwerk. Aber das Logging (war eigentlich für mich nur als kontinuierliches Debugging gedacht) müsste komplett neu konzipiert werden (hätte es aber auch so mal nötig...)

Jedoch ... hatte ich selbst heute einen Anrufen, dessen Nummer eigentlich hätte abgelehnt werden müssen - das muss ich erst einmal debuggen und ggf. fixen ehe ich mich an ein weiteres feature mache

binderth commented 1 year ago

kein Stress. Man muss halt regelmässig ins "SPAM"-Telefonbuch reinschauen oder in der Fritzbox die Anrufe kontrollieren. Ich denke, es wäre gut aktiv informiert zu werden, dann kann man noch nachsehen, falls es doch ein false-negative gewesen war...

blacksenator commented 1 year ago

@binderth Feintuning und weitere Tests fehlen noch, aber so sieht es aus:

image

binderth commented 1 year ago

Cool! Danke!

Hab im ersten Test in der EMail allerdings nur den allerersten Log-Eintrag gefunden, also z.B. beim Test-Run:

Email-Betreff: fbcallrouter traced a call from number 03681443300750

Email-Body:

The following results and actions have been recorded:

CALL IN from number 03681443300750 to MSN 1234567890

es fehlen die weiteren Einträge aus dem Log, wie z.B. hier, da ich diese Nummer schon im testrun hatte: 17.11.2022 10:17:10 => Number 03681443300750 found in phonebook #1

hab ich was übersehen? (habe git pull und composer update durchgeführt)

binderth commented 1 year ago

Wenn ich eine "frische" Nummer im Anruf habe (hab die Nummer aus dem SPAM-Telefonbuch gelöscht), dann klappt es, allerdings zeigt zumindest mein Mail-Programm keine Zeilenumbrüche an:

The following results and actions have been recorded:

CALL IN from number 03681443300750 to MSN 4540400Caller has a bad reputation (8/12)! Added to spam phonebook #1Traced in https://www.werruft.info/telefonnummer/03681443300750/
blacksenator commented 1 year ago

Hallo Thomas,

okay, dann muss ich noch ein wenig am Feintuning arbeiten - war wohl doch zu spät gestern... Ich weiß noch nicht genau, wann ich dazu komme.

Kannst Du noch mal bitte spezifizieren, unter welchen Umständen Du eine E-Mail erhalten möchtest? Welche Login-Einträge?

Wenn Du das testen übernehmen könntest, dann wäre mir sehr geholfen (zu wenig ruhige Zeit bis zum Wochenende).

Ist eigentlich nicht mein Vorgehen, aber... Könntest Du einmal in der infomail.php in der Zeile 48 $body .= $lines; in $body .= $lines . PHP_EOL; ändern und schauen, ob dann die Zeilenumbrüche (die eigentlich aus den Logging-Zeilen kommen sollten) passen.

binderth commented 1 year ago

Testen ist kein Ding. Mach ich gern.

Eine Email mit jedem Anruf wäre erstmal ausreichend, die dann die dafür angelegten Log-Einträge (mit Zeilenumbrüchen) schickt. Also so, wie es aktuell ist. Nur eben mit beiden Zeilen bei "habs im Telefonbuch gefunden" und Zeilenumbrüchen. ich brauchs nicht, aber evtl könnte man den Mail-Versand anhand des Musters (whitelist, Blacklist, schlechte Bewertungen,...) konfigurierbar machen

Bin grad unterwegs, melde mich dann, wenn ich die Änderungen vorgenommen hab.

binderth commented 1 year ago

und ja: die Anpassungen in Zeile 48 haben die Zeilenumbrüche in die Email gepackt:

The following results and actions have been recorded:

CALL IN from number 03681443300750 to MSN 123456789
Caller has a bad reputation (8/12)! Added to spam phonebook #1
Traced in https://www.werruft.info/telefonnummer/03681443300750/

Die weiteren Log-Einträge fehlen bei Whitelist und Blacklist-Einträgen. Bei CLIR oder Bewertungs-Prüfungen kommen alle Log-Einträge per Email.

PS: wenn ich php fbcallrouter run -t starte, dann sollten doch eigtl. diese Test-Anrufe auch direkt abgewiesen werden und nicht durchklingeln, oder? bei mir klingeln die Blacklist-Einträge bzw. Bewertungs-Prüfungen beim Test-Run weiterhin durch.

blacksenator commented 1 year ago

Die weiteren Log-Einträge fehlen bei Whitelist und Blacklist-Einträgen. Bei CLIR oder Bewertungs-Prüfungen kommen alle Log-Einträge per Email.

Worked as designed... ich hatte gedacht, dass es eigentlich reichen würde über die unbekannten Nummern und deren Analysen/Behandlung informiert zu werden

Option -t ermöglicht es das Programm integrativ zu testen: du rufst nach Start des Programms mit -t mit dem Mobiltelefon deine Festnetznummer an, natürlich klingelt in dem Moment das FRITZ!Box Telefon, denn deine Mobilnummer ist ja nicht abzuweisen. Unabhängig vom VErhalten deiner FRITZ!Box wird aber in fbcallrouter deine Mobilrufnummer gegen die Testnummer ausgetauscht. Für fbcallrouter hat also ein "Spammer" angerufen und das Programm rattert entsprechend durch die Prüfungen.

blacksenator commented 1 year ago

Wenn ich eine "frische" Nummer im Anruf habe (hab die Nummer aus dem SPAM-Telefonbuch gelöscht), dann klappt es,

genauso soll es sein

blacksenator commented 1 year ago

Eine Email mit jedem Anruf wäre erstmal ausreichend, die dann die dafür angelegten Log-Einträge (mit Zeilenumbrüchen) schickt. Also so, wie es aktuell ist. Nur eben mit beiden Zeilen bei "habs im Telefonbuch gefunden" und Zeilenumbrüchen. ich brauchs nicht, aber evtl könnte man den Mail-Versand anhand des Musters (whitelist, Blacklist, schlechte Bewertungen,...) konfigurierbar machen

Ich baue es erst einmal so "fehlerfrei" wie schon beschrieben: nur eine E-Mail bei "faulen Äpfeln". Alles weitere kommt. Unterschiedliche "Benachrichtigungstiefe" klingt sinnvoll - aber erst danach.

Update ist verfügbar

binderth commented 1 year ago

Worked as designed... ich hatte gedacht, dass es eigentlich reichen würde über die unbekannten Nummern und deren Analysen/Behandlung informiert zu werden

Ich baue es erst einmal so "fehlerfrei" wie schon beschrieben: nur eine E-Mail bei "faulen Äpfeln". Alles weitere kommt. Unterschiedliche "Benachrichtigungstiefe" klingt sinnvoll - aber erst danach.

Insoweit man irgendwie unterscheiden kann, dass die Mail von einer Blacklist oder Whitelist stammt, ja. Aktuell kommt ja eine Mail nur mit der Nummer ohne zweite Zeile. Aber du hast natürlich insoweit recht, dass erstmal nur Mails von "frischen" Nummern reicht.

natürlich klingelt in dem Moment das FRITZ!Box Telefon, denn deine Mobilnummer ist ja nicht abzuweisen.

mir war so, als hätte ich da mal Abweisungen von der Mobilnummer gehabt. aber, wenn -t nur das sonstige Verhalten simuliert, aber kein Abweisen, ist das ja auch erstmal ok.

Update ist verfügbar

=> ich teste mal.

binderth commented 1 year ago

mir war so, als hätte ich da mal Abweisungen von der Mobilnummer gehabt. aber, wenn -t nur das sonstige Verhalten simuliert, aber kein Abweisen, ist das ja auch erstmal ok.

hmm.. ich hatte das wirklich irgendwie mal. Kann aber auch sein, dass das ein Test war, in dem meine Mobilnummer in der Blacklist war.... grafik

binderth commented 1 year ago

allright, habs nun mit -t getestet:

bekannte Nummern in Blacklist oder Whitelists ✔ werden erkannt und ✔ keine Email geschickt

frische Nummern mit gutem/unbekanntem Rating ✔ werden erkannt und ✔ keine Email geschickt

frische Nummern mit schlechtem Rating ✔ werden erkannt, ✔ in SPAM-Telefonbuch verschoben und ✔ eine Email geschickt

CLIR Nummern ✔ werden erkannt ❓ eine Email geschickt (nicht sicher, ob das nicht unter "normalem" Verhalten zählt, da ich CLIR erlaubt habe in der Config)

Nummern mit fehlerhafter Vorwahl ❌ werden mit gutem/unbekannten Rating erkannt ❌ keine Email verschickt und ❌ durchgelassen

Nummern aus dem Ausland ❌ führen zu einem Warning: Warning: Undefined array key "prefix" in /home/fbcallrouter/src/functions.php on line 94, ❌ werden mit Score 5 und Comments 0 in Log eingetragen (hätten aber 6 und 3 sein sollen?), ✔ keine Email geschickt und ✔ durchgelassen (hab sie nicht geblockt)

blacksenator commented 1 year ago

Lass uns mal den weiteren Austausch über direkte E-Mail machen, okay?

Schick mir doch bitte die letzte Liste an knuffy[at]anasco[dot]de ich gehe dann darauf direkt ein

binderth commented 1 year ago

allright!