phoneblock icon indicating copy to clipboard operation
phoneblock copied to clipboard

Keine Kontaktliste nötig - SpamBlocker Android App

Open kefor opened this issue 1 year ago • 13 comments

Ich hatte Kontakt mit dem Maintainer von Spam Blocker. Er hat eine Konfiguration für seine App zur Verfügung gestellt, die es ermöglicht, die Datenbank via API einzupflegen. Ich konnte die Datenbank erfolgreich einbinden. Hierfür gibt es eine Vorabversion zum Download (https://github.com/aj3423/SpamBlocker/actions/runs/11595592583)

Damit wäre dann die Carddev Kontakte und die Kontakte in Messengern gelöst.

Denke, die Änderungen werden im kommenden Release auch kommen.

In der App unter Einstellungen / Automatisierung (Workflows) auf Neu klicken. Und dann folgende Einstellung importieren:

Import this workflow and replace the http header Authorization with your own string, the algorithm is: base64(username:password)

{
	"id": 8,
	"desc": "PhoneBlock",
	"schedule": {
		"type": "Daily",
		"time": {
			"hour": 0,
			"min": 0
		}
	},
	"actions": [
		{
			"type": "HttpDownload",
			"url": "https://phoneblock.net/phoneblock/api/blocklist?format=xml",
			"header": "Authorization: Basic **Hier wird dein base64(username:password) Hash gebraucht**"
		},
		{
			"type": "ParseXML",
			"xpath": "//phone-info[@rating='D_POLL' or @rating='G_FRAUD' or @rating='E_ADVERTISING' or @rating='F_GAMBLE']/@phone"
		},
		{
			"type": "ConvertNumber",
			"from": "(^0+)",
			"flags": 5,
			"to": ""
		},
		{
			"type": "ImportToSpamDB"
		}
	],
	"enabled": false,
	"workUUID": "ecb0b32a-7752-45a9-a250-de1b16b7d97d"
}

Username:Password habe ich über (https://www.base64encode.org/) encoded. Diesen dann ohne die ** in der passenden Config einfügen. "Authorization: Basic Hier wird dein base64(username:password) Hash gebraucht"

Die App an sich ermöglicht noch weitere smarte Ideen, um Spam Anrufe und Spam SMS entgegenzuwirken.

Außerdem meinte er, dass er gerne die Datenbank von PhoneBlock als ein default preset in die App einpflegt, falls dies erwünscht ist.

kefor avatar Nov 01 '24 10:11 kefor

Das klingt vielversprechend. Allerdings hätte ich da mindestens einen Wunsch - nämlich betreffend des Abrufzeitpunktes der Blockliste. Aus der Konfiguration geht hervor, dass hier ein Zeitpunkt gewählt wird.

"time": {
	"hour": 0,
	"min": 0
}

Wenn alle Installationen denselben Zeitpunkt (z.B. 00:00 Uhr) wählen, dann kommt das einem Denial-of-Service-Angriff auf die PhoneBlock-Seite gleich, weil dann tausende Telefone gleichzeitig eine Verbindung aufbauen. Das sollte man dringend dahingehend anpassen, dass ein zufälliger Zeitpunkt in einer gewissen Zeitspanne (z.B. zwischen 22:00 und 6:00 Uhr) gewählt wird (so wie die Fritz!Box das auch macht). Damit verteilen sich die Abrufe und der Service bricht nicht zusammen.

haumacher avatar Nov 01 '24 10:11 haumacher

@haumacher ich habe antwort von AJ:

I used the "Daily" schedule in that configuration, I can simply change it to "Periodically 24 hours", so it would be the time that the user enables this workflow, kinda "random". I think he should add a new API to only return the daily incremental numbers, the current API returns all numbers which is a waste of bandwidth.

Does the FRITZ!Box support incremental update?

Somit sollte, für den ersten Workaround der Periodische abgleich nach Verwendung der Config helfen. Wobei er selbst inkrementellen API abgleich empfiehlt.

kefor avatar Nov 01 '24 12:11 kefor

Eine API, mit der man nur die Änderungen an der Blockliste abrufen kann gibt es noch nicht - aber das ist sicher eine sinnvolle Erweiterung und würde auch Bandbreite einsparen. In das CardDAV-Protokoll ist das eingebaut, aber die Fritz!Box nutzt das nicht, sondern ruft auch immer die komplette Liste ab. Ist aber "nur" eine Optimierung...

Was aber bei so einer App noch richtig cool wäre, wenn man 1-Click eine Nummer, die einen doch noch angerufen hat an PhoneBlock als SPAM zurückmelden könnte... und wenn die App alle geblockten Anrufe ebenfalls an PhoneBlock zurückmelden würde, damit PhoneBlock eine bessere Einschätzung über die Aktivität von SPAM-Nummern erhalten würde - und so eine bessere Zusammenstellung von Nummer für Fritz!Box-Blocklisten machen könnte.

haumacher avatar Nov 05 '24 18:11 haumacher

Ist dies in der App schon eingebaut, ohne das man mit dem Code oben arbeiten muss?

KobeLAL avatar Dec 05 '24 12:12 KobeLAL

Ich glaube, das ist work-in-progress: https://github.com/haumacher/phoneblock/discussions/114

haumacher avatar Dec 06 '24 17:12 haumacher

Jetzt ist es ja als Test in der App da. Wie sieht es eigentlich mit der Blocklist Größe aus? Kann man mit der App mehr als 6000 Einträge laden bzw. wie beim AB alles?

KobeLAL avatar Dec 23 '24 08:12 KobeLAL

Die Größenbeschränkung gilt nur für den Abruf über CardDAV. Wenn man die REST-API verwendet bekommt man die vollständige Blockliste. Daher sollte das über diese App uneingeschränkt funktionieren.

Erzeugt für den regelmäßigen Abruf der gesammten Liste eben unangenehm viel Traffic - besser und aktueller ist der Online-Zugriff, der nur bei einem eingehenden unbekannten Anruf die Nummer mit der Blockliste abgleicht. Das erfordert viel weniger Netzwerkverkehr und nutzt immer die 100% aktuelle Blockliste.

haumacher avatar Dec 27 '24 10:12 haumacher

Ist der Online Zugriff auch schon Teil der App und muss nur noch gewählt werden wie der andere genannte Sync Weg.

Revan335 avatar Dec 29 '24 02:12 Revan335

Ja, ist wohl geplant. Die aktuelle Release (3.5) enthält aber nur einen Zugriff auf die PhoneBlock-Test-Installation - das ist für den produktiven Einsatz wenig sinnvoll.

haumacher avatar Dec 29 '24 10:12 haumacher

Btw. die Version 4.0 integriert den online Zugriff auf die PhoneBlock-Datenbank: https://github.com/aj3423/SpamBlocker Das Setup funktioniert so: https://news.phoneblock.net/setup-spamblocker-mit-phoneblock/

haumacher avatar Jan 07 '25 22:01 haumacher

Absolut genial! Super Lösung und tausendfach besser, als die CardDAV Apps PeopleSync oder DAVX5, da bei dieser Lösung die Spamnummern nicht auch als reguläre Kontakte in Android gezeigt werden, leider hat der Entwickler von DAVX5 keine Lösung finden oder können wollen. Nun mit SpamBlocker App, genial und eigentlich sollte Bernhard sind hier in die Entwicklung mit einbringen, falls er Zeit hat, damit phoneblock immer optimal eingebunden ist und vielleicht ist dadurch sogar in irgendeiner Form, mehr Komfort möglich.

MarkyMarkDE avatar Jan 10 '25 01:01 MarkyMarkDE

Btw. die Version 4.0 integriert den online Zugriff auf die PhoneBlock-Datenbank: https://github.com/aj3423/SpamBlocker Das Setup funktioniert so: https://news.phoneblock.net/setup-spamblocker-mit-phoneblock/

In der Installations / Konfigurationsanleitung sollte man vielleicht noch zeigen, dass man die SpamBlocker App zum verwalten von Spamnummern setzten sollte. Meine nach dem Einrichten auf das Telefon unten klicken und kommt da ein "Popup" wo man die App aus einer Liste von installierten Apps per Radio Button auswählen muss

MarkyMarkDE avatar Jan 10 '25 03:01 MarkyMarkDE

Btw. die Version 4.0 integriert den online Zugriff auf die PhoneBlock-Datenbank: https://github.com/aj3423/SpamBlocker Das Setup funktioniert so: https://news.phoneblock.net/setup-spamblocker-mit-phoneblock/

Nachtrag: Screenshot_20250111-170014

MarkyMarkDE avatar Jan 11 '25 16:01 MarkyMarkDE